/* Founárna – finální sjednocující vrstva v34 (20260715ff2) */
:root,
html {
  --fn-final-ink: #16233b;
  --fn-final-muted: #607089;
  --fn-final-line: rgba(191, 208, 228, .78);
  --fn-final-card: rgba(255, 255, 255, .92);
  --fn-final-pink: #e45ca6;
  --fn-final-blue: #64bff2;
  --fn-final-yellow: #f4c228;
  --fn-final-shadow: 0 14px 34px rgba(38, 51, 78, .08);
}

/* ---------------------------------------------------------
   Desktop mega menu: bez problikávání a bez zpoždění
   --------------------------------------------------------- */
@media (min-width: 992px) {
  html.fn-header-showcase:not(.fn-main-menu-ready) #navigation .menu-level-1 > li > .menu-level-2,
  html.fn-header-showcase:not(.fn-main-menu-ready) .navigation-in .menu-level-1 > li > .menu-level-2 {
    display: none !important;
  }

  html.fn-header-showcase.fn-main-menu-ready #navigation .menu-level-1 > li:hover > .menu-level-2,
  html.fn-header-showcase.fn-main-menu-ready #navigation .menu-level-1 > li:focus-within > .menu-level-2,
  html.fn-header-showcase.fn-main-menu-ready .navigation-in .menu-level-1 > li:hover > .menu-level-2,
  html.fn-header-showcase.fn-main-menu-ready .navigation-in .menu-level-1 > li:focus-within > .menu-level-2 {
    display: grid !important;
  }
}

@media (min-width: 768px) {
  #navigation ul ul,
  #navigation .menu-level-2,
  #navigation .menu-level-3,
  .navigation-in ul ul {
    animation: none !important;
    transition: opacity .08s linear, visibility 0s linear !important;
    transition-delay: 0s !important;
    will-change: opacity !important;
  }
}

/* ---------------------------------------------------------
   Hero slider: opravuje rozbitou / posunutou vizualizaci
   --------------------------------------------------------- */
html.fn-header-showcase .fn-model-finder--slider .fn-model-finder__visual {
  position: relative !important;
  overflow: hidden !important;
}

html.fn-header-showcase .fn-model-finder--slider .fn-hero-scenes,
html.fn-header-showcase .fn-model-finder--slider .fn-hero-scene,
html.fn-header-showcase .fn-model-finder--slider .fn-hero-scene picture {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

html.fn-header-showcase .fn-model-finder--slider .fn-hero-scene img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: right center !important;
}

@media (max-width: 767px) {
  html.fn-header-showcase .fn-model-finder--slider .fn-hero-scene img {
    object-fit: cover !important;
    object-position: center !important;
  }

  .fn-model-finder--slider .fn-model-finder__brand-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* ---------------------------------------------------------
   Mobilní menu: rychlejší otevření / zavření
   --------------------------------------------------------- */
@media (max-width: 767px) {
  .navigation-window,
  .navigation-window-visible,
  .navigation-in {
    will-change: transform, opacity !important;
    transition: transform .17s cubic-bezier(.2,.9,.2,1), opacity .13s ease !important;
    animation: none !important;
    contain: layout paint !important;
  }

  .navigation-window *,
  .navigation-in * {
    animation-duration: .16s !important;
    transition-duration: .16s !important;
  }

  .fn-mobile-menu-container > ul,
  .fn-mobile-menu-container > .menu-level-1,
  .fn-mobile-menu-container > .menu-helper,
  .fn-mobile-menu-container > #navigation > ul {
    display: none !important;
  }
}

/* ---------------------------------------------------------
   Filtry: bez interního scrollu na desktopu, lepší reset, sklad
   --------------------------------------------------------- */
@media (min-width: 1181px) {
  body.founarna-category-colorful:not(.type-product) #content .fn-model-filter-sidebar {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
    overscroll-behavior: auto !important;
  }
}

#content .fn-model-filter-sidebar .fn-filter-reset,
#content .fn-model-filter-sidebar .filter-reset,
#content .fn-model-filter-sidebar .reset-filter:not(.fn-filter-reset-premium) {
  display: none !important;
}

