/* Final responsive corrections for the editorial storefront refresh. */

/* Light mode palette: use the client-selected soft pink across site surfaces. */
:root:not([data-theme="dark"]){
  --surface:#feecf8;
  --surface-soft:#feecf8;
  --pink2:#feecf8;
}

:root:not([data-theme="dark"]) body:not(.admin){
  --surface:#feecf8;
  --surface-soft:#feecf8;
  --pink2:#feecf8;
  background:#feecf8;
}

.brand img,
.brand:hover img{
  width:220px;
  height:106px;
  max-height:none;
  object-fit:contain;
  transform:none!important;
  filter:none!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

.product-detail.product-page{
  padding:0 0 118px;
}

/* The collection intro copy was intentionally removed; keep the mosaic breathing. */
.collection-only-section{
  padding:72px 0 118px;
}

@media(max-width:800px){
  .theme-toggle{
    display:inline-flex;
  }

  .brand img,
  .brand:hover img{
    width:120px!important;
    height:76px!important;
    max-height:none!important;
  }

  .product-detail.product-page{
    padding:0 0 76px;
  }

  /* Client feedback: the previous 54px+ mobile hero scale dominated small screens. */
  .home-hero h1{
    font-size:clamp(44px,12vw,64px);
  }

  .collection-only-section{
    padding:52px 0 78px;
  }
}

@media(max-width:430px){
  .home-hero h1{
    font-size:46px;
  }
}

/* Product image transparency: remove visible frames in light and dark themes */
.product-card,
.product-media,
.story-image {
  background: transparent !important;
  box-shadow: none !important;
}

.product-card .product-image,
.product-main-image,
.detail-image,
.product-thumb,
.product-thumb img,
.product-media img {
  background: transparent !important;
  box-shadow: none !important;
}

:root[data-theme="dark"] .product-card,
:root[data-theme="dark"] .product-media,
:root[data-theme="dark"] .story-image,
:root[data-theme="dark"] .product-card .product-image,
:root[data-theme="dark"] .product-main-image,
:root[data-theme="dark"] .detail-image,
:root[data-theme="dark"] .product-thumb,
:root[data-theme="dark"] .product-thumb img,
:root[data-theme="dark"] .product-media img {
  background: transparent !important;
  box-shadow: none !important;
}

/* CMS-controlled homepage hero typography, colours, overlay and positioning */
.home-hero .hero-overlay,
:root[data-theme="dark"] .home-hero .hero-overlay{
  background:linear-gradient(
    90deg,
    var(--home-hero-gradient-strong,rgba(19,15,13,.76)) 0%,
    var(--home-hero-gradient-mid,rgba(19,15,13,.42)) 44%,
    var(--home-hero-gradient-soft,rgba(19,15,13,.12)) 72%,
    var(--home-hero-gradient-end,rgba(19,15,13,.25)) 100%
  );
}
.home-hero .eyebrow{
  color:var(--home-hero-eyebrow-color,#f1c45c);
}
.home-hero h1{
  color:var(--home-hero-heading-color,#fff);
}
.home-hero p{
  color:var(--home-hero-body-color,#fff)!important;
}
.home-hero .hero-note{
  color:var(--home-hero-note-color,#fff);
}
.home-hero .hero-note-line{
  background:currentColor;
  opacity:.5;
}
.home-hero .btn{
  color:var(--home-hero-primary-text-color,#fff)!important;
}
.home-hero .btn.alt{
  color:var(--home-hero-secondary-text-color,#fff)!important;
}

.home-hero .home-hero-shell{
  justify-content:flex-start;
}
.home-hero .home-hero-content{
  width:min(100%,650px);
  transform:translate(var(--home-hero-offset-x,0),var(--home-hero-offset-y,0));
}
.home-hero .eyebrow{
  font-size:var(--home-hero-eyebrow-size,10px);
}
.home-hero h1{
  font-size:clamp(28px,7vw,var(--home-hero-heading-size,104px));
}
.home-hero p{
  font-size:var(--home-hero-body-size,17px);
}
.home-hero .btn{
  font-size:var(--home-hero-button-size,11px);
}
.home-hero .hero-note{
  font-size:var(--home-hero-note-size,11px);
}

.home-hero.hero-x-left .home-hero-shell{justify-content:flex-start}
.home-hero.hero-x-center .home-hero-shell{justify-content:center}
.home-hero.hero-x-right .home-hero-shell{justify-content:flex-end}

.home-hero.hero-y-top .home-hero-shell{align-items:flex-start}
.home-hero.hero-y-center .home-hero-shell{align-items:center}
.home-hero.hero-y-bottom .home-hero-shell{align-items:flex-end}

.home-hero.hero-align-left .home-hero-content{text-align:left}
.home-hero.hero-align-center .home-hero-content{text-align:center}
.home-hero.hero-align-right .home-hero-content{text-align:right}
.home-hero.hero-align-center .hero-actions,
.home-hero.hero-align-center .hero-note{justify-content:center}
.home-hero.hero-align-right .hero-actions,
.home-hero.hero-align-right .hero-note{justify-content:flex-end}

@media(max-width:800px){
  .home-hero .home-hero-content{
    transform:none;
  }
  .home-hero h1{
    font-size:min(var(--home-hero-heading-size,64px),12vw);
  }
}

@media(max-width:430px){
  .home-hero h1{
    font-size:min(var(--home-hero-heading-size,46px),12vw);
  }
}


/* Unified mobile-style header across desktop and mobile */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.desktop-mobile-header{
  position:relative;
  height:90px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.desktop-mobile-header .brand{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  min-width:0;
  width:230px;
  height:116px;
  justify-content:center;
  z-index:2;
}

.desktop-mobile-header .nav-actions-right{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  z-index:3;
}

.icon-button{
  width:42px;
  height:42px;
  min-width:42px;
  padding:0;
  display:inline-grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.icon-button:hover{
  background:var(--surface-soft);
  border-color:color-mix(in srgb,var(--ink) 35%,var(--line));
  color:var(--ink);
  transform:translateY(-1px);
}

.theme-toggle.icon-button{
  min-width:42px;
  min-height:42px;
  padding:0;
  border-radius:50%;
}

.theme-icon{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
}

.theme-icon svg,
.bag-icon{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.theme-icon-moon{display:none}
:root[data-theme="dark"] .theme-icon-sun{display:none}
:root[data-theme="dark"] .theme-icon-moon{display:grid}

.cart-link.icon-button{
  position:relative;
  font-size:0;
  font-weight:400;
}

.cart-link.icon-button .cart-count{
  position:absolute;
  top:-4px;
  right:-4px;
  width:18px;
  height:18px;
  margin:0;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--ink);
  color:var(--surface);
  font-size:10px;
  line-height:1;
  border:2px solid var(--surface);
}

.menu-toggle.menu-toggle-left{
  display:inline-flex;
  margin-right:auto;
  z-index:3;
  border-radius:50%;
  background:transparent;
}

.desktop-mobile-menu{
  display:block;
  top:124px;
}

.desktop-mobile-menu nav{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.desktop-mobile-menu nav a{
  padding:13px 8px;
  font-size:16px;
  font-weight:700;
  border-radius:10px;
  transition:background-color .2s ease,color .2s ease;
}

.desktop-mobile-menu nav a:hover{
  background:var(--surface-soft);
  color:var(--gold-strong);
}

@media(max-width:800px){
  .desktop-mobile-header{
    height:82px;
  }

  .desktop-mobile-menu{
    top:114px;
  }

  .desktop-mobile-header .brand{
    width:136px!important;
    height:82px!important;
  }

  .desktop-mobile-header .nav-actions-right{
    gap:8px;
  }

  .icon-button{
    width:40px;
    height:40px;
    min-width:40px;
  }

  .menu-toggle.menu-toggle-left{
    width:40px;
    height:40px;
  }
}


/* Newsletter visibility + anchored signup return */
.newsletter{
  scroll-margin-top:150px;
}
.newsletter-row{
  border:1px solid color-mix(in srgb,var(--gold) 72%,var(--footer-text) 28%)!important;
  border-radius:14px!important;
  overflow:hidden;
  background:color-mix(in srgb,var(--footer-text) 5%,transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--gold) 18%,transparent),
    0 0 18px color-mix(in srgb,var(--gold) 24%,transparent),
    0 0 34px color-mix(in srgb,var(--gold) 10%,transparent);
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.newsletter-row:focus-within{
  border-color:var(--gold)!important;
  background:color-mix(in srgb,var(--footer-text) 8%,transparent);
  box-shadow:
    0 0 0 2px color-mix(in srgb,var(--gold) 30%,transparent),
    0 0 22px color-mix(in srgb,var(--gold) 38%,transparent),
    0 0 42px color-mix(in srgb,var(--gold) 18%,transparent);
}
.newsletter-row input{
  min-height:48px;
  padding:12px 14px!important;
  outline:0;
}
.newsletter-row .btn{
  padding:10px 18px!important;
  border-left:1px solid color-mix(in srgb,var(--gold) 42%,transparent)!important;
}
.newsletter-status{
  min-height:22px;
}

/* Storefront content-protection deterrents.
 * Form controls remain fully interactive/selectable for checkout and account use.
 */
body:not(.admin){
  -webkit-touch-callout:none;
}
body:not(.admin) img,
body:not(.admin) picture,
body:not(.admin) video,
body:not(.admin) svg{
  -webkit-user-drag:none;
  user-drag:none;
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
body:not(.admin) main,
body:not(.admin) .site-header,
body:not(.admin) .site-footer{
  -webkit-user-select:none;
  user-select:none;
}
body:not(.admin) input,
body:not(.admin) textarea,
body:not(.admin) select,
body:not(.admin) option,
body:not(.admin) [contenteditable="true"]{
  -webkit-user-select:text;
  user-select:text;
  -webkit-touch-callout:default;
}


@media print{
  body:not(.admin) *{
    visibility:hidden!important;
  }
  body:not(.admin)::before{
    content:"Liska Scents — protected storefront content";
    visibility:visible!important;
    display:block;
    padding:40px;
    font:600 16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;
  }
}


/* Returns & damages policy */
.policy-page{
  padding-top:72px;
  padding-bottom:110px;
}
.policy-shell{
  width:min(860px,100%);
  margin:0 auto;
}
.policy-shell h1{
  margin:12px 0 26px;
  font-family:var(--font-display,Georgia,serif);
  font-size:clamp(46px,7vw,76px);
  line-height:.98;
  font-weight:400;
  letter-spacing:-.025em;
}
.policy-intro{
  max-width:720px;
  margin-bottom:44px;
  padding-bottom:30px;
  border-bottom:1px solid var(--line);
}
.policy-intro p,
.policy-section p{
  color:var(--muted);
  font-size:16px;
  line-height:1.85;
}
.policy-section{
  padding:30px 0;
  border-bottom:1px solid var(--line);
}
.policy-section h2{
  margin:0 0 18px;
  font-family:var(--font-display,Georgia,serif);
  font-size:clamp(30px,4vw,42px);
  line-height:1.08;
  font-weight:400;
}
.policy-requirements{
  margin:24px 0;
  padding:24px 26px;
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--line));
  background:color-mix(in srgb,var(--gold) 7%,var(--surface));
}
.policy-requirements h3{
  margin:0 0 14px;
  font-size:14px;
  letter-spacing:.03em;
  font-weight:700;
}
.policy-requirements ul{
  margin:0;
  padding-left:20px;
}
.policy-requirements li{
  margin:9px 0;
  color:var(--muted);
  line-height:1.65;
}
.policy-contact{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:36px;
  padding:26px;
  border:1px solid var(--line);
  background:var(--surface-soft);
}
.policy-contact-label{
  display:block;
  margin-bottom:6px;
  color:var(--muted);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.policy-inline-link,
.checkout-policy-link a,
.cart-policy-link a,
.order-policy-link a{
  color:var(--gold-strong);
  text-decoration:underline;
  text-underline-offset:3px;
}
.checkout-policy-link,
.cart-policy-link,
.order-policy-link{
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
}
.cart-policy-link{
  margin:14px 0 0;
}
.order-policy-link{
  margin-top:18px;
}
@media(max-width:680px){
  .policy-page{
    padding-top:46px;
    padding-bottom:78px;
  }
  .policy-contact{
    align-items:stretch;
    flex-direction:column;
  }
  .policy-contact .btn{
    width:100%;
  }
  .policy-requirements{
    padding:20px;
  }
}


/* CMS layout + section typography controls */
.desktop-mobile-header{
  height:var(--header-height-desktop,164px)!important;
}
.desktop-mobile-menu{
  top:calc(var(--header-height-desktop,164px) + 34px)!important;
}
.site-ribbon{
  font-size:var(--header-ribbon-font,10px)!important;
}
.desktop-mobile-menu nav a{
  font-size:var(--header-menu-font,16px)!important;
}

.home-hero,
.home-hero .home-hero-shell{
  min-height:var(--home-hero-height-desktop,420px)!important;
}
.home-hero .home-hero-shell{
  padding-top:72px;
  padding-bottom:52px;
}

.collection-tile-copy span{font-size:var(--home-collections-label-font,11px)!important}
.collection-tile-copy h3{font-size:var(--home-collections-title-font,34px)!important}
.featured-products-section .eyebrow{font-size:var(--home-featured-eyebrow-font,10px)!important}
.featured-products-section .section-head h2{font-size:clamp(24px,4.5vw,var(--home-featured-heading-font,60px))!important}
.featured-products-section .editorial-link{font-size:var(--home-featured-link-font,12px)!important}
.featured-products-section .product-info h3{font-size:var(--home-featured-product-title-font,20px)!important}
.featured-products-section .product-card-category,
.featured-products-section .product-status{font-size:var(--home-featured-product-meta-font,11px)!important}
.featured-products-section .price,
.featured-products-section .price-prefix,
.featured-products-section .old-price{font-size:var(--home-featured-product-price-font,16px)!important}

.story-copy .eyebrow{font-size:var(--home-story-eyebrow-font,10px)!important}
.story-copy h2{font-size:clamp(24px,5.4vw,var(--home-story-heading-font,72px))!important}
.story-copy p{font-size:var(--home-story-body-font,16px)!important}
.story-copy .editorial-link{font-size:var(--home-story-link-font,12px)!important}
.value-item strong{font-size:var(--home-values-heading-font,15px)!important}
.value-item p{font-size:var(--home-values-body-font,13px)!important}

.shop-page .eyebrow{font-size:var(--shop-eyebrow-font,10px)!important}
.shop-hero h1{font-size:clamp(32px,7vw,var(--shop-heading-font,94px))!important}
.shop-hero-copy,
.shop-count{font-size:var(--shop-intro-font,15px)!important}
.shop-chip,
.shop-page .search input,
.shop-page .search button{font-size:var(--shop-filter-font,11px)!important}
.shop-page .product-info h3{font-size:var(--shop-product-title-font,20px)!important}
.shop-page .product-card-category,
.shop-page .product-status{font-size:var(--shop-product-meta-font,11px)!important}
.shop-page .product-card-description{font-size:var(--shop-product-body-font,13px)!important}
.shop-page .price,
.shop-page .price-prefix,
.shop-page .old-price{font-size:var(--shop-product-price-font,16px)!important}

.product-storefront-page main{
  background:var(--product-page-bg,var(--surface));
}
.product-storefront-page .product-detail .eyebrow{
  color:var(--product-accent-color,var(--gold-strong))!important;
  font-size:var(--product-eyebrow-font,11px)!important;
}
.product-storefront-page .product-detail .detail h1{
  color:var(--product-heading-color,var(--ink))!important;
  font-size:clamp(28px,6vw,var(--product-heading-font,66px))!important;
}
.product-storefront-page .product-detail .description{
  color:var(--product-body-color,var(--muted))!important;
  font-size:var(--product-description-font,15px)!important;
}
.product-storefront-page .product-price-row .price{
  color:var(--product-price-color,var(--ink))!important;
  font-size:var(--product-price-font,18px)!important;
}
.product-storefront-page .variant-option-label{
  color:var(--product-body-color,var(--muted))!important;
  font-size:var(--product-option-label-font,12px)!important;
}
.product-storefront-page .variant-choice{
  color:var(--product-heading-color,var(--ink));
  border-color:color-mix(in srgb,var(--product-accent-color,var(--ink)) 38%,transparent);
  font-size:var(--product-option-button-font,14px)!important;
}
.product-storefront-page .variant-choice.is-selected{
  background:var(--product-option-selected-bg,var(--ink))!important;
  color:var(--product-option-selected-text,var(--surface))!important;
  border-color:var(--product-option-selected-border,var(--product-option-selected-bg,var(--ink)))!important;
}
.product-storefront-page .variant-meta{
  color:var(--product-body-color,var(--muted))!important;
  font-size:var(--product-meta-font,11px)!important;
}
.product-storefront-page .product-add-button{
  background:var(--product-button-bg,var(--ink))!important;
  color:var(--product-button-text,var(--surface))!important;
  border-color:var(--product-button-bg,var(--ink))!important;
  font-size:var(--product-button-font,11px)!important;
}
.product-storefront-page .purchase-note-mark,
.product-storefront-page .policy-inline-link{
  color:var(--product-accent-color,var(--gold-strong))!important;
}
.product-storefront-page .purchase-note strong{
  color:var(--product-heading-color,var(--ink))!important;
  font-size:var(--product-notes-heading-font,12px)!important;
}
.product-storefront-page .purchase-note span{
  color:var(--product-body-color,var(--muted))!important;
  font-size:var(--product-notes-body-font,11px)!important;
}

.footer-brand{font-size:var(--footer-brand-font,44px)!important}
.footer-grid h4{font-size:var(--footer-heading-font,10px)!important}
.footer-grid a,
.footer-grid p{font-size:var(--footer-body-font,13px)!important}
.newsletter-row input,
.newsletter-row .btn{font-size:var(--footer-newsletter-font,13px)!important}

.standard-content-page h1{
  font-size:clamp(28px,7vw,var(--page-heading-font,64px))!important;
}
.standard-content-page .standard-content-body{
  font-size:var(--page-body-font,16px)!important;
}
.policy-shell h1{
  font-size:clamp(32px,7vw,var(--policy-heading-font,76px))!important;
}
.policy-section h2{
  font-size:clamp(20px,4vw,var(--policy-section-heading-font,42px))!important;
}
.policy-intro p,
.policy-section p,
.policy-requirements li{
  font-size:var(--policy-body-font,16px)!important;
}

/* Empty CMS copy should disappear without leaving phantom spacing. */
body:not(.admin) :is(.eyebrow,h1,h2,h3,p,.footer-brand,.hero-note):empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
}
body:not(.admin) .hero-actions:empty,
body:not(.admin) .newsletter-status:empty{
  display:none!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
body:not(.admin) .section-head.is-copy-empty,
body:not(.admin) .story-copy.is-copy-empty,
body:not(.admin) .value-strip.is-copy-empty,
body:not(.admin) .shop-hero.is-copy-empty{
  display:none!important;
}
.story-panel.story-copy-empty{
  grid-template-columns:1fr!important;
}
.story-panel.story-copy-empty .story-copy{
  display:none!important;
}

@media(max-width:800px){
  .desktop-mobile-header{
    height:var(--header-height-mobile,124px)!important;
  }
  .desktop-mobile-menu{
    top:calc(var(--header-height-mobile,124px) + 32px)!important;
  }
  .home-hero,
  .home-hero .home-hero-shell{
    min-height:var(--home-hero-height-mobile,380px)!important;
  }
  .home-hero .home-hero-shell{
    padding-top:58px;
    padding-bottom:42px;
  }
  .featured-products-section .product-info h3{
    font-size:min(var(--home-featured-product-title-font,20px),17px)!important;
  }
  .shop-page .product-info h3{
    font-size:min(var(--shop-product-title-font,20px),17px)!important;
  }
}


/* Gap cleanup for optional CMS copy */
.shop-hero.shop-lead-empty{
  grid-template-columns:1fr!important;
}
.shop-hero.shop-lead-empty .shop-hero-copy{
  max-width:720px;
}
.standard-content-page h1{
  margin:10px 0 35px;
  font-family:var(--font-display,Georgia,serif);
  line-height:1;
  font-weight:400;
}
.standard-content-page .standard-content-body{
  line-height:1.9;
  color:var(--muted);
}
.footer-grid{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;
}
.footer-grid>div:empty{
  display:none!important;
}


/* Generic storefront typography fallback for utility/account/checkout sections */
body:not(.admin) .section:not(.shop-page):not(.policy-page):not(.standard-content-page):not(.featured-products-section):not(.product-page) .eyebrow{
  font-size:var(--section-eyebrow-font,10px)!important;
}
body:not(.admin) .section:not(.shop-page):not(.policy-page):not(.standard-content-page):not(.featured-products-section):not(.product-page) :is(h1,h2,h3){
  font-size:var(--section-heading-font,48px)!important;
}
body:not(.admin) .section:not(.shop-page):not(.policy-page):not(.standard-content-page):not(.featured-products-section):not(.product-page) :is(p,li,td,th,.notice,.row,small){
  font-size:var(--section-body-font,14px)!important;
}
body:not(.admin) :is(input,textarea,select){
  font-size:var(--form-font,14px)!important;
}
body:not(.admin) .btn{
  font-size:var(--button-font,11px)!important;
}
.home-hero .btn{
  font-size:var(--home-hero-button-size,11px)!important;
}
.product-storefront-page .product-add-button{
  font-size:var(--product-button-font,11px)!important;
}
.newsletter-row .btn{
  font-size:var(--footer-newsletter-font,13px)!important;
}


/* Sept visual-control pass: collection type, story sizing, header placement, selectors, squircles */
.collection-tile-copy span{
  font-family:var(--home-collections-label-family,var(--font-body))!important;
}
.collection-tile-copy h3{
  font-family:var(--home-collections-title-family,var(--font-display))!important;
}

/* Adjustable story-media proportions */
.story-panel{
  grid-template-columns:minmax(0,var(--home-story-image-width,54%)) minmax(0,calc(100% - var(--home-story-image-width,54%)))!important;
  min-height:var(--home-story-image-height-desktop,650px)!important;
}
.story-image{
  min-height:0!important;
  height:var(--home-story-image-height-desktop,650px)!important;
  align-self:center;
}
.story-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Pull the header contents slightly lower and give the logo more presence. */
.desktop-mobile-header{
  height:var(--header-height-desktop,144px)!important;
}
.desktop-mobile-header .brand{
  top:calc(50% + var(--header-offset-y-desktop,14px));
  transform:translate(-50%,-50%)!important;
  width:340px;
  height:168px;
}
.brand img,
.brand:hover img{
  width:326px;
  height:158px;
}
.menu-toggle.menu-toggle-left,
.desktop-mobile-header .nav-actions-right{
  position:relative;
  top:var(--header-offset-y-desktop,14px);
}

/* Full per-product selector palette */
.product-storefront-page .variant-choice{
  background:var(--product-option-bg,transparent)!important;
  color:var(--product-option-text,var(--ink))!important;
  border-color:var(--product-option-border,color-mix(in srgb,var(--ink) 22%,transparent))!important;
}
.product-storefront-page .variant-choice:hover{
  background:var(--product-option-hover-bg,var(--surface-soft))!important;
  color:var(--product-option-hover-text,var(--ink))!important;
  border-color:var(--product-option-border,var(--ink))!important;
}
.product-storefront-page .variant-choice.is-selected,
.product-storefront-page .variant-choice.is-selected:hover{
  background:var(--product-option-selected-bg,var(--ink))!important;
  color:var(--product-option-selected-text,var(--surface))!important;
  border-color:var(--product-option-selected-bg,var(--ink))!important;
}

/* Squircle treatment for storefront photography. Header logos and UI SVG icons
   sit outside main and remain untouched. */
body:not(.admin) main img{
  border-radius:24px!important;
  clip-path:inset(0 round 24px);
}
body:not(.admin) :is(.collection-tile,.story-image,.product-media,.product-main-image,.product-thumb,.product-card .product-image){
  border-radius:24px!important;
  overflow:hidden!important;
}
body:not(.admin) .collection-tile::after{
  border-radius:inherit;
}

@media(max-width:800px){
  .desktop-mobile-header{
    height:var(--header-height-mobile,114px)!important;
  }
  .desktop-mobile-header .brand{
    top:calc(50% + var(--header-offset-y-mobile,8px));
    width:178px!important;
    height:110px!important;
  }
  .brand img,
  .brand:hover img{
    width:164px!important;
    height:100px!important;
  }
  .menu-toggle.menu-toggle-left,
  .desktop-mobile-header .nav-actions-right{
    top:var(--header-offset-y-mobile,8px);
  }
  .story-panel{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .story-image{
    height:var(--home-story-image-height-mobile,430px)!important;
  }
  body:not(.admin) main img{
    border-radius:20px!important;
    clip-path:inset(0 round 20px);
  }
  body:not(.admin) :is(.collection-tile,.story-image,.product-media,.product-main-image,.product-thumb,.product-card .product-image){
    border-radius:20px!important;
  }
}


/* Story copy removed: image owns the full panel regardless of the width slider. */
.story-panel.story-copy-empty{
  grid-template-columns:1fr!important;
}
.story-panel.story-copy-empty .story-image{
  width:100%!important;
}


/* Mobile product-page typography correction */
@media(max-width:800px){
  .product-storefront-page .product-detail .detail h1{
    font-size:clamp(32px,9vw,40px)!important;
    line-height:.98!important;
    letter-spacing:-.02em;
    margin:8px 0 14px!important;
  }
  .product-storefront-page .product-price-row .price{
    font-size:min(var(--product-price-font,18px),18px)!important;
  }
  .product-storefront-page .product-detail .description{
    font-size:min(var(--product-description-font,15px),15px)!important;
    line-height:1.7!important;
  }
  .product-storefront-page .variant-option-label{
    font-size:min(var(--product-option-label-font,12px),12px)!important;
  }
  .product-storefront-page .variant-choice{
    font-size:min(var(--product-option-button-font,14px),14px)!important;
  }
  .product-storefront-page .variant-meta{
    font-size:min(var(--product-meta-font,11px),11px)!important;
  }
}


/* More compact homepage collection mosaic */
.collection-only-section .collection-mosaic{
  width:min(100%,1040px);
  min-height:520px;
  margin-inline:auto;
  grid-template-rows:repeat(2,minmax(190px,1fr));
  gap:12px;
}
.collection-only-section .collection-tile{
  min-height:190px;
}
@media(max-width:800px){
  .collection-only-section .collection-mosaic{
    width:100%;
    min-height:0;
    grid-template-rows:300px 205px;
    gap:8px;
  }
  .collection-only-section .collection-tile{
    min-height:205px;
  }
}
@media(max-width:430px){
  .collection-only-section .collection-mosaic{
    grid-template-rows:280px 200px 200px;
  }
  .collection-only-section .collection-tile{
    min-height:200px;
  }
}

/* About page media layout */
.about-content-page{
  max-width:1280px!important;
  padding-top:72px!important;
  padding-bottom:112px!important;
}
.about-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:64px;
  align-items:center;
}
.about-page-media{
  min-width:0;
  height:620px;
  overflow:hidden;
  border-radius:24px;
}
.about-page-media img,
.about-page-media video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-page-copy{
  min-width:0;
  max-width:560px;
}
.about-content-page-no-media .about-page-grid{
  grid-template-columns:minmax(0,850px);
  justify-content:center;
}
.about-content-page-no-media .about-page-copy{
  max-width:850px;
}

/* Tighten the handoff from collection tiles to Explore The Collection. */
.collection-only-section{
  padding-bottom:0!important;
}
.featured-products-section{
  padding-top:48px!important;
}
.featured-products-section.featured-products-empty{
  padding-bottom:48px!important;
}
.featured-products-section.featured-products-empty .section-head{
  margin-bottom:0!important;
}
.featured-products-section.featured-products-empty .featured-grid{
  display:none;
}

@media(max-width:800px){
  .about-content-page{
    padding-top:46px!important;
    padding-bottom:78px!important;
  }
  .about-page-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .about-page-copy{
    order:1;
    max-width:none;
  }
  .about-page-media{
    order:2;
    height:auto;
    min-height:0;
    border-radius:20px;
  }
  .about-page-media img,
  .about-page-media video{
    width:100%;
    height:auto;
    aspect-ratio:4/5;
    object-fit:cover;
  }
  .collection-only-section{
    padding-bottom:0!important;
  }
  .featured-products-section{
    padding-top:34px!important;
  }
  .featured-products-section.featured-products-empty{
    padding-bottom:34px!important;
  }
}

/* Visual CMS page typography */
.standard-content-page h1{
  font-family:var(--content-page-title-font,var(--font-display,Georgia,serif))!important;
  font-size:clamp(28px,7vw,var(--content-page-title-size,var(--page-heading-font,64px)))!important;
}
.standard-content-page .standard-content-body{
  font-family:var(--content-page-body-font,var(--font-body,Arial,sans-serif))!important;
  font-size:var(--content-page-body-size,var(--page-body-font,16px))!important;
}
.standard-content-page .standard-content-body h2{
  margin:34px 0 14px;
  font-family:var(--content-page-section-font,var(--font-display,Georgia,serif))!important;
  font-size:clamp(18px,4vw,var(--content-page-section-size,var(--page-section-heading-font,36px)))!important;
  line-height:1.08;
  font-weight:400;
  color:var(--ink);
}
.standard-content-page .standard-content-body h3{
  margin:24px 0 9px;
  font-family:var(--content-page-question-font,var(--font-body,Arial,sans-serif))!important;
  font-size:var(--content-page-question-size,var(--page-question-heading-font,22px))!important;
  line-height:1.3;
  font-weight:600;
  color:var(--ink);
}
.standard-content-page .standard-content-body h4{
  margin:20px 0 8px;
  font-size:calc(var(--content-page-body-size,var(--page-body-font,16px)) + 1px)!important;
  line-height:1.35;
  font-weight:700;
  color:var(--ink);
}
.standard-content-page .standard-content-body p,
.standard-content-page .standard-content-body li{
  font-size:inherit!important;
}

