/** Shopify CDN: Minification failed

Line 2371:55 Unexpected "/"

**/
/* ============================================================
   ONE BOUT — TYPOGRAPHY SYSTEM
   Inspired by Boxraw's CSS-variable-first approach.
   All typography flows from these tokens.
   ============================================================ */

:root {
  /* — Fonts — */
  --ob-font-display: "Rift", sans-serif;   /* headings, product titles, buttons */
  --ob-font-body:    "Barlow", sans-serif; /* body, nav, UI, prices, labels */
  --ob-font-title:   var(--ob-font-body);  /* T2 tituly = Barlow 600 (owner finál C — drop Semi Condensed, zpět na 2 rodiny). Hierarchii nese váha 600 + tight tracking + velikost. */

  /* — Heading scale — 1.270 ratio, fluid clamp (h1=56px, h6=17px) — */
  --ob-text-h1: clamp(2rem, 3.5vw + 1.125rem, 3.5rem);       /* 32→56px */
  --ob-text-h2: clamp(1.625rem, 2.5vw + 0.875rem, 2.75rem);  /* 26→44px */
  --ob-text-h3: clamp(1.25rem, 2vw + 0.75rem, 2.1875rem);    /* 20→35px */
  --ob-text-h4: 1.6875rem;  /* 27px */
  --ob-text-h5: 1.375rem;   /* 22px */
  --ob-text-h6: 1.0625rem;  /* 17px */

  /* — UI / body scale (fixed) — */
  --ob-text-xs:   0.6875rem;  /* 11px — badges, tiny labels */
  --ob-text-sm:   0.75rem;    /* 12px — prices, meta, captions */
  --ob-text-md:   0.8125rem;  /* 13px — secondary text */
  --ob-text-title: 0.875rem;  /* 14px — T2 titul karty (owner finál C: Barlow 600) */
  --ob-tracking-title: -0.005em; /* T2 title — tight tracking pro „title" odlišení od body 400 */
  --ob-text-base: 0.875rem;   /* 14px — body copy (v3-FINAL: zpět na 14) */
  --ob-text-lg:   1rem;       /* 16px — emphasized body */
  --ob-text-xl:   1.125rem;   /* 18px — featured/intro text */

  /* — Font weights — */
  --ob-weight-light:   300;
  --ob-weight-regular: 400;
  --ob-weight-medium:  500;
  --ob-weight-bold:    700;
  --ob-weight-semibold: 600;  /* T2 subhead/accordion/facet/size-chart/kategorie; reálná jen na Barlow Semi Condensed nebo Barlow 600 */

  /* — Letter spacing — */
  --ob-tracking-display: -0.01em;  /* Rift display headings */
  --ob-text-eyebrow: 13px;         /* JEDNOTNÉ eyebrows/kickery — vzor „GIVEAWAY" ze stories šablon */
  --ob-tracking-eyebrow: 0.1em;    /* v3-FINAL: wide = 0.1 (VŠE uppercase) */
  --ob-tracking-read:    0.02em;   /* v3-FINAL: read — natural-case tituly/cena/subhead */
  --ob-tracking-body:    0.01em;   /* v3-FINAL: body (z 0.04) */
  --ob-tracking-ui:      0.1em;    /* v3-FINAL: wide = 0.1 (z 0.08) */
  --ob-tracking-nav:     0.1em;    /* v3-FINAL: wide = 0.1 (z 0.12) */
  --ob-tracking-btn:     0.15em;   /* Buttons, uppercase */
  --ob-tracking-display-sm: 0.05em; /* malý Rift ≤~18px — kondenzovaný v malém chce povolit (canon v1, rozhodnutí 14.6.) */

  /* — Line heights — */
  --ob-leading-display: 1.0;  /* v3-FINAL: head = 1.0 (z 0.90) */
  --ob-leading-tight:  1.05;  /* Rift sub-headings */
  --ob-leading-snug:   1.25;  /* v3-FINAL: title/card = 1.25 (z 1.2) */
  --ob-leading-normal: 1.6;   /* Barlow body (harmonizace: z 1.5) */
  --ob-leading-loose:  1.65;  /* Barlow small/UI */
}

/* ============================================================
   GLOBAL HEADING + BUTTON FONT ASSIGNMENT
   ============================================================ */

/* Override Prestige theme CSS variables — our file loads after css-variables.liquid so these win */
:root {
  --text-h1: var(--ob-text-h1);
  --text-h2: var(--ob-text-h2);
  --text-h3: var(--ob-text-h3);
  --text-h4: var(--ob-text-h4);
  --text-h5: var(--ob-text-h5);
  --text-h6: var(--ob-text-h6);
  --text-base: var(--ob-text-base);
  --text-heading-size-factor: 1; /* neutralise Prestige's multiplier */
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.heading,
.shopify-policy__title {
  font-family: var(--ob-font-display) !important;   /* !important: přebíjí Prestige '.prose :where(h*)' (theme.css:8018, Saira) — leak na policy/system/rte/prose nadpisech. Barlow tituly mají vlastní !important override (vyšší specificita) → vyhrávají. */
  font-weight: 700;
  letter-spacing: var(--ob-tracking-display);
  line-height: var(--ob-leading-display);
  text-transform: uppercase;   /* SYSTÉMOVÝ FIX: Rift nemá lowercase → holé h-elementy (policy/system/generic
                                  stránky, TB content) v natural case = tofu. Toto je OWNS uppercase pro VŠECHNY
                                  Rift heady na jednom místě. Natural-case Barlow tituly (karty/blog/cart/FAQ/size-chart)
                                  mají vlastní text-transform:none override → zůstávají natural. */
}

h1, .h1 { font-size: var(--ob-text-h1); }
h2, .h2 { font-size: var(--ob-text-h2); }
h3, .h3 { font-size: var(--ob-text-h3); }
h4, .h4 { font-size: var(--ob-text-h4); line-height: var(--ob-leading-tight); }
h5, .h5 { font-size: var(--ob-text-h5); line-height: var(--ob-leading-tight); }
h6, .h6 { font-size: var(--ob-text-h6); line-height: var(--ob-leading-tight); }

button,
.button,
.Button,
.btn,
.Form__Submit {
  font-family: var(--ob-font-display);
  letter-spacing: var(--ob-tracking-btn);
}

/* ============================================================
   Cart badge – numbered pill replacing the plain dot
   ============================================================ */
.header__cart-dot {
  background-color: #6E0C22 !important;
  color: #ffffff !important;
  width: auto !important;
  min-width: 1.125rem !important;
  height: 1.125rem !important;
  padding-inline: 0.25rem !important;
  border-radius: 100px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0.6rem !important;
  font-weight: var(--ob-weight-bold) !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.header__cart-dot cart-count {
  color: inherit;
}

/* RIO options – remove border-radius, set button height */
.rio-options [class*="PwzrButton-root"] {
  border-radius: 0 !important;
  height: 46px !important;
}

.rio-options [data-option-type="button"] > [class*="PwzrGrid-item"]:first-child [class*="PwzrButton-root"] {
  padding-left: 0 !important;
}

/* ============================================================
   FEATURED COLLECTIONS SECTION
   ============================================================ */

.shopify-section--featured-collections .section-stack {
  position: relative;
  padding-top: 0 !important;
  display: grid;
  gap: var(--section-stack-gap);
}

/* Top: 90px + title + 40px gap. Bottom: 195px from carousel to next section. */
.shopify-section--featured-collections .section-spacing {
  padding-block-start: 90px !important;
  padding-block-end: 105px !important;
}

/* Mobil + tablet: menší mezera mezi „SHOP IN FOCUS" a „THE PHILOSOPHY" (na žádost).
   POZOR: spodní padding carouselu NEMĚNIT — je svázaný s -80px pull-upem Philosophy
   (margin-top:-80), a když klesne pod 80, Philosophy (bílá) překryje a ořízne tlačítko.
   Místo toho zmenšíme HORNÍ prostor Philosophy sekce (padding-top + margin kickeru). */
@media screen and (max-width: 989px) {
  /* horní white space nad „EARNING ITS PLACE" (od videa) — sjednotit se zbytkem */
  .shopify-section--featured-collections .section-spacing { padding-block-start: 40px !important; }
  .ob-manifesto { padding-top: 20px !important; }
  .ob-man-kick { margin-top: 12px !important; }
}

@media screen and (max-width: 699px) {
  .shopify-section--featured-collections .top-navigation-wrapper {
    display: none !important;
  }
  .shopify-section--featured-collections .featured-collections-carousel {
    padding-left: 0 !important;
  }
}

.shopify-section--featured-collections .product-list--carousel {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  padding-left: calc(50vw - 50% + 60px) !important;
  padding-right: 60px !important;
  scroll-padding-left: calc(50vw - 50% + 60px) !important;
}

.shopify-section--featured-collections .floating-controls-container {
  padding-inline: 20px !important;
}

@media screen and (max-width: 699px) {
  .shopify-section--featured-collections .product-list--carousel {
    padding-left: 20px !important;
    padding-right: 20px !important;
    scroll-padding-left: 20px !important;
  }
}

.shopify-section--featured-collections .product-card__figure,
.shopify-section--featured-collections .product-item__figure {
  width: 100% !important;
  margin: 0 !important;
}

.shopify-section--featured-collections .container,
.shopify-section--featured-collections .section-stack {
  overflow: visible !important;
}

.shopify-section--featured-collections .product-list--carousel.bleed {
  padding-inline-start: 0 !important;
  scroll-padding-inline-start: 0 !important;
}

.shopify-section--featured-collections .product-card__info {
  padding-left: 25px !important;
  padding-right: 15px !important;
  text-align: left !important;
}

.shopify-section--featured-collections .section-header {
  margin-bottom: clamp(15px, 3vw, 25px) !important; /* 25px desktop → ~15px mobil, škáluje s menším nadpisem */
}

/* IN FOCUS + "shop in focus" 50 px od krajů (sjednoceno s hlavičkou ob-athletes) */
@media screen and (min-width: 990px) {
  .shopify-section--featured-collections .featured-collections-header {
    padding-inline: 2px; /* container dává 48 px → 48 + 2 = 50 px od viewportu */
  }
}

.shopify-section--related-products h2,
.shopify-section--related-products .h2 {
  font-size: var(--ob-text-h3) !important;
}

/* IN FOCUS heading na h3 (35px) — sjednoceno s "Worn by those who do the work." (.ob-ath-head) */
.shopify-section--featured-collections h2,
.shopify-section--featured-collections .h2,
.ob-ath-head {
  font-size: var(--ob-text-h3) !important;
  text-transform: uppercase !important;   /* FIX-1 (holistic): Rift nemá lowercase → natural case = tofu. Tyhle dvě hlavy spadly na natural. */
}

/* FEATURED COLLECTIONS HEADER — title left, link right */
.featured-collections-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline; /* link sedí na baseline nadpisu — stejně jako hlavička ob-athletes */
  gap: 1rem;
  max-width: 100%;
}

.featured-collections-header__link {
  /* „SHOP IN FOCUS" → stejný styl jako chapter .block-cta: text + šipka →,
     podtržení, mezera roste při hoveru. Bílá sekce → černá varianta. */
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #000;
  text-decoration: none;
  border-bottom: 1px solid rgba(0,0,0,.35);
  padding-bottom: 3px;
  width: fit-content;
  transition: border-color .2s ease, gap .2s ease;
}
.featured-collections-header__link::after {
  content: "\2192";              /* → — shodné s .block-cta */
  display: inline-block;
}
.featured-collections-header__link:hover {
  border-color: #000;
  gap: 10px;
}
.featured-collections-header__link svg { display: none; }   /* původní „>" chevron pryč — šipka je ::after → */

/* MOBIL: nadpis nahoře, "shop in focus" pod ním (sjednoceno s hlavičkou ob-athletes) */
@media screen and (max-width: 749px) {
  .shopify-section--featured-collections .featured-collections-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  /* odsazení nad carouselem řeší škálující clamp v base pravidle (15→25px) */
}

/* below-CTA je defaultně skryté (zobrazí se jen na telefonu) */
.shopify-section--featured-collections .featured-collections-header__link--below {
  display: none;
}

/* TELEFON (≤749px): "SHOP IN FOCUS" jako tlačítko POD carouselem.
   Geometrie jako Philosophy (.ob-man-btn) + šířka jako "About the brand" (block, max 320, centrované),
   ale invertované dle našich standardních buttonů (bílá výplň / černý rámeček / černý text, hover → černá/bílá). */
@media screen and (max-width: 749px) {
  /* inline odkaz v hlavičce na telefonu schováme — CTA je pod carouselem */
  .shopify-section--featured-collections .featured-collections-header__link--inline {
    display: none;
  }
  /* MOBIL: „SHOP IN FOCUS" zpět jako TLAČÍTKO — bílá výplň, černý obrys, černý text;
     hover invertuje na černá/bílá (standardní OB button). Bez šipky (ta je jen na desktop linku). */
  .shopify-section--featured-collections .featured-collections-header__link--below {
    display: block;
    width: 100%;
    max-width: none;
    margin: 22px 0 0;
    box-sizing: border-box;
    text-align: center;
    padding: 14px 34px;
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
    text-decoration: none !important;
    transition: background-color .3s ease, color .3s ease !important;
  }
  .shopify-section--featured-collections .featured-collections-header__link--below:hover {
    background: #000 !important;
    color: #fff !important;
    border-color: #000 !important;
  }
  .shopify-section--featured-collections .featured-collections-header__link--below::after { display: none; }
}

/* ============================================================
   NAVIGATION
   ============================================================ */

/* Primary Nav items (Desktop & Mobile) */
.header__primary-nav .header__menu-disclosure summary,
.header__primary-nav .header__primary-nav-item > a,
.header-sidebar__linklist-button,
.header-sidebar__back-button,
.header-sidebar__nav-item > a,
.header-sidebar__nav-link,
.header-sidebar__linklist-item > a,
.header-sidebar__linklist-button[aria-expanded] {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-lg) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-nav) !important;
  text-transform: uppercase;
}

/* LIMITED — akcentní položka za hlavním menu, oddělená svislou linkou */
.header__nav-limited {
  display: flex;
  align-items: center;
  gap: var(--header-menu-gap, 32px); /* stejný rytmus jako mezery mezi položkami menu */
}
.header__nav-limited::before {
  content: '';
  width: 1px;
  height: 14px;
  background: rgb(255 255 255 / 0.35);
}
.header__nav-limited > a {
  color: #BA1439 !important; /* brand burgundy #6E0C22 zesvětlená 2× o 30 % (stejný odstín 346°) — čitelnost na tmavém headeru */
}
/* LIMITED v mobilním (sidebar) menu — stejná burgundy akcentní barva */
.header-sidebar__link--limited {
  color: #BA1439 !important;
}

/* Mega-Menu Column Headings (desktop) + Mobile sub-panel equivalent */
.mega-menu__linklist .h6,
.header-sidebar__sub-panel .header-sidebar__linklist-button {
  font-family: var(--ob-font-display) !important;
  font-weight: var(--ob-weight-bold) !important;
  letter-spacing: var(--ob-tracking-nav) !important;
}

/* icon + label combos (filter button, etc.) */
.text-with-icon {
  font-size: var(--ob-text-h6) !important;
}

