/* =========================================================
   FOUNÁRNA – kompaktní kategorie bez přeskakování layoutu
   v: 20260710cu3
   Načíst jako POSLEDNÍ CSS v HEAD.
   ========================================================= */

:root {
  --fn-cu-ink: #111827;
  --fn-cu-muted: #5f6b7f;
  --fn-cu-line: rgba(195, 209, 228, .82);
  --fn-cu-yellow: #ffc51f;
  --fn-cu-pink: #e958aa;
  --fn-cu-blue: #4daee8;
  --fn-cu-green: #48b99f;
  --fn-cu-violet: #8d6bea;
  --fn-cu-orange: #ff8b73;
}

@keyframes fnCuFallbackReveal {
  to { opacity: 1; visibility: visible; }
}

/* =========================================================
   KRITICKÝ PRVNÍ PAINT
   Tato pravidla platí ještě před dokončením JavaScriptu, takže se
   nativní karty Shoptetu nejdříve nezvětší a až potom nepřeskládají.
   ========================================================= */

html.fn-category-skin body:not(.type-product) #content .products-block,
html.fn-category-skin body:not(.type-product) #content .products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 16px !important;
  width: 100% !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block > .product,
html.fn-category-skin body:not(.type-product) #content .products > .product,
html.fn-category-skin body:not(.type-product) #content .products-block > .p,
html.fn-category-skin body:not(.type-product) #content .products > .p {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  align-self: stretch !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .p,
html.fn-category-skin body:not(.type-product) #content .products .p {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 430px !important;
  height: 100% !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 1px solid rgba(199, 212, 230, .84) !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 8px 22px rgba(31, 41, 55, .055) !important;
  box-sizing: border-box !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .p-in,
html.fn-category-skin body:not(.type-product) #content .products .p-in {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .p-in-in,
html.fn-category-skin body:not(.type-product) #content .products .p-in-in {
  display: flex !important;
  flex-direction: column !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .p > a.image,
html.fn-category-skin body:not(.type-product) #content .products .p > a.image {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 210px !important;
  min-height: 210px !important;
  margin: 0 0 10px !important;
  padding: 8px !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .p > a.image img,
html.fn-category-skin body:not(.type-product) #content .products .p > a.image img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 194px !important;
  margin: auto !important;
  object-fit: contain !important;
}

html.fn-category-skin body:not(.type-product) #content .products-block .name,
html.fn-category-skin body:not(.type-product) #content .products .name,
html.fn-category-skin body:not(.type-product) #content .products-block .name a,
html.fn-category-skin body:not(.type-product) #content .products .name a {
  min-height: 54px !important;
  margin: 0 !important;
  color: var(--fn-cu-ink) !important;
  font-size: 14.5px !important;
  font-weight: 850 !important;
  line-height: 1.24 !important;
  text-align: left !important;
}

/* Starý nákupní blok se nevykreslí. Místo zůstává rezervované a hotový
   blok se ukáže ihned; při chybě skriptu se nativní blok odhalí za 0,5 s. */
html.fn-category-skin body:not(.type-product) #content .products-block .p:not(.founarna-card-buybox-ready) .p-bottom:not(.founarna-buybox-bottom),
html.fn-category-skin body:not(.type-product) #content .products .p:not(.founarna-card-buybox-ready) .p-bottom:not(.founarna-buybox-bottom) {
  min-height: 90px !important;
  opacity: 0;
  visibility: hidden;
  animation: fnCuFallbackReveal .01s linear .5s forwards;
}


/* Hrubý finální tvar nadpisu a podkategorií je dostupný ještě před JS. */
html.fn-category-skin body:not(.type-product) #content .category-top {
  width: 100% !important;
  max-width: none !important;
  margin: 8px 0 18px !important;
  overflow: hidden !important;
  border: 1px solid rgba(195, 209, 228, .84) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(31, 41, 55, .06) !important;
  box-sizing: border-box !important;
}

html.fn-category-skin body:not(.type-product) #content > h1.category-title,
html.fn-category-skin body:not(.type-product) #content .category-top > h1,
html.fn-category-skin body:not(.type-product) #content .category-top > .category-title {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 86px !important;
  margin: 8px 0 18px !important;
  padding: 16px 24px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  border: 1px solid rgba(195, 209, 228, .84) !important;
  border-radius: 20px !important;
  background: linear-gradient(110deg, #fffaf0, #fff 50%, #eef9ff) !important;
  color: var(--fn-cu-ink) !important;
  font-size: clamp(22px, 1.95vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.04 !important;
  letter-spacing: -.038em !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

html.fn-category-skin body:not(.type-product) #content .category-top > h1,
html.fn-category-skin body:not(.type-product) #content .category-top > .category-title {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(203, 216, 233, .72) !important;
  border-radius: 0 !important;
}

html.fn-category-skin body:not(.type-product) #content .subcategories {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)) !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

html.fn-category-skin body:not(.type-product) #content .subcategories > li {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.fn-category-skin body:not(.type-product) #content .subcategories > li > a {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 9px 12px !important;
  border: 1px solid rgba(194, 208, 227, .88) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 6px 16px rgba(31, 41, 55, .05) !important;
  box-sizing: border-box !important;
}

