@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');

/* ==========================================================================
   Design tokens — 8-point grid
   Spacing scale: 4 · 8 · 16 · 24 · 32 · 40 · 48 · 64 · 80 · 96 · 128
   ========================================================================== */
:root{
  /* Color */
  --green:#354432;
  --cream:#f5f1e8;
  --sand:#e7dec6;
  --ink:#303b2e;
  --white:#fff;
  --photo-bg:#ebe6da; /* background of all product photos */

  /* Font families */
  --serif:'Cormorant Garamond',Garamond,'Times New Roman',serif;
  --sans:'Inter',Arial,sans-serif;

  /* Spacing */
  --space-4:4px;
  --space-8:8px;
  --space-16:16px;
  --space-24:24px;
  --space-32:32px;
  --space-40:40px;
  --space-48:48px;
  --space-64:64px;
  --space-80:80px;
  --space-96:96px;
  --space-128:128px;

  /* Layout (desktop) */
  --page-x:var(--space-64);
  --section-y:var(--space-96);
  --header-h:var(--space-96);
  --logo-size:48px;

  /* Buttons (sizes follow the Everybox reference: 14px text, 48px buttons, larger main CTA) */
  --btn-fs:14px;
  --btn-h:var(--space-48);
  --btn-px:var(--space-24);
  --btn-h-lg:56px;
  --btn-px-lg:var(--space-32);
  --pill-fs:14px;
  --pill-h:var(--space-40);

  /* Type scale (desktop). Display–H2 are fluid; line-heights land on 8px steps. */
  --fs-display:clamp(56px,6.5vw,104px);  --lh-display:1;     --ls-display:-.015em;
  --fs-h1:clamp(48px,5vw,80px);          --lh-h1:1.1;        --ls-h1:-.01em;
  --fs-h2:clamp(36px,3.6vw,56px);        --lh-h2:1.143;      --ls-h2:0;
  --fs-h3:32px;                          --lh-h3:40px;
  --fs-h4:24px;                          --lh-h4:32px;
  --fs-h5:18px;                          --lh-h5:24px;
  --fs-lead:16px;                        --lh-lead:24px;
  --fs-body:14px;                        --lh-body:24px;
  --fs-body-sm:13px;                     --lh-body-sm:16px;
  --fs-caption:12px;                     --lh-caption:16px;  --ls-caption:.16em;
}
@media(max-width:1024px){
  :root{
    --page-x:var(--space-32);
    --section-y:var(--space-64);
  }
}
@media(max-width:767px){
  :root{
    --page-x:var(--space-16);
    --section-y:var(--space-48);
    --header-h:var(--space-80);
    --logo-size:40px;
    --pill-fs:12px;
    --fs-display:clamp(44px,11vw,64px);
    --fs-h1:40px;   --lh-h1:48px;
    --fs-h2:32px;   --lh-h2:40px;
    --fs-h3:28px;   --lh-h3:32px;
    --fs-h4:22px;   --lh-h4:32px;
    --fs-h5:16px;   --lh-h5:24px;
    --fs-lead:15px;
  }
}

/* ==========================================================================
   Base
   ========================================================================== */
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--space-24))}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:var(--fs-body);line-height:1.5}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer;color:inherit;border:0;background:none}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #9b8252;outline-offset:var(--space-4)}
img{display:block;width:100%;object-fit:cover}
button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
em{font-family:inherit;font-style:normal;font-weight:inherit;font-size:1em}
h2{font-family:var(--serif);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2)}
label{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){body{max-width:1920px;margin:auto}}

/* ==========================================================================
   Typography helpers
   ========================================================================== */
.eyebrow{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:500;letter-spacing:var(--ls-caption)}
.demo-note{font-size:var(--fs-caption);line-height:var(--lh-caption);color:#858577;margin-top:var(--space-32)}
.small-star{font-size:var(--fs-h3);line-height:1}
.empty{padding:var(--space-40) 0;font-family:var(--serif);font-size:var(--fs-h4);line-height:var(--lh-h4)}

/* ==========================================================================
   Icons (Hugeicons, generated by scripts/icons.mjs)
   ========================================================================== */
.ico{display:inline-block;flex:none;width:1em;height:1em;vertical-align:-.15em}
.button span,.zoom-label>span,.underlined span,.category-grid i,.single-copy summary>span,.faq-list summary>span{display:inline-flex;align-items:center}
.text-link .ico{width:1.2em;height:1.2em}
.close .ico,.drawer-close .ico,.search-close .ico{width:24px;height:24px}
.save-product .ico{width:24px;height:24px}
.small-star .ico{width:28px;height:28px}
.breadcrumbs a,.back-button,.footer-bottom a{display:inline-flex;align-items:center;gap:var(--space-8)}
.drawer-status .ico{margin-right:var(--space-4)}

/* ==========================================================================
   Buttons & links
   ========================================================================== */
.icon{display:inline-flex;justify-content:center;align-items:center;padding:var(--space-8);gap:var(--space-8)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-24);min-height:var(--btn-h);padding:0 var(--btn-px);font-size:var(--btn-fs);line-height:var(--lh-body);font-weight:500;border-radius:2px;transition:background .2s,transform .2s}
.button:hover{transform:translateY(-2px)}
.button span{font-size:var(--fs-h5);line-height:1}
.hero-copy .button,.closing .button,.faq-cta .button,.whatsapp-button{min-height:var(--btn-h-lg);padding:0 var(--btn-px-lg)}
.light{background:var(--sand);color:var(--green);margin-top:var(--space-32)}
.dark{background:var(--green);color:var(--sand)}
.full-button{width:100%;margin-top:var(--space-16)}
.add-button{background:transparent;border:1px solid #c3c9b9;width:100%}
.add-button:hover{background:var(--green);color:var(--sand)}
.whatsapp-button{justify-content:center;gap:var(--space-16)}
.whatsapp-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
.view-cart-button{border:1px solid var(--green);margin-top:var(--space-8)}
.text-link{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);align-self:start;padding:var(--space-4) 0;white-space:nowrap}
.text-link:hover{border-bottom:1px solid}
.underlined{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9da18e;padding:var(--space-16) 0;margin-top:var(--space-24);max-width:320px;font-size:var(--btn-fs);line-height:var(--lh-body);font-weight:500}
.underlined span{font-size:var(--fs-h5);line-height:1}
.muted-link{display:inline-block;font-size:var(--btn-fs);line-height:var(--lh-body);color:#768269;text-decoration:underline;text-underline-offset:var(--space-4)}
.back-button{display:block;font-size:var(--btn-fs);line-height:var(--lh-body);padding:0;margin-bottom:var(--space-32)}

/* ==========================================================================
   Navigation
   ========================================================================== */
.header{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-x);position:relative}
.nav-left,.nav-right{display:flex;align-items:center;flex:1}
.nav-left{gap:var(--space-40)}
.nav-right{justify-content:flex-end;gap:var(--space-16)}
.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.brand-name{font-family:var(--serif);font-size:var(--logo-size);font-weight:500;line-height:1;letter-spacing:-.01em}