/* Akordeon toggle s ikonou/šipkou obaluje text do .text-with-icon → globální 17px výše
   by přebil velikost nastavenou na toggle. Ať vnitřní text dědí velikost z toggle
   (opravuje facet/FAQ/PDP/tabs toggles, které byly vždy 17px). */
.accordion__toggle .text-with-icon {
  font-size: inherit !important;
}

/* Filter/sort drawer accordion headings — match toolbar button */
.facets-drawer .accordion__toggle,
.facets .accordion__toggle {
  font-family: var(--ob-font-title) !important;     /* T3-3: Barlow title-tier; sladění s 12px chipy */
  font-size: var(--ob-text-md) !important;          /* 13 — tokenizováno (z hardcoded 13px) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* Drawer harmonizace: checkbox/sort/text facet labely (bez třídy → dědily ~15px base) → Barlow 12px jako chipy */
.facets-drawer .checkbox-control label,
.facets .checkbox-control label {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;          /* 12 */
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  text-transform: none !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */

.button, .Button, .button--outline, .Button--outline {
  background-image: none !important;
  transition: all 0.3s ease-in-out !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transform: none !important;
}

/* SOLID */
.button:not(.button--outline):not(.button--subdued),
.Button:not(.Button--outline):not(.Button--subdued) {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
}

.button:not(.button--outline):not(.button--subdued):hover,
.Button:not(.Button--outline):not(.Button--subdued):hover {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
  transform: translateY(-2px) !important;
}

/* On white backgrounds keep border black so button stays visible */
product-form .button:not(.button--outline):not(.button--subdued):hover,
cart-drawer .button:not(.button--outline):not(.button--subdued):hover,
.main-cart .button:not(.button--outline):not(.button--subdued):hover {
  border-color: #000000 !important;
}

/* LOGIN PAGE */
account-login .button:not(.button--outline):not(.button--subdued),
.customer-account-box .button:not(.button--outline):not(.button--subdued) {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-color: #000000 !important;
}

account-login .button:not(.button--outline):not(.button--subdued):hover,
.customer-account-box .button:not(.button--outline):not(.button--subdued):hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

/* CART DRAWER - Checkout button */
.button[name="checkout"]:not(.button--outline):not(.button--subdued),
.Button[name="checkout"]:not(.Button--outline):not(.Button--subdued) {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-color: #000000 !important;
}

.button[name="checkout"]:not(.button--outline):not(.button--subdued):hover,
.Button[name="checkout"]:not(.Button--outline):not(.Button--subdued):hover {
  background-color: #6e0c22 !important;
  color: #ffffff !important;
  border-color: #6e0c22 !important;
}

/* OUTLINE */
.button--outline, .Button--outline {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
}

.button--outline:hover, .Button--outline:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  transform: translateY(-2px) !important;
}

/* CONTACT FORM — Send Message button */
#contact_form .button[type="submit"] {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #000000 !important;
  box-shadow: none !important;
  transform: none !important;
}

#contact_form .button[type="submit"]:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

/* VIEW RESULTS button in facets drawer */
.facets-drawer [slot="footer"] .button {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #000000 !important;
  box-shadow: none !important;
  transform: none !important;
}

.facets-drawer [slot="footer"] .button:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

/* SHOPIFY PAYMENT BUTTON (Buy It Now) */
.shopify-payment-button__more-options {
  text-align: left !important;
}

.shopify-payment-button__button--unbranded {
  border-radius: 0 !important;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, border-color 0.3s ease-in-out, transform 0.3s ease-in-out !important;
}

.shopify-payment-button__button--unbranded:not([disabled]):hover {
  background-image: none !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
  transform: translateY(-2px) !important;
}

/* ============================================================
   CAROUSEL CONTROLS
   ============================================================ */

.prev-next-button {
  color: #000 !important;
}

.prev-next-button svg path {
  stroke-width: 1.75;
}

/* ============================================================
   GRID & CAROUSEL GAPS
   ============================================================ */

product-list,
.product-list {
  --product-list-calculated-column-gap: 5px;
  --product-list-calculated-row-gap: 5px;
  --grid-column-gap: 2px !important;
  --grid-row-gap: 70px !important;
  gap: 70px 2px !important;
}

.scroll-area,
.scroll-area.bleed,
product-list[swipe-on-mobile] .scroll-area {
  gap: 2px !important;
}

.collection-list {
  --collection-list-gap: 2px !important;
  gap: 2px !important;
}

/* PDP titul je scopovaný: .product-info .product-title → h3 (~2285), karty
   .horizontal-product-card .product-title → h6 (~2295). Mrtvé base 26px pravidlo
   odstraněno (group 0 / INF-13) — quick-buy & placeholder padají na svou .h6 třídu. */

/* Product detail page price */
.price-list--product sale-price,
.price-list--product compare-at-price {
  font-size: var(--ob-text-xl) !important; /* 18px — záměrný PDP hero (tokenizováno, DEC-PRICE) */
  font-family: var(--ob-font-body) !important;   /* FIX-3 (holistic): byl Rift přes .h5 class → cena VŽDY Barlow */
  font-weight: var(--ob-weight-medium) !important;
  font-variant-numeric: tabular-nums !important;
}

/* ============================================================
   PRODUCT CARD
   ============================================================ */

.product-card__info .one-bout-title,
.product-card__info .one-bout-subtitle,
.product-card__info .product-title {
  font-family: var(--ob-font-title) !important;       /* finál C: Barlow 600 (z Semi Cond) */
  font-size: var(--ob-text-title) !important;          /* 14px */
  font-weight: var(--ob-weight-semibold) !important;   /* 600 — „title" odlišení od body 400 */
  letter-spacing: var(--ob-tracking-title) !important; /* -0.005em tight */
  line-height: var(--ob-leading-snug) !important;
  text-transform: none !important;                   /* natural case */
  color: #000000 !important;
  display: block !important;
  text-decoration: none !important;
  margin-top: 0 !important;
}

.product-card__info .one-bout-title__text {
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.product-card .product-size-preview {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-xs) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  line-height: var(--ob-leading-loose) !important;
  text-transform: uppercase !important;
  color: #5c5c5c !important;
  margin-top: 0 !important;
  display: block !important;
}

.product-card__price-block {
  margin-top: 0 !important;
}

.product-card__info .v-stack {
  gap: 0 !important;
}

/* ============================================================
   PRICES
   ============================================================ */

.price,
.price-list,
.product-card__info .price-list,
.product-info__price .price-list,
.cart-item__price-list {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-md) !important;          /* v3-FINAL: cena 13 (z 12); PDP hero 18 má vlastní override */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-read) !important; /* v3-FINAL: price = read 0.02 */
  font-variant-numeric: tabular-nums;
}

.product-card__price-block,
.product-card__price-block *,
.product-card__info .price-list,
.product-card__info .price-list * {
  color: #000000 !important;
  font-weight: var(--ob-weight-medium) !important;
}

.shopify-section--related-products .product-card__info .price-list,
.shopify-section--related-products .product-card__info .price-list * {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;
  color: #000000 !important;
}

.product-card .text-subdued.b4b-vprice,
.product-card .text-subdued.b4b-vprice * {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;
  font-weight: var(--ob-weight-regular) !important;
  color: #000000 !important;
}

/* ============================================================
   QUICK ADD SIZE PICKER
   ============================================================ */

.quick-add-inline {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: center !important;
  width: 100% !important;
  margin-top: 10px !important;
}

button.quick-add-inline__variant-link {
  flex: 1 1 0% !important;
  min-width: 40px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 1px solid rgb(var(--border-color)) !important;
  color: #595959 !important;
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;           /* 12 — normalizace na .size-filter-option__label (z 14) */
  font-weight: var(--ob-weight-medium) !important;   /* 500 — canon (z 300 light) */
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all 0.2s ease-in-out !important;
  padding: 0 5px !important;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}

button.quick-add-inline__variant-link:not(:disabled):hover {
  background-color: #f5f5f5 !important;
  border-color: #000000 !important;
  color: #000000 !important;
}

button.quick-add-inline__variant-link[aria-selected="true"],
button.quick-add-inline__variant-link.is-selected {
  border-color: #000000 !important;
  background: rgba(0,0,0,0.05) !important;
  font-weight: var(--ob-weight-bold) !important;
}

button.quick-add-inline__variant-link:disabled {
  color: rgba(0,0,0,0.3) !important;
  cursor: not-allowed !important;
  position: relative !important;
  overflow: hidden !important;
  border-color: rgb(var(--border-color)) !important;
  background: transparent !important;
}

button.quick-add-inline__variant-link:disabled::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), rgb(var(--border-color)) calc(50% - 0.5px) calc(50% + 0.5px), transparent calc(50% + 0.5px));
  pointer-events: none;
}

/* Narrow desktop (1000–1199px) */
@media (min-width: 1000px) and (max-width: 1199px) {
  .quick-add-inline {
    gap: 5px !important;
  }

  button.quick-add-inline__variant-link {
    min-width: 26px !important;
    height: 26px !important;
    font-size: var(--ob-text-xs) !important;
    padding: 0 2px !important;
  }
}

/* Tablet (700–999px) */
@media (min-width: 700px) and (max-width: 999px) {
  .quick-add-inline {
    gap: 4px !important;
  }

  button.quick-add-inline__variant-link {
    min-width: 26px !important;
    height: 26px !important;
    font-size: var(--ob-text-xs) !important;
    padding: 0 2px !important;
  }
}

/* Mobile (≤699px) */
@media (max-width: 699px) {
  .quick-add-inline {
    gap: 4px !important;
  }

  button.quick-add-inline__variant-link {
    min-width: 26px !important;
    height: 28px !important;
    font-size: var(--ob-text-xs) !important;
    padding: 0 3px !important;
  }
}

/* ============================================================
   RELATED & RECENTLY VIEWED CAROUSELS
   ============================================================ */

.shopify-section--related-products .container,
.shopify-section--related-products .section-stack,
.shopify-section--recently-viewed-products .container,
.shopify-section--recently-viewed-products .section-stack {
  overflow: visible !important;
}

.shopify-section--related-products .product-list--carousel,
.shopify-section--recently-viewed-products .product-list--carousel {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  padding-left: calc(50vw - 50% + 60px) !important;
  padding-right: 60px !important;
  scroll-padding-left: calc(50vw - 50% + 60px) !important;
}

.shopify-section--related-products .product-list--carousel.bleed,
.shopify-section--recently-viewed-products .product-list--carousel.bleed {
  padding-inline-start: 0 !important;
  scroll-padding-inline-start: 0 !important;
}

.shopify-section--related-products .product-card__info,
.shopify-section--recently-viewed-products .product-card__info {
  padding-left: 25px !important;
  padding-right: 15px !important;
  text-align: left !important;
}

@media screen and (max-width: 699px) {
  .shopify-section--related-products .product-list--carousel,
  .shopify-section--recently-viewed-products .product-list--carousel {
    padding-left: 20px !important;
    padding-right: 20px !important;
    scroll-padding-left: 20px !important;
  }
}

/* ============================================================
   SIZE PICKER — all sizes on one row, equal width
   ============================================================ */

.variant-picker__option-values:has(.block-swatch) {
  flex-wrap: nowrap !important;
}

.variant-picker__option-values:has(.block-swatch) .block-swatch {
  flex: 1 1 0;
  min-width: 0;
}

/* ============================================================
   BREADCRUMBS
   ============================================================ */

.breadcrumb__list {
  flex-wrap: nowrap;
  overflow: hidden;
}

.breadcrumb__list-item {
  white-space: nowrap;
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.breadcrumb__list-item:first-child {
  flex-shrink: 0;
}

.breadcrumb__list-item:last-child {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  min-width: 0;
}

/* ============================================================
   COLLECTION PAGE
   ============================================================ */

.shopify-section--main-collection .product-list {
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
}

.shopify-section--main-collection .product-card__info {
  padding-left: 25px !important;
  text-align: left !important;
}

/* ============================================================
   FILTER & SORT TOOLBAR
   ============================================================ */

.collection-toolbar {
  justify-content: space-between;
  align-items: center;
}

.shopify-section--main-collection .container > .v-stack {
  gap: 0 !important;
}

@media screen and (min-width: 700px) {
  .collection-toolbar {
    flex-direction: row;
  }

  .collection-toolbar__button-list {
    flex-direction: row;
    flex: none;
    flex-grow: 0;
  }

  .collection-toolbar__products-count {
    position: static;
    transform: none;
    inset: unset;
    padding-inline-start: 40px;
  }
}

.collection-toolbar__products-count {
  display: block;
  padding-inline-start: 40px;
  font-family: var(--ob-font-body) !important;   /* counter = Barlow (dřív .h6 → Rift) */
  font-size: var(--ob-text-md) !important;        /* v3-FINAL: count = 13 (z 12) */
  font-weight: var(--ob-weight-medium) !important;
  text-transform: uppercase !important;
}

.collection-toolbar__button-list {
  margin-inline-start: auto;
}

@media screen and (max-width: 699px) {
  .collection-toolbar__button-list {
    flex-grow: 0 !important;
  }

  .collection-toolbar__button-container {
    width: auto !important;
  }

  .collection-toolbar__button[aria-controls="facets-drawer"] {
    width: auto !important;
    padding-inline-start: 20px;
    padding-inline-end: 40px;
  }
}

.collection-toolbar__button[aria-controls="facets-drawer"] {
  font-family: var(--ob-font-title) !important;     /* T3-3: Rift → Barlow 600 */
  font-size: var(--ob-text-md) !important;          /* v3-FINAL: strukturální label 13 */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  color: #000;
  padding-inline: 40px;
  transition: color 0.2s ease;
}

.collection-toolbar__button[aria-controls="facets-drawer"]:hover {
  opacity: 1 !important;
  color: #888;
}

.collection-toolbar__button[aria-controls="facets-drawer"] .text-with-icon {
  font-size: var(--ob-text-md) !important;   /* v3-FINAL: 13 */
}

.collection-toolbar__button[aria-controls="facets-drawer"] svg {
  transition: none !important;
  transform: none !important;
  width: 1.125rem !important;
  height: 1.125rem !important;
  flex-shrink: 0;
}

.collection-toolbar__button[aria-controls="facets-drawer"][aria-expanded="true"] svg {
  transform: none !important;
}

/* ============================================================
   CART DRAWER
   ============================================================ */

cart-drawer .cart-drawer__order-note,
cart-drawer .link-faded-reverse,
cart-drawer .button-group .button[href="/cart"] {
  display: none !important;
}

/* Subtotal row */
cart-drawer .cart-drawer__subtotal {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 12px 0;
  border-top: none;
}

cart-drawer .cart-drawer__subtotal-label {
  font-family: var(--ob-font-title);   /* Barlow 600 (zrcadlí line-items) */
  font-size: var(--ob-text-md);        /* 13 — sjednoceno s cart scale (byl 1rem/16px = mimo v3) */
  font-weight: var(--ob-weight-semibold);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
}

cart-drawer .cart-drawer__subtotal-price {
  font-family: var(--ob-font-display);
  font-size: var(--ob-text-xl);        /* 18 — prominentní částka (label zůstává 13) */
  font-weight: 700;
  letter-spacing: var(--ob-tracking-display);
}

/* Payment icons */
cart-drawer .cart-drawer__payment-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  padding-top: 12px;
}

cart-drawer .cart-drawer__payment-icons img {
  height: 18px;
  width: auto;
  border-radius: 2px;
}

