/* =========================================================
   AUREA HAIR CO. — Luxury theme base
   Design system: ink + ivory + restrained champagne accent
   ========================================================= */

:root{
  --ink:#16130f;
  --ink-soft:#4a443c;
  --ivory:#f7f2ea;
  --cream:#efe7db;
  --neutral:#e6ddce;
  --line:#e2d7c6;
  --champagne:#a9895f;
  --champagne-deep:#8a6c44;
  --white:#ffffff;
  --shadow:0 24px 60px -30px rgba(22,19,15,.45);

  --font-serif:"Fraunces", Georgia, "Times New Roman", serif;
  --font-sans:"Jost", "Helvetica Neue", Arial, sans-serif;

  --container:1400px;
  --header-h:78px;
  --gutter:clamp(20px, 5vw, 64px);
  --radius:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--ivory);
  font-size:16px;
  line-height:1.6;
  font-weight:350;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{margin:0;font-family:var(--font-serif);font-weight:400;line-height:1.05;letter-spacing:-.01em;}
p{margin:0;}
:focus-visible{outline:2px solid var(--champagne-deep);outline-offset:3px;}

/* ---------- layout helpers ---------- */
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter);}
.section{padding-block:clamp(56px,8vw,120px);}
.section--tight{padding-block:clamp(40px,5vw,72px);}
.center{text-align:center;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.visually-hidden:focus{position:static!important;width:auto;height:auto;clip:auto;margin:0;padding:8px 16px;background:var(--ink);color:var(--ivory);z-index:100;}

.eyebrow{
  font-family:var(--font-sans);
  font-size:.72rem;
  letter-spacing:.34em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--champagne-deep);
  margin:0 0 18px;
}
.display{
  font-size:clamp(2.1rem,5.4vw,4.6rem);
  line-height:1.02;
}
.h-lg{font-size:clamp(1.8rem,3.8vw,3.1rem);}
.h-md{font-size:clamp(1.4rem,2.6vw,2.1rem);}
.lede{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--ink-soft);max-width:52ch;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--font-sans);font-size:.78rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  padding:16px 34px;border:1px solid var(--ink);border-radius:var(--radius);
  background:var(--ink);color:var(--ivory);
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease),transform .3s var(--ease);
  min-height:48px;
}
.btn:hover{background:transparent;color:var(--ink);}
.btn--light{background:var(--ivory);color:var(--ink);border-color:var(--ivory);}
.btn--light:hover{background:transparent;color:var(--ivory);border-color:var(--ivory);}
.btn--ghost{background:transparent;color:var(--ink);}
.btn--ghost:hover{background:var(--ink);color:var(--ivory);}
.btn--ghost-light{background:transparent;color:var(--ivory);border-color:rgba(247,242,234,.6);}
.btn--ghost-light:hover{background:var(--ivory);color:var(--ink);border-color:var(--ivory);}
.btn--block{width:100%;}

.link-underline{
  display:inline-block;font-family:var(--font-sans);font-size:.78rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;position:relative;padding-bottom:4px;
}
.link-underline::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;
  transform:scaleX(1);transform-origin:right;transition:transform .45s var(--ease);
}
.link-underline:hover::after{transform:scaleX(0);transform-origin:left;}

/* ---------- reveal animation ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal.is-in{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.12s;}
.reveal[data-delay="2"]{transition-delay:.24s;}
.reveal[data-delay="3"]{transition-delay:.36s;}

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */
.announcement{background:var(--ink);color:var(--ivory);overflow:hidden;}
.announcement__track{display:flex;}
.announcement__item{
  flex:0 0 100%;text-align:center;padding:11px 20px;
  font-size:.7rem;letter-spacing:.26em;text-transform:uppercase;font-weight:400;
  display:none;
}
.announcement__item.is-active{display:block;animation:annFade .6s var(--ease);}
@keyframes annFade{from{opacity:0}to{opacity:1}}

/* =========================================================
   HEADER
   ========================================================= */
.header{position:sticky;top:0;z-index:60;background:var(--ivory);border-bottom:1px solid transparent;transition:box-shadow .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease),color .4s var(--ease);}
.header.is-stuck{box-shadow:0 8px 30px -20px rgba(22,19,15,.4);border-bottom-color:var(--line);}

