/** Shopify CDN: Minification failed

Line 2731:1 Expected "}" to go with "{"

**/
/* ============================================
   CUSTOM.CSS – all overrides in one place
   Includes: performance, fonts, header, cart,
   product form, lookbook, footer, typography
   ============================================ */

/* ---------- 1) PERFORMANCE OVERRIDES ---------- */
@media (prefers-reduced-motion: no-preference) {
  ::view-transition-old(*),
  ::view-transition-new(*),
  ::view-transition-group(*),
  ::view-transition-image-pair(*) {
    animation-duration: 0.001s !important;
    animation-delay: 0s !important;
    pointer-events: none !important;
  }
}
/* Let clicks pass through view transition overlays – fixes "first click doesn't work" */
/* ADDED cursor: none below – stops the native arrow flashing over the custom cursor
   during/after a back-button (or any) navigation that triggers a view transition */
::view-transition-old(*),
::view-transition-new(*),
::view-transition-group(*),
::view-transition-image-pair(*) {
  pointer-events: none !important;
  cursor: none !important;
}
/* Sticky header: restore scroll-up reveal – don't crush its view transition */
::view-transition-group(sticky-header),
::view-transition-old(sticky-header),
::view-transition-new(sticky-header) {
  animation-duration: var(--animation-speed, 0.25s) !important;
  animation-delay: 0s !important;
}
/* Sticky header: ensure header section stays sticky (scroll-up / always) */
.header-section:has(#header-component[sticky="scroll-up"][data-sticky-state="active"]),
.header-section:has(#header-component[sticky="always"]) {
  position: sticky !important;
  top: -1px;
  z-index: var(--layer-sticky, 10);
}
/* Lookbook nav: sticks below main header via top: calc(var(--header-height) + ...).
   --header-height is set by the theme header; our overflow-x: clip and sticky rules
   preserve that. Do not add overflow: hidden on html/body (use clip for x-axis only). */
.lookbook-nav {
  position: sticky !important;
  top: calc(var(--header-height, 56px) + env(safe-area-inset-top)) !important;
  z-index: 2;
}
/* Reduce mobile tap delay – can help with "first tap doesn't register" */
html {
  touch-action: manipulation;
}
/* Prevent horizontal scroll and "off website" overscroll – x-only so sticky header and pull-to-refresh stay */
html,
body {
  overflow-x: clip;
  overscroll-behavior-x: none;
}
/* Mobile: reduce scroll twitch/jump – lock to vertical, disable smooth scroll, disable scroll anchoring */
@media screen and (max-width: 749px) {
  html,
  body {
    overscroll-behavior-y: none;
  }
  html {
    scroll-behavior: auto;
  }
  body {
    touch-action: pan-y;
    overflow-anchor: none;
  }
  /* Disable view transitions on mobile – can cause scroll jank */
  ::view-transition-old(*),
  ::view-transition-new(*),
  ::view-transition-group(*),
  ::view-transition-image-pair(*) {
    animation: none !important;
    display: none !important;
  }
}
/* iPad/tablet: disable view transitions – fixes header scroll glitch on sticky reveal */
@media screen and (min-width: 750px) and (max-width: 1025px) {
  ::view-transition-old(*),
  ::view-transition-new(*),
  ::view-transition-group(*),
  ::view-transition-image-pair(*) {
    animation: none !important;
    display: none !important;
  }
}
@media (max-width: 749px) {
  .product-card,
  .collection-card,
  .resource-card {
    will-change: auto;
  }
}

/* ---------- 2) CASLON ANTIQUE – FONT FACE ---------- */
@font-face {
  font-family: "CaslonAntique";
  src: url("/cdn/shop/files/CaslonAntique.woff2?v=1768738925") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "CaslonAntique";
  src: url("/cdn/shop/files/CaslonAntique-Italic.woff2?v=1768738925") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "CaslonAntique";
  src: url("/cdn/shop/files/CaslonAntique-Bold.woff2?v=1768738925") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "CaslonAntique";
  src: url("/cdn/shop/files/CaslonAntique-BoldItalic.woff2?v=1768738925") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* ---------- 3) GLOBAL TYPOGRAPHY – CASLON ANTIQUE ---------- */
:root {
  --site-font: "CaslonAntique", serif;
  --caps-tracking: 0.18em;
  --tracking-body: 0.005em;
  --tracking-heading: 0.10em;
  /* Mobile hero crop focal point: center 25% = top, center 50% = middle, center 75% = bottom */
  --hero-focal-mobile: center 25%;
}
:root {
  --font-paragraph--family: var(--site-font);
  --font-h1--family: var(--site-font);
  --font-h2--family: var(--site-font);
  --font-h3--family: var(--site-font);
  --font-h4--family: var(--site-font);
  --font-h5--family: var(--site-font);
  --font-h6--family: var(--site-font);
}
html,
body {
  font-family: var(--site-font) !important;
}
h1, h2, h3, h4, h5, h6,
p, a, span, li,
button, input, textarea, select,
summary, label, small, strong, em {
  font-family: inherit !important;
}
body,
.paragraph:not(.button),
.paragraph > * {
  letter-spacing: var(--tracking-body) !important;
}
h1, .h1.h1, .text-block.h1 > *,
h2, .h2.h2, .text-block.h2 > *,
h3, .h3.h3, .text-block.h3 > *,
h4, .h4.h4, .text-block.h4 > *,
h5, .h5.h5, .text-block.h5 > * {
  letter-spacing: var(--tracking-heading) !important;
}
h6, .h6.h6, .text-block.h6 > * {
  letter-spacing: 0.06em !important;
}
.rte :is(p, li) {
  letter-spacing: var(--tracking-body) !important;
}
.header a,
.header__menu-item,
.header__inline-menu a,
.header-menu a {
  font-family: var(--site-font) !important;
  letter-spacing: 0.10em !important;
}
.header a,
.header-menu a,
.header__inline-menu a,
.menu a,
.drawer a,
button,
.button {
  letter-spacing: var(--caps-tracking) !important;
}
p, .rte p, li {
  letter-spacing: normal !important;
}

/* ---------- 3a) PASSWORD PAGE – Caslon Antique ---------- */
.template-password,
body.template-password,
.template-password body,
.template-password h1,
.template-password h2,
.template-password h3,
.template-password p,
.template-password a,
.template-password span,
.template-password label,
.template-password input,
.template-password button,
.template-password .password__content,
.template-password .password-page,
.template-password .password-login,
.template-password .password-form,
.template-password .password__login-form,
.template-password * {
  font-family: var(--site-font) !important;
}

/* ---------- 4) MOBILE HEADER – BURGER LEFT, LOGO CENTER ---------- */
/* Remove header divider line (theme border/box-shadow below status bar) */
.header,
.header-section,
.header__content,
#header-component,
.header-wrapper {
  border-bottom: none !important;
  box-shadow: none !important;
}
@media screen and (max-width: 749px) {
  .header .header__icon--menu,
  .header__icon--menu,
  details[id*="Details-menu-drawer-container"] summary {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .header .header__inline-menu,
  .header header-menu {
    display: none !important;
  }
  /* Avoid position: relative on .header – it can interfere with sticky. Only child elements. */
  .header__content,
  .header__heading {
    position: relative !important;
  }
  .header .header__icon--menu {
    position: relative !important;
    left: 0 !important;
    margin-right: auto !important;
    z-index: 5 !important;
    grid-area: leftA !important;
    justify-self: start !important;
  }
  .header__heading,
  .header__heading-link {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 2 !important;
    text-align: center !important;
    width: fit-content !important;
    max-width: calc(100vw - 130px) !important;
    padding: 0 !important;
  }
  .header__icons,
  .header__icons-wrapper {
    width: 100% !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .header .header-logo {
    grid-area: center !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }
  .header .header__columns {
    display: grid !important;
    grid-template-columns: 44px 44px 1fr 44px 44px !important;
    grid-template-areas: "leftA leftB center rightA rightB" !important;
    align-items: center !important;
  }
  .logo-menu-wrapper .logo-sides-menu {
    display: none !important;
  }
  .logo-menu-wrapper {
    display: contents !important;
  }
  .header__columns .header-logo {
    grid-area: center !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }
  .header__column--center {
    justify-content: center !important;
  }
  .header__columns .header__icon--menu,
  .header__columns .header__icon[aria-label*="Menu"],
  .header__columns .header__icon[aria-controls*="menu"],
  .header__columns .header__icon[aria-controls*="Drawer"],
  .header__columns .header__icon[aria-controls*="drawer"],
  header-menu .header__icon--menu {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  /* Header row: minimal right inset for dev tools; real device uses safe-area when needed */
  .header__columns {
    padding-inline-end: max(4px, env(safe-area-inset-right)) !important;
  }
  /* Cart area: right-aligned (inset comes from .header__columns padding above) */
  .header__columns header-actions {
    grid-area: rightB !important;
    justify-self: end !important;
    margin-left: auto !important;
  }
  .header__columns header-actions,
  .header__columns a[href*="/cart"],
  .header__columns button[data-testid="cart-drawer-trigger"],
  .header__columns [data-testid="cart-drawer-trigger"] {
    position: relative !important;
    z-index: 50 !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
  }
  /* Override section 12 margin – header cart should sit closer to right edge */
  .header__columns cart-icon,
  .header__columns a[href*="/cart"],
  .header__columns .cart-icon {
    margin-right: 0 !important;
  }
}

/* ---------- 4b) iPAD (portrait + landscape) – mobile layout, scale to viewport ---------- */
/* At 750px–1024px Horizon's desktop overflows: cart overlaps logo, back arrow wraps.
   Use mobile layout (burger + center logo + cart) so header resizes cleanly. */
@media screen and (min-width: 750px) and (max-width: 1025px) {
  /* Keep header truly flush to the viewport edge on iPad */
  .header-section,
  #shopify-section-header,
  header-component,
  #header-component {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    will-change: transform;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }

  /* Prevent baseline/line-box offset that drops header row lower on tablet */
  header-component,
  #header-component {
    display: block !important;
    line-height: normal !important;
  }

  /* Constrain header to viewport – override page-width, divider, any wrappers that cause right offset */
  .header-section,
  .header-section .header__row,
  .header-section #header-component,
  .header-section .page-width,
  .header-section .divider--page-width,
  .header-section [class*="page-width"],
  section.header-section > * {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: max(12px, env(safe-area-inset-left)) max(12px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
  }
  /* Prevent centering/margins that shift header right – target containers only */
  .header-section,
  .header-section .header__row,
  .header-section .header__columns,
  .header-section .page-width,
  .header-section .divider--page-width {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .header-section .header__row,
  .header-section .header__columns {
    justify-content: unset !important;
  }
  /* Override divider--page-width margins that can shift content */
  .header__row.divider--page-width,
  .header__row.divider--page-width .header__columns,
  .header__row .header__columns {
    margin-inline: 0 !important;
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
  }
  /* Landscape: section--full-width-margin / section--full-width cause right offset – neutralize */
  .header-section .header__row.section--full-width-margin,
  .header-section .header__row.section--full-width,
  .header-section .section--full-width-margin,
  .header-section .section--full-width,
  #header-component .header__row,
  #header-component .header__columns {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .header-section,
  #shopify-section-header,
  [id*="shopify-section-header"] {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }
  .header__content,
  .header__heading {
    position: relative !important;
  }
  .header__icons,
  .header__icons-wrapper {
    display: flex !important;
    align-items: center !important;
  }
  /* CRITICAL: Theme uses .desktop\:hidden on header__drawer – hides burger at 750px+. Override it. */
  .header__drawer,
  .header__drawer[class*="desktop"],
  .header__column--left .header__drawer {
    display: block !important;
    visibility: visible !important;
  }
  /* Hide desktop nav (header-menu has .mobile\:hidden = shown at 750px+) – we want burger instead */
  header-menu.mobile\:hidden,
  .header-menu.mobile\:hidden,
  .header__column--left header-menu {
    display: none !important;
  }
  /* Force mobile layout: burger, center logo, cart */
  /* Flatten columns so burger/cart become grid items */
  .header__column--left,
  .header__column--right {
    display: contents !important;
  }
  .header__column--center {
    grid-area: center !important;
    justify-self: center !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  /* Burger: summary.header__icon--menu – theme hides at 750px+, force visible */
  .header .header__icon--menu,
  .header__icon--menu,
  .header__icon.header__icon--menu.header__icon--summary,
  .header__columns .header__icon--menu,
  .header__columns .header__icon[aria-label*="Menu"],
  .header__columns .header__icon[aria-controls*="menu"],
  .header__columns .header__icon[aria-controls*="Drawer"],
  .header__columns .header__icon[aria-controls*="drawer"],
  summary.header__icon--menu,
  details[id*="Details-menu-drawer"] summary,
  details[id*="menu-drawer"] summary,
  details:has(> .header__icon--menu) summary,
  header-menu .header__icon--menu {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  /* Parent details – theme hides at 750px+, force visible */
  details:has(> .header__icon--menu),
  details[id*="Details-menu-drawer"],
  details[id*="menu-drawer"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    grid-area: leftA !important;
    justify-self: start !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* Hide desktop nav only – burger is inside header-menu, so keep it visible */
  .header .header__inline-menu,
  .header header-menu .header__inline-menu,
  .header header-menu nav,
  .header .header__menu {
    display: none !important;
  }
  .header header-menu {
    display: block !important;
    visibility: visible !important;
  }
  .header .header__icon--menu,
  .header__columns .header__icon--menu,
  summary.header__icon--menu {
    grid-area: leftA !important;
    justify-self: start !important;
    position: relative !important;
    z-index: 5 !important;
    min-width: 44px !important;
    min-height: 44px !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
  }
  .header__heading,
  .header__heading-link {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
    z-index: 2 !important;
    text-align: center !important;
    width: fit-content !important;
    max-width: calc(100vw - 160px) !important;
    padding: 0 !important;
  }
  .header .header__columns,
  .header__row .header__columns {
    display: grid !important;
    grid-template-columns: 44px 44px minmax(0, 1fr) 44px 44px !important;
    grid-template-areas: "leftA leftB center rightA rightB" !important;
    align-items: center !important;
    justify-items: stretch !important;
    column-gap: 0 !important;
    padding-inline: env(safe-area-inset-left) env(safe-area-inset-right) !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
  }
  /* Ensure header row fills viewport – prevents landscape offset */
  .header__row,
  .header__row.header__row--top {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
  }
  /* Prevent parent sections from clipping cart */
  .header-section,
  #header-component,
  header-component {
    overflow: visible !important;
  }
  /* CRITICAL: Override _header-logo.liquid – .logo-sides-wrapper uses width:100vw which makes header wider than viewport, clipping cart */
  .logo-sides-wrapper,
  .logo-menu-wrapper.logo-sides-wrapper,
  #header-component .header__column--center .logo-sides-wrapper,
  #header-component .logo-menu-wrapper.logo-sides-wrapper,
  .header__column--center .logo-sides-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  /* Ensure center column doesn't grow beyond its grid slot */
  .header__column--center,
  #header-component .header__column--center {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  /* Hide side menus – they add width and push cart off-screen (use max specificity) */
  .logo-menu-wrapper .logo-sides-menu,
  .logo-sides-wrapper .logo-sides-menu,
  .logo-sides-menu--left,
  .logo-sides-menu--right,
  #header-component .logo-sides-menu,
  #header-component .logo-sides-menu--left,
  #header-component .logo-sides-menu--right,
  .header__column--center .logo-sides-menu,
  .header__column--center .logo-sides-menu--left,
  .header__column--center .logo-sides-menu--right {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    clip: rect(0,0,0,0) !important;
    pointer-events: none !important;
  }
  .logo-menu-wrapper {
    display: contents !important;
  }
  .header__columns .header-logo,
  .header .header-logo {
    grid-area: center !important;
    justify-self: center !important;
    margin: 0 auto !important;
  }
  .header__columns header-actions {
    grid-area: rightB !important;
    justify-self: end !important;
    margin-left: 0 !important;
  }
  .header__columns header-actions,
  .header__columns a[href*="/cart"],
  .header__columns button[data-testid="cart-drawer-trigger"],
  .header__columns [data-testid="cart-drawer-trigger"] {
    position: relative !important;
    z-index: 50 !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    pointer-events: auto !important;
  }
  .header__columns cart-icon,
  .header__columns a[href*="/cart"],
  .header__columns .cart-icon {
    margin-right: 0 !important;
  }
  /* Back button: hide on iPad/tablet – user requested removal */
  .header .back-button,
  .header a.back-button,
  .header [aria-label*="back" i],
  .header [data-testid*="back" i] {
    display: none !important;
  }
  /* Responsive logo for iPad */
  .header__heading-link .header__heading-logo,
  .header .header-logo img {
    max-height: clamp(28px, 4vw, 40px) !important;
    width: auto !important;
  }
}

/* ---------- 4c) iPAD LANDSCAPE ONLY – stronger overrides for offset/cart clipped ---------- */
@media screen and (min-width: 750px) and (max-width: 1025px) and (orientation: landscape) {
  /* Force header section + all wrappers to full width, zero horizontal margin/padding */
  .header-section,
  #shopify-section-header,
  section:has(#header-component),
  section:has(header-component),
  .header-section > *,
  #shopify-section-header > * {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
  .header__row,
  .header__row.header__row--top,
  .header__row.section--full-width-margin,
  .header__row.section--full-width,
  .header__row[class*="section"] {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    left: 0 !important;
    right: auto !important;
  }
  .header__columns,
  .header__columns.spacing-style {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-inline: env(safe-area-inset-left) env(safe-area-inset-right) !important;
  }
  /* Ensure logo wrapper doesn't push content */
  .logo-sides-wrapper,
  .logo-menu-wrapper.logo-sides-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* Force-hide side menus in landscape – they cause overflow */
  .logo-sides-menu,
  .logo-sides-menu--left,
  .logo-sides-menu--right {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }
  /* Anchor header to left edge – override any transform/position causing offset */
  .header-section,
  #shopify-section-header,
  header-component,
  #header-component {
    position: relative !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* ---------- 4e) iPAD TEMPLATE-SPECIFIC HEADER LOCK (collections/products) ---------- */
/* Shop/product templates can render header-component as inline, which introduces a line-box
   baseline offset (~one text line) and makes the header appear dropped. Force block layout. */
@media screen and (min-width: 750px) and (max-width: 1025px) {
  body[class*="template-collection"] header-component,
  body[class*="template-product"] header-component,
  body[class*="template-search"] header-component,
  body[class*="template-collection"] #header-component,
  body[class*="template-product"] #header-component,
  body[class*="template-search"] #header-component {
    display: block !important;
    line-height: 0 !important;
    position: relative !important;
    inset-block-start: 0 !important;
    inset-inline-start: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Keep row flush inside sticky header (no dropped baseline/gap) */
  body[class*="template-collection"] .header__row,
  body[class*="template-product"] .header__row,
  body[class*="template-search"] .header__row,
  body[class*="template-collection"] .header__row.header__row--top,
  body[class*="template-product"] .header__row.header__row--top,
  body[class*="template-search"] .header__row.header__row--top {
    margin: 0 !important;
    padding-block: 0 !important;
    top: 0 !important;
    transform: none !important;
  }

  /* Remove the extra iPad horizontal inset that causes left gap/right shift on shop pages */
  body[class*="template-collection"] .header .header__columns,
  body[class*="template-product"] .header .header__columns,
  body[class*="template-search"] .header .header__columns,
  body[class*="template-collection"] .header__row .header__columns,
  body[class*="template-product"] .header__row .header__columns,
  body[class*="template-search"] .header__row .header__columns {
    padding-inline: env(safe-area-inset-left) env(safe-area-inset-right) !important;
  }

  /* Ensure sticky container itself stays hard-pinned to viewport top */
  body[class*="template-collection"] .header-section,
  body[class*="template-product"] .header-section,
  body[class*="template-search"] .header-section,
  body[class*="template-collection"] #shopify-section-header,
  body[class*="template-product"] #shopify-section-header,
  body[class*="template-search"] #shopify-section-header {
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    transform: none !important;
    width: 100vw !important;
    max-width: 100vw !important;
  }
}

/* ---------- 4d) HEADER/CART CROSS-BROWSER HARDENING (no :has dependency) ---------- */
/* Some Android/WebView builds still have partial :has() behavior.
   These fallbacks keep header width + cart visibility stable without relying on :has selectors. */
@supports not selector(:has(*)) {
  @media screen and (min-width: 750px) and (max-width: 1199px) {
    #shopify-section-header,
    .header-section,
    #header-component,
    header-component,
    .header__row,
    .header__columns,
    .header__content {
      width: 100% !important;
      max-width: 100% !important;
      margin-inline: 0 !important;
      left: 0 !important;
      right: auto !important;
      transform: none !important;
      box-sizing: border-box !important;
    }

    /* Keep logo wrappers from widening header beyond viewport */
    .logo-sides-wrapper,
    .logo-menu-wrapper.logo-sides-wrapper,
    .header__column--center .logo-sides-wrapper {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      margin-inline: 0 !important;
    }

    /* Ensure cart target never collapses/clips on tablet widths */
    .header__columns header-actions,
    .header__columns .header-actions,
    .header__columns .header__icon--cart,
    .header__columns a[href*="/cart"],
    .header__columns button[data-testid="cart-drawer-trigger"],
    .header__columns [data-testid="cart-drawer-trigger"] {
      flex: 0 0 auto !important;
      min-width: 44px !important;
      min-height: 44px !important;
      justify-self: end !important;
      margin-inline-start: auto !important;
      overflow: visible !important;
      z-index: 60 !important;
    }

    .header__columns cart-icon,
    .header__columns .cart-icon,
    .header__columns .cart-bubble,
    .header__columns [data-ref="cartBubble"] {
      overflow: visible !important;
      visibility: visible !important;
      opacity: 1 !important;
    }
  }
}

/* Extra guardrails for phones/tablets across iOS + Android */
@media screen and (max-width: 1199px) {
  .header__row,
  .header__columns,
  .header__content {
    min-width: 0 !important;
  }

  .header__columns .header__column--center,
  .header__columns .header-logo,
  .header__heading,
  .header__heading-link {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .header__columns header-actions,
  .header__columns .header__icon--cart,
  .header__columns a[href*="/cart"],
  .header__columns button[data-testid="cart-drawer-trigger"] {
    flex-shrink: 0 !important;
  }
}

/* ---------- 5) CART ICON – NUMBER ONLY, ALWAYS VISIBLE ---------- */
cart-icon svg {
  display: none !important;
}
.header-actions__cart-icon,
.header__icon--cart,
.header__icon-cart,
a[href="/cart"],
a[href*="/cart"] {
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
/* Cart: no underline on link or wrapper – only the number gets one underline below */
a[href="/cart"],
a[href*="/cart"],
a[href="/cart"] *,
a[href*="/cart"] *,
button[data-testid="cart-drawer-trigger"],
button[data-testid="cart-drawer-trigger"] *,
.header-actions__action[href="/cart"],
.header-actions__action[href*="/cart"],
cart-icon .cart-bubble {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
cart-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 1.25em !important;
  height: 1.25em !important;
  width: 2.5em !important;
  min-width: 2.5em !important;
  max-width: 2.5em !important;
  flex: 0 0 2.5em !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: translateY(0) !important;
  contain: layout !important;
}
cart-icon [data-ref="cartBubble"],
cart-icon .cart-bubble {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 2ch !important;
  min-width: 2ch !important;
  max-width: 2ch !important;
  min-height: 1em !important;
  line-height: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex: none !important;
}
cart-icon .cart-bubble:empty {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
/* Show "0" when cart is empty (bubble has no content) – match JS metrics so no swap shift */
cart-icon .cart-bubble:empty::after {
  content: "0";
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.5px;
  font: inherit;
  font-weight: 500;
  line-height: 1;
}
cart-icon .cart-bubble__background {
  display: none !important;
}
cart-icon .cart-bubble {
  background: transparent !important;
  padding: 0 !important;
  width: 2ch !important;
  min-width: 2ch !important;
  max-width: 2ch !important;
  min-height: 1em !important;
  height: auto !important;
  position: static !important;
}
/* Count number: single underline only (text-decoration, no border). Letter-spacing 0 for underline alignment. */
cart-icon [data-ref="cartBubbleCount"],
cart-icon .cart-bubble__count,
cart-icon .cart-bubble__text,
cart-icon .cart-bubble__text-count,
cart-icon .cart-bubble__count-text {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font: inherit !important;
  line-height: 1 !important;
  text-transform: inherit !important;
  font-size: 1em !important;
  letter-spacing: 0 !important;
  font-weight: 500;
  border-bottom: none !important;
  box-shadow: none !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.5px !important;
  text-underline-position: under !important;
  text-decoration-skip-ink: none !important;
  width: 2ch !important;
  min-width: 2ch !important;
  max-width: 2ch !important;
  text-align: center !important;
  display: block !important;
}
cart-icon .cart-bubble__count.hidden,
cart-icon .cart-bubble__text-count.hidden,
cart-icon .cart-bubble__count[hidden],
cart-icon .cart-bubble__text-count[hidden],
cart-icon [data-ref="cartBubbleCount"].hidden,
cart-icon [data-ref="cartBubbleCount"][hidden],
cart-icon .cart-bubble.hidden,
cart-icon .cart-bubble[hidden] {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
button.header-actions__action[data-testid="cart-drawer-trigger"] {
  padding: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
}
cart-icon .svg-wrapper {
  display: none !important;
}
button[data-testid="cart-drawer-trigger"],
button[data-testid="cart-drawer-trigger"].visually-hidden,
button[data-testid="cart-drawer-trigger"].hidden {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
button[data-testid="cart-drawer-trigger"] cart-icon .cart-bubble,
button[data-testid="cart-drawer-trigger"] cart-icon [ref="cartBubble"],
button[data-testid="cart-drawer-trigger"] cart-icon .cart-bubble__text,
button[data-testid="cart-drawer-trigger"] cart-icon [ref="cartBubbleText"],
button[data-testid="cart-drawer-trigger"] cart-icon .cart-bubble__text-count,
button[data-testid="cart-drawer-trigger"] cart-icon [ref="cartBubbleCount"] {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}
button[data-testid="cart-drawer-trigger"] cart-icon .cart-bubble.visually-hidden,
button[data-testid="cart-drawer-trigger"] cart-icon .cart-bubble__text-count.hidden,
button[data-testid="cart-drawer-trigger"] cart-icon [ref="cartBubble"].visually-hidden,
button[data-testid="cart-drawer-trigger"] cart-icon [ref="cartBubbleCount"].hidden {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
}
/* Cart page: remove grey circle, style count to sit naturally next to "Cart" text */
.template-cart cart-icon .cart-bubble,
body.template-cart cart-icon .cart-bubble,
.template-cart cart-icon .cart-bubble__text,
body.template-cart cart-icon .cart-bubble__text,
.template-cart cart-icon,
body.template-cart cart-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 0 0.35em !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
  display: inline-flex !important;
  align-items: baseline !important;
}
.template-cart cart-icon .cart-bubble__background,
body.template-cart cart-icon .cart-bubble__background,
.template-cart cart-icon .cart-bubble__background *,
body.template-cart cart-icon .cart-bubble__background * {
  display: none !important;
}
.template-cart cart-icon .cart-bubble__text-count,
body.template-cart cart-icon .cart-bubble__text-count,
.template-cart cart-icon .cart-bubble__count,
body.template-cart cart-icon .cart-bubble__count {
  display: inline-block !important;
  font-size: 0.85em !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
  transform: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
cart-icon .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Never hide the cart count (theme may add .visually-hidden when 0) */
cart-icon .cart-bubble.visually-hidden,
cart-icon .cart-bubble__count.visually-hidden,
cart-icon .cart-bubble__text-count.visually-hidden,
cart-icon [data-ref="cartBubbleCount"].visually-hidden {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: normal !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
cart-icon,
cart-icon * {
  -webkit-tap-highlight-color: transparent;
  visibility: visible !important;
}
[data-testid="cart-drawer-trigger"],
[data-testid="cart-icon"],
a[href="/cart"],
button[name="cart"],
.header-actions__action {
  -webkit-tap-highlight-color: transparent;
  outline: none;
}
[data-testid="cart-drawer-trigger"]:focus-visible,
[data-testid="cart-icon"]:focus-visible,
a[href="/cart"]:focus-visible,
.header-actions__action:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}
cart-icon .cart-bubble,
cart-icon .cart-bubble * {
  pointer-events: none;
}
cart-icon [data-count],
cart-icon .cartBubble,
cart-icon .cart-count-bubble {
  display: inline-flex !important;
  opacity: 1 !important;
}

/* Header cart fit fix: keep trigger inside its grid slot on phones/tablets */
@media screen and (max-width: 1025px) {
  .header .header__columns header-actions,
  .header__columns header-actions {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 0 !important;
    margin-left: auto !important;
    justify-self: end !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .header .header-actions__action.action__cart,
  .header .header-actions__action[href*="/cart"],
  .header .header__columns a[href*="/cart"],
  .header .header__columns button[data-testid="cart-drawer-trigger"],
  .header__columns [data-testid="cart-drawer-trigger"] {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin-right: 0 !important;
    justify-content: flex-end !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .header .header-actions__action.action__cart cart-icon,
  .header .header-actions__action[href*="/cart"] cart-icon,
  .header .header__columns a[href*="/cart"] cart-icon {
    width: 2ch !important;
    min-width: 2ch !important;
    max-width: 2ch !important;
    margin: 0 !important;
  }
}

/* ---------- 6) PRODUCT FORM – QUANTITY & BUTTONS ---------- */
.product-form-buttons {
  flex-direction: column !important;
  align-items: flex-start !important;
}
.product-form-buttons .quantity-selector {
  margin: 0 0 1rem 0 !important;
  width: auto !important;
}
.product-form-buttons > *:not(.quantity-selector, .quantity-rules, .quantity-label) {
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.quantity-selector {
  gap: 2px !important;
}
.quantity-selector .quantity-minus,
.quantity-selector .quantity-plus {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 2px !important;
}
.quantity-selector input[type="number"] {
  width: 32px !important;
  height: 22px !important;
  padding: 2px 4px !important;
  font-size: 13px !important;
  text-align: center !important;
}
.quantity-selector .svg-wrapper,
.quantity-selector .icon-plus {
  width: 12px !important;
  height: 12px !important;
}
.quantity-selector svg {
  width: 12px !important;
  height: 12px !important;
}
.product-form__quantity,
.product-form__input--quantity,
.product-form .quantity-selector,
.product-form [class*="quantity"] {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  width: auto !important;
  margin: 1rem 0 0 0 !important;
  gap: 4px !important;
}
.product-form__quantity {
  width: 100% !important;
}
.product-form .quantity-selector,
.product-form [class*="quantity"] {
  max-width: 130px !important;
}
.product-form .quantity-minus,
.product-form .quantity-plus {
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
}
.product-form input[name="quantity"] {
  width: 24px !important;
  height: 20px !important;
  padding: 0 !important;
  font-size: 13px !important;
  text-align: center !important;
}
.product-form__quantity,
.product-form__input--quantity,
.product-form .quantity-selector,
.product-form [class*="quantity"] {
  justify-content: center !important;
  margin: 1.5rem auto !important;
  width: 100% !important;
}
.product-form__submit,
button[name="add"],
.shopify-payment-button,
[class*="add-to-cart"] {
  display: flex !important;
  justify-content: center !important;
  margin: 1.5rem auto !important;
  width: 100% !important;
}
label:has(input[type="radio"][data-option-available="false"]) {
  opacity: 0.55 !important;
  cursor: not-allowed;
  pointer-events: none;
  text-decoration: line-through !important;
  text-decoration-thickness: 0.06em !important;
  text-decoration-color: currentColor;
  font-weight: 400 !important;
}

/* ---------- 7) PRODUCT FORM – CENTER ON MOBILE ---------- */
@media (max-width: 768px) {
  form[action*="/cart/add"] {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  form[action*="/cart/add"] .button,
  form[action*="/cart/add"] .shopify-payment-button {
    width: auto !important;
  }
  .shopify-payment-button {
    display: flex;
    justify-content: center;
  }
  span:has(> add-to-cart-component[ref="addToCartButtonContainer"]) {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
  add-to-cart-component[ref="addToCartButtonContainer"] {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
  add-to-cart-component[ref="addToCartButtonContainer"] .add-to-cart-button {
    margin: 0 auto !important;
  }
  .shopify-payment-button {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
}
@media (max-width: 768px) {
  .product-form__buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .product-form__submit,
  .shopify-payment-button {
    width: 90%;
    max-width: 420px;
  }
  .shopify-payment-button__button {
    width: 100% !important;
  }
}
@media screen and (max-width: 749px) {
  .product-form-buttons.spacing-style.product-form-buttons--stacked {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .product-form-buttons--stacked > * {
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .product-form-buttons--stacked add-to-cart-component,
  .product-form-buttons--stacked .accelerated-checkout-block {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }
}

/* ---------- 7b) EDITORIAL SLIDES (custom section) – HERO TEXT CLICKABLE ---------- */
.es__slide.is-hover .es__text--hero,
.es__slide.is-hover .es__text--hero a {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* ---------- 7c) THEME SLIDESHOW – TEXT BOX (if used elsewhere) ---------- */
.section slideshow-component .slide__content,
.shopify-section slideshow-component .slide__content {
  opacity: 1 !important;
  animation: none !important;
  position: relative !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}
.section slideshow-component .slide__content *,
.shopify-section slideshow-component .slide__content * {
  pointer-events: auto !important;
}
.section slideshow-component .slide__content a,
.shopify-section slideshow-component .slide__content a {
  pointer-events: auto !important;
  cursor: pointer !important;
}
/* Let clicks reach the text overlay: image container doesn't capture them */
.section slideshow-component .slide__image-container,
.shopify-section slideshow-component .slide__image-container {
  pointer-events: none !important;
}
/* Keep slide itself clickable when it's a link (whole banner) */
.section slideshow-component slideshow-slide a,
.shopify-section slideshow-component slideshow-slide a {
  position: relative !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

/* ---------- 7d) PRODUCT PAGE – ZOOM CURSOR (plus on image and in expand mode) ---------- */
.product-media-container--zoomable.product-media-container--image,
.product-media-container__zoom-button {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M11 5h2v14h-2zM5 11h14v2H5z' fill='black'/%3E%3C/svg%3E") 12 12, pointer !important;
}
.dialog-zoomed-gallery,
.dialog-zoomed-gallery .dialog-zoomed-gallery__close-button,
.dialog-zoomed-gallery .close-button,
.dialog-zoomed-gallery .lightbox-close,
.dialog-zoomed-gallery .product-media-container,
.dialog-zoomed-gallery .product-media-container--zoomable,
.dialog-zoomed-gallery .product-media-container--image,
.dialog-zoomed-gallery .dialog-thumbnails-list-container,
.dialog-zoomed-gallery .dialog-thumbnails-list__thumbnail,
modal-dialog .product-media-container,
[role="dialog"] .product-media-container {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cpath d='M11 5h2v14h-2zM5 11h14v2H5z' fill='black'/%3E%3C/svg%3E") 12 12, pointer !important;
}
/* Hide theme's center zoom control in expand mode */
.dialog-zoomed-gallery .product-media-container__zoom-button,
.dialog-zoomed-gallery .zoom-button,
.dialog-zoomed-gallery [class*="zoom-out"],
.dialog-zoomed-gallery .product-media-container button:not(.dialog-zoomed-gallery__close-button):not(.close-button),
modal-dialog .product-media-container__zoom-button,
modal-dialog .product-media-container button:not([aria-label*="close" i]),
[role="dialog"] .product-media-container__zoom-button,
[role="dialog"] .product-media-container [class*="zoom-out"],
[role="dialog"] .product-media-container button:not([aria-label*="close" i]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Force-hide center zoom control even when theme shows it on hover */
.dialog-zoomed-gallery .product-media-container:hover .product-media-container__zoom-button,
.dialog-zoomed-gallery .product-media-container:hover .zoom-button,
.dialog-zoomed-gallery .product-media-container:hover [class*="zoom-out"],
.dialog-zoomed-gallery .product-media-container:hover button:not(.dialog-zoomed-gallery__close-button):not(.close-button),
.dialog-zoomed-gallery .media-wrapper:hover .product-media-container__zoom-button,
.dialog-zoomed-gallery .media-wrapper:hover .zoom-button,
.dialog-zoomed-gallery .media-wrapper:hover [class*="zoom-out"],
.dialog-zoomed-gallery .media-wrapper:hover button:not(.dialog-zoomed-gallery__close-button):not(.close-button),
modal-dialog .product-media-container:hover .product-media-container__zoom-button,
modal-dialog .product-media-container:hover .zoom-button,
modal-dialog .product-media-container:hover [class*="zoom-out"],
modal-dialog .product-media-container:hover button:not([aria-label*="close" i]),
modal-dialog .media-wrapper:hover .product-media-container__zoom-button,
modal-dialog .media-wrapper:hover button:not([aria-label*="close" i]),
[role="dialog"] .product-media-container:hover .product-media-container__zoom-button,
[role="dialog"] .product-media-container:hover .zoom-button,
[role="dialog"] .product-media-container:hover [class*="zoom-out"],
[role="dialog"] .product-media-container:hover button:not([aria-label*="close" i]),
[role="dialog"] .media-wrapper:hover .product-media-container__zoom-button,
[role="dialog"] .media-wrapper:hover button:not([aria-label*="close" i]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* When dialog/modal is hovered, theme may show center control – force-hide it */
.dialog-zoomed-gallery:hover .product-media-container__zoom-button,
.dialog-zoomed-gallery:hover .zoom-button,
.dialog-zoomed-gallery:hover [class*="zoom-out"],
.dialog-zoomed-gallery:hover .product-media-container button:not(.dialog-zoomed-gallery__close-button):not(.close-button),
modal-dialog:hover .product-media-container__zoom-button,
modal-dialog:hover .zoom-button,
modal-dialog:hover .product-media-container button:not([aria-label*="close" i]),
[role="dialog"]:hover .product-media-container__zoom-button,
[role="dialog"]:hover .zoom-button,
[role="dialog"]:hover .product-media-container [class*="zoom-out"],
[role="dialog"]:hover .product-media-container button:not([aria-label*="close" i]) {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Horizon desktop zoom: center control lives inside drag-zoom-wrapper – hide it (image stays in .product-media) */
.dialog-zoomed-gallery .product-media-container .product-media__drag-zoom-wrapper button,
.dialog-zoomed-gallery .product-media-container drag-zoom-wrapper button,
.dialog-zoomed-gallery drag-zoom-wrapper button,
zoom-dialog .product-media-container drag-zoom-wrapper button,
zoom-dialog drag-zoom-wrapper button,
[role="dialog"] .product-media-container drag-zoom-wrapper button,
[role="dialog"] drag-zoom-wrapper button,
.dialog-zoomed-gallery .product-media__drag-zoom-wrapper button,
zoom-dialog .product-media__drag-zoom-wrapper button,
[role="dialog"] .product-media__drag-zoom-wrapper button,
/* Any zoom-out / minus control inside drag-zoom-wrapper (e.g. span with icon) */
.dialog-zoomed-gallery drag-zoom-wrapper [aria-label*="zoom out" i],
.dialog-zoomed-gallery drag-zoom-wrapper [class*="zoom-out"],
zoom-dialog drag-zoom-wrapper [aria-label*="zoom out" i],
zoom-dialog drag-zoom-wrapper [class*="zoom-out"],
[role="dialog"] drag-zoom-wrapper [aria-label*="zoom out" i],
[role="dialog"] drag-zoom-wrapper [class*="zoom-out"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Minus may be drawn via CSS ::before/::after (no DOM node) – hide in zoom dialog only */
.dialog-zoomed-gallery .product-media-container::before,
.dialog-zoomed-gallery .product-media-container::after,
.dialog-zoomed-gallery drag-zoom-wrapper::before,
.dialog-zoomed-gallery drag-zoom-wrapper::after,
.dialog-zoomed-gallery .product-media__drag-zoom-wrapper::before,
.dialog-zoomed-gallery .product-media__drag-zoom-wrapper::after,
zoom-dialog .product-media-container::before,
zoom-dialog .product-media-container::after,
zoom-dialog drag-zoom-wrapper::before,
zoom-dialog drag-zoom-wrapper::after,
[role="dialog"] .product-media-container::before,
[role="dialog"] .product-media-container::after,
[role="dialog"] drag-zoom-wrapper::before,
[role="dialog"] drag-zoom-wrapper::after,
/* One level deeper: .product-media inside wrapper (minus may be on this) */
.dialog-zoomed-gallery .product-media-container .product-media::before,
.dialog-zoomed-gallery .product-media-container .product-media::after,
zoom-dialog .product-media-container .product-media::before,
zoom-dialog .product-media-container .product-media::after,
[role="dialog"] .product-media-container .product-media::before,
[role="dialog"] .product-media-container .product-media::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  content: none !important;
  pointer-events: none !important;
}

/* Override theme's SPOT FIX minus (exact selector so it wins over cached/duplicate theme CSS) */
.dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image::before,
.dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image::after,
.dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image:hover::before,
.dialog-zoomed-gallery .product-media-container--zoomable.product-media-container--image:hover::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  content: none !important;
  pointer-events: none !important;
}

/* ---------- 8) PRODUCT MEDIA / SLIDESHOW ---------- */
.section slideshow-component img:not(.product-grid slideshow-component img, .product-card slideshow-component img),
.shopify-section slideshow-component img:not(.product-grid slideshow-component img, .product-card slideshow-component img) {
  object-fit: contain !important;
  height: auto !important;
  width: 100% !important;
}
.section slideshow-component:not(.product-grid slideshow-component, .product-card slideshow-component),
.shopify-section slideshow-component:not(.product-grid slideshow-component, .product-card slideshow-component) {
  height: auto !important;
  min-height: 500px !important;
  background: transparent !important;
}
@media screen and (max-width: 749px) {
  .section slideshow-component:not(.product-grid slideshow-component, .product-card slideshow-component),
  .shopify-section slideshow-component:not(.product-grid slideshow-component, .product-card slideshow-component) {
    min-height: 300px !important;
  }
}
.slideshow__media-item {
  height: auto !important;
}
@media screen and (max-width: 749px) {
  /* Editorial Slides: contain horizontal overflow (helps twitch + prevents off-page scroll) */
  .es,
  .es__slide,
  .es__media,
  .es__media--full {
    overflow-x: clip !important;
    max-width: 100vw;
  }
  /* Editorial Slides ALL large images: fix iOS scroll glitch (split, double, feature, full) */
  .es__media,
  .es__media--full,
  .es__media--feature-left,
  .es__media--feature-right,
  .es__media--feature-small {
    overflow: hidden !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    contain: layout paint;
  }
  .es__media--full,
  .es__media--feature-left,
  .es__media--feature-right {
    height: 60svh !important;
    min-height: 60svh !important;
  }
  /* Remove scale transform from all images – causes jank during scroll */
  .es__img {
    transform: none !important;
    -webkit-transform: none !important;
    will-change: auto !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  /* Homepage: hero – use svh so height stays fixed when address bar hides (prevents enlarge-on-scroll) */
  .template-index .es__media--full {
    height: calc(100svh + var(--header-height, 0px)) !important;
    min-height: calc(100svh + var(--header-height, 0px)) !important;
  }
  /* Hero banner (slideshow): prevent scroll twitch and overscroll stretch/enlarge on iOS */
  .section:has(slideshow-component):not(.product-grid .section):not(.card-wrapper .section),
  .shopify-section:has(slideshow-component):first-of-type,
  .section:has(.image-banner),
  main > .shopify-section:first-child:not(:has(.es)) {
    overflow: hidden !important;
    contain: layout paint;
  }
  /* Lock theme slideshow hero height – svh prevents resize when address bar hides */
  main > .shopify-section:first-child:has(slideshow-component) slideshow-component,
  .shopify-section:has(slideshow-component):first-of-type slideshow-component,
  main > .shopify-section:first-child:has(.image-banner) .image-banner,
  .section:has(.image-banner) .image-banner {
    height: 70svh !important;
    min-height: 70svh !important;
  }
  .section slideshow-component .slide__media,
  .section slideshow-component .slideshow__media,
  .section slideshow-component .slide__image-container,
  .section slideshow-component img,
  .shopify-section:first-of-type slideshow-component .slide__media,
  .shopify-section:first-of-type slideshow-component img,
  .image-banner__media,
  .image-banner img {
    overflow: hidden !important;
    will-change: auto !important;
  }
  /* Mobile hero: landscape image crops to portrait – control which part shows via --hero-focal-mobile */
  .section slideshow-component .slide__media img,
  .section slideshow-component .slide__image-container img,
  .shopify-section:first-of-type slideshow-component img,
  .image-banner__media img,
  .image-banner img,
  .es__media--full img,
  .es__media--feature-left img,
  .es__media--feature-right img,
  .es__img {
    object-fit: cover !important;
    object-position: var(--hero-focal-mobile, center 25%) !important;
  }
  slideshow-component,
  .slideshow {
    min-height: 300px !important;
  }
  .product-media-container .product-media {
    padding-bottom: 0 !important;
  }
  .product-media-container .product-media img {
    position: relative !important;
    height: auto !important;
    width: 100% !important;
  }
  slideshow-slide {
    height: auto !important;
  }
  .product-media-container {
    aspect-ratio: unset !important;
  }
  .product-media {
    height: auto !important;
    padding-bottom: 0 !important;
  }
  .product-media::before {
    display: none !important;
  }
  .product-media img.product-media__image {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }
  .card-gallery {
    --ratio-portrait: auto !important;
    --ratio-square: auto !important;
    --ratio-landscape: auto !important;
  }
  .card-gallery .product-media {
    aspect-ratio: auto !important;
    height: auto !important;
  }
  .card-gallery .product-media::before {
    content: none !important;
  }
  .card-gallery .card__content,
  .card-gallery .card-information {
    margin-top: 0 !important;
    padding-top: 4px !important;
  }
  slideshow-component,
  .product-media-container {
    margin-bottom: 0 !important;
  }
  slideshow-component {
    min-height: auto !important;
    height: auto !important;
  }
  slideshow-container {
    min-height: auto !important;
  }
}

/* ---------- 9) PRODUCT CARDS ---------- */
/* Mobile shop/collection: strictly first image only – no auto-change to 2nd, no hover preview */
@media (max-width: 749px) {
  /* Reset slideshow/scroller position to first slide */
  .product-grid .product-card slideshow-component [class*="slider"],
  .product-grid .product-card slideshow-component [class*="track"],
  .product-grid .product-card slideshow-component [class*="slides"],
  .product-grid .product-card slideshow-container,
  .product-grid .product-card slideshow-slides,
  .product-grid .card-wrapper slideshow-component [class*="slider"],
  .product-grid .card-wrapper slideshow-component [class*="track"],
  .product-grid .card-wrapper slideshow-component [class*="slides"],
  .product-grid .product-card .card-gallery [class*="slider"],
  .product-grid .product-card .card-gallery [class*="track"],
  .product-grid .product-card .card-gallery [class*="slides"],
  .resource-list .product-card slideshow-slides,
  .resource-list .card-gallery [class*="track"] {
    transform: translateX(0) !important;
  }
  .product-grid .product-card slideshow-component,
  .product-grid .card-wrapper slideshow-component,
  .resource-list .product-card slideshow-component,
  body.template-collection .product-card slideshow-component,
  body[class*="template-collection"] .product-card slideshow-component {
    --current-slide: 0 !important;
    --slides-per-view: 1 !important;
  }
  /* Show only first slide; hide 2nd, 3rd, etc. so only first image is ever visible */
  .product-grid .product-card slideshow-slide:not(:first-child),
  .product-grid .card-wrapper slideshow-slide:not(:first-child),
  .resource-list .product-card slideshow-slide:not(:first-child),
  .product-grid .product-card .card-gallery slideshow-slide:not(:first-child) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  /* Ensure first slide is visible */
  .product-grid .product-card .product-media:first-child,
  .product-grid .product-card slideshow-slide:first-child,
  .product-grid .card-wrapper .product-media:first-child,
  .product-grid .card-wrapper slideshow-slide:first-child,
  .resource-list .product-card slideshow-slide:first-child {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
  }
  /* Hide secondary/hover image so only primary (first) shows */
  .product-grid .resource-card__image--secondary,
  .resource-list .resource-card__image--secondary,
  .product-grid .product-card .resource-card__image--secondary {
    display: none !important;
  }
}
.product-card__content {
  gap: 0 !important;
  --product-card-gap: 0 !important;
}
.product-card__content > * {
  margin: 0 !important;
}
.card-gallery {
  margin-bottom: 0 !important;
}
.card-gallery + * {
  margin-top: 0 !important;
}
.card-wrapper .card {
  height: auto;
  min-height: unset;
}
.card__inner {
  padding-bottom: 0.5rem;
}
.card__media {
  padding-bottom: 50% !important;
}
.card__content {
  padding: 0.5rem;
}
.card__information {
  padding: 0.5rem 0;
}
.card__heading {
  font-size: 1rem;
  line-height: 1.2;
}

/* ---------- 10) LOOKBOOK PAGE ---------- */
.page-lookbook .shopify-section .section-background {
  background-color: #F6F3EC !important;
}
.page-lookbook,
.page-lookbook body,
.page-lookbook #MainContent,
.page-lookbook .content-for-layout,
.page-lookbook .shopify-section,
.page-lookbook .shopify-section .section,
.page-lookbook .shopify-section .section-background,
.page-lookbook .shopify-section .section-content-wrapper,
.page-lookbook .group-block,
.page-lookbook .group-block-content {
  background-color: #F6F3EC !important;
}
main[data-template="page.lookbook"],
main[data-template="page.lookbook"] .shopify-section,
main[data-template="page.lookbook"] .section,
main[data-template="page.lookbook"] .section-background,
main[data-template="page.lookbook"] .section-content-wrapper,
main[data-template="page.lookbook"] .group-block,
main[data-template="page.lookbook"] .group-block-content {
  background-color: #F6F3EC !important;
}

/* ---------- 11) FOOTER – DESKTOP (full width, wrap instead of horizontal scroll) ---------- */
@media (min-width: 750px) {
  /* Fix menu.liquid: details-content gets margin-block-start from .menu:not(:has(.menu__heading--empty))
     – zero it in footer so the list isn't pushed down */
  footer .menu .details-content,
  .footer .menu .details-content {
    margin-block-start: 0 !important;
  }
  /* Force equal top/bottom padding on the menu details block */
  footer .menu .menu__details,
  .footer .menu .menu__details {
    padding-block-start: var(--padding-sm, 1rem) !important;
    padding-block-end: var(--padding-sm, 1rem) !important;
  }
  /* Ensure empty heading takes no space (menu.liquid uses menu__heading--empty when heading blank) */
  footer .menu summary.menu__heading--empty,
  .footer .menu summary.menu__heading--empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  footer .menu__details > .details-content,
  .footer .menu__details > .details-content {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding-block: 0 !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled,
  .footer .menu__details > .details-content > ul.list-unstyled,
  footer .footer__menu ul,
  .footer .footer__menu ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-evenly !important;
    align-items: center !important;
    gap: 0.5rem 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-block: 0 !important;
  }
  /* Remove extra line-height space below uppercase text */
  footer .menu__details .menu__item a,
  .footer .menu__details .menu__item a,
  footer .footer__menu ul li a,
  .footer .footer__menu ul li a {
    line-height: 1 !important;
  }
  /* Override menu.liquid: menu__item + menu__item adds margin-block-start – use gap instead in footer */
  footer .menu .menu__item,
  .footer .menu .menu__item {
    margin-block-start: 0 !important;
  }
  /* Footer block containing menu – ensure it centers content */
  footer .footer-block--menu,
  .footer .footer-block--menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled > li,
  .footer .menu__details > .details-content > ul.list-unstyled > li,
  footer .footer__menu ul li {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled > li > a,
  .footer .menu__details > .details-content > ul.list-unstyled > li > a,
  footer .footer__menu ul li a {
    white-space: nowrap !important;
  }
}
/* Prevent horizontal page scroll – apply to main/footer only (NOT html/body – that breaks sticky header) */
main,
#MainContent,
footer,
.footer {
  overflow-x: clip;
}

/* ---------- 11a) SIZE GUIDE TABLE ---------- */
.size-guide__table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.size-guide__table {
  width: 100%;
  min-width: 280px;
  border-collapse: collapse;
  font-size: 0.875rem;
}
.size-guide__table th,
.size-guide__table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid rgb(var(--color-foreground-rgb) / 0.15);
}
.size-guide__table th {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* ---------- 11b) ACCORDION – plus icon fixed at right, no shift when opened ---------- */
.accordion summary,
.accordion .details__header,
accordion-custom summary,
accordion-custom .details summary,
details summary,
.accordion [class*="details"] summary {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0.5rem !important;
}
.accordion .icon-plus,
.accordion--plus .icon-plus,
accordion-custom .icon-plus,
details .icon-plus,
summary .icon-plus,
summary [class*="icon-plus"] {
  flex-shrink: 0 !important;
  margin-inline-start: 0 !important;
}
.accordion .details-content,
accordion-custom .details-content,
details .details-content {
  min-width: 0 !important;
  overflow-wrap: break-word !important;
}

/* ---------- 11b) FOOTER – MOBILE (column-major order, centered) ---------- */
@media (max-width: 749px) {
  footer .footer-block--menu,
  .footer .footer-block--menu,
  footer .menu__details,
  .footer .menu__details {
    display: flex !important;
    justify-content: center !important;
  }
  footer .menu__details > .details-content,
  .footer .menu__details > .details-content {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled,
  .footer .menu__details > .details-content > ul.list-unstyled {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: repeat(4, 1fr) !important;
    grid-template-rows: repeat(3, auto) !important;
    gap: 0.25rem 0.5rem !important;
    justify-items: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0.5rem 16px !important;
    overflow: hidden !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled > li.menu__item,
  .footer .menu__details > .details-content > ul.list-unstyled > li.menu__item {
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: 100% !important;
  }
  footer .menu__details > .details-content > ul.list-unstyled > li.menu__item > a,
  .footer .menu__details > .details-content > ul.list-unstyled > li.menu__item > a {
    display: block !important;
    width: 100% !important;
    padding: 6px 4px !important;
    font-size: 0.8rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
    text-align: center !important;
  }
}

/* ---------- 12) MOBILE – CART MARGIN, TITLES, NEWSLETTER ---------- */
@media (max-width: 768px) {
  .header cart-icon,
  .header .cart-icon,
  .header a[href*="/cart"],
  .header__columns a[href*="/cart"] {
    margin-right: 0 !important;
  }
  .cart-bubble,
  .cart-count-bubble,
  .cartBubble,
  [ref="cartBubble"] {
    right: 10px !important;
  }
}
@media (max-width: 768px) {
  body.template-collection .card__heading,
  body.template-collection .card__heading a,
  body.template-collection .product-card__title,
  body.template-collection .product-title {
    font-size: calc(1em - 2px) !important;
  }
  body.template-collection .card__heading {
    line-height: 1.2;
  }
}
@media (max-width: 768px) {
  body[class*="template-collection"] .card__heading,
  body[class*="template-collection"] .card__heading a,
  body[class*="template-collection"] .card-information__text,
  body[class*="template-collection"] .card-information__text a,
  body[class*="template-collection"] .product-card__title,
  body[class*="template-collection"] .product-card__title a,
  body[class*="template-collection"] .product-title,
  body[class*="template-collection"] .product-title a,
  body[class*="template-search"] .card__heading,
  body[class*="template-search"] .card__heading a,
  body[class*="template-list-collections"] .card__heading,
  body[class*="template-list-collections"] .card__heading a {
    font-size: calc(1em - 2px) !important;
  }
}
@media (max-width: 768px) {
  .footer .newsletter,
  .footer .newsletter__wrapper,
  .footer .newsletter__content,
  .footer .newsletter__text,
  .footer .newsletter__title,
  .footer .newsletter__heading,
  .footer .footer-block--newsletter,
  .footer .footer__newsletter {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-content: center !important;
  }
  .footer .newsletter-form,
  .footer .newsletter-form__field-wrapper,
  .footer .newsletter-form__inner,
  .footer .newsletter__form,
  .footer form {
    justify-content: center !important;
    text-align: center !important;
  }
  .footer .field,
  .footer .field__input,
  .footer .newsletter-form__field,
  .footer input[type="email"] {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ---------- EMAIL SIGNUP SECTION – compact height, small padding ---------- */
main .shopify-section:has(.email-signup),
main .shopify-section:has(.newsletter-form),
main .shopify-section:has([id*="newsletter"]),
.shopify-section:has(>:not(footer) .email-signup),
.shopify-section:has(>:not(footer) .newsletter-form) {
  padding-block-start: 24px !important;
  padding-block-end: 24px !important;
}
main .shopify-section:has(.email-signup) .section,
main .shopify-section:has(.newsletter-form) .section,
.shopify-section:has(>:not(footer) .email-signup) .section {
  padding-block-start: 24px !important;
  padding-block-end: 24px !important;
}

/* ---------- 12b) VARIANT PICKER – REMOVE BLUE CIRCLES ---------- */
/* Hide the native radio circle; the label provides the visible style */
.variant-picker input[type="radio"],
variant-picker input[type="radio"],
.product-form .variant-picker input[type="radio"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
.variant-picker .variant-option__button-label:has(:focus-visible),
variant-picker .variant-option__button-label:has(:focus-visible) {
  outline: var(--focus-outline-width) solid var(--color-foreground) !important;
  outline-offset: var(--focus-outline-offset) !important;
}

/* ---------- 13) VARIANT PICKER – SELECTED VISIBLE ---------- */
@media (min-width: 769px) {
  .variant-picker input:checked + label,
  variant-picker input:checked + label,
  .product-form__input input:checked + label {
    color: var(--color-foreground) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-foreground) !important;
  }
  .variant-picker input:checked + label:hover,
  variant-picker input:checked + label:hover,
  .product-form__input input:checked + label:hover {
    color: var(--color-foreground) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-foreground) !important;
  }
  .variant-picker [aria-checked="true"],
  .variant-picker [aria-selected="true"],
  variant-picker [aria-checked="true"],
  variant-picker [aria-selected="true"] {
    color: var(--color-foreground) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-foreground) !important;
  }
  .variant-picker [aria-checked="true"]:hover,
  .variant-picker [aria-selected="true"]:hover,
  variant-picker [aria-checked="true"]:hover,
  variant-picker [aria-selected="true"]:hover {
    color: var(--color-foreground) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-foreground) !important;
  }
}
.variant-picker input[data-current-checked="true"],
variant-picker input[data-current-checked="true"],
.product-form__input input[data-current-checked="true"] {
  opacity: 1 !important;
}
.variant-picker label:has(input[data-current-checked="true"]:not([data-option-available="false"])),
variant-picker label:has(input[data-current-checked="true"]:not([data-option-available="false"])),
.product-form__input label:has(input[data-current-checked="true"]:not([data-option-available="false"])) {
  color: var(--color-foreground) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--color-foreground) !important;
  text-decoration: underline !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
@media (hover: hover) {
  .variant-picker label:has(input[data-current-checked="true"]:not([data-option-available="false"])):hover,
  variant-picker label:has(input[data-current-checked="true"]:not([data-option-available="false"])):hover,
  .product-form__input label:has(input[data-current-checked="true"]:not([data-option-available="false"])):hover {
    color: var(--color-foreground) !important;
    opacity: 1 !important;
    -webkit-text-fill-color: var(--color-foreground) !important;
    text-decoration: underline !important;
  }
}

/* ---------- 13b) SOLD-OUT VARIANTS – line-through even when selected ---------- */
/* When every variant is sold out, the selected one was showing bold/underlined; keep it crossed out */
.variant-picker label:has(input[data-option-available="false"]),
variant-picker label:has(input[data-option-available="false"]),
.product-form__input label:has(input[data-option-available="false"]),
label:has(input[type="radio"][data-option-available="false"]) {
  text-decoration: line-through !important;
  text-decoration-thickness: 0.06em !important;
  text-decoration-color: currentColor !important;
  text-decoration-skip-ink: none !important;
  opacity: 0.55 !important;
  -webkit-text-fill-color: currentColor !important;
  font-weight: 400 !important;
}
.variant-picker label:has(input[data-current-checked="true"][data-option-available="false"]),
variant-picker label:has(input[data-current-checked="true"][data-option-available="false"]),
.product-form__input label:has(input[data-current-checked="true"][data-option-available="false"]) {
  text-decoration: line-through !important;
  text-decoration-thickness: 0.06em !important;
  text-underline-offset: unset !important;
  opacity: 0.55 !important;
  font-weight: 400 !important;
}
/* When product is sold out, selected size gets line-through not underline/bold */
.product-form:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
.product-form:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
.product-form:has([disabled]) .variant-picker label:has(input[data-current-checked="true"]),
.product-form:has([disabled]) .product-form__input label:has(input[data-current-checked="true"]),
form[action*="/cart/add"]:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
form[action*="/cart/add"]:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
form[action*="/cart/add"]:has(button[disabled]) label:has(input[data-current-checked="true"]),
.product-form:has(.sold-out) .variant-picker label:has(input[data-current-checked="true"]),
.product-form:has(.sold-out) .product-form__input label:has(input[data-current-checked="true"]),
form:has(add-to-cart-component button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
form:has(add-to-cart-component button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
form:has(add-to-cart-component [disabled]) .variant-picker label:has(input[data-current-checked="true"]),
form:has(add-to-cart-component [disabled]) .product-form__input label:has(input[data-current-checked="true"]),
/* Also target :checked (theme may use native checked state) */
.product-form:has(button[disabled]) .variant-picker input:checked + label,
.product-form:has(button[disabled]) .product-form__input input:checked + label,
form[action*="/cart/add"]:has(button[disabled]) .variant-picker input:checked + label,
form[action*="/cart/add"]:has(button[disabled]) .product-form__input input:checked + label,
form[action*="/cart/add"]:has(button[disabled]) .variant-picker label:has(input:checked),
form[action*="/cart/add"]:has(button[disabled]) .product-form__input label:has(input:checked) {
  text-decoration: line-through !important;
  text-decoration-thickness: 0.06em !important;
  text-underline-offset: unset !important;
  opacity: 0.55 !important;
  font-weight: 400 !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ---------- 14) LIGHTBOX & EDITORIAL ---------- */
html.olmg-scroll-lock,
html.olmg-scroll-lock body {
  overflow: hidden !important;
  height: 100% !important;
}
/* Prevent hidden lightbox close control from stealing header taps on mobile/tablet.
   Re-enable it only while the lightbox is actually open. */
@media screen and (max-width: 1025px) {
  .olmg__lb-close {
    pointer-events: none !important;
  }
  html.olmg-scroll-lock .olmg__lb-close {
    pointer-events: auto !important;
  }
}
@media (max-width: 900px) {
  .es__text,
  .es__text--below,
  .es__feature-text {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
  }
}

/* ---------- 15) iOS INPUT ZOOM (from base custom) ---------- */
@media screen and (max-width: 1200px) {
  input,
  textarea,
  select,
  .paragraph.paragraph input,
  .paragraph.paragraph textarea,
  .paragraph.paragraph select,
  .h1.h1 input,
  .h1.h1 textarea,
  .h1.h1 select,
  .h2.h2 input,
  .h2.h2 textarea,
  .h2.h2 select,
  .h3.h3 input,
  .h3.h3 textarea,
  .h3.h3 select,
  .h4.h4 input,
  .h4.h4 textarea,
  .h4.h4 select,
  .h5.h5 input,
  .h5.h5 textarea,
  .h5.h5 select,
  .h6.h6 input,
  .h6.h6 textarea,
  .h6.h6 select {
    font-size: max(1rem, 100%);
  }
}
.product-form__input label {
  font-size: 14px;
}

/* ---------- 16) BLOG LISTING – UNIFORM GRID + IMAGE/TITLE ONLY ---------- */
/* Force uniform grid – no featured/large first items */
.blog-posts .blog-posts-container,
.template-blog .blog-posts-container,
[class*="blog-posts"] .blog-posts-container {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
}
.blog-posts .blog-post-item,
.template-blog .blog-post-item,
[class*="blog-posts"] .blog-post-item {
  grid-column: span 1 !important;
  border: none !important;
  padding: 0 !important;
}
@media screen and (max-width: 989px) {
  .blog-posts .blog-posts-container,
  .template-blog .blog-posts-container,
  [class*="blog-posts"] .blog-posts-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media screen and (max-width: 749px) {
  .blog-posts .blog-posts-container,
  .template-blog .blog-posts-container,
  [class*="blog-posts"] .blog-posts-container {
    grid-template-columns: 1fr !important;
  }
}

/* Blog images – same size (square), object-fit cover for uniform look */
.blog-posts .blog-post-item .blog-post-card__image-container,
.blog-posts .blog-post-item [class*="image-container"],
.blog-posts .blog-post-item .card__media,
.blog-posts .blog-post-item .article-card__image,
.template-blog .blog-post-item .blog-post-card__image-container,
.template-blog .blog-post-item [class*="image-container"],
.template-blog .blog-post-item .card__media,
.template-blog .blog-post-item .article-card__image {
  aspect-ratio: 1 !important;
  width: 100% !important;
  overflow: hidden !important;
}
.blog-posts .blog-post-item .blog-post-card__image-container img,
.blog-posts .blog-post-item [class*="image-container"] img,
.blog-posts .blog-post-item .card__media img,
.blog-posts .blog-post-item .article-card__image img,
.template-blog .blog-post-item .blog-post-card__image-container img,
.template-blog .blog-post-item [class*="image-container"] img,
.template-blog .blog-post-item .card__media img,
.template-blog .blog-post-item .article-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Hide excerpt, date, and "Read more" – only image + title on listing */
/* Avoid hiding .rte – it often contains the title too */
.blog-posts .blog-post-item .blog-post-card__excerpt,
.blog-posts .blog-post-item .article-card__excerpt,
.blog-posts .blog-post-item .card__excerpt,
.blog-posts .blog-post-item time,
.blog-posts .blog-post-item .article__date,
.blog-posts .blog-post-item .blog-post-card__date,
.blog-posts .blog-post-item [class*="date"]:not([class*="update"]),
.blog-posts .blog-post-item a[href*="read-more"],
.blog-posts .blog-post-item .read-more,
.blog-posts .blog-post-item .article-card__link--overlay,
.blog-posts .blog-post-item .card__heading ~ a,
.blog-posts .blog-post-item .card__title ~ a,
.blog-posts .blog-post-item .blog-post-card__title ~ a,
.blog-posts .blog-post-item a.link--text,
.blog-posts .blog-post-item a[aria-label^="Read more"],
.blog-posts .blog-post-item .card__content .rte + a,
.blog-posts .blog-post-item .card__content p + a,
.template-blog .blog-post-item .blog-post-card__excerpt,
.template-blog .blog-post-item .article-card__excerpt,
.template-blog .blog-post-item time,
.template-blog .blog-post-item [class*="date"]:not([class*="update"]),
.template-blog .blog-post-item a[href*="read-more"],
.template-blog .blog-post-item .read-more,
.template-blog .blog-post-item .card__heading ~ a,
.template-blog .blog-post-item .card__title ~ a,
.template-blog .blog-post-item .blog-post-card__title ~ a,
.template-blog .blog-post-item a.link--text,
.template-blog .blog-post-item a[aria-label^="Read more"],
.template-blog .blog-post-item .card__content .rte + a,
.template-blog .blog-post-item .card__content p + a,
/* Hide excerpt paragraphs only – preserve card__heading, card__title, h2, h3 */
.blog-posts .blog-post-item .card__content > .rte p:not(:first-child),
.blog-posts .blog-post-item .card__content > p.article-excerpt,
.blog-posts .blog-post-item .blog-post-card__content > .rte p:not(:first-child),
.blog-posts .blog-post-item .blog-post-card__content > p.article-excerpt,
.template-blog .blog-post-item .card__content > .rte p:not(:first-child),
.template-blog .blog-post-item .blog-post-card__content > p.article-excerpt,
/* Hide all card content except title (details + description/excerpt) */
.blog-posts .blog-post-item .blog-post-card__content > *:not(:first-child),
.template-blog .blog-post-item .blog-post-card__content > *:not(:first-child) {
  display: none !important;
}
.blog-posts .blog-post-item .card__heading,
.blog-posts .blog-post-item .card__title,
.blog-posts .blog-post-item .blog-post-card__title,
.blog-posts .blog-post-item .card__content h2,
.blog-posts .blog-post-item .card__content h3,
.blog-posts .blog-post-item [class*="title"],
.blog-posts .blog-post-item [class*="heading"]:not([class*="subheading"]),
.template-blog .blog-post-item .card__heading,
.template-blog .blog-post-item .card__title,
.template-blog .blog-post-item .blog-post-card__title,
.template-blog .blog-post-item .card__content h2,
.template-blog .blog-post-item .card__content h3,
.template-blog .blog-post-item [class*="title"],
.template-blog .blog-post-item [class*="heading"]:not([class*="subheading"]) {
  display: block !important;
  visibility: visible !important;
}

/* ---------- 16a) BACK BUTTON – vertical align with logo/menu ---------- */
.back-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  transform: translateY(-2px) !important;
}

/* ---------- 17) BOXED FILTER BUTTONS ---------- */
.collection-filter-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  padding: 0 1rem;
}
.collection-filter-btn {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  color: rgb(var(--color-foreground));
  background: rgb(var(--color-foreground-rgb) / 0.06);
  border: 1px solid rgb(var(--color-foreground-rgb) / 0.2);
  border-radius: 2px;
  transition: background 0.2s ease, border-color 0.2s ease;
  white-space: nowrap;
}
.collection-filter-btn:hover {
  background: rgb(var(--color-foreground-rgb) / 0.1);
  border-color: rgb(var(--color-foreground-rgb) / 0.35);
}
.collection-filter-btn.is-active,
.collection-filter-btn--active,
a.collection-filter-btn[href=""],
a.collection-filter-btn.active {
  background: rgb(var(--color-foreground-rgb) / 0.12);
  border-color: rgb(var(--color-foreground-rgb) / 0.3);
}
@media (max-width: 749px) {
  .collection-filter-buttons {
    gap: 0.375rem;
    margin-bottom: 1.5rem;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .collection-filter-buttons::-webkit-scrollbar {
    display: none;
  }
  .collection-filter-btn {
    flex-shrink: 0;
    padding: 0.4rem 0.75rem;
    font-size: 0.7rem;
  }
}

/* ---------- 17b) PAGINATOR – hide hover tooltip, straight corners ---------- */
/* To remove the native title tooltip, add paginator-no-hover.js to theme.liquid.
   Note: The browser status bar (URL shown in bottom-left) cannot be hidden. */
.pagination [data-tooltip],
.pagination .tooltip,
.pagination [role="tooltip"] {
  display: none !important;
}
/* Straight corners on pagination number boxes */
.pagination a,
.pagination span,
.pagination__item a,
.pagination__item span,
.pagination__link,
.paginate a,
.paginate span {
  border-radius: 0 !important;
}

/* ---------- 18) PRODUCT PAGE – SINGLE SCROLL (images first, then details with images) ---------- */
/* One scroll anywhere: first cycles through image gallery, then as images end the right side
   (details) begins scrolling with them. Vertical stack so scroll order = media then details. */
@media (min-width: 750px) {
  /* Stack media above details so scroll order is: images first, then details */
  .product-information:has(.product-information__media):has(.product-details),
  .product:has(.product-information__media):has(.product-details),
  .product__content:has(.product-information__media):has(.product-details) {
    display: flex;
    flex-direction: column;
  }

  /* Media: natural height (all images stacked), no overflow – page scroll cycles through */
  .product-information__media {
    flex-shrink: 0;
    overflow: visible;
  }

  /* Details: natural height, no overflow – page scroll handles accordions */
  .product-details {
    flex-shrink: 0;
    overflow: visible;
  }
}

/* ---------- 19) SOLD-OUT VARIANT – force line-through, no bold/underline (highest priority) ---------- */
/* Class added by horizon-fixes.js when add button is disabled/sold out */
body .product-form--sold-out .variant-picker label:has(input[data-current-checked="true"]),
body .product-form--sold-out .variant-picker label:has(input:checked),
body .product-form--sold-out .product-form__input label:has(input[data-current-checked="true"]),
body .product-form--sold-out .product-form__input label:has(input:checked),
body .product-form--sold-out .variant-picker input:checked + label,
body .product-form--sold-out .product-form__input input:checked + label,
body .product-form:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
body .product-form:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
body .product-form:has([disabled]) .variant-picker label:has(input[data-current-checked="true"]),
body .product-form:has([disabled]) .product-form__input label:has(input[data-current-checked="true"]),
body form[action*="/cart/add"]:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
body form[action*="/cart/add"]:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
body form[action*="/cart/add"]:has(button[disabled]) label:has(input[data-current-checked="true"]),
body form[action*="/cart/add"]:has(button[disabled]) .variant-picker input:checked + label,
body form[action*="/cart/add"]:has(button[disabled]) .product-form__input input:checked + label,
body form[action*="/cart/add"]:has(button[disabled]) label:has(input:checked),
body .shopify-section:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
body .shopify-section:has(button[disabled]) .variant-picker label:has(input:checked),
body .shopify-section:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]),
body .shopify-section:has(button[disabled]) .product-form__input label:has(input:checked),
body main:has(button[disabled]) .variant-picker label:has(input[data-current-checked="true"]),
body main:has(button[disabled]) .product-form__input label:has(input[data-current-checked="true"]) {
  text-decoration: line-through !important;
  text-decoration-thickness: 0.06em !important;
  text-underline-offset: unset !important;
  text-decoration-skip-ink: none !important;
  opacity: 0.55 !important;
  font-weight: 400 !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ---------- 20) FINAL iPAD HEADER WIDTH/TOP LOCK (shop/product templates) ---------- */
/* Last-resort override block to beat theme page-width styles on collection/product pages. */
@media screen and (min-width: 750px) and (max-width: 1025px) {
  body[class*="template-collection"] header.shopify-section.shopify-section-group-header-group.header-section,
  body[class*="template-product"] header.shopify-section.shopify-section-group-header-group.header-section,
  body[class*="template-search"] header.shopify-section.shopify-section-group-header-group.header-section,
  body[class*="template-collection"] #shopify-section-header,
  body[class*="template-product"] #shopify-section-header,
  body[class*="template-search"] #shopify-section-header {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    z-index: var(--layer-sticky, 10) !important;
  }

  body[class*="template-collection"] header.shopify-section.shopify-section-group-header-group.header-section > header-component.header,
  body[class*="template-product"] header.shopify-section.shopify-section-group-header-group.header-section > header-component.header,
  body[class*="template-search"] header.shopify-section.shopify-section-group-header-group.header-section > header-component.header,
  body[class*="template-collection"] #header-component,
  body[class*="template-product"] #header-component,
  body[class*="template-search"] #header-component {
    display: block !important;
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    transform: none !important;
    box-sizing: border-box !important;
  }

  body[class*="template-collection"] #header-component .header__row,
  body[class*="template-product"] #header-component .header__row,
  body[class*="template-search"] #header-component .header__row,
  body[class*="template-collection"] #header-component .header__row.header__row--top,
  body[class*="template-product"] #header-component .header__row.header__row--top,
  body[class*="template-search"] #header-component .header__row.header__row--top,
  body[class*="template-collection"] #header-component .header__columns,
  body[class*="template-product"] #header-component .header__columns,
  body[class*="template-search"] #header-component .header__columns {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    padding-left: env(safe-area-inset-left) !important;
    padding-right: env(safe-area-inset-right) !important;
    top: 0 !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
  }
}

/* iPad portrait-size devices: force-hide back arrow */
@media screen and (min-width: 750px) and (max-width: 1025px) and (orientation: portrait) {
  .back-button,
  a.back-button,
  button.back-button,
  .header .back-button,
  .header a.back-button,
  .header button.back-button,
  .header [aria-label*="back" i],
  .header [aria-label*="go back" i],
  .header [data-testid*="back" i] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* iPad portrait-size devices: force cart visibility (digit only) */
@media screen and (min-width: 750px) and (max-width: 1025px) and (orientation: portrait) {
  .header header-actions,
  .header .header-actions__action.action__cart,
  .header .header-actions__action[href*="/cart"],
  .header .header__columns a[href*="/cart"],
  .header .header__columns button[data-testid="cart-drawer-trigger"],
  .header .header__columns [data-testid="cart-drawer-trigger"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .header cart-icon,
  .header .cart-icon {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Keep Shopify default cart glyph hidden; show custom digit bubble only */
  .header cart-icon svg,
  .header .header__columns cart-icon svg {
    display: none !important;
  }

  .header cart-icon .cart-bubble,
  .header cart-icon [data-ref="cartBubble"],
  .header cart-icon .cart-bubble__text-count,
  .header cart-icon [data-ref="cartBubbleCount"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Phones + iPad portrait: keep cart in standard header position */
@media screen and (max-width: 1025px) {
  .header .header__columns,
  #header-component .header__columns {
    padding-inline-start: max(12px, env(safe-area-inset-left)) !important;
    padding-inline-end: max(12px, env(safe-area-inset-right)) !important;
  }

  .header .header__columns header-actions,
  #header-component .header__columns header-actions {
    position: static !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    justify-self: end !important;
    align-self: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }

  .header .header-actions__action.action__cart,
  .header .header-actions__action[href*="/cart"],
  .header .header__columns a[href*="/cart"],
  .header .header__columns button[data-testid="cart-drawer-trigger"],
  .header .header__columns [data-testid="cart-drawer-trigger"] {
    margin: 0 !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
  }
  /* Homepage only */

.template-index.header-inverse .logo-sides-menu__link{
    color:#fff !important;
}

.template-index.header-inverse .logo-sides-menu__link::after{
    background:#fff !important;
}

/* Cart */

.template-index.header-inverse .header-actions__action,
.template-index.header-inverse .header-actions__action svg,
.template-index.header-inverse .header-actions__action path{
    color:#fff !important;
    stroke:#fff !important;
    fill:#fff !important;
}

.template-index.header-normal .logo-sides-menu__link{
    color:#000 !important;
}

.template-index.header-normal .logo-sides-menu__link::after{
    background:#000 !important;
}

/* Hide the "Please note" illustration on mobile only */
@media (max-width: 768px) {
  .image-block--AcGdzQlFTYmdxVjlqS__image_7fLAep {
    display: none !important;
  }
}

/* Show the "Thank you" text image on phone view only */
.image-block--Ab21kSU5iQkhKLzd1Z__image_gny9Vg {
  display: none !important;
}

@media (max-width: 768px) {
  .image-block--Ab21kSU5iQkhKLzd1Z__image_gny9Vg {
    display: flex !important;
  }
}