/* Line item spacing — matches product card (no margins, no v-stack gap) */
cart-drawer .line-item-info > .v-stack,
cart-drawer .line-item-info > .v-stack > .v-stack {
  gap: 0 !important;
}

cart-drawer .line-item__variant {
  margin: 0;
}

cart-drawer .line-item__price {
  margin: 0;
}

/* Keep the gap between price and quantity counter only */
cart-drawer .line-item-info line-item-quantity {
  margin-top: 12px;
}

/* Product name link — match the product card Rift treatment */
cart-drawer .line-item-info a {
  font-family: var(--ob-font-title) !important;   /* finál C: zrcadlí kartu — Barlow 600 14/natural */
  font-size: var(--ob-text-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-title) !important;
  text-transform: none !important;
  line-height: var(--ob-leading-snug) !important;
}

/* Remove link — Barlow, md scale */
cart-drawer .line-item-info a.link {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-md) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  text-transform: uppercase !important;
  line-height: var(--ob-leading-normal) !important;
}

/* Variant label (M / White) — Barlow, use our xs scale */
cart-drawer .smallcaps {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-xs) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.footer__block--newsletter .input {
  border-color: #ffffff !important;
}

.footer__aside {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  text-align: left !important;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding-top: 1.25rem;
}

.footer__aside-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}

.footer__aside-left p {
  font-family: var(--ob-font-title) !important;   /* sjednocení footeru → Barlow Semi Condensed */
  font-weight: var(--ob-weight-medium) !important;
}

.footer__aside-left .localization-toggle,
.footer__aside-left .localization-toggle span,
.footer__aside-right .localization-toggle,
.footer__aside-right .localization-toggle span {
  font-family: var(--ob-font-title) !important;   /* localization switcher → Barlow Semi Condensed (u zdroje) */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
}

.footer__aside .footer__bottom-links {
  margin-left: auto;
}

.footer__aside-right {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-left: 1.25rem;
  border-left: 1px solid rgb(var(--text-color) / 0.15);
}

.footer__aside-right .localization-selectors {
  display: flex;
  gap: 1.25rem;
  align-items: center;
}

.header__secondary-nav .localization-toggle span {
  font-family: var(--ob-font-title) !important;   /* header localization toggle → Semi Condensed (sjednocení) */
  font-size: var(--ob-text-md) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}
.popover__value-list .popover__value-option,
.popover__value-list .popover__value-option span {
  font-family: var(--ob-font-title) !important;   /* popover options (rozbalený seznam zemí/jazyků) → Semi Condensed */
  font-size: var(--ob-text-md) !important;        /* 13 (z 15) */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: none !important;                /* natural case — scanned list čitelnější */
}

.footer__bottom-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer__bottom-links a {
  font-family: var(--ob-font-title) !important;   /* legal odkazy → Barlow Semi Condensed 600 */
  font-weight: var(--ob-weight-semibold) !important;
}

/* Footer nadpisy sloupců (p.h6) — Barlow Semi Condensed 600, 15px */
.footer__block p.h6 {
  font-family: var(--ob-font-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  font-size: var(--ob-text-base) !important;   /* 15 */
}

/* Footer odkazy ve sloupcích (Contact Us, FAQs, The Brand…) → 14px */
.footer__block--links a {
  font-size: 14px !important;
}

@media screen and (min-width: 700px) {
  .footer__block--newsletter {
    flex-basis: 20% !important;
    max-width: 20% !important;
  }

  .footer__block--links + .footer__block--links {
    margin-left: -1.5rem;
  }
}

@media screen and (min-width: 1150px) {
  .footer__block--links + .footer__block--links {
    margin-left: -2rem;
  }
}

@media screen and (min-width: 1400px) {
  .footer__block--links + .footer__block--links {
    margin-left: -2.5rem;
  }
}

/* ============================================================
   PRIVACY / COOKIE BANNER (theme section — currently disabled)
   ============================================================ */
.shopify-section--privacy-banner privacy-banner {
  background: #0a0a0a !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  padding: 1.5rem !important;
}

.shopify-section--privacy-banner privacy-banner .h6 {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h6) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.shopify-section--privacy-banner privacy-banner .prose {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  color: rgba(255,255,255,0.65) !important;
}

.shopify-section--privacy-banner privacy-banner button[data-action="accept"] {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-base) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

.shopify-section--privacy-banner privacy-banner button[data-action="decline"] {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-base) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
}

.shopify-section--privacy-banner privacy-banner .pop-in__close-button {
  color: rgba(255,255,255,0.5) !important;
}

/* ============================================================
   SHOPIFY CUSTOMER PRIVACY BANNER (shopify-pc — platform injected)
   ============================================================ */

/* — Banner container — */
#shopify-pc__banner {
  background: #0a0a0a !important;
  border-top: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 0 !important;
  font-family: var(--ob-font-body) !important;
}

#shopify-pc__banner__body-title {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h6) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.shopify-pc__banner__body p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  color: rgba(255,255,255,0.6) !important;
}

.shopify-pc__banner__body a {
  color: rgba(255,255,255,0.6) !important;
  text-underline-offset: 2px !important;
}

/* Banner + modal buttons — typografie a tvar; VIZUÁL (barvy/hover) řídí
   ob-ui.css v3 button systém (sekce „shopify-pc privacy banner mapping“) */
#shopify-pc__banner__btn-accept,
#shopify-pc__banner__btn-decline,
#shopify-pc__prefs__header-accept,
#shopify-pc__prefs__header-decline,
#shopify-pc__prefs__header-save {
  font-family: "Rift", sans-serif !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
  letter-spacing: 1.95px !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: .65rem 1.75rem !important;
  background-image: none !important;
  cursor: pointer !important;
}

/* Manage preferences — text link (no border) */
#shopify-pc__banner__btn-manage-prefs {
  font-family: var(--ob-font-body) !important;   /* G6-3/DEC-COOKIE: Rift → Barlow 13/400 natural */
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  text-transform: none !important;
  color: rgba(255,255,255,0.45) !important;
  background: transparent !important;
  border: none !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  transition: color 0.2s !important;
}

#shopify-pc__banner__btn-manage-prefs:hover {
  color: #ffffff !important;
}

/* — Preferences dialog — */
#shopify-pc__prefs__overlay {
  background: rgba(0,0,0,0.7) !important;
}

#shopify-pc__prefs__dialog {
  background: #0a0a0a !important;
  border-radius: 0 !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  font-family: var(--ob-font-body) !important;
  color: #ffffff !important;
}

#shopify-pc__prefs__header-title {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h6) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

#shopify-pc__prefs__header-close {
  opacity: 0.5 !important;
  transition: opacity 0.2s !important;
}

#shopify-pc__prefs__header-close:hover {
  opacity: 1 !important;
}

#shopify-pc__prefs__header-close svg path {
  fill: #ffffff !important;
}


.shopify-pc__prefs__intro-main h3 {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h6) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.shopify-pc__prefs__intro-main p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  color: rgba(255,255,255,0.55) !important;
}

.shopify-pc__prefs__option {
  border-color: rgba(255,255,255,0.1) !important;
}

.shopify-pc__prefs__option label {
  font-family: var(--ob-font-title) !important;   /* G6-4/DEC-COOKIE: Rift → Semi Cond 600 UPPER */
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.shopify-pc__prefs__option p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  color: rgba(255,255,255,0.55) !important;
}

/* ============================================================
   SIZE CHART DRAWER
   ============================================================ */

/* Header */
.size-chart-header {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.size-chart-header__eyebrow {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-xs) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  color: #888 !important;
  margin: 0 !important;
}
.size-chart-header__title {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
  color: #000 !important;
  line-height: var(--ob-leading-tight) !important;
  margin: 0 !important;
}

/* Tabs */
.size-chart__tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid #e0e0e0;
  margin-bottom: 28px;
}
.size-chart__tab {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  padding: 16px 0;
  font-family: var(--ob-font-title) !important;     /* T3-4: Rift → Barlow 600 */
  font-size: var(--ob-text-md) !important;          /* v3-FINAL: strukturální label 13 */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  color: #888;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}
.size-chart__tab[aria-pressed="true"] {
  border-bottom-color: #000;
  color: #000;
  font-weight: 700 !important;
}

/* Unit bar */
.size-chart__unit-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 16px;
}
.size-chart__unit-label {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  color: #888 !important;
  margin: 0 !important;
}
.size-chart__toggle {
  display: flex;
  border: 1px solid #000;
  flex-shrink: 0;
}
.size-chart__toggle button {
  background: none;
  border: none;
  padding: 6px 16px;
  font-family: var(--ob-font-body) !important;        /* Barlow eyebrow UI-label (owner; z Rift) */
  font-size: var(--ob-text-eyebrow) !important;       /* 13 (z 14) */
  font-weight: var(--ob-weight-medium) !important;    /* 500 (z 700) */
  letter-spacing: var(--ob-tracking-ui) !important;   /* 0.1em */
  text-transform: uppercase !important;
  color: #000;
  cursor: pointer;
  line-height: 1;
  transition: background 0.1s, color 0.1s;
}
.size-chart__toggle button[aria-pressed="true"] {
  background: #000;
  color: #fff;
}

/* Hide old CM/IN toggle baked into legacy page content */
.size-chart__tables .size-chart__toggle {
  display: none !important;
}

/* Tables from page content */
.size-chart__tables table {
  width: 100%;
  border-collapse: collapse;
  border: none !important;
}
.size-chart__tables tr,
.size-chart__tables th,
.size-chart__tables td {
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  background: transparent !important;
}
.size-chart__tables th {
  width: auto;
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;
  font-weight: var(--ob-weight-medium) !important;    /* 500 — UI-label (owner; z 700 bold) */
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
  color: #000 !important;
  text-align: left;
  padding: 0 0 10px;
  border-bottom: 2px solid #000;
}
.size-chart__tables th:not(:first-child) {
  text-align: center;
}
.size-chart__tables td {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  color: #1a1a1a !important;
  padding: 10px 0;
  border-bottom: 1px solid #ececec;
  text-align: center;
}
.size-chart__tables td:first-child {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: 700 !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-align: left;
}

/* Footer note */
.size-chart__note {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-xs);
  color: #888;
  margin-top: 20px;
  line-height: var(--ob-leading-loose);
}
.size-chart__note a {
  color: #1a1a1a;
  text-decoration: underline;
}

/* How to Measure — diagram */
.size-chart__diagram {
  background: #f4f4f4;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 24px;
}
.size-chart__diagram img {
  width: 100%;
  height: auto;
  display: block;
}

/* How to Measure — category label */
.size-chart__measure-label {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-xs);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  color: #888;
  margin: 0 0 4px;
}

/* Measurement points */
.size-chart__points {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: measurement;
  display: flex;
  flex-direction: column;
}
.size-chart__point {
  counter-increment: measurement;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 18px 0;
  border-top: 1px solid #ececec;
}
.size-chart__point::before {
  content: "0" counter(measurement);
  font-family: var(--ob-font-display);
  font-size: var(--ob-text-h6);
  font-weight: 700;
  letter-spacing: var(--ob-tracking-display);
  color: #5c5c5c;
  min-width: 28px;
  line-height: var(--ob-leading-tight);
  flex-shrink: 0;
}
.size-chart__point-text strong {
  display: block;
  font-family: var(--ob-font-display);
  font-size: var(--ob-text-h6);
  font-weight: 700;
  letter-spacing: var(--ob-tracking-display);
  text-transform: uppercase;
  color: #000;
  margin-bottom: 4px;
  line-height: var(--ob-leading-tight);
}
.size-chart__point-text p {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-sm);
  color: #666;
  line-height: var(--ob-leading-loose);
  margin: 0;
}

/* Tip box */
.size-chart__tip {
  background: #1a1a1a;
  padding: 20px 24px;
  margin-top: 24px;
  border-radius: 2px;
}
.size-chart__tip-label {
  display: block;
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-xs);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  margin-bottom: 8px;
}
.size-chart__tip p {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-sm);
  line-height: var(--ob-leading-loose);
  color: #fff;
  margin: 0;
}

/* === Color swatch border for visibility (esp. white on white) === */
.color-swatch {
  border-color: rgba(0, 0, 0, 0.18) !important;
}
:checked + .color-swatch,
.color-swatch.is-selected {
  border-color: currentColor !important;
}

/* === Match homepage subheadings to Chapter I "VYDÁNO" tracking/styling === */
.shopify-section--slideshow p.h6,
.shopify-section--image-with-text-overlay p.h6 {
  font-family: "Barlow", sans-serif !important;
  font-size: var(--ob-text-eyebrow) !important; /* sjednocení eyebrows (přebíjí px z editoru) */
  font-weight: 500 !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  opacity: 0.7; /* tlumená šedá na tmavém pozadí — dle vzoru */
}

/* === Sjednocení eyebrows/kickerů v OB sekcích a newsletteru (governance 04/1:
       hodnoty řídí custom-theme, sekce si nechávají jen fallbacky) === */
.ob-man-kick,
.ob-ath-kick,
.ob-ath-tag,
.fnl-eyebrow {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: 500 !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

/* === OB sekce: body texty na base/1.6 (sjednocení čitelnosti) === */
.ob-man-points div,
.ob-man-sub,
.ob-rev-txt {
  font-size: var(--ob-text-base) !important;
  line-height: var(--ob-leading-normal) !important;
}

/* === Hide Shopify "More payment options" link below Shop Pay === */
.shopify-payment-button__more-options {
  display: none !important;
}

/* === Announcement bar: nudge font size +1px === */
.announcement-bar p,
.announcement-bar .prose.heading {
  font-size: calc(var(--ob-text-xs) + 2px) !important;
  font-family: var(--ob-font-body) !important;       /* announce = eyebrow/UI chrome (Barlow), NE Tier-2 titul */
  font-weight: var(--ob-weight-medium) !important;   /* 500 (z 600) — dle v3: eyebrow/label = 500, ne 600/Tier-2 */
}

/* === Hide market/language switcher on tablet & mobile === */
@media screen and (max-width: 999px) {
  .announcement-bar__localization { display: none !important; }
}

/* === Footer aside (legal řádek): JEDINÝ zdroj velikosti — jednotných 15 px.
       (Konsolidace 06/2026: nahrazuje Custom CSS z editoru, 12px blok ve
       footer.liquid a 15px pravidlo v ob-ui.css.) === */
.footer__aside,
.footer__aside .text-xxs,
.footer__aside p,
.footer__aside a,
.footer__aside button,
.footer__aside button span,
.footer__aside-left p,
.footer__bottom-links a,
.footer__aside .localization-toggle,
.footer__aside .localization-toggle span,
.footer__aside-right .localization-selectors button,
.footer__aside-right .localization-selectors,
.footer__aside .localization-selectors * {
  font-size: var(--ob-text-sm) !important;   /* 12 (z 15 — dolní pruh legal/copyright byl moc velký) */
  line-height: 1.4 !important;
  letter-spacing: var(--ob-tracking-ui) !important;
}

/* M4-3 + footer-check: localization switcher VŠUDE (footer + announce bar + header) = UI control → Barlow.
   Toggle má .heading (→ Rift); announce {% style %} nastavuje jen velikost (ne rodinu), takže globální
   override rodiny zabere i tam. */
.localization-toggle,
.localization-toggle span,
.footer__aside-right .localization-selectors button,
.footer__aside .localization-selectors * {
  font-family: var(--ob-font-title) !important;   /* announce + header localization → Barlow Semi Condensed */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}
.footer__aside .localization-toggle,
.footer__aside .localization-toggle span {
  font-size: var(--ob-text-xs) !important;   /* 11 — footer switcher; announce bar si drží svoji velikost */
}
/* Popover options = rozbalený seznam zemí/jazyků ('vyrollovaný' selector) → Barlow scanned list (dřív Rift) */
.popover__value-option,
.popover__value-option span {
  font-family: var(--ob-font-title) !important;   /* sjednoceno se @1083 → Semi Condensed */
  font-size: var(--ob-text-md) !important;   /* 13 */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: none !important;
}

/* === Newsletter floating-label readability (lower tracking, normal case, brighter) === */
.footer__block--newsletter .floating-label,
[class*="footer-newsletter-"] .floating-label,
.floating-label {
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}
/* canon v1 (med): bílá JEN na tmavém footer newsletteru — bare .floating-label
   už nesmí bělit světlé formuláře (kontakt/účet bylo bílé na bílém) */
.footer__block--newsletter .floating-label,
[class*="footer-newsletter-"] .floating-label {
  color: rgba(255, 255, 255, 0.92) !important;
}

/* Also brighten the input field placeholder + value */
.footer__block--newsletter .input,
.footer__block--newsletter input[type="email"],
[class*="footer-newsletter-"] input[type="email"] {
  color: rgba(255, 255, 255, 0.95) !important;
}
.footer__block--newsletter .input::placeholder,
[class*="footer-newsletter-"] input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}