/* Transparent luxury nav over the hero (homepage). Solid on scroll. */
.template-index .hero{margin-top:calc(var(--header-h) * -1);}
.header--transparent{background:transparent;border-bottom-color:transparent;}
.header--transparent .header__link,
.header--transparent .header__logo,
.header--transparent .header__icon,
.header--transparent .header__toggle{color:var(--ivory);}
.header--transparent .header__logo span{color:var(--champagne);}
.header--transparent .header__link::after{background:var(--ivory);}
.header--transparent.is-stuck{background:var(--ivory);}
.header--transparent.is-stuck .header__link,
.header--transparent.is-stuck .header__logo,
.header--transparent.is-stuck .header__icon,
.header--transparent.is-stuck .header__toggle{color:var(--ink);}
.header--transparent.is-stuck .header__logo span{color:var(--champagne-deep);}
.header--transparent.is-stuck .header__link::after{background:var(--ink);}
.header__bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:78px;}
.header__nav{display:flex;align-items:center;gap:30px;}
.header__logo{justify-self:center;font-family:var(--font-serif);font-size:clamp(1.35rem,2.4vw,1.9rem);letter-spacing:.02em;line-height:1;white-space:nowrap;}
.header__logo span{color:var(--champagne-deep);}
.header__logo img{max-height:42px;width:auto;}
.header__actions{display:flex;align-items:center;gap:22px;justify-self:end;}
.header__link{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;position:relative;padding-block:6px;color:var(--ink);}
.header__link::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.header__link:hover::after,.header__link[aria-current]::after{transform:scaleX(1);}
.header__icon{background:none;border:0;padding:4px;display:inline-flex;color:var(--ink);position:relative;}
.header__icon svg{width:22px;height:22px;}
.cart-count{position:absolute;top:-4px;right:-8px;background:var(--champagne-deep);color:#fff;font-family:var(--font-sans);font-size:.6rem;line-height:1;min-width:16px;height:16px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.header__toggle{display:none;background:none;border:0;padding:4px;color:var(--ink);}
.header__toggle svg{width:26px;height:26px;}

/* search drawer */
.search-drawer{position:fixed;inset:0;z-index:80;background:var(--ivory);opacity:0;visibility:hidden;transition:opacity .4s var(--ease);display:flex;flex-direction:column;}
.search-drawer.is-open{opacity:1;visibility:visible;}
.search-drawer__inner{max-width:760px;margin:auto;width:100%;padding:0 var(--gutter);}
.search-drawer input{width:100%;border:0;border-bottom:1px solid var(--ink);background:transparent;font-family:var(--font-serif);font-size:clamp(1.6rem,4vw,3rem);padding:14px 0;color:var(--ink);}
.search-drawer input:focus{outline:none;}
.search-drawer__close{position:absolute;top:26px;right:var(--gutter);background:none;border:0;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;}

/* mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:80;background:var(--ivory);transform:translateX(-100%);transition:transform .5s var(--ease);display:flex;flex-direction:column;padding:24px var(--gutter) 40px;overflow-y:auto;}
.mobile-menu.is-open{transform:none;}
.mobile-menu__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px;}
.mobile-menu__close{background:none;border:0;color:var(--ink);}
.mobile-menu__close svg{width:26px;height:26px;}
.mobile-menu a{display:block;font-family:var(--font-serif);font-size:1.7rem;padding:14px 0;border-bottom:1px solid var(--line);}
.mobile-menu__foot{margin-top:auto;padding-top:28px;display:flex;gap:26px;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;}

.overlay{position:fixed;inset:0;background:rgba(22,19,15,.4);z-index:70;opacity:0;visibility:hidden;transition:opacity .4s var(--ease);}
.overlay.is-open{opacity:1;visibility:visible;}

/* =========================================================
   HERO
   ========================================================= */
.hero{position:relative;}
.hero__media{position:relative;width:100%;overflow:hidden;background-color:var(--ink);background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero__media img{width:100%;height:100%;object-fit:cover;}
.hero__video{width:100%;height:100%;object-fit:cover;display:block;background:var(--ink);pointer-events:none;opacity:0;transition:opacity .5s var(--ease);}
.hero__video.is-playing{opacity:1;}
/* never show native video controls / play button */
.hero__video::-webkit-media-controls,
.hero__video::-webkit-media-controls-enclosure,
.hero__video::-webkit-media-controls-panel,
.hero__video::-webkit-media-controls-play-button,
.hero__video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none;opacity:0;}
.hero__img--desktop{display:block;}
.hero__img--mobile{display:none;}
.hero__overlay{position:absolute;inset:0;}
.hero__content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:var(--gutter);z-index:2;}
.hero__content .container{width:100%;}
.hero__inner{max-width:640px;}
.hero .eyebrow{color:rgba(247,242,234,.85);}
.hero__title{color:var(--ivory);font-size:clamp(2.4rem,6.6vw,5.6rem);}
.hero__text{color:rgba(247,242,234,.9);margin:20px 0 34px;font-size:clamp(1rem,1.5vw,1.2rem);max-width:44ch;}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px;}
.hero--align-center .hero__inner{margin-inline:auto;text-align:center;}
.hero--align-center .hero__cta{justify-content:center;}
.hero--align-center .hero__text{margin-inline:auto;}
.hero--dark-text .hero__title{color:var(--ink);}
.hero--dark-text .hero__text{color:var(--ink-soft);}
.hero--dark-text .eyebrow{color:var(--champagne-deep);}