#content .fn-filter-reset-premium {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  margin: 0 0 12px !important;
  padding: 11px 16px !important;
  border: 1px solid rgba(230, 196, 213, .72) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,245,251,.92)) !important;
  box-shadow: 0 8px 22px rgba(228, 92, 166, .08) !important;
  color: #ba7998 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

#content .fn-filter-reset-premium > span:first-child {
  font-size: 17px !important;
  line-height: .9 !important;
}

#content .fn-filter-reset-premium.is-disabled {
  opacity: .45 !important;
  pointer-events: none !important;
  filter: grayscale(.2) !important;
}

#content .fn-model-filter-sidebar .fn-model-filter-section,
#content .fn-model-filter-sidebar #filters .filter-section,
#content .fn-model-filter-sidebar .filter-section {
  margin: 0 0 12px !important;
  padding: 12px !important;
  border: 1px solid var(--fn-final-line) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.74) !important;
  box-shadow: none !important;
}

#content .fn-model-filter-sidebar .fn-model-filter-section-title,
#content .fn-model-filter-sidebar .filter-section h4,
#content .fn-model-filter-sidebar .filter-section-title {
  margin: 0 0 10px !important;
  color: var(--fn-final-ink) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

#content .fn-stock-row-final,
#content .fn-model-native-stock-row {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  border: 1px solid var(--fn-final-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: none !important;
}

#content .fn-stock-row-final::before,
#content .fn-stock-row-final::after,
#content .fn-model-native-stock-row::before,
#content .fn-model-native-stock-row::after,
#content .fn-stock-row-final input[type="checkbox"] + label::before,
#content .fn-stock-row-final input[type="checkbox"] + label::after,
#content .fn-model-native-stock-row input[type="checkbox"] + label::before,
#content .fn-model-native-stock-row input[type="checkbox"] + label::after {
  display: none !important;
  content: none !important;
}

#content .fn-stock-row-final input[type="checkbox"],
#content .fn-model-native-stock-row input[type="checkbox"] {
  position: static !important;
  display: block !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 21px !important;
  height: 21px !important;
  min-width: 21px !important;
  min-height: 21px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #b5c7dc !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  cursor: pointer !important;
}

#content .fn-stock-row-final input[type="checkbox"]:checked,
#content .fn-model-native-stock-row input[type="checkbox"]:checked {
  border-color: var(--fn-final-pink) !important;
  background: var(--fn-final-pink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.2 5.6 10 11 4.2' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat !important;
}

/* ---------------------------------------------------------
   Výběr značek, modelových řad a modelů: textové, jednotné, hezké
   --------------------------------------------------------- */
html:not(.fn-brand-page) body:not(.type-product) #content .subcategories a:not(.brand-logo-tile) > picture,
html:not(.fn-brand-page) body:not(.type-product) #content .subcategories a:not(.brand-logo-tile) > .image,
html:not(.fn-brand-page) body:not(.type-product) #content .subcategories a:not(.brand-logo-tile) > [class*="thumb"],
html:not(.fn-brand-page) body:not(.type-product) #content .subcategories a:not(.brand-logo-tile) img {
  display: none !important;
}

#content .subcategories.fn-text-tile-grid {
  display: grid !important;
  gap: 14px !important;
}

#content .subcategories.fn-text-tile-grid > li,
#content .subcategories.fn-text-tile-grid > div,
#content .subcategories.fn-text-tile-grid > * {
  min-width: 0 !important;
}

#content .subcategories.fn-series-grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
}

#content .subcategories.fn-model-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

#content .subcategories.fn-text-tile-grid a.fn-text-only-tile {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-height: 84px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(193, 210, 230, .86) !important;
  border-radius: 20px !important;
  background: linear-gradient(140deg, rgba(255,255,255,.98), rgba(247,251,255,.96)) !important;
  box-shadow: 0 8px 20px rgba(39, 52, 78, .05) !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

#content .subcategories.fn-text-tile-grid a.fn-text-only-tile:hover,
#content .subcategories.fn-text-tile-grid a.fn-text-only-tile:focus-visible {
  transform: translateY(-2px) !important;
  border-color: rgba(111, 173, 228, .76) !important;
  box-shadow: 0 14px 28px rgba(39, 52, 78, .08) !important;
}