/* === Prevent horizontal overflow on all pages (use clip — preserves sticky positioning) === */
html, body {
  overflow-x: clip !important;
  max-width: 100vw !important;
}

/* === Custom product badge (LIMITED, etc.) on product card === */
.product-card__figure { position: relative; }
.product-card__custom-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  padding: 6px 10px;
  font-family: var(--ob-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: 0;
  pointer-events: none;
}
@media screen and (max-width: 699px) {
  .product-card__custom-badge {
    top: 8px;
    right: 8px;
    padding: 5px 8px;
    font-size: 10px;
  }
}

/* === Variant value buttons — size to content, never shrink, wrap if overflow === */
.block-swatch {
  white-space: nowrap !important;
  padding: 0.625rem 1rem !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  width: auto !important;
}

/* M4-1: PDP size buttons — explicitní Barlow 500 ui (rodina/váha/tracking; velikost níž normalizována na canon) */
.variant-picker__option-values .block-swatch {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  font-size: var(--ob-text-sm) !important;           /* 12 — normalizace na .size-filter-option__label (z zděděných ~15); responsivní MQ níž drží geometrii */
}

/* Container allows buttons to wrap if total width exceeds parent */
.variant-picker__option-values.h-stack {
  flex-wrap: wrap !important;
  gap: 0.5rem !important;
}

/* Tablet */
@media (max-width: 999px) {
  .block-swatch {
    font-size: 0.8125rem !important;
    padding: 0.55rem 0.875rem !important;
    min-width: 5rem !important;
  }
}

/* Mobile */
@media (max-width: 699px) {
  .block-swatch {
    font-size: 0.75rem !important;
    padding: 0.5rem 0.75rem !important;
    min-width: 4.5rem !important;
  }
}

/* Very narrow (≤379px) — let buttons shrink to content if needed */
@media (max-width: 379px) {
  .block-swatch {
    font-size: 0.7rem !important;
    padding: 0.45rem 0.55rem !important;
    min-width: 0 !important;
  }
  .variant-picker__option-values.h-stack {
    gap: 0.375rem !important;
  }
}

/* ============================================================
   PREDICTIVE SEARCH DROPDOWN — white scheme
   ============================================================ */
predictive-search,
.predictive-search,
.predictive-search__content,
.predictive-search__results,
.predictive-search__resource-item {
  background-color: #ffffff !important;
}

.predictive-search__content,
.predictive-search__content p,
.predictive-search__content span,
.predictive-search__content a,
.predictive-search__content button,
.predictive-search__category,
.predictive-search__suggestions a,
.predictive-search .h6,
.predictive-search .one-bout-title,
.predictive-search .one-bout-title__text,
.predictive-search .product-title,
.predictive-search button[role="tab"] {
  color: #000000 !important;
}

.predictive-search .product-size-preview,
.predictive-search__category.text-subdued,
.predictive-search__content .text-subdued,
.predictive-search__content .text-subdued *,
.predictive-search sale-price,
.predictive-search compare-at-price,
.predictive-search .price-list,
.predictive-search .price-list * {
  color: #5c5c5c !important;
}

.predictive-search__content mark {
  background: transparent !important;
  color: #000000 !important;
  font-weight: 700 !important;
}

.predictive-search__content button[role="tab"][aria-selected="true"] {
  color: #000000 !important;
  border-bottom: 2px solid #000 !important;
}

.predictive-search__content button[role="tab"][aria-selected="false"] {
  color: rgba(0, 0, 0, 0.45) !important;
}

.predictive-search__content .button {
  background-color: #000000 !important;
  color: #ffffff !important;
  border-color: #000000 !important;
}
.predictive-search__content .button:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

/* ============================================================
   VARIANT PICKER — keep all sizes on ONE row at all viewports
   ============================================================ */
.variant-picker__option-values.h-stack {
  flex-wrap: nowrap !important;
  gap: 0.5rem !important;
}