.menu-toggle{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8);padding:var(--space-8) var(--space-8) var(--space-8) 0}
.menu-toggle span{display:block;height:1.3px;background:currentColor;transition:transform .3s,width .3s}
.menu-toggle span:first-child{width:var(--space-24)}
.menu-toggle span:last-child{width:var(--space-16)}
.menu-open .menu-toggle span:first-child{transform:translateY(4.65px) rotate(45deg);width:20px}
.menu-open .menu-toggle span:last-child{transform:translateY(-4.65px) rotate(-45deg);width:20px}

.nav-links{display:flex;align-items:center;gap:var(--space-32)}
.nav-top{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.nav-top{position:relative;padding:var(--space-4) 0}
.nav-top:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-top:hover:after,.nav-item:focus-within .nav-top:after{transform:scaleX(1)}
/* Dropdown menus */
.nav-item{position:relative;display:flex;align-items:center;height:var(--header-h)}
.nav-menu{position:absolute;top:100%;left:calc(var(--space-24) * -1);z-index:7;min-width:240px;display:flex;flex-direction:column;gap:var(--space-8);padding:var(--space-24);background:var(--white);color:var(--green);text-shadow:none;border-top:1px solid #ece7dc;box-shadow:0 24px 40px rgb(30 38 28 / .08);opacity:0;visibility:hidden;transform:translateY(var(--space-8));transition:opacity .2s,transform .2s,visibility .2s}
.nav-item:hover .nav-menu,.nav-item:focus-within .nav-menu{opacity:1;visibility:visible;transform:none}
.nav-menu a{font-size:var(--fs-body);line-height:var(--lh-body);white-space:nowrap;transition:opacity .2s}
.nav-menu a:hover{opacity:.6}

.nav-right .icon{position:relative;padding:var(--space-8)}
.nav-right svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3}
.nav-right .icon span{position:absolute;top:var(--space-4);right:0;min-width:var(--space-16);height:var(--space-16);padding:0 var(--space-4);border-radius:var(--space-8);background:currentColor;display:flex;align-items:center;justify-content:center;font-size:var(--fs-caption);font-weight:500;line-height:1;-webkit-text-fill-color:var(--green);text-shadow:none}

.menu-drawer{position:absolute;top:100%;left:0;right:0;z-index:6;display:grid;grid-template-columns:repeat(3,minmax(0,max-content));gap:var(--space-64);padding:var(--space-32) var(--page-x) var(--space-48);background:var(--white);color:var(--green);text-shadow:none;border-top:1px solid #ece7dc;box-shadow:0 24px 40px rgb(30 38 28 / .08)}
.menu-group{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-8)}
.menu-label{margin-bottom:var(--space-8);font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:500;letter-spacing:var(--ls-caption);text-transform:uppercase;color:#7b826f}
.menu-drawer a{font-size:var(--fs-body);line-height:var(--lh-body)}
.menu-drawer a:hover{opacity:.6}

/* White navigation on shop, product, cart and checkout */
.commerce-header{position:sticky;top:0;z-index:50;background:var(--white);color:var(--green);border-bottom:1px solid #ece7dc;transition:transform .35s ease,box-shadow .35s ease}
.commerce-header.is-scrolled{box-shadow:0 8px 24px rgb(30 38 28 / .06)}
/* Hide on scroll down, reveal on scroll up */
.header.is-hidden{transform:translateY(-100%)}
.commerce-header .nav-right .icon span{-webkit-text-fill-color:var(--white)}

@media(max-width:1024px){
  .nav-links{display:none}
}
@media(max-width:767px){
  .nav-right{gap:var(--space-4)}
  .nav-right svg{width:20px;height:20px}
  .menu-drawer{grid-template-columns:1fr;gap:var(--space-32);max-height:calc(100dvh - var(--header-h));overflow-y:auto;padding:var(--space-24) var(--page-x) var(--space-32)}
}

/* ==========================================================================
   Home — video hero with overlay navigation
   ========================================================================== */
.cover{position:relative;height:100svh;background:#25271f;color:#f5f1e8;isolation:isolate}
.cover>.header{position:fixed;top:0;left:0;right:0;max-width:1920px;margin:0 auto;z-index:50;background:transparent;border-bottom:1px solid rgb(245 241 232 / .18);color:#f5f1e8;text-shadow:0 1px 10px rgb(0 0 0 / .2);transition:background-color .3s,color .3s,border-color .3s,text-shadow .3s,transform .35s ease}
@media(hover:hover){.cover>.header:hover{background:var(--white);color:var(--green);border-bottom-color:transparent;text-shadow:none}}
.cover>.header.is-scrolled,.cover>.header.menu-open,.cover>.header:has(.nav-item:focus-within){background:var(--white);color:var(--green);border-bottom-color:transparent;text-shadow:none}
.cover>.header.is-scrolled .nav-right .icon span,.cover>.header:hover .nav-right .icon span,.cover>.header.menu-open .nav-right .icon span{-webkit-text-fill-color:var(--white)}

.video-hero{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}
.hero-video-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.03) 35%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.65) 100%),linear-gradient(90deg,rgba(0,0,0,.25),transparent 75%)}
.hero-copy{position:absolute;left:var(--page-x);bottom:var(--space-64);width:min(780px,78%);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end}
.hero-copy h1{font-family:var(--serif);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin:var(--space-24) 0 var(--space-16);color:#f5f1e8}
.hero-copy p{opacity:.95;font-size:var(--fs-lead);line-height:var(--lh-lead);color:#f5f1e8}
.hero-copy .light{margin-top:var(--space-32);background:var(--cream);color:var(--green)}
.video-control{position:absolute;right:var(--space-32);bottom:var(--space-32);border:1px solid rgb(255 255 255 / .5);border-radius:50%;width:var(--space-40);height:var(--space-40);display:flex;align-items:center;justify-content:center;color:var(--white);background:rgb(0 0 0 / .15)}
.video-control svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.6}
.video-control:hover{background:rgb(0 0 0 / .45)}

@media(max-width:767px){
  .hero-copy{bottom:var(--space-48);width:calc(100% - var(--page-x) * 2)}
  .hero-copy h1{margin:var(--space-16) 0}
  .hero-copy .light{margin-top:var(--space-24)}
  .hero-background-video{object-position:55% center}
  .video-control{right:var(--space-16);bottom:var(--space-16);width:var(--space-32);height:var(--space-32)}
}
@media(max-height:550px){
  :root{--header-h:var(--space-64)}
  .video-hero{--fs-display:48px}
  .hero-copy{bottom:var(--space-32)}
  .hero-copy h1{margin:var(--space-8) 0}
  .hero-copy .light{margin-top:var(--space-16)}
  .hero-copy p{font-size:var(--fs-body);line-height:var(--lh-body)}
}

/* ==========================================================================
   Sections
   ========================================================================== */
.section{padding:var(--section-y) var(--page-x)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-32);margin-bottom:var(--space-40)}
.section-head h2{margin-top:var(--space-16)}
.section-head p{font-size:var(--fs-lead);line-height:var(--lh-lead);max-width:360px}

/* Collection & product cards */
.collection-tools{display:flex;justify-content:space-between;align-items:center;margin:0 0 var(--space-24)}
.filters{display:flex;gap:var(--space-8);flex-wrap:wrap}
.filters button{min-height:var(--pill-h);padding:0 var(--space-16);border-radius:var(--space-32);font-size:var(--pill-fs);line-height:var(--lh-body);transition:background .2s}
.filters button.active{background:var(--green);color:var(--cream)}
.filters button:hover:not(.active){background:#e8e4da}
.item-count{font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.12em}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-32)}
.product-image{position:relative;overflow:hidden;background:var(--photo-bg)}
.open-product{padding:0;width:100%;display:block}
.product-image img{aspect-ratio:1/1.13;height:auto;transition:transform .7s}
.product-image:hover img{transform:scale(1.045)}
.save-product{position:absolute;right:var(--space-8);top:var(--space-8)}
.save-product[aria-pressed=true] svg{fill:var(--green)}
.product-meta{display:flex;justify-content:space-between;gap:var(--space-8);margin-top:var(--space-16)}
.product-meta h3{font-family:var(--serif);font-size:var(--fs-h4);line-height:var(--lh-h4)}
.product-meta span{display:block;margin-top:var(--space-4);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:#7d7e70}

/* Statement */
.statement{display:grid;grid-template-columns:1fr 1fr;background:#e9e5d9}
.statement-image{position:relative;overflow:hidden;min-height:640px}
.statement-image img{height:100%;position:absolute;object-position:50% 58%;transform:scale(1.18)}
.statement-image span{position:absolute;bottom:var(--space-32);left:var(--space-32);color:var(--white);letter-spacing:var(--ls-caption);font-size:var(--fs-caption);line-height:var(--lh-caption)}
.statement-copy{padding:var(--space-80) var(--space-96);display:flex;flex-direction:column;justify-content:center}
.statement-copy h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);margin:var(--space-24) 0}
.statement-copy p{font-size:var(--fs-lead);line-height:var(--lh-lead);margin-bottom:var(--space-16);max-width:370px;color:#666b5f}

/* Categories */
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-32)}
.category-grid a{position:relative;overflow:hidden}
.category-grid img{aspect-ratio:1;height:auto;object-position:center;background:var(--photo-bg);transition:transform .7s}
.category-grid a:hover img{transform:scale(1.04)}
.category-grid span{display:flex;justify-content:space-between;padding:var(--space-24) 0;font-family:var(--serif);font-size:var(--fs-h3);line-height:var(--lh-h3);border-bottom:1px solid #d1d3c5}
.category-grid i{font-size:var(--fs-h4);font-family:var(--sans);font-style:normal}

/* Closing */
.closing{text-align:center;padding:var(--space-64) var(--page-x) var(--section-y)}
.closing>p{font-family:var(--serif);font-size:var(--fs-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin:var(--space-24) 0 var(--space-32)}

/* Footer */
footer{background:var(--green);color:var(--sand);padding:var(--space-64) var(--page-x) var(--space-24)}
.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-48)}
.footer-logo{display:flex;flex-direction:column;align-items:center;gap:var(--space-8);color:var(--sand)}
.footer-logo-name{font-family:var(--serif);font-size:64px;font-weight:500;line-height:1;letter-spacing:-.01em}
.footer-logo-label{font-size:var(--fs-caption);line-height:var(--lh-caption);font-weight:500;letter-spacing:.32em;text-transform:uppercase;padding-left:.32em}
.footer-aside{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-24)}
.footer-nav{display:flex;gap:var(--space-24);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.footer-nav a:hover{text-decoration:underline;text-underline-offset:var(--space-4)}
.footer-social{display:flex;gap:var(--space-8);list-style:none;margin:0;padding:0}
.footer-social a{display:flex;align-items:center;justify-content:center;width:var(--space-40);height:var(--space-40);border:1px solid rgb(231 222 198 / .35);border-radius:50%;transition:background .2s,color .2s}
.footer-social a:hover{background:var(--sand);color:var(--green)}
.footer-social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.footer-top p{font-family:var(--serif);font-size:var(--fs-h3);line-height:var(--lh-h3)}
.footer-bottom{display:flex;justify-content:space-between;gap:var(--space-24);padding-top:var(--space-24);border-top:1px solid #67705c;font-size:var(--fs-caption);line-height:var(--lh-caption)}
.footer-bottom>span:nth-child(2){letter-spacing:.16em}

/* Dialogs & toast */
dialog{background:var(--cream);color:var(--green);border:0;padding:var(--space-48);width:min(660px,92vw);max-height:90vh}
dialog::backdrop{background:rgb(24 30 23 / .55);backdrop-filter:blur(5px)}
dialog h2{margin:var(--space-16) 0 var(--space-24);font-size:var(--fs-h3);line-height:var(--lh-h3)}
.close{position:absolute;right:var(--space-8);top:var(--space-8);font-size:var(--fs-h3);line-height:1}
.search-field{display:flex;gap:var(--space-8);margin-top:var(--space-8)}
.search-field input{width:100%;min-width:0;border:1px solid #a7ab9b;background:transparent;padding:var(--space-16)}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24);align-items:center}
.detail-grid h2{font-size:var(--fs-h3);line-height:var(--lh-h3)}
.detail-grid p{font-size:var(--fs-body);line-height:var(--lh-body);margin-bottom:var(--space-16)}
.detail-grid .demo-note{font-size:var(--fs-caption);line-height:var(--lh-caption)}
.detail-price{font-size:var(--fs-h5)!important;line-height:var(--lh-h5);color:var(--green)}
#home-add-cart{margin-top:var(--space-16)}
.toast{position:fixed;bottom:var(--space-24);left:50%;transform:translate(-50%,20px);background:var(--green);color:var(--cream);padding:var(--space-16) var(--space-24);opacity:0;pointer-events:none;transition:.3s;z-index:10;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.toast.visible{transform:translate(-50%,0);opacity:1}

@media(max-width:1024px){
  .category-grid{grid-template-columns:repeat(2,1fr)}
  .statement-copy{padding:var(--space-64) var(--space-48)}
  .statement-image{min-height:560px}
  .product-meta{flex-direction:column}
}
@media(max-width:767px){
  .section-head{display:block;margin-bottom:var(--space-24)}
  .section-head p{margin-top:var(--space-16)}
  .collection-tools{align-items:start}
  .item-count{display:none}
  .filters{gap:var(--space-4)}
  .product-grid{grid-template-columns:1fr 1fr;gap:var(--space-24) var(--space-16)}
  .product-grid article:first-child{grid-column:span 2}
  .product-grid article:first-child img{aspect-ratio:1.2}
  .product-grid article:first-child .product-meta{flex-direction:row}
  .save-product{right:var(--space-4);top:var(--space-4)}
  .statement{display:flex;flex-direction:column}
  .statement-image{min-height:432px}
  .statement-copy{padding:var(--section-y) var(--page-x)}
  .category-grid{gap:var(--space-16);grid-template-columns:1fr}
  .category-grid a{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:var(--space-24)}
  .category-grid img{aspect-ratio:1;width:96px}
  .category-grid span{height:100%;align-items:center;padding:0}
  .closing{padding:var(--space-24) var(--page-x) var(--space-64)}
  .footer-top{flex-wrap:wrap;gap:var(--space-32);padding-bottom:var(--space-32)}
  .footer-logo{align-items:flex-start}
  .footer-logo-name{font-size:48px}
  .footer-aside{width:100%;align-items:flex-start}
  .footer-nav{flex-wrap:wrap;gap:var(--space-16) var(--space-32)}
  .footer-bottom{flex-wrap:wrap}
  .footer-bottom>span:nth-child(2){display:none}
  dialog{padding:var(--space-40) var(--space-24)}
  .detail-grid{grid-template-columns:1fr}
  .detail-grid>img{max-height:320px;object-fit:contain}
  .search-field{flex-direction:column}
  .search-field .button{justify-content:center}
  .toast{width:max-content;max-width:90vw;text-align:center}
}

/* ==========================================================================
   Shop, cart and checkout
   ========================================================================== */
.commerce-page h1{font-family:var(--serif);font-size:var(--fs-h1);font-weight:400;letter-spacing:var(--ls-h1);line-height:var(--lh-h1)}
.commerce-page .section{padding-top:var(--space-32);min-height:65vh}
.breadcrumbs{display:flex;gap:var(--space-8);font-size:var(--fs-caption);line-height:var(--lh-caption);color:#757e6f;margin-bottom:var(--space-48)}
.breadcrumbs a:hover{text-decoration:underline}

/* Shop */
.shop-heading{padding:var(--space-16) 0 var(--space-64);max-width:850px}
.shop-heading h1{margin:var(--space-24) 0}
.shop-heading p{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#68715f}
.shop-toolbar{display:flex;justify-content:space-between;gap:var(--space-24);padding-bottom:var(--space-24);border-bottom:1px solid #d6d8cc}
.shop-search input{border:0;border-bottom:1px solid #a5ae9c;padding:var(--space-8) 0;background:transparent;color:var(--ink);width:224px;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.shop-count-line{display:flex;justify-content:space-between;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.1em;margin:var(--space-24) 0 var(--space-32);color:#747c6d}
.open-shop-product{padding:0;display:block;width:100%}
.shop-product-meta{display:flex;justify-content:space-between;gap:var(--space-16);align-items:center;margin:var(--space-24) 0 var(--space-8)}
.shop-product-meta h3{font-family:var(--serif);font-size:var(--fs-h4);line-height:var(--lh-h4);margin-top:var(--space-4)}
.shop-product-meta>span{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);white-space:nowrap}
.shop-product>p{font-size:var(--fs-body);line-height:var(--lh-body);color:#717a69;min-height:var(--space-48);margin-bottom:var(--space-16)}
.shop-end{display:flex;gap:var(--space-16);align-items:center;justify-content:center;padding-top:var(--section-y);font-size:var(--fs-body);line-height:var(--lh-body)}

/* Cart */
.cart-heading{display:flex;gap:var(--space-24);flex-wrap:wrap;align-items:baseline;padding-bottom:var(--space-40)}
.cart-heading>.eyebrow{width:100%}
.cart-heading>span:last-child{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:#7b826f}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-64)}
.cart-column-labels{display:flex;justify-content:space-between;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.1em;padding:var(--space-16) 0;border-bottom:1px solid #d6d8cc}
.cart-row{display:grid;grid-template-columns:96px minmax(120px,1fr) 96px 96px;align-items:center;gap:var(--space-24);padding:var(--space-32) 0;border-bottom:1px solid #d6d8cc}
.cart-row img{width:96px;height:120px}
.cart-product h3{font-family:var(--serif);font-size:var(--fs-h4);line-height:var(--lh-h4);margin:var(--space-8) 0}
.cart-product>span:not(.eyebrow){font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.remove-item{display:block;padding:0;margin-top:var(--space-16);color:#77826d;font-size:var(--fs-caption);line-height:var(--lh-caption);text-decoration:underline;text-underline-offset:3px}
.quantity{display:flex;align-items:center;justify-content:space-between;border:1px solid #bac3b0;height:var(--space-40)}
.quantity button{padding:var(--space-4) var(--space-8);font-size:var(--fs-h5);line-height:var(--lh-h5)}
.quantity span{font-size:var(--fs-body-sm)}
.quantity button:disabled{opacity:.3;cursor:default}
.line-total{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);font-weight:400;text-align:right}
.order-summary{align-self:start;padding:var(--space-32);background:#ebe8dd;border:1px solid #deded1}
.order-summary h2{font-size:var(--fs-h3);line-height:var(--lh-h3);margin:var(--space-8) 0 var(--space-24)}
.summary-line{display:flex;justify-content:space-between;gap:var(--space-16);padding:var(--space-8) 0;font-size:var(--fs-body);line-height:var(--lh-body)}
.summary-total{border-top:1px solid #cbd0c0;margin-top:var(--space-16);padding:var(--space-24) 0;font-size:var(--fs-body)}
.summary-note{font-size:var(--fs-caption);line-height:var(--lh-caption);text-align:center;margin-top:var(--space-16);color:#78836b}
.order-summary .demo-note{margin-top:var(--space-16)}
.empty-state{max-width:650px;margin:var(--space-40) auto;text-align:center;padding:var(--space-64) 0 var(--space-96)}
.empty-state h2,.empty-state h1{font-size:var(--fs-h2);line-height:var(--lh-h2);margin:var(--space-24) 0}
.empty-state p{font-size:var(--fs-lead);line-height:var(--lh-lead);margin-bottom:var(--space-24)}

/* Checkout */
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-96)}
.checkout-content{max-width:680px;min-height:576px}
.checkout-steps{display:flex;gap:var(--space-32);font-size:var(--fs-caption);line-height:var(--lh-caption);color:#919989;border-bottom:1px solid #d9dccf;padding-bottom:var(--space-24);margin-bottom:var(--space-64)}
.checkout-steps .active{color:var(--green);font-weight:600}
.checkout-content section>h1{font-family:var(--serif);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);margin:var(--space-16) 0 var(--space-24)}
.checkout-content section>h2{margin:var(--space-16) 0 var(--space-24)}
.checkout-intro{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#6d7964;margin-bottom:var(--space-32)}
.checkout-form{margin-top:var(--space-32)}
.checkout-form label{display:block;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);margin-bottom:var(--space-8)}
.checkout-form input,.checkout-form select,.checkout-form textarea{width:100%;padding:var(--space-16);border:1px solid #c7cebb;background:transparent;color:var(--green);border-radius:var(--space-4);font:inherit;font-size:var(--fs-body);line-height:var(--lh-body-sm)}
.checkout-form textarea{resize:vertical}
.checkout-form label>span{color:#8b927f;font-size:var(--fs-caption)}
.checkout-form .full-button{margin-top:var(--space-32)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-24)}
.field-wide{grid-column:span 2}
.checkout-summary{position:sticky;top:calc(var(--header-h) + var(--space-24))}
.checkout-summary .muted-link{margin:var(--space-16) 0}
.checkout-line{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-16) 0;border-bottom:1px solid #d2d7c7}
.checkout-line img{width:48px;height:64px}
.checkout-line>div{flex:1}
.checkout-line p{font-size:var(--fs-body);line-height:var(--lh-body)}
.checkout-line span{font-size:var(--fs-caption);line-height:var(--lh-caption);white-space:nowrap}
.checkout-line>div>span{color:#7d8872}
.review-block{padding:var(--space-24) 0;border-top:1px solid #d2d7c7}
.review-block h3{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:500;margin-bottom:var(--space-8)}
.review-block p{font-size:var(--fs-body);line-height:var(--lh-body);overflow-wrap:anywhere}

@media(max-width:1024px){
  .cart-layout{gap:var(--space-32);grid-template-columns:minmax(0,1fr) 320px}
  .cart-row{grid-template-columns:80px minmax(96px,1fr) 80px;gap:var(--space-16)}
  .cart-row img{width:80px;height:96px}
  .line-total{grid-column:3;margin-top:calc(var(--space-48) * -1);align-self:end}
  .quantity{align-self:start;margin-top:var(--space-16)}
  .checkout-layout{gap:var(--space-40);grid-template-columns:minmax(0,1fr) 320px}
  .checkout-steps{gap:var(--space-16)}
  .shop-product-meta{flex-direction:column;align-items:start;gap:var(--space-8)}
}
@media(max-width:900px){
  .checkout-layout,.cart-layout{grid-template-columns:1fr;gap:var(--space-48)}
  .checkout-summary{position:static}
  .checkout-content{max-width:none;min-height:0}
  .checkout-steps{gap:var(--space-24);justify-content:space-between;margin-bottom:var(--space-40)}
  .order-summary{width:100%}
  .cart-row{grid-template-columns:80px minmax(96px,1fr) 96px}
  .shop-toolbar{flex-direction:column}
  .shop-search input{width:100%}
  .shop-product-meta{display:block}
  .shop-product-meta>span{display:block;margin-top:var(--space-8)}
}
@media(max-width:767px){
  .commerce-page .section{padding-top:var(--space-24)}
  .breadcrumbs{margin-bottom:var(--space-32)}
  .shop-heading{padding:0 0 var(--space-32)}
  .shop-product>p{min-height:72px}
  .shop-main .product-grid article:first-child{grid-column:auto}
  .shop-main .product-grid article:first-child img{aspect-ratio:1/1.13}
  .shop-main .product-grid{gap:var(--space-32) var(--space-16)}
  .shop-main .button{padding:0 var(--space-16);justify-content:center}
  .shop-main .add-button span{display:none}
  .cart-heading{gap:var(--space-16)}
  .cart-row{grid-template-columns:64px minmax(88px,1fr) 88px;gap:var(--space-16)}
  .cart-row img{width:64px;height:80px}
  .cart-product>span:not(.eyebrow){font-size:var(--fs-caption);line-height:var(--lh-caption)}
  .line-total{font-size:var(--fs-caption);margin-top:calc(var(--space-32) * -1)}
  .quantity{height:var(--space-32);margin-top:var(--space-4)}
  .order-summary{padding:var(--space-24)}
  .checkout-steps{gap:var(--space-8);margin-bottom:var(--space-40)}
  .form-grid{grid-template-columns:1fr}
  .field-wide{grid-column:auto}
  .empty-state{padding:var(--space-40) 0 var(--space-64)}
}

/* ==========================================================================
   Single product
   ========================================================================== */
.single-product-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--space-96);align-items:start}
.single-gallery{position:sticky;top:calc(var(--header-h) + var(--space-32))}
.single-gallery>button{padding:0;display:block;width:100%;position:relative;overflow:hidden}
.single-gallery img{aspect-ratio:1/1.1;height:auto;transition:transform .6s}
.single-gallery>button:hover img{transform:scale(1.025)}
.zoom-label{position:absolute;right:var(--space-16);bottom:var(--space-16);background:var(--cream);display:flex;gap:var(--space-16);align-items:center;padding:var(--space-8) var(--space-16);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);border-radius:2px}
.zoom-label>span{font-size:var(--fs-h5);line-height:1}
.gallery-caption{display:flex;justify-content:space-between;font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.16em;margin-top:var(--space-16)}
.single-copy{padding:var(--space-8) 0}
.single-copy h1{margin:var(--space-24) 0 var(--space-16)}
.single-price{font-size:var(--fs-h5);line-height:var(--lh-h5);margin-bottom:var(--space-32)}
.single-description{font-size:var(--fs-body);line-height:var(--lh-body);color:#6b765f;max-width:420px;margin-bottom:var(--space-32)}
.single-selection{display:flex;justify-content:space-between;align-items:center;margin:var(--space-32) 0 var(--space-8);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.single-selection .quantity{width:120px;align-self:center;margin:0;height:var(--space-40)}
.single-selection output{font-size:var(--fs-body-sm)}
.single-copy .button{height:56px}
.single-note{font-size:var(--fs-caption);line-height:var(--lh-caption);text-align:center;color:#78836c;margin:var(--space-16) 0 var(--space-40)}
.single-copy details{border-top:1px solid #cbd1c2}
.single-copy details:last-of-type{border-bottom:1px solid #cbd1c2}
.single-copy summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;padding:var(--space-24) 0;font-size:var(--fs-body);line-height:var(--lh-body);font-weight:500}
.single-copy summary::-webkit-details-marker{display:none}
.single-copy summary>span{font-size:var(--fs-h5);line-height:1;transition:transform .2s}
.single-copy details[open] summary>span{transform:rotate(45deg)}
.single-copy details p{font-size:var(--fs-body);line-height:var(--lh-body);color:#78836c;margin-bottom:var(--space-24)}
.single-copy .demo-note{margin-top:var(--space-24)}
.related-products{padding-top:var(--section-y)}
.related-products .product-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-32);max-width:896px}
.related-products .product-image{display:block}
.related-products .section-head>.underlined{min-width:176px}
.image-dialog{width:min(85vw,640px);padding:var(--space-24)}
.image-dialog img{max-height:80svh;object-fit:contain}
.image-dialog .close{background:var(--cream);z-index:1;border-radius:50%}
.image-dialog::backdrop{background:rgb(20 27 19 / .8)}

@media(max-width:1024px){
  .single-product-layout{gap:var(--space-48)}
  .single-copy{padding-top:0}
  .single-price{margin-bottom:var(--space-24)}
  .single-description{margin-bottom:var(--space-24)}
}
@media(max-width:767px){
  .single-product-layout{grid-template-columns:1fr;gap:var(--space-32)}
  .single-gallery{position:static}
  .single-gallery img{aspect-ratio:1.15}
  .single-copy h1{margin:var(--space-16) 0}
  .single-description{max-width:none}
  .single-selection{margin-top:var(--space-24)}
  .related-products .product-grid article:first-child{grid-column:auto}
  .related-products .product-grid article:first-child img{aspect-ratio:1/1.13}
  .related-products .product-grid{gap:var(--space-16)}
  .related-products .section-head>.underlined{margin-top:var(--space-24);max-width:200px}
  .zoom-label{right:var(--space-8);bottom:var(--space-8)}
  .image-dialog{padding:var(--space-16)}
}

/* Product details list (product page) */
.product-details{list-style:none;margin:0 0 var(--space-24);padding:0}
.product-details li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--space-16);padding:var(--space-8) 0;border-bottom:1px solid #e1e3d8;font-size:var(--fs-body);line-height:var(--lh-body)}
.product-details li:last-child{border-bottom:0}
.product-details li span:first-child{color:#78836c}

/* ==========================================================================
   The Details pages
   ========================================================================== */
.details-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:var(--space-96);align-items:start}
.details-nav{position:sticky;top:calc(var(--header-h) + var(--space-32));display:flex;flex-direction:column;gap:var(--space-8);padding-left:var(--space-16);border-left:1px solid #d6d8cc}
.details-nav a{font-size:var(--fs-body);line-height:var(--lh-body);color:#78836c;transition:color .2s}
.details-nav a:hover,.details-nav a[aria-current]{color:var(--green)}
.details-nav a[aria-current]{font-weight:500}
.details-content{max-width:720px}
.details-content h1{margin:var(--space-16) 0 var(--space-24)}
.details-lead{font-family:var(--serif);font-size:var(--fs-h4);line-height:var(--lh-h4);color:var(--green);margin-bottom:var(--space-16)}
.details-intro{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#68715f;margin-bottom:var(--space-48)}
.details-block{padding:var(--space-32) 0;border-top:1px solid #d6d8cc}
.details-block h2{font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:0;margin-bottom:var(--space-16)}
.details-block p,.details-block li{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#5f6857}
.details-block p+p{margin-top:var(--space-16)}
.details-block ul{margin:0;padding-left:var(--space-24);display:flex;flex-direction:column;gap:var(--space-8)}
.details-block a:not(.button){color:var(--green);text-decoration:underline;text-underline-offset:var(--space-4)}
.material-block{display:grid;grid-template-columns:200px minmax(0,1fr);gap:var(--space-32);align-items:center}
.material-block img{width:200px;height:200px;border-radius:var(--space-4)}
.whatsapp-cta{margin-top:var(--space-24)}
@media(max-width:1024px){
  .details-layout{grid-template-columns:1fr;gap:var(--space-32)}
  .details-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:var(--space-8) var(--space-24);padding:0 0 var(--space-16);border-left:0;border-bottom:1px solid #d6d8cc}
}
@media(max-width:767px){
  .material-block{grid-template-columns:1fr;gap:var(--space-16)}
  .material-block img{width:160px;height:160px}
}

/* ==========================================================================
   FAQ — home section and FAQ page
   ========================================================================== */
.faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:var(--space-96);align-items:start;border-top:1px solid #d6d8cc}
.faq-intro{position:sticky;top:calc(var(--header-h) + var(--space-32))}
.faq-intro h2{margin:var(--space-16) 0 var(--space-24)}
.faq-intro p{font-size:var(--fs-lead);line-height:var(--lh-lead);color:#666b5f;max-width:360px}
.faq-list details{border-top:1px solid #cbd1c2}
.faq-list details:last-child{border-bottom:1px solid #cbd1c2}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-24);padding:var(--space-24) 0;font-size:var(--fs-lead);line-height:var(--lh-lead);font-weight:500}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>span{flex-shrink:0;font-size:var(--fs-h5);line-height:1;font-weight:400;transition:transform .2s}
.faq-list details[open] summary>span{transform:rotate(45deg)}
.faq-list summary:hover{color:var(--green)}
.faq-list details p{font-size:var(--fs-body);line-height:var(--lh-body);color:#68715f;max-width:640px;padding-bottom:var(--space-24)}
.faq-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-48);padding-bottom:var(--space-64)}
.faq-group h2{font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:0}
.faq-cta{display:flex;flex-direction:column;align-items:center;gap:var(--space-24);padding-top:var(--space-32);text-align:center;font-family:var(--serif);font-size:var(--fs-h3);line-height:var(--lh-h3)}
@media(max-width:1024px){
  .faq{gap:var(--space-48)}
}
@media(max-width:767px){
  .faq,.faq-group{grid-template-columns:1fr;gap:var(--space-24)}
  .faq-intro{position:static}
  .faq-group{padding-bottom:var(--space-48)}
}

/* ==========================================================================
   Search panel
   ========================================================================== */
.search-panel{--search-gold:#9b8252;position:fixed;inset:0 0 auto;margin:0;width:100%;max-width:none;max-height:100dvh;overflow-y:auto;padding:var(--space-80) var(--page-x) var(--space-64);background:var(--cream);color:var(--green);box-shadow:0 24px 48px rgb(30 38 28 / .12)}
.search-panel[open]{animation:search-in .4s cubic-bezier(.2,.8,.2,1)}
.search-panel::backdrop{background:rgb(24 30 23 / .45);backdrop-filter:none;animation:drawer-fade .4s ease}
.search-panel.is-closing{animation:search-out .25s ease-in forwards}
.search-panel.is-closing::backdrop{animation:drawer-fade .25s ease-in reverse forwards}
@keyframes search-in{from{transform:translateY(-100%)}}
@keyframes search-out{to{transform:translateY(-100%)}}
html:has(.search-panel[open]){overflow:hidden}
.search-close{position:absolute;top:var(--space-16);right:var(--page-x);width:var(--space-48);height:var(--space-48);font-size:var(--fs-h3);line-height:1}
.search-bar{display:flex}
.search-bar input{flex:1;min-width:0;height:var(--space-64);padding:0 var(--space-32);border:0;border-radius:0;background:#ebe3d6;color:var(--green);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);letter-spacing:.14em;text-transform:uppercase}
.search-bar input::placeholder{color:#6f7566;opacity:1}
.search-bar input:focus-visible{outline:none;box-shadow:inset 0 -2px 0 var(--green)}
.search-bar .button{min-height:var(--space-64);padding:0 var(--space-48);border-radius:0;justify-content:center;letter-spacing:.14em;text-transform:uppercase}
.search-bar .button:hover{transform:none;background:#2a3628}
.search-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--space-64);margin-top:var(--space-48)}
.search-popular .eyebrow{letter-spacing:.16em;text-transform:uppercase}
.search-popular ul{list-style:none;margin:var(--space-24) 0 var(--space-16);padding:0}
.search-popular li a{display:inline-block;font-family:var(--serif);font-size:var(--fs-h3);line-height:var(--lh-h3);padding:var(--space-4) 0;transition:opacity .2s}
.search-popular li a:hover{opacity:.6}
.search-all{display:inline-block;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--search-gold)}
.search-all:hover{text-decoration:underline;text-underline-offset:var(--space-4)}
.search-cards{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}
.search-card{position:relative;display:block;overflow:hidden;aspect-ratio:.92;background:var(--photo-bg)}
.search-card img{position:absolute;inset:0;height:100%;transition:transform .7s}
.search-card-edit img{object-position:50% 70%}
.search-card:hover img{transform:scale(1.04)}
.search-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgb(0 0 0 / .55))}
.search-card-copy{position:absolute;left:var(--space-24);right:var(--space-24);bottom:var(--space-24);z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;color:var(--white)}
.search-card-copy strong{font-family:var(--serif);font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:400}
.search-card-copy span{font-family:var(--serif);font-size:var(--fs-h5);line-height:var(--lh-h5)}
.search-card-copy em{margin-top:var(--space-16);font-style:normal;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);font-weight:500;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:1024px){
  .search-content{grid-template-columns:1fr;gap:var(--space-32)}
}
@media(max-width:767px){
  .search-panel{padding:var(--space-64) var(--page-x) var(--space-32)}
  .search-close{top:var(--space-8)}
  .search-bar input{height:var(--space-48);padding:0 var(--space-16)}
  .search-bar .button{min-height:var(--space-48);padding:0 var(--space-16)}
  .search-content{margin-top:var(--space-32)}
  .search-popular ul{margin-top:var(--space-16)}
  .search-popular li a{font-size:var(--fs-h4);line-height:var(--lh-h4)}
  .search-cards{gap:var(--space-8)}
  .search-card-copy{left:var(--space-8);right:var(--space-8);bottom:var(--space-16)}
  .search-card-copy strong{font-size:var(--fs-h5);line-height:var(--lh-h5)}
  .search-card-copy span{display:none}
  .search-card-copy em{margin-top:var(--space-8);font-size:var(--fs-caption);line-height:var(--lh-caption)}
}

/* ==========================================================================
   Side drawer — cart & favorites
   ========================================================================== */
.side-drawer{--drawer-x:var(--space-32);position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,calc(100vw - var(--space-48)));height:100dvh;max-width:none;max-height:none;padding:0;background:var(--cream);color:var(--ink);box-shadow:-24px 0 48px rgb(30 38 28 / .12)}
.side-drawer[open]{display:flex;flex-direction:column;animation:drawer-in .4s cubic-bezier(.2,.8,.2,1)}
.side-drawer::backdrop{background:rgb(24 30 23 / .45);backdrop-filter:none;animation:drawer-fade .4s ease}
.side-drawer.is-closing{animation:drawer-out .25s ease-in forwards}
.side-drawer.is-closing::backdrop{animation:drawer-fade .25s ease-in reverse forwards}
@keyframes drawer-in{from{transform:translateX(100%)}}
@keyframes drawer-out{to{transform:translateX(100%)}}
@keyframes drawer-fade{from{opacity:0}}
html:has(.side-drawer[open]){overflow:hidden}
.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding:var(--space-16) var(--space-16) var(--space-16) var(--drawer-x);min-height:var(--header-h);border-bottom:1px solid #d6d8cc}
.drawer-head h2:focus{outline:none}
.drawer-head h2{margin:0;font-size:var(--fs-h4);line-height:var(--lh-h4);letter-spacing:0}
.drawer-close{font-size:var(--fs-h3);line-height:1;width:var(--space-48);height:var(--space-48)}
.drawer-status{padding:var(--space-16) var(--drawer-x);background:#e9ecdf;color:var(--green);font-size:var(--fs-body-sm);line-height:var(--lh-body-sm)}
.drawer-body{flex:1;overflow-y:auto;padding:0 var(--drawer-x)}
.drawer-item{display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-16);padding:var(--space-24) 0;border-bottom:1px solid #d6d8cc}
.drawer-item img{width:64px;height:80px}
.drawer-item-info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);min-width:0}
.drawer-item-info h3{font-family:var(--serif);font-size:var(--fs-h5);line-height:var(--lh-h5)}
.drawer-item-price{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:#7b826f}
.drawer-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-16);margin-top:var(--space-8)}
.drawer-item-actions .quantity{height:var(--space-32);width:96px}
.drawer-item-total{font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);font-weight:400;white-space:nowrap}
.drawer-link{padding:0;font-size:var(--fs-body-sm);line-height:var(--lh-body-sm);color:#77826d;text-decoration:underline;text-underline-offset:3px}
.drawer-link:hover{color:var(--green)}
.drawer-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-16);padding:var(--space-64) 0;text-align:center;font-size:var(--fs-body);line-height:var(--lh-body);color:#68715f}
.drawer-foot{padding:var(--space-24) var(--drawer-x) var(--space-32);border-top:1px solid #d6d8cc}
.drawer-foot .full-button{margin-top:var(--space-8)}
.drawer-total{display:flex;justify-content:space-between;font-size:var(--fs-body);line-height:var(--lh-body)}
.drawer-note{margin:var(--space-4) 0 var(--space-16);font-size:var(--fs-caption);line-height:var(--lh-caption);color:#78836b}
@media(max-width:767px){
  .side-drawer{--drawer-x:var(--space-16)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