#content .subcategories.fn-text-tile-grid a.fn-text-only-tile::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  border-radius: 20px 0 0 20px;
  background: linear-gradient(180deg, var(--fn-final-pink), var(--fn-final-blue));
  opacity: .95;
}

#content .subcategories.fn-text-tile-grid .fn-tile-kicker {
  display: inline-flex !important;
  margin: 0 0 7px !important;
  color: #df5ba3 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

#content .subcategories.fn-text-tile-grid .fn-tile-label {
  display: block !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--fn-final-ink) !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  line-height: 1.18 !important;
  text-decoration: none !important;
  text-wrap: balance !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

#content .subcategories.fn-text-tile-grid .fn-tile-note {
  display: block !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  color: #50617a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.28 !important;
  text-wrap: balance !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

#content .subcategories.fn-model-grid a.fn-phone-model-tile {
  min-height: 76px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

#content .subcategories.fn-model-grid a.fn-phone-model-tile .fn-tile-label {
  font-size: 17px !important;
  line-height: 1.16 !important;
}

#content .subcategories.fn-series-grid a.fn-series-tile {
  min-height: 128px !important;
  justify-content: flex-start !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

@media (max-width: 991px) {
  #content .subcategories.fn-series-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  }

  #content .subcategories.fn-model-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  }

  #content .subcategories.fn-text-tile-grid a.fn-text-only-tile {
    min-height: 78px !important;
    padding: 14px 15px !important;
    border-radius: 18px !important;
  }

  #content .subcategories.fn-text-tile-grid .fn-tile-label {
    font-size: 16px !important;
  }

  #content .subcategories.fn-text-tile-grid .fn-tile-note {
    font-size: 12px !important;
  }
}

@media (max-width: 767px) {
  #content .subcategories.fn-series-grid,
  #content .subcategories.fn-model-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  #content .subcategories.fn-text-tile-grid a.fn-text-only-tile {
    min-height: 72px !important;
    padding: 13px 13px 13px 15px !important;
    border-radius: 16px !important;
  }

  #content .subcategories.fn-text-tile-grid a.fn-text-only-tile::before {
    width: 4px !important;
    border-radius: 16px 0 0 16px !important;
  }

  #content .subcategories.fn-text-tile-grid .fn-tile-label {
    font-size: 15px !important;
    line-height: 1.14 !important;
  }

  #content .subcategories.fn-series-grid a.fn-series-tile {
    min-height: 110px !important;
  }

  #content .subcategories.fn-series-grid .fn-tile-kicker {
    margin-bottom: 5px !important;
    font-size: 10px !important;
  }

  #content .subcategories.fn-series-grid .fn-tile-note {
    margin-top: 6px !important;
    font-size: 11.5px !important;
    line-height: 1.2 !important;
  }
}

/* ---------------------------------------------------------
   Brand pages: 3 loga vedle sebe na mobilu
   --------------------------------------------------------- */
@media (max-width: 767px) {
  html.fn-brand-page.fn-brand-tiles-ready body:not(.type-product) #content .subcategories,
  html.brand-logos-only body:not(.type-product) #content .subcategories,
  body.brand-logos-only #content .subcategories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  html.fn-brand-page.fn-brand-tiles-ready body:not(.type-product) #content .subcategories a.brand-logo-tile,
  html.brand-logos-only body:not(.type-product) #content .subcategories a.brand-logo-tile,
  body.brand-logos-only #content .subcategories a.brand-logo-tile {
    min-height: 46px !important;
    height: 46px !important;
  }
}

/* ---------------------------------------------------------
   Kategorie s overlay headerem: obrázek musí zůstat viditelný i na mobilu
   --------------------------------------------------------- */
html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-art-layout="overlay"] {
  background-repeat: no-repeat !important;
  background-position: right center !important;
}

@media (max-width: 767px) {
  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-art-layout="overlay"] {
    min-height: 106px !important;
    background-size: auto 100% !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-art-layout="overlay"] .fn-category-compact-copy {
    max-width: 62% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navigation-window,
  #navigation ul ul,
  #content .subcategories a,
  .fn-model-finder--slider .fn-hero-scene {
    animation: none !important;
    transition: none !important;
  }
}