.variant-picker__option-values:has(.block-swatch) .block-swatch,
.variant-picker__option-values.h-stack .block-swatch {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

@media (max-width: 1276px) {
  .variant-picker__option-values.h-stack .block-swatch {
    padding: 0.5rem 0.4rem !important;
    font-size: 0.7rem !important;
    min-width: 0 !important;
    letter-spacing: 0.04em !important;
  }
  .variant-picker__option-values.h-stack {
    gap: 0.35rem !important;
  }
}

@media (max-width: 480px) {
  .variant-picker__option-values.h-stack .block-swatch {
    padding: 0.45rem 0.25rem !important;
    font-size: 0.65rem !important;
  }
  .variant-picker__option-values.h-stack {
    gap: 0.25rem !important;
  }
}

/* ============================================================
   HEADER SEARCH — black top bar full-width, white results full-width
   Approach: leave header-search top strip black (default), strip the
   inherited dark bg from the results area, and make predictive-search
   break out of .container to reach viewport edges as a white panel.
   ============================================================ */

/* header-search wrapper itself: black so the input bar reaches edges */
header-search {
  background-color: #000000 !important;
}
header-search::part(base) {
  background-color: #000000 !important;
}
header-search::part(content) {
  background-color: transparent !important;
}
header-search::part(overlay) {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

/* .container stays at its native centered max-width — DO NOT full-bleed it */
header-search > .container {
  background-color: transparent !important;
}

/* Search INPUT bar — keep theme layout, just enforce black bg + white text */
header-search .header-search__form,
header-search .header-search__form-control {
  background-color: transparent !important;
  color: #ffffff !important;
}
header-search .header-search__input {
  background-color: transparent !important;
  color: #ffffff !important;
  border-color: transparent !important;
  font-family: var(--ob-font-body) !important; /* LOW-04: dřív Rift caps (h5/h4) v input poli — Barlow čitelný */
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  font-size: var(--ob-text-lg) !important; /* 16 — dřív h5/h4 = 22/27px (feedback: moc velké) */
  text-transform: none !important;
}
header-search .header-search__input::placeholder {
  color: rgba(255, 255, 255, 0.55) !important;
}
header-search .header-search__form-control .icon-search,
header-search .header-search__form-control .icon-close,
header-search dialog-close-button button {
  color: #ffffff !important;
}

/* RESULTS panel: full-bleed white, but collapses to 0 when empty
   (padding lives on inner content so empty predictive-search has no visible height) */
header-search predictive-search {
  display: block !important;
  background-color: #ffffff !important;
  width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  padding: 0 !important;
}
header-search .predictive-search__content {
  background-color: #ffffff !important;
  max-width: var(--container-max-width, 1400px);
  margin-inline: auto;
  padding: 0 1.5rem 2rem !important;
}
/* Collapse predictive-search wrapper to 0 when no results yet */
header-search predictive-search:not(:has(.predictive-search__results)):not(:has(.predictive-search__suggestions)) {
  display: none !important;
}

/* Hide COLLECTIONS tab + panel — keep only PRODUCTS */
header-search .predictive-search__tabs button[role="tab"][aria-controls$="-1"],
header-search .predictive-search__tabs [role="tabpanel"][aria-labelledby$="-1"],
header-search .predictive-search__tabs [role="tabpanel"]:has(.predictive-search__collections) {
  display: none !important;
}

/* Remove the line under tabs — x-tabs renders it via shadow part */
x-tabs.predictive-search__tabs::part(tab-list-scrollable),
x-tabs.predictive-search__tabs::part(tab-list),
x-tabs::part(tab-list-scrollable),
x-tabs::part(tab-list),
.predictive-search__tabs,
.predictive-search__tabs::before,
.predictive-search__tabs::after,
.predictive-search__tabs > [role="tablist"],
.predictive-search__tabs slot[name="title"] {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* VIEW ALL RESULTS button — kill hover transform + keep black border */
predictive-search button.button[form="predictive-search-form"],
.predictive-search button.button[form="predictive-search-form"] {
  background-color: #000000 !important;
  color: #ffffff !important;
  border: 1px solid #000000 !important;
  transform: none !important;
  box-shadow: none !important;
}
predictive-search button.button[form="predictive-search-form"]:hover,
.predictive-search button.button[form="predictive-search-form"]:hover {
  background-color: #ffffff !important;
  color: #000000 !important;
  border: 1px solid #000000 !important;
  transform: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* ============================================================
   JEDINÝ ZDROJ PRAVDY — typografie sekcí (konsolidace 06/2026)
   Liquidy ani theme editor už fonty NEřídí (governance pravidla
   2–4). Hodnoty níže = přesně stav před konsolidací.
   ============================================================ */

/* — hero (slideshow): pin proti inline stylům z editoru — */
.shopify-section--slideshow h1.h1,
.shopify-section--slideshow .h1 {
  font-family: var(--ob-font-display) !important;
  font-size: 3.5rem !important;   /* 56px — dnešní hodnota z editoru */
  font-weight: 700 !important;
}
.shopify-section--slideshow .slideshow__slide-text {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important; /* 14 — owner (z lg 16) */
  font-weight: 400 !important;
}

/* — statement overlaye: pin proti inline stylům z editoru — */
.shopify-section--image-with-text-overlay .prose .h4 {
  font-family: var(--ob-font-display) !important;
  font-size: 1.75rem !important;  /* 28px — dnešní hodnota z editoru */
  font-weight: 700 !important;
}
.shopify-section--image-with-text-overlay .prose > div {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: 400 !important;
}

/* — footer newsletter (dřív dynamické fnl-* ze settings bloku) — */
.footer__block--newsletter .fnl-heading {
  font-family: var(--ob-font-title) !important;   /* sladěno s nadpisy sloupců — Semi Cond 600 15px (z Rift 24px) */
  font-size: var(--ob-text-base) !important;       /* 15 */
  font-weight: var(--ob-weight-semibold) !important;
  line-height: var(--ob-leading-snug) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}
.footer__block--newsletter .prose,
.footer__block--newsletter .prose p {
  font-family: var(--ob-font-body);
  font-weight: var(--ob-weight-regular);
  font-size: 14px;   /* sladěno s odkazy sloupců (z 15) */
  line-height: var(--ob-leading-normal);
  letter-spacing: var(--ob-tracking-body);
}
.footer__block--newsletter .input,
.footer__block--newsletter .floating-label,
.footer__block--newsletter .input::placeholder {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;   /* 13 — eyebrow (z 11) */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}
.footer__block--newsletter .fnl-disclaimer {
  font-family: var(--ob-font-body);
  font-size: 11px;
  line-height: 1.5;
}

/* — OB sekce (dřív {% stylesheet %} v liquidech) — */
.ob-man-head {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h1) !important; /* canon v1: tier-1 kotva 32→56 (dřív h2 26→44) */
  font-weight: 700 !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
}
.ob-man-points b {
  font-family: var(--ob-font-display) !important;       /* Rift — .ob-man-word dědí odsud */
  font-size: var(--ob-text-lg) !important;              /* 16 */
  font-weight: var(--ob-weight-bold) !important;        /* 700 */
  letter-spacing: var(--ob-tracking-ui) !important;     /* 0.1 wide (shodné se sourozenci editorial labelů) */
  text-transform: uppercase !important;
}
.ob-man-btn,
.ob-ig-follow,
.shopify-section--featured-collections .featured-collections-header__link--below {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-md) !important; /* 13 */
  font-weight: 600 !important;
  letter-spacing: var(--ob-tracking-btn) !important; /* canon v1: 0.14em → 0.15em token */
  text-transform: uppercase !important;
}
.ob-t-head {
  font-family: var(--ob-font-display) !important;       /* Rift — editorial label */
  font-size: 15px !important;                           /* off-system (mezi 14/16) — ponecháno hardcoded, žádný lossless token */
  font-weight: var(--ob-weight-bold) !important;        /* 700 */
  letter-spacing: var(--ob-tracking-ui) !important;     /* 0.1 wide */
  text-transform: uppercase !important;
}
@media (min-width: 750px) and (max-width: 999px) {
  /* tablet: zmenšený titulek, aby se 4 benefity vešly inline na jeden řádek */
  .ob-t-head {
    font-size: 12px !important;
    letter-spacing: 0.06em !important;
  }
}
@media (max-width: 749px) {
  .ob-t-head {
    font-size: 10.5px !important;                       /* off-system breakpoint — ponecháno */
    letter-spacing: var(--ob-tracking-display-sm) !important; /* 0.05 */
    line-height: var(--ob-leading-snug) !important;     /* 1.25 */
  }
}
.ob-t-sub {
  font-family: var(--ob-font-body) !important;
  font-size: 13.5px !important;
}
.ob-rev-head {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important; /* canon v1: na token (dřív hardcoded 35px + mobil 26px) */
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
.ob-rev-stars {
  font-size: 15px !important;
  letter-spacing: 3px !important;
}
.ob-rev-agg-stars {
  font-size: 16px !important;
  letter-spacing: 2px !important;
}
.ob-rev-agg-num {
  font-family: var(--ob-font-display) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums; /* HP-08: hero rating digit zarovnán (zůstává Rift dle DEC-RIFT-METRIC) */
}
.ob-rev-agg-count {
  font-family: var(--ob-font-body) !important;
  font-size: 13.5px !important;
}
.ob-rev-who {
  font-family: var(--ob-font-display) !important;       /* Rift — editorial label (jméno recenzenta) */
  font-size: var(--ob-text-md) !important;              /* 13 — na systém (z 13.5px; decentní attribution, nepřebíjí text recenze) */
  font-weight: var(--ob-weight-bold) !important;        /* 700 */
  line-height: var(--ob-leading-snug) !important;       /* 1.25 — soulad s editorial-label kánonem (.ob-ath-who) */
  letter-spacing: var(--ob-tracking-ui) !important;     /* 0.1 wide — drží vlastní, NEpřidávat do small-Rift bloku */
  text-transform: uppercase !important;                 /* POVINNÉ — Rift nemá lowercase (anti-TOFU) */
}
.ob-rev-who span {
  font-family: var(--ob-font-body) !important;          /* Barlow — "verified purchase" tag */
  font-weight: var(--ob-weight-regular) !important;     /* 400 */
  letter-spacing: 0 !important;                         /* ponecháno 0 — token-body je 0.01em, změnil by vizál */
  text-transform: none !important;
}
.ob-ath-who {
  font-family: var(--ob-font-display) !important;       /* Rift — editorial label */
  font-size: var(--ob-text-xl) !important;              /* 18 */
  font-weight: var(--ob-weight-bold) !important;        /* 700 */
  line-height: var(--ob-leading-snug) !important;       /* 1.25 */
  text-transform: uppercase !important;
}
.ob-ath-tag {
  font-size: 11px !important; /* eyebrow na kartě menší než sekční kickery — dle product cards */
}
.ob-ig-handle {
  font-family: var(--ob-font-display) !important;
  font-size: 1.25rem !important; /* 20 */
  font-weight: 700 !important;
  letter-spacing: 0.06em !important; /* canon v1: jemný nudge z 0.04em (outlier) */
  text-transform: uppercase !important;
}
.ob-ig-sub {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-md) !important; /* 13 */
}

/* ============================================================
   3px černé dělicí linky kolem image-with-text-overlay bloku
   u sekce The Athletes (homepage). Záměrně širší než globální
   2px dělicí linka sekce (viz image-with-text-overlay.liquid).
   Linky: Athletes ↔ overlay GJibfx a overlay GJibfx ↔ jxRMFp.
   ============================================================ */
[id$="__image_with_text_overlay_GJibfx"],
[id$="__image_with_text_overlay_jxRMFp"] {
  border-top: 3px solid #000 !important;
}

/* ============================================================
   ONE BOUT — product card hover: zoom-in + image swap
   Same feel as the Athletes cards (a smooth zoom on hover). The
   secondary (back) image covers INSTANTLY (binary opacity = zero
   ghosting, never a dip to white/black) and the whole image zooms in
   like the Athletes. No rack-focus blur. Reduced-motion drops the zoom.
   ============================================================ */
/* clip the zoom inside the card frame so the card keeps its size.
   position:relative makes the media the containing block for the absolutely
   positioned secondary image too, so overflow:hidden clips BOTH images. */
.product-card__media { position: relative; overflow: hidden; }
@media screen and (pointer: fine) {
  /* primary stays a fully-opaque backdrop under the secondary */
  .product-card__figure:has(.product-card__image--secondary):hover > .product-card__media .product-card__image--primary {
    opacity: 1;
  }
  /* secondary: instant binary swap (no blend tricks, no ghost) */
  .product-card__image--secondary {
    opacity: 0;
    mix-blend-mode: normal;
  }
  .product-card__figure:has(.product-card__image--secondary):hover > .product-card__media .product-card__image--secondary {
    opacity: 1;
  }
  /* zoom-in on hover — both images scale together, same as Athletes */
  .product-card__image {
    transition: transform .55s ease;
    will-change: transform;
  }
  .product-card:hover .product-card__image {
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .product-card:hover .product-card__image { transform: none !important; }
}

/* ============================================================
   ONE BOUT — homepage scene cut: Athletes catches up to Philosophy
   Desktop only (>=990px). Philosophy scrolls up at the NATURAL speed
   (1×, with the carousel above it — it never stops, never lags). The
   Athletes section is the fast one: JS gives it a static negative
   margin-top (= Philosophy's height, so no bottom gap / the page just
   collapses the covered section) and an animated translateY that starts
   it at its natural spot below Philosophy, then pulls it up faster than
   the scroll until it overtakes and covers Philosophy near the end.
   Mobile keeps normal flow (clean white->black cut as the fallback).
   ============================================================ */
@media (min-width: 990px) {
  .shopify-section:has(> .ob-manifesto) {
    position: relative;
    z-index: 0;
  }
  .shopify-section:has(> .ob-manifesto) ~ .shopify-section {
    position: relative;
    z-index: 1;
  }
  /* Gap between Philosophy and Athletes (runway the cover plays out over).
     Sized so the CTA reaches ~2/3 up the viewport before Athletes cover it.
     Desktop only. */
  .shopify-section:has(> .ob-manifesto) + .shopify-section {
    margin-top: 410px;
  }
}

/* ============================================================
   ONE BOUT — image-with-text-overlay: subtle background parallax
   The background image drifts slower than the overlay text as the band
   scrolls through (depth). The image is scaled a little so the drift
   never reveals an edge, and the band clips it. Scroll-driven; under
   reduced-motion it stays static.
   ============================================================ */
/* The band clips the scaled/drifting image; a small rAF handler in
   sections/image-with-text-overlay.liquid sets the transform (scroll-driven
   CSS view() timelines proved unreliable here). */
image-with-text-overlay { overflow: hidden; }
image-with-text-overlay > picture > img { will-change: transform; }

/* ============================================================
   ONE BOUT — page transitions (native cross-document View Transitions).
   Sequential FADE OUT -> FADE IN through black (a cinematic "dip to
   black"), NOT a crossfade/dissolve: the outgoing page fades out to
   black, then the incoming page fades in from black. The two phases run
   back-to-back (new is delayed until old has finished), so the pages
   never overlap. The ::view-transition layer gets a solid black backdrop
   so the new page can't show through while the old one fades — without
   it the see-through would re-create a crossfade. Smooth, cinematic dip —
   slow enough to read as a fade, not a harsh blink (~.24s per phase).
   Progressive enhancement: unsupported browsers navigate normally.
   Reduced-motion: instant (no fade).
   ============================================================ */
@view-transition { navigation: auto; }

@media (prefers-reduced-motion: no-preference) {
  /* the colour we dip through — painted behind both page snapshots */
  ::view-transition { background-color: #000; }

  ::view-transition-old(root) {
    animation: ob-page-fade-out .24s ease both;
  }
  ::view-transition-new(root) {
    /* wait for the old page to fully fade out, then fade in from black */
    animation: ob-page-fade-in .24s ease .24s both;
  }
}

@keyframes ob-page-fade-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes ob-page-fade-in  { from { opacity: 0; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}

/* ============================================================
   ONE BOUT — TYPOGRAPHY CANON v1 — PROPAGATION (low-risk tier)
   Sjednocuje zbytek webu s homepage kánonem. Jen --ob tokeny.
   Žádná fragile zóna (buttony/.ob-ath-*/cart Total/cookie netknuté).
   ============================================================ */

/* — Univerzální eyebrow: p.h6 section-subheading → Barlow eyebrow —
   Root cause: globální h1-h6 dělá z těchto eyebrow Rift heady. Sem patří
   všechny SVĚTLÉ povrchy (BEZ opacity 0.7 — to je jen pro tmavý hero/overlay
   na ř. 1551). Nové p.h6 eyebrow sekce přidávej do tohoto seznamu. */
.shopify-section--related-products p.h6,
.shopify-section--recently-viewed-products p.h6,
.shopify-section--newsletter p.h6,
.shopify-section--blog-posts .section-header p.h6,
.shopify-section--prev-next-blog-posts .section-header p.h6,
.shopify-section--shop-the-look .section-header p.h6,
.shopify-section--before-after .section-header p.h6,
.shopify-section--media-grid .section-header p.h6,
.shopify-section--multiple-media-with-text .prose p.h6,
.shopify-section--images-with-text-scroll .prose p.h6,
.shopify-section--image-with-text .prose p.h6,
.shopify-section--image-with-text-block .prose p.h6,
.shopify-section--timeline .prose p.h6,
.shopify-section--countdown .countdown__content p.h6,
.shopify-section--countdown-condensed .prose p.h6,
.blog-post-card__meta .h6,
.shopify-section--main-article .h6,
.shopify-section--rich-text p.h6,
.shopify-section--featured-collections p.h6,
.section-header .prose > p.h6 {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}
/* FAQ section-header eyebrow ("Need help?") → globální eyebrow setting + tlumená šedá.
   Univerzální rule (.section-header .prose > p.h6) tady na font prohrávala, proto
   explicitní FAQ-scoped (0,4,1) s plnými eyebrow tokeny — garantovaně vyhraje. */
.shopify-section--faq .section-header .prose > p.h6 {
  font-family: var(--ob-font-body) !important;        /* Barlow — global eyebrow */
  font-size: var(--ob-text-eyebrow) !important;       /* 13 */
  font-weight: var(--ob-weight-medium) !important;    /* 500 */
  letter-spacing: var(--ob-tracking-eyebrow) !important; /* 0.1em */
  line-height: 1 !important;
  text-transform: uppercase !important;
  color: #888 !important;                             /* tlumená šedá */
}

/* Countdown: popisky jednotek = eyebrow; číslice zůstávají Rift display + tabular */
.shopify-section--countdown .countdown__timer-unit {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}
.shopify-section--countdown .countdown__timer-flip { font-variant-numeric: tabular-nums; }

/* — Účet/objednávka: oprava úniku TŘETÍHO fontu (Saira Condensed) —
   Bare <th> dědí Prestige --heading-font-family. Systém má jen Rift + Barlow. */
.shopify-section--main-customers-account th,
.shopify-section--main-customers-order th,
.shopify-section--main-customers-addresses th,
.shopify-section--main-customers-account .customer-account-category,
.shopify-section--main-customers-order .customer-account-category,
.shopify-section--main-customers-addresses .customer-account-category,
.shopify-section--main-cart .order-summary__header th {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

/* — LOW-07: account/order/addresses nav-link (.text-with-icon.h6) → Barlow nav natural (dřív Rift leak z base h1-h6) — */
.shopify-section--main-customers-account .text-with-icon.h6,
.shopify-section--main-customers-order .text-with-icon.h6,
.shopify-section--main-customers-addresses .text-with-icon.h6 {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-nav) !important;
  text-transform: none !important;
}

/* — LOW-15: gift-card expiry microcopy (p.heading.text-subdued) → Barlow meta (dřív Rift přes .heading) — */
.shopify-section--main-gift-card p.heading.text-subdued {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  text-transform: none !important;
}

/* — PDP: variant legend / SIZE: / COLOR: = UI label (dřív holý Barlow body) — */
.variant-picker__option-info legend,
.variant-picker__option-info .js-color-name,
.variant-picker__option .js-color-name,
.variant-picker__option > .h-stack .text-subdued,
.product_variations .text-subdued {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

/* — PDP: "SIZE CHART" trigger = UI label/eyebrow (sourozenec "SIZE:" legend výše).
   Dřív padal na holý Barlow body 400/14px/0.05em/natural-case přes base .link
   (theme.css:2620) → jako jediný v řádku chyběl eyebrow pin. Zrcadlí legend pin.
   Scopováno přes [aria-controls^="size-chart-"] (NE holé button.link), aby se
   NIKDY netrefil button.link uvnitř size-chart draweru — modal je potomek
   .variant-picker__option-info a {{ size_chart_page.content }} je author HTML.
   !important nutný kvůli theme.css:69 button,select{text-transform:none}.
   NENÍ Rift ani Saira-leak — jen chybějící pin. — */
.variant-picker__option-info button.link[aria-controls^="size-chart-"] {
  font-family: var(--ob-font-body) !important;           /* Barlow (pin = robustnost) */
  font-size: var(--ob-text-eyebrow) !important;          /* 13px (z 14px) */
  font-weight: var(--ob-weight-medium) !important;       /* 500 (z 400) */
  letter-spacing: var(--ob-tracking-eyebrow) !important; /* 0.1em (z 0.05em) */
  text-transform: uppercase !important;                  /* UPPER — parita se "SIZE:" */
}
/* Underline = jediná povolená odlišnost od eyebrow konvence (klikací affordance,
   odlišuje od statického "SIZE:"). Base .link gradient-underline ZŮSTÁVÁ.
   Pokud owner chce striktní paritu bez podtržení, odkomentovat: */
/* .variant-picker__option-info button.link[aria-controls^="size-chart-"] { background: none !important; } */

/* — PDP titul → h3 token (rozhodnutí #4). Scopováno na .product-info,
   aby se nepropsalo na .product-title v horizontálních kartách. — */
.product-info .product-title {
  font-size: var(--ob-text-h3) !important; /* 20→35 (dřív hardcoded 26px) */
}

/* ============================================================
   ONE BOUT — TYPOGRAPHY CANON v1 — PROPAGATION (med-risk tier)
   ============================================================ */

/* — Horizontal product card titul (cart drawer upsell, complementary, predictive
   search) → component title 17/700; dřív padal na base .product-title 26px leak. — */
.horizontal-product-card .product-title {
  font-family: var(--ob-font-title) !important;     /* finál C: zrcadlí kartu — Barlow 600 14/natural */
  font-size: var(--ob-text-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-title) !important;
  line-height: var(--ob-leading-snug) !important;
  text-transform: none !important;
}

/* — Cart PAGE line-item: zrcadlí cart drawer (page byl nepinnutý → Barlow body).
   Sdílený snippet line-item.liquid, scopováno na .shopify-section--main-cart. — */
.shopify-section--main-cart .line-item-info a {
  font-family: var(--ob-font-title) !important;   /* finál C: zrcadlí kartu — Barlow 600 14/natural (lockstep s drawerem) */
  font-size: var(--ob-text-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-title) !important;
  text-transform: none !important;
  line-height: var(--ob-leading-snug) !important;
}
.shopify-section--main-cart .line-item-info a.link {
  font-family: var(--ob-font-body) !important;    /* remove link → Barlow md */
  font-size: var(--ob-text-md) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  text-transform: uppercase !important;
  line-height: var(--ob-leading-normal) !important;
}
.shopify-section--main-cart .smallcaps {
  font-family: var(--ob-font-body) !important;    /* variant label → xs/ui */
  font-size: var(--ob-text-xs) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
}

/* ============================================================
   ONE BOUT — CANON v1 — MALÝ RIFT TRACKING (≤~18px → +0.05em)
   Kondenzovaný Rift se v malém slepuje → povolit. Velký display
   (h1–h3) a buttony NETKNUTÉ. Pravidlo je poslední → přebíjí dřívější
   --ob-tracking-display na těchto selektorech. Krátké labely s vlastním
   0.1em (.ob-rev-who, .ob-man-points b, .ob-t-head) zůstávají.
   ============================================================ */
/* T3-1/T3-4: karty + size-chart taby vyřazeny (flipnuty na Barlow Semi Condensed, natural/ui tracking).
   .ob-ath-who NIKDY neodebírat (editorial). cart line-items zůstávají (group 6). */
/* M4-2: cart line-items vyřazeny (flipnuty na Semi Cond natural). .ob-ath-who NIKDY neodebírat. */
h6, .h6,
.ob-ath-who,
.size-chart__tables td:first-child {
  letter-spacing: var(--ob-tracking-display-sm) !important;
}

/* ============================================================
   ONE BOUT — CANON v1 — HIGH / GOVERNANCE tier (Step A)
   ============================================================ */

/* Free-shipping bar — typografie přesunuta z {% style %} v snippetu (governance ❌);
   dřív mířila na --text-font-family-uppercase → padala na Saira Condensed. → Barlow eyebrow. */
.ob-shipping-bar__label {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}
.ob-shipping-bar__label .ob-shipping-bar__value { font-weight: var(--ob-weight-bold) !important; }

/* Size-filter chips → 12px (finální rozhodnutí 14.6.; dřív raw 15px). Barlow 500, ui tracking. */
.size-filter-option,
.size-filter-option__label {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;     /* 12 (z 15) */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
}

/* Announcement bar message → display tracking (owner; z nav/ui 0.1em). */
.announcement-bar .prose.heading {
  letter-spacing: var(--ob-tracking-display) !important;  /* -0.01em — owner: display, ne ui/nav wide */
}
/* Localization toggle (country/lang) zůstává UI label = wide nav tracking. */
.announcement-bar__localization .localization-toggle {
  letter-spacing: var(--ob-tracking-nav) !important;
}

/* Gift-card produkt: galerie přesunuta z custom_css v product.gift-card.json (governance ❌),
   scopováno přes body třídu template-product--gift-card (přidána do theme.liquid). LAYOUT, ne typo. */
.template-product--gift-card .product-gallery__media { max-height: 600px; }
.template-product--gift-card .product-gallery__media img { object-fit: contain; max-height: 600px; }


/* ============================================================
   ONE BOUT — CANON v1 — tb-* STORY SECTIONS MIGRATION (Step B)
   Generováno týmem, verifikováno. Typografie přesunuta z liquidů.
   ============================================================ */

/* ============================================================
   ONE BOUT — TYPOGRAPHY CANON v1 — tb-chapter-hero.liquid
   ("Chapter Hero (The Brand)") — used on page.chapter-i-unlocked.
   Typografie migrována ze section {% style %} + {% schema %} sem.
   Dynamická třída sekce je .chapter-hero-{{ section.id }} → matchujeme
   atributem [class*="chapter-hero-"]. SIZES preserved 1:1 z live instance
   (tb_chapter_hero_7mwTd8): heading 56/72, subtitle 16/11, caption 14/11.
   EYEBROW/progress sjednoceny na canon eyebrow token (13px desktop /
   11px mobile) — viz globální eyebrow konvence. Rift weight capped 700
   (drop 900). Buttony NETKNUTÉ (ob-ui.css). opacity/layout zůstávají v liquid.
   ============================================================ */

/* — Heading: Rift hero display (56px) — */
[class*="chapter-hero-"] .ch-heading {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h1) !important; /* v3: display cap = 56 (z 60->84; sjednoceno s homepage Philosophy) */
  font-weight: var(--ob-weight-bold) !important;       /* 700 (drop 900) */
  line-height: 1 !important;                           /* =heading_lh 100, 1:1 */
  letter-spacing: var(--ob-tracking-display) !important; /* -0.01em */
  text-transform: uppercase !important;
}

/* — Eyebrow + progress labels: Barlow eyebrow token (13px) — */
[class*="chapter-hero-"] .ch-eyebrow,
[class*="chapter-hero-"] .ch-progress-label,
[class*="chapter-hero-"] .ch-progress-value {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;        /* 13px canon eyebrow */
  font-weight: var(--ob-weight-medium) !important;     /* 500 */
  letter-spacing: var(--ob-tracking-eyebrow) !important; /* 0.12em */
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* — Subtitle: Barlow uppercase sub-line (16px) — */
[class*="chapter-hero-"] .ch-subtitle {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-lg) !important;             /* 16px, =subtitle_size */
  font-weight: var(--ob-weight-regular) !important;    /* 400 */
  letter-spacing: 0.10em !important;                   /* =subtitle_spacing, 1:1 */
  line-height: var(--ob-leading-normal) !important;    /* 1.6 */
  text-transform: uppercase !important;
}

/* — Caption below progress bar: Barlow body meta (14px) — */
[class*="chapter-hero-"] .ch-caption {
  font-family: var(--ob-font-body) !important;
  font-size: 14px !important;                           /* =caption_size, 1:1 */
  font-weight: var(--ob-weight-regular) !important;    /* 400 */
  letter-spacing: var(--ob-tracking-body) !important;  /* 0.04em */
  line-height: var(--ob-leading-normal) !important;    /* 1.6 */
}

/* — Mobile (<=768px): preserve current shrink. Heading 72px;
     eyebrow/subtitle/progress/caption all collapse to 11px. — */
@media screen and (max-width: 768px) {
  [class*="chapter-hero-"] .ch-eyebrow,
  [class*="chapter-hero-"] .ch-subtitle,
  [class*="chapter-hero-"] .ch-progress-label,
  [class*="chapter-hero-"] .ch-progress-value,
  [class*="chapter-hero-"] .ch-caption {
    font-size: var(--ob-text-xs) !important;            /* 11px, =eyebrow_size_mobile */
  }
}

/* ============================================================
   TB-RSVP-FORM (The Brand — Chapter I RSVP)
   Typography migrated out of sections/tb-rsvp-form.liquid {% style %}
   + {% schema %} font settings. Sizes preserved 1:1. Canon v1:
   Rift heads = 700 / Barlow body+eyebrows / no 900.

   PRECONDITION: this section has NO schema "class" today, so
   .shopify-section--tb-rsvp-form does NOT render. You MUST add
   `"class": "shopify-section--tb-rsvp-form",` to the {% schema %}
   (after `"tag": "section",`) for these rules to take effect.
   The inner .rsvp-* classes are section.id-dynamic and cannot be
   pinned by class alone, so we scope via the (newly added) stable
   type wrapper.
   ============================================================ */

/* Eyebrow — Barlow, size preserved 11px (token would resize to 13px) */
.shopify-section--tb-rsvp-form .rsvp-eyebrow {
  font-family: var(--ob-font-body) !important;
  font-size: 11px !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

/* Heading — large display Rift, 900 capped to 700, size token unchanged */
.shopify-section--tb-rsvp-form .rsvp-heading {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;   /* v3: section head = 35 (z 56/h1) */
  font-weight: var(--ob-weight-bold) !important;
  line-height: 1.0 !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
}

/* Body copy — Barlow base, values identical to current */
.shopify-section--tb-rsvp-form .rsvp-body {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  line-height: var(--ob-leading-normal) !important;
  letter-spacing: var(--ob-tracking-body) !important;
}
.shopify-section--tb-rsvp-form .rsvp-body strong {
  font-weight: var(--ob-weight-bold) !important;
}

/* Consent checkbox label — Barlow base, leading preserved at 1.5 */
.shopify-section--tb-rsvp-form .rsvp-field--checkbox label {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  line-height: 1.5 !important;
  text-transform: none !important;
}

/* Form inputs — Barlow UI label, 12px == --ob-text-sm */
.shopify-section--tb-rsvp-form input[type="text"],
.shopify-section--tb-rsvp-form input[type="email"] {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;          /* 13 — eyebrow styling (pozn.: <16px = iOS focus-zoom, pre-existing) */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;                 /* eyebrow = UPPER i na typovaném textu */
}
.shopify-section--tb-rsvp-form input::placeholder {
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* Disclaimer / legal — Barlow, size preserved 11px, leading 1.5 */
.shopify-section--tb-rsvp-form .rsvp-disclaimer {
  font-family: var(--ob-font-body) !important;
  font-size: 11px !important;
  font-weight: var(--ob-weight-regular) !important;
  line-height: 1.5 !important;
  letter-spacing: var(--ob-tracking-body) !important;
}

/* ============================================================
   TB: PRODUCT STORY (sections/tb-product-story.liquid)
   Live on: page.chapter-i-unlocked  (instance tb_product_story_np7hRh)
   Type migrated out of section {% style %} + {% schema %} -> canon v1.
   Sizes preserved 1:1; family/weight/tracking/leading aligned to canon.
   ============================================================ */

/* Heading — large display Rift (var(--ob-text-h2) 26->44px). Rift capped 700 (was 800).
   line-height kept at literal 0.95 to preserve current multi-line layout. */
.tb-ps__heading {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;          /* v3: section head = 35 (z 44/h2) */
  font-weight: var(--ob-weight-bold) !important;
  line-height: var(--ob-leading-display) !important; /* v3: head = 1.0 */
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
}

/* Issued label — eyebrow. Napojeno na globální eyebrow token (--ob-text-eyebrow = 13px). */
.tb-ps__issued {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
}

/* Section label — eyebrow (empty in live instance, migrated for governance). 14px 1:1. */
.tb-ps__section-label {
  font-family: var(--ob-font-body) !important;
  font-size: 14px !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

/* Body — Barlow base / 400 / 1.6 / body tracking (values unchanged, relocated). */
.tb-ps__body {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  line-height: var(--ob-leading-normal) !important;
  letter-spacing: var(--ob-tracking-body) !important;
}

.tb-ps__body strong {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-bold) !important;
}

/* Image placeholder — meta label (hidden when image present). 12px kept 1:1. */
.tb-ps__image-placeholder {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-sm) !important;
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;
  text-transform: uppercase !important;
}

/* ============================================================
   TB COLOR DIVIDER (sections/tb-color-divider.liquid)
   Live instance: tb_color_divider_4r7aQc on page.chapter-i-unlocked
   Static class .cd-label (wrapper .color-divider-<section.id> is dynamic).
   Markup renders ONLY <p class="cd-label"> — no symbol/img element exists,
   so .cd-symbol gets NO pin here (its stylesheet rules are dead code).
   Typography only — layout/color/height stay in the section stylesheet.
   ============================================================ */
.cd-label {
  font-family: var(--ob-font-display) !important;   /* Rift (was section.settings.font="rift") */
  font-size: 17px !important;                        /* preserve 1:1 (font_size=17) */
  font-weight: var(--ob-weight-bold) !important;     /* 700 — Rift cap (was 600) */
  letter-spacing: var(--ob-tracking-display-sm) !important; /* 0.05em small-Rift (was 0em) */
  line-height: 1 !important;                          /* single-line divider, preserve */
  text-transform: uppercase !important;              /* was section.settings.text_transform */
}

@media screen and (max-width: 768px) {
  .cd-label {
    font-size: 13px !important;                       /* readable floor on 36px mobile band (was 10px) */
  }
}

/* ============================================================
   TB: Chapter Set  (sections/tb-chapter-set.liquid)
   Typography canon v1 — sizes preserved 1:1 from live instance
   (templates/page.chapter-i-unlocked.json).
   Layout / color stay in the section's <style> block.
   ============================================================ */

/* Eyebrow (kicker above heading) — Barlow eyebrow.
   Empty on the live instance (never renders there), so snapped to the
   canon eyebrow token (13px) for site-wide consistency; zero live-page impact. */
.tb-chapter-set .tb-chapter-set__eyebrow {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;     /* 13px — canon eyebrow token */
  font-weight: var(--ob-weight-medium) !important;  /* 500 */
  letter-spacing: var(--ob-tracking-eyebrow) !important; /* 0.12em (canon; was 0.2em) */
  line-height: 1 !important;                         /* preserved */
  text-transform: uppercase !important;
}

/* Heading — large display Rift. Weight capped at 700 (no 900). */
.tb-chapter-set .tb-chapter-set__heading {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;          /* v3: section head = 35 (z 44/h2) */
  font-weight: var(--ob-weight-bold) !important;    /* 700 (was 900 instance / 800 default) */
  line-height: var(--ob-leading-display) !important; /* 0.90 — canon default for single-line large Rift (was 0.95) */
  letter-spacing: var(--ob-tracking-display) !important; /* -0.01em (was 0em) */
  text-transform: uppercase !important;
}

/* Body — 3-column copy. Already canon; pinned here so no type lives in the section. */
.tb-chapter-set .tb-chapter-set__body {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;        /* 15px */
  font-weight: var(--ob-weight-regular) !important; /* 400 */
  line-height: var(--ob-leading-normal) !important; /* 1.6 */
  letter-spacing: var(--ob-tracking-body) !important; /* 0.04em */
}

/* ============================================================
   SECTION: tb-hero-banner.liquid  (Hero Banner — The Brand)
   Used on: page.about-us (instance tb_hero_banner_4nHfig)
   Typography migrated out of section <style> + {% schema %}.
   Sizes preserved 1:1. Targets static inner classes (the
   .hero-{{ section.id }} wrapper is dynamic; inner classes are stable & unique).
   NOTE: live page renders the LOGO IMAGE (h1.hero-logo-h1 > img),
   so .hero-logo-text is the dormant text path — pinned for governance.
   ============================================================ */

/* Logo text (dormant text-logo path) — large display Rift */
.hero-logo-text,
.hero-logo-text p {
  font-family: var(--ob-font-display) !important;
  font-weight: var(--ob-weight-bold) !important;        /* 700, was template 700 */
  font-size: 100px !important;                           /* preserve 1:1 */
  line-height: 1.25 !important;                          /* preserve 1:1 (multi-line) */
  letter-spacing: var(--ob-tracking-display) !important; /* -0.01em, large Rift */
  text-transform: uppercase !important;                  /* was section {{ logo_trans }} */
}
.hero-logo-text strong {
  font-weight: var(--ob-weight-bold) !important;         /* 700 — was 900 (cap) */
}

/* Description — stylized uppercase Barlow label line */
.hero-description,
.hero-description p {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-regular) !important;      /* 400 */
  font-size: 14px !important;                            /* preserve 1:1 */
  line-height: 1.5 !important;                           /* preserve 1:1 */
  letter-spacing: var(--ob-tracking-ui) !important;      /* 0.08em == current */
  text-transform: uppercase !important;                  /* was section {{ desc_trans }} */
}
.hero-description strong {
  font-weight: var(--ob-weight-bold) !important;         /* 700 — was 800 (live emphasis) */
}

/* Mobile (<=768px) — section currently scales type via calc():
   logo-text *0.6 = 60px, description *0.8 = 11.2px. Preserve 1:1. */
@media screen and (max-width: 768px) {
  .hero-logo-text  { font-size: 60px !important; }       /* 100 * 0.6 */
  .hero-description { font-size: 11.2px !important; }     /* 14 * 0.8 */
}

/* ============================================================
   ONE BOUT — CANON v1 — tb-story-blocks-alternating
   (sections/tb-story-blocks-alternating.liquid; used on page.about-us)
   Typografie přesunuta z {% style %} v sekci (governance ❌).
   Per-instance scope .story-blocks-{{ section.id }} nelze cílit z CSS
   (dynamické id) → scopuji přes stabilní wrapper .story-blocks-container.
   Třídy .main-section-heading / .block-heading / .block-description
   jsou unikátní pro tuto sekci (žádná kolize v theme).
   m_font/h_font selecty zrušeny → Rift natvrdo (canon: dva fonty).
   900 -> 700 (žádné 900). SIZE 1:1 (h2/h3 tokeny, base).
   ============================================================ */
.story-blocks-container .main-section-heading,
.story-blocks-container .main-section-heading p {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h1) !important;            /* OUR CHAPTERS = 56 (h1), na žádost (z h3/35) */
  font-weight: var(--ob-weight-bold) !important;      /* 900 -> 700 */
  letter-spacing: var(--ob-tracking-display) !important;
  line-height: var(--ob-leading-display) !important;
  text-transform: uppercase !important;
}
.story-blocks-container .main-section-heading strong {
  font-weight: var(--ob-weight-bold) !important;      /* 900 -> 700 */
}

.story-blocks-container .block-heading,
.story-blocks-container .block-heading p {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;            /* 20->35, beze změny */
  font-weight: var(--ob-weight-bold) !important;      /* 900 -> 700 */
  letter-spacing: var(--ob-tracking-display) !important;
  line-height: var(--ob-leading-display) !important;
  text-transform: uppercase !important;
}
.story-blocks-container .block-heading strong {
  font-weight: var(--ob-weight-bold) !important;      /* 900 -> 700 */
}

.story-blocks-container .block-description,
.story-blocks-container .block-description p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;          /* 15, beze změny */
  font-weight: var(--ob-weight-regular) !important;
  letter-spacing: var(--ob-tracking-body) !important;
  line-height: var(--ob-leading-normal) !important;
}
.story-blocks-container .block-description strong {
  font-weight: var(--ob-weight-bold) !important;      /* 700 */
}

/* ============================================================
   TB BRAND VALUES (sections/tb-brand-values.liquid)
   Inner section class is dynamic (.values-{{ section.id }}); the theme
   does NOT emit a .shopify-section--tb-brand-values modifier (Prestige
   only adds --type when the section schema declares a "class" key, and
   this section does not). Pin via the dynamic parent prefix instead:
   [class*="values-"] — verified globally unique, no collisions. Generic
   .sub-h/.main-v are only used by this section but stay scoped to be safe.
   Canon: Rift heads -> 700, hierarchy by size. Sizes preserved 1:1 (--ob-text-h2).
   ============================================================ */

[class*="values-"] .sub-h,
[class*="values-"] .main-v {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;            /* BRAND VALUES + RESPECT/DILIGENCE/IMPACT = 35 (h3), na žádost (z h2/44) */
  font-weight: var(--ob-weight-bold) !important;       /* 900 -> 700 (canon cap) */
  letter-spacing: var(--ob-tracking-display) !important;
  line-height: var(--ob-leading-display) !important;
  text-transform: uppercase !important;
}

/* ============================================================
   TB STORY SECTION  (sections/tb-story-section.liquid)
   "Story Section (The Brand)" — page.about-us.json
   Typography migrated out of section {% style %} + {% schema %}.
   Classes are unique to this section; the per-instance
   .story-{{ section.id }} scope is dropped (only one live instance).
   Sizes preserved 1:1. Heading 900 -> 700 (canon: no 900).
   NOTE: live heading/body have NO <strong>; the strong rules are
   inheritance-safety only and currently style nothing.
   ============================================================ */

/* Heading — large display Rift (h2 26->44px) */
.story-heading,
.story-heading p {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h2) !important;
  font-weight: var(--ob-weight-bold) !important;
  line-height: var(--ob-leading-display) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;   /* G6-1: co-locate (sekce {% style %} line-12 redundantní) */
}
.story-heading strong {
  font-weight: var(--ob-weight-bold) !important;
}

/* Body copy — Barlow base */
.story-paragraph,
.story-paragraph p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  line-height: var(--ob-leading-normal) !important;
  letter-spacing: var(--ob-tracking-body) !important;
}
.story-paragraph strong {
  font-weight: var(--ob-weight-bold) !important;
}