/* =========================================================
   BENEFIT STRIP
   ========================================================= */
.benefits{background:var(--ink);color:var(--ivory);}
.benefits__grid{display:grid;grid-template-columns:repeat(4,1fr);}
.benefits__grid[data-count="3"]{grid-template-columns:repeat(3,1fr);}
.benefit{padding:34px 26px;text-align:center;border-right:1px solid rgba(247,242,234,.14);}
.benefit:last-child{border-right:0;}
.benefit__title{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;margin-bottom:8px;}
.benefit__text{font-size:.82rem;color:rgba(247,242,234,.7);letter-spacing:.02em;}

/* =========================================================
   TEXTURE COLLECTIONS
   ========================================================= */
.texture__head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:40px;flex-wrap:wrap;}
.texture__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px);}
.texture-card{position:relative;display:block;overflow:hidden;background:var(--cream);}
.texture-card__media{aspect-ratio:3/4;overflow:hidden;}
.texture-card__media img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;transition:transform 1s var(--ease);}
.texture-card:hover .texture-card__media img{transform:scale(1.05);}
.texture-card__label{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(to top,rgba(22,19,15,.72),transparent);color:var(--ivory);display:flex;justify-content:space-between;align-items:center;}
.texture-card__label h3{color:var(--ivory);font-size:1.5rem;letter-spacing:.01em;}
.texture-card__label span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;opacity:.85;}

/* =========================================================
   PRODUCT CARD + GRID
   ========================================================= */
.collection__head{text-align:center;margin-bottom:clamp(34px,5vw,58px);}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,30px);}
.product-card{position:relative;}
.product-card__media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--cream);margin-bottom:16px;}
.product-card__media img{width:100%;height:100%;object-fit:cover;transition:opacity .6s var(--ease),transform 1s var(--ease);}
.product-card__media img.is-hover{position:absolute;inset:0;opacity:0;}
.product-card:hover .product-card__media img.is-hover{opacity:1;}
.product-card:hover .product-card__media img.is-primary{transform:scale(1.04);}
.product-card__badge{position:absolute;top:12px;left:12px;background:var(--ivory);color:var(--ink);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;z-index:2;}
.product-card__title{font-family:var(--font-sans);font-size:.92rem;font-weight:400;letter-spacing:.01em;margin-bottom:5px;line-height:1.35;}
.product-card__price{font-size:.9rem;color:var(--ink-soft);display:flex;gap:8px;align-items:baseline;}
.price--sale{color:var(--champagne-deep);}
.price--was{text-decoration:line-through;opacity:.55;font-size:.82rem;}
.product-card__quick{
  position:absolute;left:12px;right:12px;bottom:12px;z-index:2;
  opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .4s var(--ease);
}
.product-card__media:hover .product-card__quick,.product-card__media:focus-within .product-card__quick{opacity:1;transform:none;}
.quick-add{width:100%;background:var(--ivory);color:var(--ink);border:0;padding:13px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:background .3s var(--ease),color .3s var(--ease);}
.quick-add:hover{background:var(--ink);color:var(--ivory);}
.quick-add[disabled]{opacity:.5;cursor:not-allowed;}

/* =========================================================
   EDITORIAL SPLIT
   ========================================================= */
.editorial{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;}
.editorial--reverse .editorial__media{order:2;}
.editorial__media{overflow:hidden;background:var(--cream);min-height:clamp(360px,52vw,640px);}
.editorial__media img{width:100%;height:100%;object-fit:cover;}
.editorial__body{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,6vw,90px);background:var(--cream);}
.editorial__body.is-dark{background:var(--ink);color:var(--ivory);}
.editorial__body.is-dark .lede{color:rgba(247,242,234,.75);}
.editorial__body.is-dark h2{color:var(--ivory);}
.editorial__body p{margin-bottom:28px;}