/* =========================================================
   PANEL A HLAVIČKA KATEGORIE
   ========================================================= */

html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel,
html body.fn-category-compact-ui:not(.type-product) #content .category-top.founarna-category-panel.fn-category-compact-panel {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 8px 0 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(195, 209, 228, .84) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .97) !important;
  box-shadow: 0 12px 34px rgba(31, 41, 55, .06) !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel::before,
html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel::after {
  display: none !important;
  content: none !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header {
  --fn-category-art: none;
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 92px !important;
  margin: 0 !important;
  padding: 16px 285px 16px 22px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(203, 216, 233, .72) !important;
  border-radius: 0 !important;
  background:
    radial-gradient(circle at 86% 28%, rgba(77, 174, 232, .16), transparent 25%),
    radial-gradient(circle at 73% 90%, rgba(233, 88, 170, .11), transparent 28%),
    linear-gradient(110deg, #fffaf0 0%, #ffffff 48%, #eef9ff 100%) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  inset: 0 auto 0 0 !important;
  display: block !important;
  width: 4px !important;
  background: linear-gradient(180deg, var(--fn-cu-yellow), var(--fn-cu-pink) 52%, var(--fn-cu-blue)) !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 50% !important;
  right: 16px !important;
  display: block !important;
  width: 255px !important;
  height: 90px !important;
  background-image: var(--fn-category-art) !important;
  background-repeat: no-repeat !important;
  background-position: right center !important;
  background-size: contain !important;
  opacity: .9 !important;
  filter: drop-shadow(0 11px 16px rgba(30, 42, 68, .13)) !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-copy {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
  max-width: 720px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Kompletní reset starších pravidel, která nadpis na značkových stránkách
   ořezávala na 1 × 1 px. */
html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header h1,
html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header h1.category-title,
html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header .category-title {
  position: relative !important;
  inset: auto !important;
  display: block !important;
  flex: none !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--fn-cu-ink) !important;
  font-size: clamp(22px, 1.95vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.04 !important;
  letter-spacing: -.038em !important;
  text-align: left !important;
  white-space: normal !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-context {
  position: relative !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  color: #56647a !important;
  font-size: 14.5px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: -.01em !important;
  white-space: normal !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-context::before { display: none !important; content: none !important; }


html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header--title-only .fn-category-compact-copy {
  justify-content: center !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .founarna-category-eyebrow {
  display: none !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel .category-perex {
  margin: 0 !important;
  padding: 12px 18px !important;
  border-bottom: 1px solid rgba(203, 216, 233, .62) !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel .category-perex.fn-category-compact-perex-empty {
  display: none !important;
}

/* =========================================================
   ZNAČKY TELEFONŮ
   ========================================================= */

html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories.fn-category-compact-grid,
html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories.founarna-category-grid,
html.fn-brand-page body:not(.type-product) #content .subcategories {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,252,255,.96)) !important;
  box-shadow: none !important;
  list-style: none !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories > li,
html.fn-brand-page body:not(.type-product) #content .subcategories > li {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories a.brand-logo-tile,
html.fn-brand-page body:not(.type-product) #content .subcategories a.brand-logo-tile,
html.fn-brand-page body:not(.type-product) #content .subcategories > li > a {
  --fn-cu-brand-accent: var(--fn-cu-pink);
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 64px !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  overflow: hidden !important;
  border: 1px solid rgba(193, 207, 226, .9) !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow:
    inset 0 -3px 0 var(--fn-cu-brand-accent),
    0 5px 15px rgba(31, 41, 55, .05) !important;
  color: var(--fn-cu-ink) !important;
  text-decoration: none !important;
  transform: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
  box-sizing: border-box !important;
}

/* Před nahrazením textu logem se zobrazí už finální prázdná karta, ne starý
   Shoptet design. Při chybě skriptu se původní název po 0,35 s odhalí. */
html.fn-brand-page body:not(.type-product) #content .subcategories > li > a:not(.brand-logo-tile) {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  color: var(--fn-cu-ink) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  animation: none !important;
}

html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories a.brand-logo-tile:hover,
html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories a.brand-logo-tile:focus-visible {
  border-color: color-mix(in srgb, var(--fn-cu-brand-accent) 50%, #c3cfe1) !important;
  box-shadow:
    inset 0 -3px 0 var(--fn-cu-brand-accent),
    0 11px 24px rgba(31, 41, 55, .1) !important;
  transform: translateY(-2px) !important;
}

html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .brand-logo-img,
html.fn-brand-page body:not(.type-product) #content .brand-logo-img {
  display: block !important;
  width: 92% !important;
  max-width: 92% !important;
  height: 36px !important;
  max-height: 36px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: normal !important;
  filter: none !important;
  transform: none !important;
}

html body.fn-category-compact-ui #content [data-brand="apple"] { --fn-cu-brand-accent: #ee83bd !important; }
html body.fn-category-compact-ui #content [data-brand="samsung"] { --fn-cu-brand-accent: #5db8e8 !important; }
html body.fn-category-compact-ui #content [data-brand="xiaomi"] { --fn-cu-brand-accent: #ffc62f !important; }
html body.fn-category-compact-ui #content [data-brand="poco"] { --fn-cu-brand-accent: #67cdb4 !important; }
html body.fn-category-compact-ui #content [data-brand="motorola"] { --fn-cu-brand-accent: #a78ff2 !important; }
html body.fn-category-compact-ui #content [data-brand="honor"] { --fn-cu-brand-accent: #ee83bd !important; }
html body.fn-category-compact-ui #content [data-brand="huawei"] { --fn-cu-brand-accent: #5db8e8 !important; }
html body.fn-category-compact-ui #content [data-brand="realme"] { --fn-cu-brand-accent: #ffc62f !important; }
html body.fn-category-compact-ui #content [data-brand="vivo"] { --fn-cu-brand-accent: #67cdb4 !important; }
html body.fn-category-compact-ui #content [data-brand="google-pixel"] { --fn-cu-brand-accent: #a78ff2 !important; }

/* =========================================================
   MODELY A OSTATNÍ PODKATEGORIE
   ========================================================= */

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.founarna-category-grid.fn-category-compact-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)) !important;
  align-items: stretch !important;
  gap: 9px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px !important;
  border: 0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,252,255,.94)) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * {
  --fst-accent: var(--fn-cu-pink);
  --fst-soft: rgba(233, 88, 170, .09);
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > *:nth-child(4n+2) { --fst-accent: var(--fn-cu-blue); --fst-soft: rgba(77,174,232,.1); }
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > *:nth-child(4n+3) { --fst-accent: var(--fn-cu-yellow); --fst-soft: rgba(255,197,31,.1); }
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > *:nth-child(4n) { --fst-accent: var(--fn-cu-green); --fst-soft: rgba(72,185,159,.1); }

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) 14px !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 7px 10px 7px 7px !important;
  overflow: hidden !important;
  border: 1px solid rgba(194, 208, 227, .88) !important;
  border-radius: 15px !important;
  background:
    radial-gradient(circle at 0 50%, var(--fst-soft), transparent 42%),
    linear-gradient(145deg, #fff 0%, #fbfdff 100%) !important;
  box-shadow: 0 6px 16px rgba(31, 41, 55, .05) !important;
  color: var(--fn-cu-ink) !important;
  text-decoration: none !important;
  transform: none !important;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 auto 0 0 !important;
  width: 4px !important;
  background: var(--fst-accent) !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a::after {
  content: "›" !important;
  position: static !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--fst-accent) !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  line-height: 1 !important;
  text-align: center !important;
  box-shadow: none !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a:hover,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a:focus-visible {
  border-color: color-mix(in srgb, var(--fst-accent) 46%, #c3cfe1) !important;
  box-shadow: 0 11px 24px rgba(31, 41, 55, .09) !important;
  transform: translateY(-2px) !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > picture,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > .image,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > [class*="thumb"] {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 3px !important;
  overflow: hidden !important;
  border: 1px solid rgba(203, 216, 232, .58) !important;
  border-radius: 12px !important;
  background: color-mix(in srgb, var(--fst-soft) 54%, #fff) !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile img.founarna-tile-image,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a img {
  display: block !important;
  width: 40px !important;
  max-width: 40px !important;
  height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow: none !important;
  object-fit: contain !important;
  object-position: center !important;
  mix-blend-mode: multiply !important;
}

html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > .text,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > .title,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > .name,
html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a {
  font-size: 14.5px !important;
  font-weight: 850 !important;
  line-height: 1.22 !important;
  text-align: left !important;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1199px) {
  html.fn-category-skin body:not(.type-product) #content .products-block,
  html.fn-category-skin body:not(.type-product) #content .products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories.fn-category-compact-grid,
  html.fn-brand-page body:not(.type-product) #content .subcategories {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  html.fn-category-skin body:not(.type-product) #content .products-block,
  html.fn-category-skin body:not(.type-product) #content .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  html.fn-category-skin body:not(.type-product) #content .products-block .p,
  html.fn-category-skin body:not(.type-product) #content .products .p {
    min-height: 350px !important;
    padding: 9px !important;
    border-radius: 16px !important;
  }

  html.fn-category-skin body:not(.type-product) #content .products-block .p > a.image,
  html.fn-category-skin body:not(.type-product) #content .products .p > a.image {
    height: 155px !important;
    min-height: 155px !important;
    padding: 5px !important;
  }

  html.fn-category-skin body:not(.type-product) #content .products-block .p > a.image img,
  html.fn-category-skin body:not(.type-product) #content .products .p > a.image img {
    max-height: 145px !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .category-top.fn-category-compact-panel {
    margin: 6px 0 14px !important;
    border-radius: 16px !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header {
    min-height: 78px !important;
    padding: 13px 122px 13px 18px !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header::after {
    right: 4px !important;
    width: 122px !important;
    height: 86px !important;
    opacity: .68 !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header h1,
  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header h1.category-title {
    font-size: clamp(21px, 6vw, 26px) !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-context {
    margin-top: 4px !important;
    padding-left: 18px !important;
    font-size: 12.8px !important;
  }

  html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories.fn-category-compact-grid,
  html.fn-brand-page body:not(.type-product) #content .subcategories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
    padding: 9px !important;
  }

  html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories a.brand-logo-tile,
  html.fn-brand-page body:not(.type-product) #content .subcategories > li > a {
    height: 44px !important;
    min-height: 44px !important;
    padding: 6px !important;
    border-radius: 12px !important;
  }

  html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .brand-logo-img,
  html.fn-brand-page body:not(.type-product) #content .brand-logo-img {
    width: 94% !important;
    max-width: 94% !important;
    height: 42px !important;
    max-height: 42px !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 9px !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 66px !important;
    padding: 7px !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a::after {
    display: none !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > picture,
  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > .image,
  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile > [class*="thumb"] {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .founarna-illustrated-tile img.founarna-tile-image,
  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid > * > a img {
    width: 43px !important;
    max-width: 43px !important;
    height: 43px !important;
    max-height: 43px !important;
  }
}

@media (max-width: 420px) {
  html body.fn-category-compact-ui.brand-logos-only:not(.type-product) #content .subcategories.fn-category-compact-grid,
  html.fn-brand-page body:not(.type-product) #content .subcategories {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.fn-category-compact-ui:not(.brand-logos-only):not(.type-product) #content .subcategories.fn-category-compact-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.fn-category-compact-ui #content .subcategories a,
  html.fn-category-skin body:not(.type-product) #content .p-bottom {
    transition: none !important;
    animation-delay: .05s !important;
  }
}


html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-context {
  color: #5d6a7f !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-category-step="brand"] .fn-category-compact-context {
  font-size: 15px !important;
  font-weight: 800 !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-category-step="brand"]::after,
html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header[data-fn-category-step="phone-model-select"]::after {
  background-size: contain !important;
  background-position: right center !important;
}

@media (max-width: 767px) {
  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header {
    min-height: 76px !important;
    padding: 12px 104px 12px 16px !important;
  }

  html body.fn-category-compact-ui:not(.type-product) #content .fn-category-compact-header::after {
    right: 8px !important;
    width: 92px !important;
    height: 62px !important;
    opacity: .66 !important;
  }
}


/* Stabilní placeholder pro modelové dlaždice, dokud se načte správná mapa modelu. */
html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > .image,
html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > picture,
html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > [class*="thumb"] {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 68% 28%, rgba(233,88,170,.15), transparent 28%),
    linear-gradient(145deg, #f9fbff, #f5f0ff) !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending img {
  opacity: 0 !important;
}

html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > .image::after,
html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > picture::after,
html body.fn-category-compact-ui:not(.type-product) #content .fn-model-image-pending > [class*="thumb"]::after {
  content: "" !important;
  position: absolute !important;
  width: 22px !important;
  height: 34px !important;
  border: 2px solid rgba(55,68,92,.28) !important;
  border-radius: 7px !important;
  background: rgba(255,255,255,.72) !important;
  box-shadow: 7px 4px 0 -3px rgba(77,174,232,.26) !important;
}

/* Finální počet sloupců modelů je známý už z URL v HEAD, proto grid nepřeskakuje. */
@media (min-width: 1200px) {
  html.fn-model-select-page body:not(.type-product) #content .subcategories {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html.fn-model-select-page body:not(.type-product) #content .subcategories {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