/* ============================================================
   THE BRAND — Sticky Scroll  (sections/tb-philosophy-sticky.liquid)
   Section id is dynamic; pin via the .sticky-* prefix + child class.
   Effective sizes from page.about-us instance (h_font default 'rift';
   heading size is the stylesheet literal var(--ob-text-h2) 26->44px).
   ============================================================ */

/* Left column heading — LARGE display Rift (canon: 700, no 900) */
[class^="sticky-"] .left-col,
[class*=" sticky-"] .left-col,
[class^="sticky-"] .left-col p,
[class*=" sticky-"] .left-col p {
  font-family: var(--ob-font-display) !important;
  font-size: var(--ob-text-h3) !important;            /* ONE BOUT IS A PHILOSOPHY = 35 (h3), na žádost (z h2/44) */
  font-weight: var(--ob-weight-bold) !important;
  line-height: var(--ob-leading-display) !important;
  letter-spacing: var(--ob-tracking-display) !important;
  text-transform: uppercase !important;
}

[class^="sticky-"] .left-col strong,
[class*=" sticky-"] .left-col strong {
  font-weight: var(--ob-weight-bold) !important;
}

/* Right column body copy — Barlow base/1.6 (canon body) */
[class^="sticky-"] .text-block,
[class*=" sticky-"] .text-block,
[class^="sticky-"] .text-block p,
[class*=" sticky-"] .text-block p {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-base) !important;
  font-weight: var(--ob-weight-regular) !important;
  line-height: var(--ob-leading-normal) !important;
  letter-spacing: var(--ob-tracking-body) !important;
}