/* =========================================================
   CATEGORY GRID
   ========================================================= */
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,20px);}
.category-card{position:relative;display:block;overflow:hidden;aspect-ratio:4/5;background:var(--cream);}
.category-card img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.category-card:hover img{transform:scale(1.06);}
.category-card__overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(22,19,15,.5),rgba(22,19,15,.05));display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,3vw,40px);color:var(--ivory);}
.category-card__overlay h3{color:var(--ivory);font-size:clamp(1.4rem,2.4vw,2rem);}
.category-card__overlay span{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-top:8px;opacity:.9;}

/* =========================================================
   FEATURED PRODUCT
   ========================================================= */
.feature-product{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,5vw,80px);}
.feature-product__media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--cream);}
.feature-product__media img{width:100%;height:100%;object-fit:cover;}
.feature-product__body{max-width:460px;}
.feature-product__price{font-size:1.15rem;margin:14px 0 20px;display:flex;gap:10px;align-items:baseline;}
.feature-product__desc{color:var(--ink-soft);margin-bottom:26px;font-size:.98rem;}
.variant-options{display:flex;flex-direction:column;gap:18px;margin-bottom:26px;}
.variant-option__label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;display:block;}
.variant-values{display:flex;flex-wrap:wrap;gap:8px;}
.variant-values input{position:absolute;opacity:0;pointer-events:none;}
.variant-values label{border:1px solid var(--line);padding:9px 16px;font-size:.8rem;letter-spacing:.04em;cursor:pointer;transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease);}
.variant-values input:checked+label{border-color:var(--ink);background:var(--ink);color:var(--ivory);}
.feature-product__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}

/* =========================================================
   GALLERY MOSAIC
   ========================================================= */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px);}
.gallery__item{position:relative;overflow:hidden;background:var(--cream);aspect-ratio:3/4;}
.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
/* packshot tiles: show full product on matching cream, no cropping */
.gallery__item.pack{background:var(--cream);}
.gallery__item.pack img{object-fit:contain;}
.category-card.pack{background:var(--cream);}
.category-card.pack img{object-fit:contain;}
.gallery__item:hover img{transform:scale(1.05);}
.gallery__item .category-card__overlay{opacity:0;transition:opacity .4s var(--ease);}
.gallery__item:hover .category-card__overlay{opacity:1;}

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.testimonials{background:var(--cream);}
.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px);}
.testimonial{text-align:center;padding:0 10px;}
.testimonial__stars{color:var(--champagne-deep);letter-spacing:.28em;font-size:.85rem;margin-bottom:20px;}
.testimonial__text{font-family:var(--font-serif);font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.5;margin-bottom:20px;}
.testimonial__name{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);}
.testimonial__verified{display:block;font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne-deep);margin-top:6px;}

/* =========================================================
   NEWSLETTER
   ========================================================= */
.newsletter{background:var(--ink);color:var(--ivory);text-align:center;}
.newsletter h2{color:var(--ivory);}
.newsletter .lede{color:rgba(247,242,234,.75);margin-inline:auto;}
.newsletter__form{display:flex;max-width:520px;margin:32px auto 0;gap:0;border-bottom:1px solid rgba(247,242,234,.4);}
.newsletter__form input{flex:1;background:transparent;border:0;color:var(--ivory);padding:14px 4px;font-size:.95rem;letter-spacing:.04em;}
.newsletter__form input::placeholder{color:rgba(247,242,234,.5);}
.newsletter__form input:focus{outline:none;}
.newsletter__form button{background:none;border:0;color:var(--ivory);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;padding:0 8px;}
.newsletter__note{font-size:.74rem;color:rgba(247,242,234,.55);margin-top:14px;}
.newsletter__success{color:var(--champagne);margin-top:16px;font-size:.9rem;}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--ink);color:var(--ivory);padding-block:clamp(50px,7vw,88px) 30px;}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(247,242,234,.14);}
.footer__brand-name{font-family:var(--font-serif);font-size:1.7rem;margin-bottom:16px;}
.footer__brand-name span{color:var(--champagne);}
.footer__statement{color:rgba(247,242,234,.7);font-size:.9rem;max-width:34ch;margin-bottom:22px;}
.footer__col h4{font-family:var(--font-sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px;color:rgba(247,242,234,.9);}
.footer__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px;}
.footer__col a{font-size:.88rem;color:rgba(247,242,234,.7);transition:color .3s var(--ease);}
.footer__col a:hover{color:var(--ivory);}
.footer__social{display:flex;gap:16px;margin-top:8px;}
.footer__social a{display:inline-flex;}
.footer__social svg{width:20px;height:20px;color:rgba(247,242,234,.7);transition:color .3s var(--ease);}
.footer__social a:hover svg{color:var(--ivory);}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:26px;font-size:.76rem;color:rgba(247,242,234,.55);letter-spacing:.04em;}