[class^="sticky-"] .text-block strong,
[class*=" sticky-"] .text-block strong {
  font-weight: var(--ob-weight-bold) !important;
}

/* ============================================================
   Header icon tap targets — WCAG 2.5.5 (>=44px hit area).
   Only the clickable box grows + centers; the icon glyph keeps
   its size, so no visible layout change. Covers menu / account
   / search / cart. (Added 2026-06-14.)
   ============================================================ */
.header__account-link > a,
.header__search-link > a,
.header__cart-link > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}
/* Hamburger: :where() keeps specificity at 0 so the theme's `md:hidden`
   utility still hides it on desktop. Sizing only takes effect on mobile,
   where the button is actually shown. */
:where(.header__primary-nav button[aria-controls="sidebar-menu"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
}

/* ============================================================
   BRAND PAGE — claude/brand-fixes (additive, brand-page scoped)
   A7 reduced-motion guard · B2 chapter status + CTA · B1 CTA-strip eyebrow
   ============================================================ */

/* B2 — per-chapter availability pill (color set inline by status in the liquid). */
.block-status {
  display: inline-block;
  align-self: flex-start;
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-xs);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-eyebrow);
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 18px;
  /* žádný „kulatý button" — status je teď jen barevný text (na žádost) */
}

/* B2 — per-chapter CTA link. */
.block-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: 22px;
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding-bottom: 3px;
  transition: border-color 0.2s ease, gap 0.2s ease;
}
.block-cta:hover { border-color: #ffffff; gap: 10px; }

/* ============================================================
   FOUNDER FILM (The Brand redesign — Direction A) — typography (SSOT)
   Section layout lives in tb-founder-film.liquid; type tokens here.
   ============================================================ */
.ob-eyebrow-red {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-eyebrow);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-eyebrow);
  text-transform: uppercase;
  color: #6f6f6f;                       /* šedá jako ostatní eyebrows (z bílé; původně #e32c2b červená) */
}
.ob-film-quote, .ob-film-quote p {
  font-family: var(--ob-font-display);
  font-weight: var(--ob-weight-bold);
  font-size: var(--ob-text-h1);         /* quote „Everyone saw…" = 56 (h1), na žádost */
  line-height: var(--ob-leading-display);
  letter-spacing: var(--ob-tracking-display);
  text-transform: uppercase;
  color: #ffffff;
  margin: 0;
}
.ob-film-playlabel {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  color: #ffffff;
}
.ob-film-attr {
  font-family: var(--ob-font-display);                /* Rift — shodné s athletes .ob-ath-who */
  font-size: var(--ob-text-xl);                       /* 18 — jako .ob-ath-who */
  font-weight: var(--ob-weight-bold);                 /* 700 */
  line-height: var(--ob-leading-snug);                /* 1.25 */
  letter-spacing: var(--ob-tracking-ui);              /* 0.1 wide */
  text-transform: uppercase;
  color: rgba(255,255,255,.9);
}
.ob-film-toggle {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-medium);
  letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase;
  color: #9a9a9a;
}
.ob-film-transcript, .ob-film-transcript p {
  font-family: var(--ob-font-body);
  font-size: var(--ob-text-base);
  line-height: var(--ob-leading-normal);
  color: #cfcfcf;
}
.ob-film-transcript { max-width: 66ch; margin-top: 12px; }

/* ============================================================
   BRAND REDESIGN (Direction A) batch 2 — inline CTA, sticky bar,
   trust strip, chapter numerals (type tokens; SSOT)
   ============================================================ */
.ob-cta-row { margin-top: 40px; }
.ob-cta-leadin {
  font-family: var(--ob-font-body); font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-regular); letter-spacing: var(--ob-tracking-body);
  color: #9a9a9a; margin: 0 0 16px;
}
.ob-cta-buttons { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ob-cta-solid, .ob-cta-ghost {
  display: inline-block; font-family: var(--ob-font-display);
  font-size: var(--ob-text-md); font-weight: var(--ob-weight-bold);
  letter-spacing: var(--ob-tracking-btn); text-transform: uppercase;
  text-decoration: none; padding: 13px 26px; line-height: 1;
  transition: background .2s ease, color .2s ease;
}
.ob-cta-solid { background: #ffffff; color: #000000; border: 1px solid #ffffff; }
.ob-cta-solid:hover { background: #000000; border-color: #000000; color: #ffffff; }
.ob-cta-ghost { background: transparent; color: #ffffff; border: 1px solid rgba(255,255,255,.5); }
.ob-cta-ghost:hover { border-color: #ffffff; }

.ob-stickybar__msg {
  font-family: var(--ob-font-body); font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-medium); letter-spacing: var(--ob-tracking-ui);
  text-transform: uppercase; color: #ffffff;
}
.ob-stickybar__cta {
  font-family: var(--ob-font-display); font-size: var(--ob-text-md);
  font-weight: var(--ob-weight-bold); letter-spacing: var(--ob-tracking-btn);
  text-transform: uppercase; text-decoration: none; color: #ffffff; white-space: nowrap;
}

.ob-trust-txt {
  font-family: var(--ob-font-body); font-size: var(--ob-text-eyebrow);
  font-weight: var(--ob-weight-medium); letter-spacing: var(--ob-tracking-eyebrow);
  text-transform: uppercase; color: rgba(255,255,255,.8); text-decoration: none;
}
a.ob-trust-txt:hover { color: #ffffff; }

.block-numeral {
  display: block; font-family: var(--ob-font-display);
  font-size: var(--ob-text-h2); font-weight: var(--ob-weight-bold);
  line-height: 1; color: #ffffff; margin-bottom: 10px;
}

/* ============================================================
   ONE BOUT — GROUP 3 — T2 TITULY (Barlow Semi Condensed)
   Nové scoped rules (zbytek flipnut in-place výše). var(--ob-font-title).
   ============================================================ */

/* T3-2: PDP akordeon toggle (Popis / Doprava & vraceni) → 15/600 UPPER. :not(.text-lg), ať se neplete s FAQ. */
.product-info .accordion__toggle:not(.text-lg) {
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-md) !important;   /* v3-FINAL: strukturální label 13 (z 15) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* T3-5: SORT button (filter button řeší pravidlo @collection-toolbar výše) — collection + search */
.collection-toolbar__button[aria-controls="sort-by-popover"] {
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-md) !important;           /* 13 — sjednoceno s filter triggerem (z 14) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* T3-6: blog card titul → Semi Cond 600 natural (velikost ponechána dle .h4/.h6 třídy) */
.blog-post-card__title {
  font-family: var(--ob-font-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  text-transform: none !important;
}

/* T3-7: Tabs controls (desktop button[role=tab] + mobile akordeon) → 15/600 UPPER (krátké labely) */
.shopify-section--tabs .accordion__toggle,
.shopify-section--tabs button[role="tab"] {
  font-family: var(--ob-font-title) !important;
  font-size: 15px !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* T3-7b: FAQ otázky → BARLOW normal 15/600 natural. Rift a Semi Cond jsou OBĚ kondenzovaná → vedle sebe
   málo kontrastu; normální Barlow vytvoří jasný kontrast vůči kondenzovanému Rift category headu (.faq__category). */
.shopify-section--faq .accordion__toggle {
  font-family: var(--ob-font-body) !important;
  font-size: 15px !important;
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* FAQ kategorie (.faq__category, <p class="h4">) → match prose subheadingy:
   Barlow 600 UPPER + display-tracking (z globálního Rift .h4 27px). Velikost 17px
   (title-tier strop = prose h2), aby kategorie zůstala NAD otázkou (15px). Kontrast
   vůči otázce teď nese case (UPPER vs natural) + velikost, ne rodina. */
.shopify-section--faq .faq__category {
  font-family: var(--ob-font-body) !important;        /* Barlow — z Rift */
  font-size: var(--ob-text-h6) !important;            /* 17 — title-tier strop (z .h4 27px) */
  font-weight: var(--ob-weight-semibold) !important;  /* 600 */
  letter-spacing: var(--ob-tracking-display) !important; /* -0.01em — jako prose subheadingy */
  line-height: var(--ob-leading-snug) !important;     /* 1.25 */
  text-transform: uppercase !important;
}

/* T3-8: text-with-icons item titul → T2 Semi Cond natural (rich-text subheading řeší eyebrow blok) */
.text-with-icons__title {
  font-family: var(--ob-font-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  text-transform: none !important;
}

/* T3-9: popover/dialog/drawer header (localization, sort-by, filter&sort drawer) → T2 subhead 17/600 UPPER (dřív Rift 27px) */
.popover [slot="header"].h4 {
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-base) !important;   /* 15 — popover header (localization / sort-by) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* Drawer titul „Filter & Sort" = největší v draweru, jasně nad group toggly (13px). */
.facets-drawer .h4,
.facets-drawer [slot="title"] {
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-h6) !important;     /* 17 — titul draweru (feedback: musí být větší než SORT BY/SIZE/COLOR) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* DEC-CL: Complete-the-look titul + Total label → T2 Semi Cond (cena .ob-cl__total zůstává Barlow tabular) */
.ob-cl__title {
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-md) !important;            /* 13 — identické s .accordion__toggle (Delivery & Returns) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}
.ob-cl__total-label {
  font-family: var(--ob-font-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
}

/* M4-4: predictive search taby + „Suggestions" + article category → Barlow eyebrow (dřív Rift h6 17/0.05em).
   .smallcaps scopováno na predictive → nekoliduje s cart variant labelem. */
.predictive-search__tabs button[role="tab"],
.shopify-section--main-search button[role="tab"],
.predictive-search__category,
.predictive-search__content .smallcaps {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;   /* 13 */
  font-weight: var(--ob-weight-medium) !important;
  letter-spacing: var(--ob-tracking-eyebrow) !important;  /* 0.12em — přebíjí mrtvé 0.05em */
  text-transform: uppercase !important;
}

/* Predictive dropdown color pravidlo přebíjelo bílý text LIMITED badge → černý na burgundy. Vracíme bílou. */
.predictive-search__content .product-card__custom-badge,
.predictive-search__content .product-card__custom-badge * {
  color: #ffffff !important;
}

/* G5-3: scrolling marquee → pin Rift 700 (canon, DEC-BANNERS); velikost zůstává editor-driven přes {% style %} */
.scrolling-content__text,
.scrolling-content__text.heading {
  font-family: var(--ob-font-display) !important;
  font-weight: var(--ob-weight-bold) !important;
}

/* G6-6: athlete name tracking → 0.08em (editorial-label band). Pozdější pravidlo přebíjí small-Rift blok
   (0.05em) BEZ mazání .ob-ath-who z bloku (footgun: editorial, nikdy nemazat). FRAGILE: .ob-ath-*. */
.ob-ath-who {
  letter-spacing: var(--ob-tracking-ui) !important;   /* 0.1 wide — pozdější pravidlo přebíjí small-Rift blok */
}

/* G6-5/DEC-KLAVIYO: Klaviyo Reviews widget — base font na Barlow (fallback, ať widget nikdy nezobrazí cizí sans).
   Heads/title se ladí v Klaviyo adminu (mimo theme). BEZ !important, ať admin/sub-elementy můžou přebít. FRAGILE/externí. */
[class*="kl_reviews"],
[class*="klaviyo-reviews"] {
  font-family: var(--ob-font-body);
}

/* ============================================================
   GROUP 8 — GAPS (critic)
   ============================================================ */
/* G8-2: zbylé .h4/.h5/.h6-as-title sprawl — tituly/subheady → Semi Cond */
.bordered-box__title.h4,                      /* shipping estimator title */
.shopify-section--newsletter-popup .h4,       /* newsletter popup heading */
pickup-availability .h5,                      /* pickup product title */
cart-drawer .h6 {                             /* cart-drawer cross-sell title — mini-eyebrow (owner) */
  font-family: var(--ob-font-title) !important;
  font-size: var(--ob-text-md) !important;            /* 13 — mini-eyebrow (z .h6 17px) */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;   /* 0.1em — opraveno z display-sm bleed 0.05em */
}
/* cart drawer empty-state zpráva → Barlow (není titul) */
cart-drawer p.h5 {
  font-family: var(--ob-font-body) !important;
  font-weight: var(--ob-weight-regular) !important;
  text-transform: none !important;
}
/* G8-3: tb-chapter-set col-eyebrow — type přesunut z {% style %} do SSOT (Barlow eyebrow 13) */
.tb-chapter-set__col-eyebrow {
  font-family: var(--ob-font-body) !important;
  font-size: var(--ob-text-eyebrow) !important;
  font-weight: var(--ob-weight-medium) !important;
}

/* G8-4/GAP-09 DOKUMENTACE: --button-font resolvuje na SAIRA Condensed
   (settings_data.json button_text_font='heading' → --heading-font-family = saira_condensed_n6).
   Buttony jsou Rift POUZE díky .button override níže/výše. DEC-SAIRA=keep → picker neměníme.
   ⚠ Když tenhle override regresne, VŠECHNY buttony spadnou na Sairu. Nikdy neměnit bez ověření buttonů. */

/* FIX-2 (holistic audit): size-chart bare content head (richtext h2/h3) byl Rift natural-case → tofu
   (Rift nemá lowercase). Semi Cond má lowercase → natural case OK, žádné boxy. */
.size-chart h2,
.size-chart h3 {
  font-family: var(--ob-font-title) !important;
  font-weight: var(--ob-weight-semibold) !important;
  text-transform: none !important;
}

/* ============================================================
   ONE BOUT — IN-CONTENT PROSE/POLICY SUBHEADINGS → Barlow title-tier
   ------------------------------------------------------------
   Root cause: globální heading rule (ř. 73) forcuje na KAŽDÝ holý h1-h6
   'font-family:var(--ob-font-display) !important' + weight 700 + uppercase.
   Tím i AUTORSKÉ h2-h6 uvnitř ČTECÍHO TOKU (Shopify policy body, blog/článek,
   generic page, FAQ odpověď, rich-text richtext/page bloky) renderovaly jako
   Rift display UPPER místo Barlow title-tier (např. <h2>Czech Republic</h2>).

   Fix: scoped override na čtecí kontejnery → in-content h2-h6 na Barlow 600,
   natural-case, read tracking. :where() drží specificitu plochou (0,1,0) a
   element-selektor :where(h2..h6) chytá JEN reálné h-elementy — NE
   <p class="hX"> rich-text heading/subheading bloky, NE .shopify-policy__title
   (h1, sourozenec __body), NE article/page titulky (mimo .prose), NE comment
   heady <h3 class="h2"> (sourozenci .prose, ne potomci), NE .faq__category
   (<p>, mimo answer .prose), NE section heady/hero/editorial labely
   (.ob-ath-who/.ob-rev-who/.ob-t-head/.ob-ig-handle — mimo tyto wrappery).

   Cascade: !important na font-family je NUTNÉ (ř. 77 má taky !important);
   specificita (0,1,0) > holý h2 (0,0,1) a blok je níž ve stejném souboru.
   font-size se NEMĚNÍ — autorská/inline velikost (2rem) se respektuje, fix
   řeší jen rodinu/váhu/case/tracking/leading.
   :not(.h6) guard → nekoliduje s eyebrow .h6 overridem.
   ⚠ Nepřidávej holý '.prose :where(h*)' bez section scope — .prose žije i
   v editorial sekcích (image-with-text, timeline…). Nové prose reading-flow
   sekce přidávej do tohoto seznamu. Owner: natural-case + full scope (potvrzeno). */
.shopify-policy__body :where(h2, h3, h4, h5, h6):not(.h6),
.shopify-policy__body .rte :where(h2, h3, h4, h5, h6):not(.h6),
.shopify-section--main-article .prose :where(h2, h3, h4, h5, h6):not(.h6),
.shopify-section--main-page .prose :where(h2, h3, h4, h5, h6):not(.h6),
.shopify-section--faq .prose :where(h2, h3, h4, h5, h6):not(.h6),
.shopify-section--rich-text .prose :where(h2, h3, h4, h5, h6):not(.h6) {
  font-family: var(--ob-font-body) !important;       /* Barlow — přebíjí Rift !important z ř. 77 */
  font-weight: var(--ob-weight-semibold) !important; /* 600 — title-tier */
  letter-spacing: var(--ob-tracking-display) !important;  /* -0.01em — owner: display tracking (ne ui) pro prose subheadingy */
  line-height: var(--ob-leading-snug) !important;    /* 1.25 — čtecí rytmus, ne display 1.0 */
  text-transform: uppercase !important;              /* UPPER — owner: lepší čitelnost subheadingů */
}

/* ============================================================
   ONE BOUT — PROSE SUBHEADING SIZE (title-tier škála)
   ------------------------------------------------------------
   Přebíjí Prestige .prose hX font-size (theme.css → --ob-text-hX,
   což je display škála 26→44/20→35/27/22/17). In-content subheadingy
   ve čtecím toku mají být MALÝ title-tier POD dominantním page h1,
   ne druhý display head. font-size potřebuje !important (Prestige base
   rule + clamp). Rodina/váha/case/tracking/leading řeší blok výše;
   tady JEN font-size. Guard :not(.h6) zachován. Owner: natural-case
   Barlow 600, hierarchie h1 (32→56) > h2 17 > h3 16 > h4 14 > h5 13 > h6 12. */
.shopify-policy__body :where(h2):not(.h6),
.shopify-policy__body .rte :where(h2):not(.h6),
.shopify-section--main-article .prose :where(h2):not(.h6),
.shopify-section--main-page .prose :where(h2):not(.h6),
.shopify-section--faq .prose :where(h2):not(.h6),
.shopify-section--rich-text .prose :where(h2):not(.h6) {
  font-size: var(--ob-text-h6) !important; /* 17px — strop Barlow title-tieru (drawer titul) */
}
.shopify-policy__body :where(h3):not(.h6),
.shopify-policy__body .rte :where(h3):not(.h6),
.shopify-section--main-article .prose :where(h3):not(.h6),
.shopify-section--main-page .prose :where(h3):not(.h6),
.shopify-section--faq .prose :where(h3):not(.h6),
.shopify-section--rich-text .prose :where(h3):not(.h6) {
  font-size: var(--ob-text-lg) !important; /* 16px — emphasized body */
}
.shopify-policy__body :where(h4):not(.h6),
.shopify-policy__body .rte :where(h4):not(.h6),
.shopify-section--main-article .prose :where(h4):not(.h6),
.shopify-section--main-page .prose :where(h4):not(.h6),
.shopify-section--faq .prose :where(h4):not(.h6),
.shopify-section--rich-text .prose :where(h4):not(.h6) {
  font-size: var(--ob-text-title) !important; /* 14px — = card/cart title (Barlow 600) */
}
.shopify-policy__body :where(h5):not(.h6),
.shopify-policy__body .rte :where(h5):not(.h6),
.shopify-section--main-article .prose :where(h5):not(.h6),
.shopify-section--main-page .prose :where(h5):not(.h6),
.shopify-section--faq .prose :where(h5):not(.h6),
.shopify-section--rich-text .prose :where(h5):not(.h6) {
  font-size: var(--ob-text-md) !important; /* 13px — strukturální title-tier labely */
}
.shopify-policy__body :where(h6):not(.h6),
.shopify-policy__body .rte :where(h6):not(.h6),
.shopify-section--main-article .prose :where(h6):not(.h6),
.shopify-section--main-page .prose :where(h6):not(.h6),
.shopify-section--faq .prose :where(h6):not(.h6),
.shopify-section--rich-text .prose :where(h6):not(.h6) {
  font-size: var(--ob-text-sm) !important; /* 12px — nejmenší title krok, nad caption 11 */
}

/* [BUG] Cart drawer header "Cart (N)" padal na globální Rift .h4 (27px UPPER),
   protože <cart-drawer> je .drawer (ne .popover) → ani .popover [slot=header]
   ani .facets-drawer .h4 ho nechytly. Zrcadlí facets drawer header = title-tier. */
cart-drawer [slot="header"].h4,
cart-drawer .h4 {
  font-family: var(--ob-font-title) !important;       /* Barlow 600 */
  font-size: var(--ob-text-h6) !important;            /* 17 — shoda s facets drawer headerem */
  font-weight: var(--ob-weight-semibold) !important;
  letter-spacing: var(--ob-tracking-ui) !important;
  text-transform: uppercase !important;
}

/* [BUG] Sidebar footer account/login link dostával 17px z .text-with-icon →
   stáhnout na UI/eyebrow. Scoped na footer (nechytne jiné .text-with-icon.smallcaps).
   Rodina už Barlow (žádný leak). */
.header-sidebar__footer .text-with-icon.smallcaps {
  font-size: var(--ob-text-md) !important;            /* 13 (z 17) */
  font-weight: var(--ob-weight-medium) !important;    /* 500 */
  letter-spacing: var(--ob-tracking-ui) !important;   /* 0.1em */
  text-transform: uppercase !important;
}

/* ============================================================
   PAGE AUDITY (chapter-i-unlocked, the-brand, size-chart drawer) —
   napojení zbylých literálů na token systém. Vše vizuálně lossless
   KROMĚ: col-eyebrow 0.12→0.1em (drobné utažení) + size-chart td tabular-nums.
   Stránky byly jinak plně on-system (0 Saira-leaků, 0 TOFU, role OK).
   ============================================================ */

/* — chapter-i-unlocked — */
.tb-chapter-set__col-eyebrow { letter-spacing: var(--ob-tracking-eyebrow) !important; } /* 0.12→0.1 canon */
[class*="chapter-hero-"] .ch-subtitle { letter-spacing: var(--ob-tracking-eyebrow) !important; } /* 0.10em→token */
[class*="chapter-hero-"] .ch-caption { font-size: var(--ob-text-base) !important; }              /* 14px→token */
.shopify-section--tb-rsvp-form .rsvp-eyebrow,
.shopify-section--tb-rsvp-form .rsvp-disclaimer { font-size: var(--ob-text-xs) !important; }      /* 11px→token */

/* — the-brand — */
.ob-film-transcript,
.ob-film-transcript p {
  font-weight: var(--ob-weight-regular);   /* explicitní = ostatní TB body bloky */
  letter-spacing: var(--ob-tracking-body);
}
.hero-description,
.hero-description p { font-size: var(--ob-text-base) !important; } /* 14px→token */

/* — size-chart drawer — 700 literály → token (governance) + body tracking + tabular figury — */
.size-chart-header__title,
.size-chart__tab[aria-pressed="true"],
.size-chart__tables td:first-child,
.size-chart__point::before,
.size-chart__point-text strong {
  font-weight: var(--ob-weight-bold) !important;      /* z literálu 700 */
}
.size-chart__tables td {
  letter-spacing: var(--ob-tracking-body) !important;
  font-variant-numeric: tabular-nums !important;      /* zarovnání číselných sloupců tabulky */
}
.size-chart__point-text p,
.size-chart__note { letter-spacing: var(--ob-tracking-body) !important; }

/* ============================================================
   THE BRAND — konzistentní vertikální rytmus mezi sekcemi (SSOT)
   ------------------------------------------------------------
   Problém (audit): každá editorial sekce měla vlastní pevný padding
   (philosophy 120, film 100, brand-values 140, chapters 20/0) → mezery
   mezi sekcemi byly nesourodé (120/220/240/160/64) a film+brand-values
   navíc NEŠKÁLOVALY (240px díra i na 375px mobilu).
   Řešení: jeden responzivní token na top+bottom padding všech čtyř
   editorial sekcí → mezery jsou jednotné (= 2× token) a škálují.
   Selektory scopované na `section[class^=…]` (root sekcí, ne potomky
   jako .film-inner / .story-blocks-container). Jen sekce The Brand. */
:root { --tb-sec-space: 72px; }
@media screen and (max-width: 989px) { :root { --tb-sec-space: 52px; } }
@media screen and (max-width: 699px) { :root { --tb-sec-space: 40px; } }

section[class^="sticky-"],
section[class^="film-"],
section[class^="values-"],
section[class^="story-blocks-"] {
  padding-top: var(--tb-sec-space) !important;
  padding-bottom: var(--tb-sec-space) !important;
}

/* ------------------------------------------------------------
   Horní editorial rytmus — sjednocení mezer philosophy↔film↔brand-values
   na ~104px (desktop), na žádost (dřív 144px, navíc nesourodé kvůli obrázku).
   --tb-up = polovina mezery (mezera = 2× --tb-up).
   • philosophy: měníme jen SPODNÍ padding (horní = hero→philosophy zůstává menší).
   • film: horní = --tb-up; SPODNÍ = 2× --tb-up — brand-values má full-bleed
     obrázek co sežere svůj horní padding, takže viditelnou ČERNOU před obrázkem
     dělá spodní padding filmu (černý, uvnitř filmu → nezávisí na pozadí stránky).
   • brand-values + chapters: padding zůstává z --tb-sec-space (irelevantní u
     brand-values kvůli min-height+image; chapters je „jiný příběh" a má zůstat). */
:root { --tb-up: 52px; }
@media screen and (max-width: 989px) { :root { --tb-up: 40px; } }
@media screen and (max-width: 699px) { :root { --tb-up: 30px; } }

section[class^="sticky-"] { padding-bottom: var(--tb-up) !important; }
section[class^="film-"] {
  padding-top: var(--tb-up) !important;
  padding-bottom: calc(2 * var(--tb-up)) !important;
}

/* ============================================================
   PDP — odskok fotka → název produktu (mobil/tablet)
   ------------------------------------------------------------
   Inline padding-top:50px na .product-info (snippet product-info.liquid)
   dělal na ≤999px (skládaný layout) mrtvý prostor → ~96px mezi fotkou
   a názvem. product-rerender ho navíc po každém re-renderu vracel, takže
   externí !important ho nepřebil. Fix: 50px offset přesunut z inline na
   class .ob-pdp-info-offset jen pro DESKTOP (sticky zarovnání), a grid
   row-gap galerie↔info na ≤999px zúžen na 12px. Výsledek ~28px na ≤999px. */
@media screen and (min-width: 1000px) {
  .ob-pdp-info-offset { padding-top: 50px; }
}
@media screen and (max-width: 999px) {
  .product { row-gap: 12px; }
  /* 50px sem cpe CORS app stylesheet ID-level pravidlem (~1,1,0 !important).
     Přebíjíme :not(#id) trikem na ID-level specificitu (2,1,0). */
  .product-info:not(#obx):not(#oby) { padding-top: 0 !important; }
}