/* =========================================================
   GENERIC PAGE / COLLECTION / CART / SEARCH
   ========================================================= */
.page-hero{text-align:center;padding-block:clamp(50px,7vw,90px) clamp(30px,4vw,50px);}
.rte{max-width:70ch;margin-inline:auto;}
.rte h2{font-family:var(--font-serif);margin:1.4em 0 .5em;}
.rte p{margin-bottom:1.1em;color:var(--ink-soft);}
.rte a{color:var(--champagne-deep);text-decoration:underline;}
.breadcrumb{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px;}

.cart-table{width:100%;border-collapse:collapse;}
.cart-table th{text-align:left;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);padding:0 0 16px;border-bottom:1px solid var(--line);font-weight:500;}
.cart-item td{padding:22px 0;border-bottom:1px solid var(--line);vertical-align:top;}
.cart-item__media{width:96px;}
.cart-item__media img{width:96px;height:120px;object-fit:cover;background:var(--cream);}
.cart-item__title{font-size:.95rem;margin-bottom:4px;}
.cart-item__variant{font-size:.8rem;color:var(--ink-soft);}
.qty{display:inline-flex;border:1px solid var(--line);}
.qty button{background:none;border:0;width:36px;height:40px;font-size:1rem;}
.qty input{width:44px;border:0;text-align:center;font-family:inherit;background:transparent;}
.cart-foot{display:flex;justify-content:flex-end;margin-top:34px;}
.cart-summary{width:min(100%,380px);}
.cart-summary__row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);}
.cart-summary__total{font-size:1.15rem;font-family:var(--font-serif);}

.search-results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,30px);}
.search-form-lg{display:flex;max-width:640px;margin:0 auto 40px;border-bottom:1px solid var(--ink);}
.search-form-lg input{flex:1;border:0;background:transparent;padding:14px 0;font-family:var(--font-serif);font-size:1.4rem;}
.search-form-lg input:focus{outline:none;}
.search-form-lg button{background:none;border:0;font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;}

.empty-state{text-align:center;padding-block:clamp(50px,9vw,120px);}
.empty-state p{color:var(--ink-soft);margin:14px 0 26px;}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1100px){
  .product-grid,.search-results-grid{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  :root{--header-h:64px;}
  .header__nav{display:none;}
  .header__toggle{display:inline-flex;}
  .header__bar{grid-template-columns:auto 1fr auto;min-height:64px;}
  .header__logo{justify-self:start;}
  .editorial,.feature-product{grid-template-columns:1fr;}
  .editorial--reverse .editorial__media{order:0;}
  .footer__top{grid-template-columns:1fr 1fr;gap:32px;}
  .benefits__grid,.benefits__grid[data-count="3"]{grid-template-columns:repeat(2,1fr);}
  .benefit:nth-child(2){border-right:0;}
  .benefit{border-bottom:1px solid rgba(247,242,234,.14);}
}
@media (max-width:760px){
  .hero__img--desktop{display:none;}
  .hero__img--mobile{display:block;}
  .hero__video{object-position:75% center;}
  .hero__media{background-position:75% center;}
  .hero__content{justify-content:flex-end;padding-bottom:9vh;text-align:center;}
  .hero__inner{margin-inline:auto;text-align:center;max-width:100%;}
  .hero__cta{justify-content:center;}
  .hero__text{margin-inline:auto;}
  .texture__grid{grid-template-columns:1fr;}
  .texture__grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);gap:14px;}
  .texture__grid::-webkit-scrollbar{display:none;}
  .texture-card{flex:0 0 78%;scroll-snap-align:center;}
  .benefit{padding:16px 12px;}
  .benefit__title{font-size:.7rem;letter-spacing:.16em;margin-bottom:4px;}
  .benefit__text{font-size:.72rem;}
  .category-grid{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .testimonials__grid{grid-template-columns:1fr;gap:40px;}
  .product-grid,.search-results-grid{grid-template-columns:repeat(2,1fr);gap:16px;}
  .footer__top{grid-template-columns:1fr;gap:30px;}
  .cart-item__media{width:72px;}
  .cart-item__media img{width:72px;height:90px;}
}
@media (max-width:430px){
  .hero__title{font-size:clamp(2rem,9vw,2.8rem);}
  .btn{padding:14px 24px;}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important;}
  .reveal{opacity:1;transform:none;}
}
