/* Nishana storefront — public-only styles (tokens-DESIGN.md)
   Loaded after app.css from platform/views/layout.php */
.announce{background:var(--primary-strong); color:#fff; text-align:center; font-size:.75rem; font-weight:600; padding:.5rem .75rem; letter-spacing:.02em}
.site-header{position:sticky; top:0; z-index:var(--z-header); background:rgba(255,255,255,.93); backdrop-filter:blur(16px); border-bottom:1px solid var(--hairline); transition:background-color .3s ease, box-shadow .3s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.98); box-shadow:0 2px 12px rgba(0,0,0,.12)}
.header-in{display:flex; align-items:center; gap:1rem; min-height:66px}
.brand{display:flex; align-items:center; min-width:0; gap:.55rem; text-decoration:none}
.brand img{width:36px; height:36px; flex:0 0 auto; border-radius:50%; background:#fff; object-fit:contain; box-shadow:var(--shadow-card)}
.brand span{min-width:0}.brand b{display:block; overflow:hidden; font-size:.95rem; letter-spacing:-.02em; text-overflow:ellipsis; white-space:nowrap}
.brand small{display:block; overflow:hidden; color:var(--muted); font-size:.52rem; font-weight:800; letter-spacing:.16em; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap}
.header-search{position:relative; display:flex; align-items:center; gap:.55rem; flex:1; max-width:34rem; min-height:42px; margin-left:1rem; padding:.25rem .3rem .25rem .85rem; border:1px solid var(--input-border); border-radius:var(--radius-pill); background:var(--soft); color:var(--primary-strong)}
.header-search:focus-within{border-color:var(--primary-strong); box-shadow:0 0 0 3px #0b4c2f18}
.header-search i{font-size:.8rem}.header-search input{width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--ink); font-size:.78rem}.header-search input::placeholder{color:var(--muted)}
.header-search button{min-height:34px; padding:0 1rem; border:0; border-radius:var(--radius-pill); background:var(--primary-strong); color:#fff; font-size:.72rem; font-weight:800}
.header-search button:hover{background:var(--primary-deep)}
.header-search-suggestions{position:absolute;top:calc(100% + .45rem);right:0;left:0;z-index:var(--z-modal);display:grid;overflow:hidden;border:1px solid var(--hairline);border-radius:.75rem;background:#fff;box-shadow:var(--shadow-float)}
.header-search-suggestion{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.7rem;align-items:center;padding:.6rem .85rem;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none}.header-search-suggestion:last-child{border-bottom:0}.header-search-suggestion:hover,.header-search-suggestion:focus-visible{background:var(--trust)}.header-search-suggestion__thumb{width:3rem;height:3rem;border-radius:.45rem;object-fit:cover;background:var(--soft)}.header-search-suggestion__thumb--empty{display:grid;place-items:center;background:var(--surface-low);color:var(--primary-deep);font-family:var(--serif);font-size:1.2rem;font-weight:700}.header-search-suggestion__text{display:grid;gap:.1rem;min-width:0}.header-search-suggestion strong{font-family:var(--serif);font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-search-suggestion small{color:var(--muted);font-size:.63rem}.header-search-suggestion__price{color:var(--crimson);font-size:.74rem;font-weight:800}.header-search-suggestion--all{display:block;grid-template-columns:none;color:var(--primary-strong);font-size:.68rem;font-weight:800;text-align:center}
.header-catalogue-search{flex:1; max-width:23rem; margin-left:1rem; padding:.55rem .95rem; border:1px solid var(--input-border); border-radius:var(--radius-pill); background:var(--soft); color:var(--muted); font-size:.78rem; text-decoration:none}
.header-catalogue-search:hover{border-color:var(--primary-strong); color:var(--primary-strong)}
.header-actions{display:flex; align-items:center; gap:.55rem; margin-left:auto}.header-utility{display:inline-flex; align-items:center; gap:.35rem; color:var(--primary-strong); font-size:.74rem; font-weight:800; text-decoration:none; white-space:nowrap}.header-utility:hover{color:var(--crimson)}
.header-wholesale{color:var(--primary-strong); font-size:.75rem; font-weight:800; text-decoration:none; white-space:nowrap}
.bag{position:relative; display:inline-flex; align-items:center; gap:.38rem; min-height:38px; padding:0 .85rem; border-radius:var(--radius-pill); background:var(--crimson); color:#fff; font-size:.76rem; font-weight:800; text-decoration:none}
.bag:hover{background:var(--crimson-active)}
.mobile-menu-btn{display:none; min-width:38px; min-height:38px; border:1px solid var(--hairline); border-radius:50%; background:#fff; align-items:center; justify-content:center; color:var(--primary-deep); font-size:1rem}
.storefront-nav-strip{border-top:1px solid var(--hairline); background:rgba(255,255,255,.8)}
.storefront-nav-strip>.wrap{display:flex; align-items:center; gap:1.35rem; min-height:38px}
.main-nav a{color:var(--on-surface-variant); font-size:.73rem; font-weight:700; text-decoration:none; white-space:nowrap}
.main-nav a:hover{color:var(--primary-strong)}.main-nav .header-phone{margin-left:auto; color:var(--primary-strong)}.main-nav .wa-link{color:var(--accent-forest)}
@media(max-width:767px){
  .header-in{min-height:62px; gap:.5rem}.brand img{width:32px; height:32px}.brand b{font-size:.82rem}.brand small{font-size:.46rem; letter-spacing:.12em}
  .header-catalogue-search,.header-wholesale{display:none}.header-utility span{display:none}.mobile-menu-btn{display:inline-flex}.bag{min-height:36px; padding:0 .7rem}
  .storefront-nav-strip{display:none}.site-header[data-menu="open"] .storefront-nav-strip{display:block; position:absolute; right:0; left:0; top:62px; border-bottom:1px solid var(--hairline); background:#fff; box-shadow:0 12px 24px rgba(3,31,21,.08)}
  .site-header[data-menu="open"] .storefront-nav-strip>.wrap{display:grid; grid-template-columns:1fr 1fr; gap:0; padding-top:.35rem; padding-bottom:.6rem}
  .site-header[data-menu="open"] .storefront-nav-strip a{padding:.7rem .2rem; border-bottom:1px solid var(--hairline); font-size:.82rem}.site-header[data-menu="open"] .main-nav .header-phone{margin-left:0}
}

/* Shared public composition primitives. Screens only choose content; spacing and interaction stay consistent. */
.section-heading{display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.6rem}.section-heading h2{margin:.45rem 0 0; color:var(--primary-deep); font-size:clamp(2rem,4.2vw,2.75rem); line-height:1.08}.section-heading__description{max-width:34rem; margin:.65rem 0 0; color:var(--body); font-size:.95rem; line-height:1.7}.section-heading--center{display:block; text-align:center}.section-heading--center .section-heading__description{margin-right:auto; margin-left:auto}.section-heading__action{flex:0 0 auto; color:var(--primary-strong); font-size:.78rem; font-weight:800; text-decoration:none}.section-heading__action:hover{color:var(--crimson)}
.trust-strip{border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); background:var(--surface-trust)}.trust-strip__grid{display:grid; grid-template-columns:repeat(3,1fr)}.trust-strip__item{display:flex; align-items:center; gap:.7rem; min-height:74px; padding:.8rem 1rem; border-left:1px solid var(--hairline)}.trust-strip__item:first-child{border-left:0}.trust-strip__icon{display:grid; width:2rem; height:2rem; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--surface-low); color:var(--primary-strong); font-size:.78rem}.trust-strip__item b,.trust-strip__item small{display:block}.trust-strip__item b{color:var(--primary-deep); font-size:.78rem}.trust-strip__item small{margin-top:.12rem; color:var(--muted); font-size:.68rem; line-height:1.3}
.status-timeline{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:0; padding:0; list-style:none}.status-timeline__step{position:relative; display:grid; justify-items:center; gap:.45rem; min-width:0; padding:0 .3rem; text-align:center}.status-timeline__step:not(:last-child)::after{position:absolute; top:1rem; left:calc(50% + 1rem); width:calc(100% - 2rem); height:2px; background:var(--hairline); content:""}.status-timeline__step--complete:not(:last-child)::after{background:var(--primary-strong)}.status-timeline__marker{position:relative; z-index:1; display:grid; width:2rem; height:2rem; place-items:center; border:2px solid var(--hairline); border-radius:50%; background:#fff; color:var(--muted); font-size:.72rem; font-weight:800}.status-timeline__step--complete .status-timeline__marker,.status-timeline__step--current .status-timeline__marker{border-color:var(--primary-strong); background:var(--primary-strong); color:#fff}.status-timeline__step--current .status-timeline__marker{box-shadow:0 0 0 5px #0b4c2f1c}.status-timeline__copy b,.status-timeline__copy small{display:block}.status-timeline__copy b{color:var(--primary-deep); font-size:.72rem}.status-timeline__copy small{margin-top:.1rem; color:var(--muted); font-size:.65rem; line-height:1.3}
@media(max-width:767px){.section-heading{align-items:start; gap:.8rem; margin-bottom:1.1rem}.section-heading h2{font-size:1.65rem}.section-heading__description{font-size:.8rem; line-height:1.55}.section-heading__action{font-size:.68rem; white-space:nowrap}.trust-strip__grid{grid-template-columns:1fr}.trust-strip__item{min-height:62px; border-left:0; border-top:1px solid var(--hairline)}.trust-strip__item:first-child{border-top:0}.trust-strip__item b{font-size:.75rem}.trust-strip__item small{font-size:.64rem}}
@media(max-width:639px){.status-timeline{grid-template-columns:repeat(2,1fr); gap:1rem .2rem}.status-timeline__step:nth-child(2)::after{display:none}.status-timeline__step:not(:last-child)::after{top:1rem; left:calc(50% + 1rem); width:calc(100% - 2rem)}.status-timeline__copy b{font-size:.66rem}.status-timeline__copy small{font-size:.6rem}}

.hero{position:relative; isolation:isolate; overflow:hidden; background:#edf7ed}
.hero-bg{position:absolute; inset:0; z-index:-2; height:112%; width:100%; object-fit:cover; object-position:62% center}
.hero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, #f7fcf5fa 0%, #f7fcf5ed 34%, #f7fcf55c 61%, #f7fcf50a 100%)}
@media(max-width:767px){.hero::after{background:linear-gradient(180deg, #f7fcf5fa 0%, #f7fcf5e8 55%, #f7fcf51a 100%)} .hero-bg{object-position:67% center}}
.hero-in{padding:5rem var(--gutter); max-width:var(--page-width); margin:0 auto}
.hero-in h1{font-size:clamp(3rem,7vw,5.5rem); line-height:.95; letter-spacing:-.045em; max-width:12ch}
.hero-in h1 span{color:var(--crimson)}
.pledge{margin:1.1rem 0 0; padding-left:1rem; border-left:3px solid var(--crimson); font-family:var(--serif); font-size:1.25rem; font-weight:700; color:#174a31}
.hero-cta{display:flex; gap:.75rem; flex-wrap:wrap; margin-top:1.6rem}

.trust{background:var(--surface-trust); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.trust-grid{display:grid; grid-template-columns:repeat(2,1fr)}
.trust-grid>div{padding:1rem; border-left:1px solid var(--hairline)}
.trust-grid b{display:block; font-size:.9rem} .trust-grid small{color:var(--muted)}
@media(min-width:768px){.trust-grid{grid-template-columns:repeat(4,1fr)}}

.section{padding:4rem var(--gutter)}
.section h2{font-size:clamp(2rem,4vw,3rem); line-height:1.05; margin:.8rem 0 .5rem}
.product-grid{display:grid; gap:1.25rem; margin-top:2rem}
@media(min-width:640px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.product-grid{grid-template-columns:repeat(4,1fr)}}
.card-img{width:100%; height:14rem; object-fit:cover; display:block; background:var(--soft); aspect-ratio:4/3}
.card-img.placeholder{display:grid; place-items:center; color:var(--primary-strong); font-family:var(--serif); font-size:1.6rem; min-height:14rem}
.card-body{padding:1.1rem 1.25rem 1.25rem}
.pack{font-weight:800; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--primary-strong)}
.card-body h3{font-size:1.35rem; margin:.4rem 0 .2rem}
.card-body h3 a{text-decoration:none} .card-body h3 a:hover{color:var(--crimson)}
.card-body p{margin:.2rem 0 0; font-size:.9rem}
.card-row{display:flex; align-items:center; justify-content:space-between; margin-top:1rem}
.price{color:var(--crimson); font-size:1.25rem; font-weight:800}

/* detail */
.crumbs{background:var(--trust); border-bottom:1px solid var(--hairline); font-size:.85rem}
.crumbs .wrap{padding-top:.7rem; padding-bottom:.7rem}
.detail{display:grid; gap:2.5rem; padding-top:2.5rem; padding-bottom:4rem}
@media(min-width:1024px){.detail{grid-template-columns:1fr 1fr}}
.detail h1{font-size:clamp(2.4rem,5vw,4rem); line-height:1; margin:.8rem 0 1rem}.detail .lede{max-width:38rem; font-size:1rem; line-height:1.65}
.detail-media{position:relative; display:grid; place-items:center; aspect-ratio:4/3; min-height:24rem; overflow:hidden; border:1px solid var(--hairline); border-radius:var(--radius-card); background:radial-gradient(circle at 50% 20%, #fff 0%, #f7f8f2 48%, #e8efe8 100%); box-shadow:0 18px 42px rgba(11,76,47,.12), inset 0 1px 0 rgba(255,255,255,.8)}
.detail-media::after{content:""; position:absolute; inset:auto 14% 5%; height:8%; border-radius:50%; background:rgba(11,76,47,.13); filter:blur(18px); pointer-events:none}
.detail-img{position:absolute; inset:0; z-index:1; display:block; width:100%; height:100%; padding:1.25rem clamp(1rem,4vw,2.5rem); border:0; border-radius:inherit; object-fit:contain; object-position:center; background:transparent; mix-blend-mode:multiply; filter:drop-shadow(0 18px 18px rgba(20,52,37,.16))}
.detail-media--fallback .detail-img{position:relative; inset:auto; width:9rem; height:auto; padding:0; mix-blend-mode:normal; filter:none; opacity:.78}
.gallery-thumbs{display:flex; gap:.5rem; margin-top:.7rem; overflow-x:auto; padding-bottom:.2rem}
.gallery-thumbs button{display:grid; place-items:center; border:1px solid var(--hairline); border-radius:.7rem; overflow:hidden; padding:0; background:#f7f8f2; min-width:64px; width:64px; height:64px; transition:border-color .18s, box-shadow .18s, transform .18s}
.gallery-thumbs button:hover{transform:translateY(-1px)}
.gallery-thumb-img{display:block; width:100%; height:100%; padding:.3rem; object-fit:contain; mix-blend-mode:multiply}
.gallery-thumbs button[aria-current="true"]{border-color:var(--primary-strong); box-shadow:0 0 0 2px #0b4c2f22}
.qty-stepper{display:inline-flex; align-items:center; border:1px solid var(--hairline); border-radius:var(--radius-btn); overflow:hidden; background:#fff}
.qty-stepper button{width:44px; height:44px; border:0; background:#fff; font-size:1.15rem; font-weight:800}
.qty-stepper input{width:48px; height:44px; border:0; border-left:1px solid var(--hairline); border-right:1px solid var(--hairline); text-align:center; font-weight:800}
.variant-title{font-family:var(--sans); letter-spacing:0; font-size:1rem; margin:1.6rem 0 .7rem}
.variant-list{display:flex; flex-wrap:wrap; gap:.6rem}
.variant{border:1px solid var(--hairline); background:#fff; border-radius:.85rem; padding:.7rem 1rem; text-align:left; min-height:44px}
.variant b{display:block} .variant span{color:var(--crimson); font-weight:800}
.variant.active{border-color:var(--primary-strong); box-shadow:0 0 0 2px #0b4c2f22}
.buy-row{display:flex; gap:2.5rem; margin:1.6rem 0 1rem; padding:1.2rem 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.buy-row small{display:block; margin-bottom:.2rem}
.price-lg{color:var(--crimson); font-size:1.8rem; font-weight:800}

/* footer */
.site-footer{background:linear-gradient(155deg, #073d26 0%, #052b1d 60%, #031f15 100%); color:#fff}
.footer-grid{display:grid; gap:2rem; padding-top:3.5rem; padding-bottom:2.5rem}
@media(min-width:1024px){.footer-grid{grid-template-columns:1.5fr .7fr .9fr}}
.footer-title{display:block; font-size:.75rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; color:#b8d9b4; margin-bottom:1rem}
.site-footer p{color:rgba(255,255,255,.65); font-size:.9rem; line-height:1.7}
.site-footer a{color:#fff}
.legal{border-top:1px solid rgba(255,255,255,.1); padding-top:1.2rem; padding-bottom:1.5rem; font-size:.75rem}
.legal .dim{color:rgba(255,255,255,.35)}
.wa-float-region{position:fixed; right:1.25rem; bottom:calc(1.25rem + env(safe-area-inset-bottom)); z-index:var(--z-float)}
.wa-float{display:inline-flex; align-items:center; background:#0b6b39; color:#fff; font-weight:800; font-size:.85rem; padding:.85rem 1.25rem; border-radius:var(--radius-pill); text-decoration:none; box-shadow:0 12px 28px rgba(0,0,0,.25); transition:transform .18s, background .18s, box-shadow .18s}
.wa-float:hover{background:#07562e; transform:translateY(-2px); box-shadow:0 16px 30px rgba(0,0,0,.28)}
.wa-float:active{transform:translateY(1px)}

/* bottom nav for storefront (public) */
.storefront-bottom-nav{position:fixed; left:0; right:0; bottom:0; z-index:var(--z-bottom-nav); display:grid; grid-template-columns:repeat(4,1fr); background:#fff; border-top:1px solid var(--hairline); padding-bottom:env(safe-area-inset-bottom)}
.storefront-bottom-nav a{display:grid; justify-items:center; gap:2px; padding:.6rem 0 .55rem; text-decoration:none; color:var(--muted); font-size:.68rem; font-weight:700; min-height:56px}
.storefront-bottom-nav a>i{font-size:1.05rem; line-height:1}
.storefront-bottom-nav a.on{color:var(--primary-strong)}
@media(min-width:1024px){.storefront-bottom-nav{display:none}}
body.has-storefront-nav{padding-bottom:76px}
@media(min-width:1024px){body.has-storefront-nav{padding-bottom:0}}

/* Homepage — one responsive composition shared by the desktop and mobile references. */
.home-hero{position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(circle at 78% 18%,#dcf4e5 0%,var(--surface) 39%,#fff 100%); border-bottom:1px solid var(--hairline)}
.home-hero::before{position:absolute; inset:0; z-index:-1; opacity:.36; background-image:radial-gradient(#0b4c2f18 .7px,transparent .7px); background-size:12px 12px; content:""; pointer-events:none}
.home-hero-wrap{padding-top:1.4rem; padding-bottom:2.25rem}
.home-hero-status{display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .75rem; padding:.75rem 1rem; border:1px solid var(--hairline); border-radius:var(--radius-lg); background:var(--trust); color:var(--body); font-size:.78rem}
.home-hero-status strong,.home-hero-status a{color:var(--primary-strong); font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase}
.home-hero-status a{margin-left:auto; text-decoration:none}
.home-status-dot{width:.6rem; height:.6rem; border-radius:50%; background:var(--crimson); box-shadow:0 0 0 4px #d80f2c1a}
.home-hero-grid{display:grid; gap:2.25rem; align-items:center; padding-top:1.7rem}
.home-kicker{margin:0 0:.75rem; color:var(--accent-forest); font-size:.72rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase}
.home-hero h1{max-width:10ch; color:var(--primary-deep); font-size:clamp(3rem,6vw,4.5rem); line-height:.94; letter-spacing:-.055em}
.home-hero h1 span,.home-hero h1 em{display:block}
.home-hero h1 em{color:var(--on-surface-variant); font-weight:400}
.home-hero-lead{max-width:39rem; margin:1.25rem 0 0; color:var(--body); font-size:1.05rem; line-height:2}
.home-value-pills{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem}
.home-value-pills span{padding:.5rem .75rem; border-radius:var(--radius-lg); background:var(--soft); color:var(--primary-deep); font-size:.75rem; font-weight:700}
.home-hero-actions{display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem}
.home-direct-order{display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; margin:1.15rem 0 0; color:var(--muted); font-size:.82rem}
.home-direct-order strong{color:var(--ink)} .home-direct-order a{color:var(--primary-strong); font-weight:800}
.home-hero-art{position:relative; margin:0; padding:.55rem; border:1px solid #fff; border-radius:var(--radius-card); background:#ffffffb8; box-shadow:0 24px 60px #174a3124,0 0 0 8px #ffffff4d}
.home-hero-art>img{width:100%; min-height:22rem; border-radius:calc(var(--radius-card) - .35rem); object-fit:cover; object-position:center}
.home-hero-art figcaption{position:absolute; right:1.25rem; bottom:4.75rem; left:1.25rem; display:grid; gap:.15rem; padding:.9rem 1rem; border-radius:var(--radius-lg); background:rgba(3,31,21,.9); color:#fff}
.home-hero-art figcaption span{color:#b8d9b4; font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase}
.home-hero-art figcaption strong{font-family:var(--serif); font-size:1.1rem; line-height:1.2}
.home-hero-metrics{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding:.75rem .25rem .2rem; text-align:center; color:var(--muted); font-size:.66rem; line-height:1.35}
.home-hero-metrics span{padding:.25rem .1rem; border-right:1px solid var(--hairline)} .home-hero-metrics span:last-child{border-right:0}
.home-hero-metrics b{display:block; color:var(--primary-strong); font-size:.9rem}

.home-section{padding:4.5rem 0}
.home-section-heading{margin-bottom:1.8rem}
.home-section-heading h2{margin-top:.45rem; color:var(--primary-deep); font-size:clamp(2rem,4.2vw,2.75rem); line-height:1.08}
.home-section-heading>p:last-child{max-width:31rem; margin:.7rem 0 0; color:var(--body); font-size:.95rem; line-height:1.7}
.home-section-heading--center{text-align:center}.home-section-heading--center>p:last-child{margin-right:auto; margin-left:auto}
.home-categories{background:linear-gradient(180deg,#fff 0%,var(--trust) 100%)}
.home-category-grid{display:grid; gap:1rem}
.home-category-card{overflow:hidden; border:1px solid var(--hairline); border-radius:var(--radius-card); background:var(--surface-card); transition:transform .18s, box-shadow .18s}
.home-category-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-float)}
.home-category-card a{display:grid; grid-template-columns:7rem 1fr; grid-template-rows:auto auto auto; column-gap:1rem; min-height:8rem; padding:.7rem; color:inherit; text-decoration:none}
.home-category-card img{grid-row:1 / span 3; width:7rem; height:100%; min-height:6.5rem; border-radius:calc(var(--radius-card) - .6rem); background:var(--soft); object-fit:cover}
.home-category-count{align-self:end; color:var(--accent-forest); font-size:.65rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase}
.home-category-card h3{align-self:center; margin:.15rem 0; color:var(--primary-deep); font-size:1.35rem; line-height:1.1}.home-category-card p{align-self:start; margin:0; color:var(--body); font-size:.8rem; line-height:1.45}

.home-catalogue{background:var(--canvas)}
.home-product-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem}
.product-card{display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid var(--hairline); border-radius:var(--radius-card); background:var(--surface-lowest); transition:transform .18s, box-shadow .18s}
.product-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-float)}
.product-card-media{display:block; overflow:hidden; background:var(--card)}
.product-card-img{width:100%; height:auto; aspect-ratio:1/1; background:var(--soft); object-fit:contain; padding:.55rem; transition:transform .25s}
.product-card-img.placeholder{padding:1.5rem; opacity:.82}
.product-card:hover .product-card-img{transform:scale(1.04)}
.product-card-body{display:grid; flex:1; gap:.38rem; padding:.85rem}
.product-card-kicker{color:var(--accent-forest); font-size:.61rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase}
.product-card-body h3{font-family:var(--sans); font-size:.93rem; letter-spacing:-.02em; line-height:1.25}.product-card-body h3 a{color:var(--primary-deep); text-decoration:none}
.product-card-body>p{margin:0; color:var(--muted); font-size:.72rem; line-height:1.35}
.product-card-row{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.45rem; padding-top:.35rem}
.product-card-price{color:var(--crimson); font-size:.92rem; font-weight:800}.product-card-link{color:var(--primary-strong); font-size:.72rem; font-weight:800}
.product-card-stock{font-size:.62rem; font-weight:800; line-height:1.2; text-align:right}
.product-card-stock--ok{color:var(--success)}.product-card-stock--warn{color:#9a6200}.product-card-stock--bad{color:var(--error)}.product-card-stock--mute{color:var(--muted)}
.product-card-actions{display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-top:auto; padding-top:.35rem}
.product-card-add-form{margin:0}.product-card-actions .button{min-height:40px; padding:.55rem .8rem; font-size:.72rem}
.home-catalogue-note{max-width:42rem; margin:1.2rem auto 0; color:var(--muted); font-size:.8rem; text-align:center}
.home-catalogue-note a{color:var(--primary-strong); font-weight:800}

/* Complete catalogue */
.catalogue-page{padding:2.5rem 0 5rem; background:var(--surface)}
.catalogue-page-intro{display:flex; align-items:end; justify-content:space-between; gap:1.5rem; margin-bottom:1.8rem}
.catalogue-page-intro h1{max-width:18ch; margin:.45rem 0 .8rem; color:var(--primary-deep); font-size:clamp(2.3rem,5vw,4rem); line-height:1}
.catalogue-page-intro .lede{margin:0; max-width:42rem}
.catalogue-count{flex:0 0 auto; padding:.55rem .8rem; border:1px solid var(--hairline); border-radius:var(--radius-pill); background:var(--success-surface); color:var(--success); font-size:.72rem; font-weight:800; white-space:nowrap}
.catalogue-toolbar{display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,16rem) auto auto; gap:.65rem; align-items:center; margin-bottom:1.5rem; padding:.8rem; border:1px solid var(--hairline); border-radius:var(--radius-card); background:var(--surface-lowest); box-shadow:var(--shadow-card)}
.catalogue-search,.catalogue-filter{display:flex; align-items:center; min-height:44px; border:1px solid var(--input-border); border-radius:var(--radius-btn); background:var(--soft); color:var(--muted)}
.catalogue-search{gap:.6rem; padding:0 .8rem}.catalogue-search i{color:var(--primary-strong); font-size:.85rem}.catalogue-search input,.catalogue-filter select{width:100%; min-width:0; min-height:42px; border:0; outline:0; background:transparent; color:var(--ink); font:inherit}
.catalogue-filter{padding:0 .75rem}.catalogue-filter select{cursor:pointer}.catalogue-toolbar .button{min-height:44px; white-space:nowrap}
.catalogue-product-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem}
@media(min-width:640px){.catalogue-page{padding-top:4rem}.catalogue-product-grid{gap:1.25rem}}
@media(min-width:900px){.catalogue-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1280px){.catalogue-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.home-reliability{background:var(--trust); border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline)}
.home-reliability-grid{display:grid; gap:.75rem}.home-reliability-grid article{padding:1.1rem; border:1px solid var(--hairline); border-radius:var(--radius-lg); background:var(--surface-lowest)}
.home-reliability-grid b{color:var(--primary-deep); font-size:.92rem}.home-reliability-grid p{margin:.35rem 0 0; color:var(--body); font-size:.82rem; line-height:1.55}

.home-delivery{background:var(--surface)}
.home-delivery-grid{display:grid; gap:1rem}.home-delivery-journey{padding:1.4rem; border:1px solid var(--hairline); border-radius:var(--radius-card); background:var(--surface-lowest)}.home-delivery-journey>img{display:block; width:100%; height:12rem; margin:-.15rem 0 1.2rem; border-radius:calc(var(--radius-card) - .45rem); object-fit:cover; object-position:center 58%; box-shadow:0 14px 30px #174a3117}
.home-delivery-journey h3{color:var(--primary-deep); font-size:1.45rem}.home-delivery-journey ol{display:grid; gap:.75rem; margin:1.2rem 0 0; padding:0; list-style:none; counter-reset:journey}
.home-delivery-journey li{position:relative; padding-left:2.45rem; color:var(--body); font-size:.85rem}.home-delivery-journey li::before{position:absolute; left:0; top:-.15rem; display:grid; width:1.7rem; height:1.7rem; place-items:center; border-radius:50%; background:var(--primary-deep); color:#fff; content:counter(journey); counter-increment:journey; font-size:.72rem; font-weight:800}
.home-zone-list{display:grid; gap:.75rem}.home-zone-card{display:flex; justify-content:space-between; gap:1rem; padding:1.1rem; border:1px solid var(--hairline); border-radius:var(--radius-lg); background:var(--surface-lowest)}
.home-zone-label{display:inline-flex; margin-bottom:.3rem; padding:.22rem .5rem; border-radius:var(--radius-pill); background:var(--success-surface); color:var(--success); font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase}.home-zone-card h3{color:var(--primary-deep); font-size:1.1rem}.home-zone-card p,.home-zone-card small{display:block; margin:.25rem 0 0; color:var(--body); font-size:.78rem; line-height:1.45}
.home-zone-price{align-self:center; min-width:5.2rem; text-align:right}.home-zone-price strong{display:block; color:var(--crimson); font-size:1rem}.home-zone-price span{display:block; margin-top:.2rem; color:var(--muted); font-size:.66rem; line-height:1.3}

.home-wholesale{padding:4.5rem 0; background:radial-gradient(circle at 14% 10%,#1e6c49 0%,transparent 30%),linear-gradient(155deg,#073d26 0%,#052b1d 60%,#031f15 100%); color:#fff}.home-wholesale h2{max-width:15ch; margin:.4rem 0 .8rem; color:#fff; font-size:clamp(2rem,4vw,2.8rem); line-height:1.08}.home-wholesale>div>div>p:not(.home-kicker){max-width:39rem; color:#c6f2d8; line-height:1.8}.home-wholesale-media{overflow:hidden; margin:0 0 1.4rem; border:1px solid #ffffff2e; border-radius:var(--radius-card); background:#0b4c2f; box-shadow:0 24px 50px #0000002b}.home-wholesale-media img{display:block; width:100%; height:14rem; object-fit:cover; object-position:center 56%; opacity:.94}
.home-wholesale-points{display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.3rem}.home-wholesale-points span{padding:.45rem .65rem; border:1px solid #ffffff22; border-radius:var(--radius-pill); color:#d2fee3; font-size:.73rem; font-weight:700}
.home-wholesale-card{padding:1.35rem; border-radius:var(--radius-card); background:#fff; color:var(--ink)}.home-wholesale-card h3{margin:.35rem 0; color:var(--primary-deep); font-size:1.55rem}.home-wholesale-card>p:not(.eyebrow){margin:.5rem 0 0; color:var(--body); font-size:.88rem; line-height:1.65}
.home-wholesale-actions{display:grid; gap:.7rem; margin-top:1.3rem}.home-wholesale-actions .button{width:100%}.home-contact-link{color:var(--primary-strong); font-size:.84rem; font-weight:800; text-align:center}

.home-faq{background:var(--surface)}.home-faq-wrap{max-width:66rem}.home-faq-list{display:grid; gap:.75rem; max-width:54rem; margin:0 auto}.home-faq-list details{padding:1rem 1.1rem; border:1px solid var(--hairline); border-radius:var(--radius-lg); background:#fff}.home-faq-list summary{color:var(--primary-deep); cursor:pointer; font-size:.9rem; font-weight:800}.home-faq-list p{margin:.75rem 0 0; color:var(--body); font-size:.85rem; line-height:1.7}

@media(min-width:640px){
  .home-section{padding:5.5rem 0}.home-category-grid{grid-template-columns:repeat(3,1fr)}.home-category-card a{grid-template-columns:1fr; grid-template-rows:auto; gap:.65rem; padding:1rem}.home-category-card img{grid-row:auto; width:100%; height:10rem}.home-category-count{align-self:auto}.home-category-card h3{align-self:auto; font-size:1.25rem}.home-category-card p{align-self:auto}.home-product-grid{gap:1.25rem}.product-card-body{padding:1.1rem}.product-card-body h3{font-size:1.08rem}.product-card-price{font-size:1.05rem}.home-reliability-grid{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:900px){
  .home-hero-wrap{padding-top:1.5rem; padding-bottom:3.2rem}.home-hero-grid{grid-template-columns:minmax(0,7fr) minmax(22rem,5fr); gap:3rem; padding-top:1.7rem}.home-section{padding:6rem 0}.home-section-heading--split{display:flex; align-items:end; justify-content:space-between; gap:2rem}.home-section-heading--split>p:last-child{margin:0}.home-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-delivery-grid{grid-template-columns:minmax(17rem,5fr) minmax(0,7fr); gap:1.5rem}.home-wholesale{padding:5rem 0}.home-wholesale-grid{display:grid; grid-template-columns:minmax(0,1fr) minmax(22rem,.8fr); gap:4rem; align-items:center}.home-wholesale-media{margin-bottom:1.7rem}.home-wholesale-media img{height:15rem}.home-wholesale-card{padding:2rem}
}
@media(min-width:1280px){.home-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-hero-art>img{min-height:29rem}}
@media(max-width:639px){
  .home-hero-wrap{padding-top:1.25rem; padding-bottom:2.5rem}.home-hero-status{display:none}.home-hero-grid{gap:1.5rem; padding-top:0}.home-hero h1{font-size:3rem}.home-hero-lead{margin-top:.75rem; font-size:.85rem; line-height:1.65}.home-value-pills{display:none}.home-hero-actions{display:grid; gap:.55rem; margin-top:1.15rem}.home-hero-actions .button{width:100%; min-height:46px}.home-direct-order{margin-top:.85rem; font-size:.72rem}.home-hero-art{padding:.4rem}.home-hero-art>img{min-height:11.5rem; max-height:13rem}.home-hero-art figcaption{right:.8rem; bottom:4rem; left:.8rem; padding:.6rem .7rem}.home-hero-art figcaption strong{font-size:.85rem}.home-hero-metrics{font-size:.55rem}.home-hero-metrics b{font-size:.74rem}.home-section{padding:3rem 0}.home-section-heading{margin-bottom:1.2rem}.home-section-heading h2{font-size:1.55rem}.home-section-heading>p:last-child{font-size:.8rem; line-height:1.55}.home-categories{padding-top:2.5rem}.home-category-grid{gap:.7rem}.home-category-card{border-radius:var(--radius-lg)}.home-category-card a{grid-template-columns:4.5rem 1fr; min-height:5.5rem; padding:.45rem; column-gap:.65rem}.home-category-card img{min-height:4.6rem; width:4.5rem; border-radius:calc(var(--radius-lg) - .2rem)}.home-category-count{font-size:.53rem}.home-category-card h3{font-size:.9rem}.home-category-card p{font-size:.66rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}.home-product-grid{gap:.65rem}.product-card{border-radius:var(--radius-lg)}.product-card-body{gap:.25rem; padding:.65rem}.product-card-kicker{font-size:.52rem}.product-card-body h3{font-size:.78rem; line-height:1.25}.product-card-body>p{font-size:.61rem}.product-card-row{align-items:flex-end; padding-top:.2rem}.product-card-price{font-size:.76rem}.product-card-link{font-size:.62rem}.home-reliability-grid{gap:.55rem}.home-reliability-grid article{padding:.85rem; border-radius:var(--radius-lg)}.home-reliability-grid b{font-size:.77rem}.home-reliability-grid p{font-size:.68rem; line-height:1.45}.home-delivery-journey{padding:1.1rem; border-radius:var(--radius-lg)}.home-delivery-journey>img{height:9.5rem; margin:-.1rem 0 .95rem}.home-delivery-journey h3{font-size:1.2rem}.home-delivery-journey li{font-size:.76rem}.home-zone-card{padding:.85rem; border-radius:var(--radius-lg)}.home-zone-card h3{font-size:.93rem}.home-zone-card p,.home-zone-card small{font-size:.67rem}.home-zone-price{min-width:4.2rem}.home-zone-price strong{font-size:.78rem}.home-wholesale{padding:3rem 0}.home-wholesale h2{font-size:1.65rem}.home-wholesale>div>div>p:not(.home-kicker){font-size:.8rem; line-height:1.65}.home-wholesale-points span{font-size:.62rem}.home-wholesale-media{margin-bottom:1.1rem}.home-wholesale-media img{height:10rem}.home-wholesale-card{margin-top:1.35rem; padding:1.1rem; border-radius:var(--radius-lg)}.home-wholesale-card h3{font-size:1.25rem}.home-wholesale-card>p:not(.eyebrow){font-size:.78rem}.home-faq-list details{padding:.85rem; border-radius:var(--radius-lg)}.home-faq-list summary{font-size:.78rem}.home-faq-list p{font-size:.74rem; line-height:1.55}
}

@media(max-width:639px){
  .catalogue-page{padding-top:1.5rem; padding-bottom:3rem}
  .catalogue-page-intro{display:grid; align-items:start; gap:.8rem; margin-bottom:1.2rem}
  .catalogue-page-intro h1{font-size:2.35rem}
  .catalogue-count{justify-self:start}
  .catalogue-toolbar{grid-template-columns:1fr; gap:.55rem; margin-bottom:1.1rem; padding:.6rem}
  .catalogue-toolbar .button{width:100%}
  .catalogue-product-grid{gap:.65rem}
  .product-card-actions{align-items:stretch; flex-direction:column; gap:.4rem}
  .product-card-link{font-size:.61rem}
  .product-card-actions .button{width:100%; min-height:40px}
}

/* Reference redesign shell -------------------------------------------------
   Mobile is the base layout. Wider compositions progressively add the dense
   utility navigation and multi-column footer seen in the approved screens. */
.storefront-page{background:#fbfaf5;color:#102d22}
.storefront-page main{min-height:50dvh}
.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:var(--z-modal);transform:translateY(-160%);padding:.7rem 1rem;border-radius:.35rem;background:#fff;color:var(--primary-deep);font-weight:800;text-decoration:none;box-shadow:var(--shadow-card)}
.skip-link:focus{transform:translateY(0)}
.storefront-utility-bar{display:none;background:#06482f;color:#fff}
.storefront-utility-bar__in{min-height:32px;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--serif);font-size:.69rem}
.storefront-utility-bar__promise,.storefront-utility-bar nav{display:flex;align-items:center;gap:1.25rem}
.storefront-utility-bar a{color:#fff;text-decoration:none}
.storefront-utility-bar a:hover{text-decoration:underline;text-underline-offset:3px}
.storefront-utility-bar i{margin-right:.3rem}
.site-header{top:0;background:rgba(255,254,249,.97);backdrop-filter:blur(14px); transition:background-color .3s ease, box-shadow .3s ease}
.site-header.is-scrolled{background:rgba(255,255,255,.98); box-shadow:0 2px 12px rgba(0,0,0,.12)}
.site-header__main{background:#fffef9}
.header-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem .7rem;min-height:auto;padding-top:.65rem;padding-bottom:.65rem}
.brand{align-self:center;gap:.5rem}
.brand img{width:36px;height:36px;border-radius:0;box-shadow:none}
.brand b{font-family:var(--serif);font-size:1.16rem;line-height:1;color:var(--primary-deep)}
.brand small{margin-top:.18rem;font-size:.47rem;letter-spacing:.22em;color:#496158}
.header-search{display:flex;grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-height:44px;margin:0;padding:.25rem .25rem .25rem .8rem;border-radius:.4rem;background:#fff}
.header-search button{min-height:36px;border-radius:.3rem;padding:0 .95rem;font-family:var(--serif)}
.header-actions{gap:.3rem;margin:0}
.header-icon-link{display:inline-flex;min-width:38px;min-height:38px;align-items:center;justify-content:center;color:var(--primary-deep);text-decoration:none}
.header-icon-link>i{font-size:1rem}
.header-icon-link>span{display:none}
.header-icon-link span b,.header-icon-link span small{display:block;line-height:1.15}
.header-icon-link span b{font-family:var(--serif);font-size:.7rem}.header-icon-link span small{color:var(--muted);font-size:.52rem}
.header-saved{display:none}
.bag{min-width:42px;min-height:38px;justify-content:center;padding:0 .58rem;border:1px solid var(--hairline);border-radius:.4rem;background:#fff;color:var(--primary-deep)}
.bag:hover{border-color:var(--primary-strong);background:var(--trust)}
.bag>span{display:none}.bag-count{position:absolute;top:-.3rem;right:-.25rem;display:grid;min-width:1.15rem;height:1.15rem;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--crimson);color:#fff;font-size:.54rem}
.mobile-menu-btn{display:inline-flex;border-radius:.4rem}
.storefront-nav-strip{display:none;background:#fffef9}
.site-header[data-menu="open"] .storefront-nav-strip{display:block;position:absolute;right:0;left:0;top:100%;border-bottom:1px solid var(--hairline);box-shadow:0 14px 28px rgba(5,58,38,.12)}
.site-header[data-menu="open"] .storefront-nav-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;padding-top:.35rem;padding-bottom:.6rem}
.site-header[data-menu="open"] .storefront-nav-strip a{padding:.72rem .25rem;border-bottom:1px solid var(--hairline);font-size:.76rem}
.storefront-nav-strip .nav-track{margin-left:auto}

.storefront-page .button--primary,.storefront-page .btn-primary{border-radius:.34rem;border-color:var(--primary-strong);background:var(--primary-strong);box-shadow:none;color:#fff}
.storefront-page .button--primary:hover,.storefront-page .btn-primary:hover{background:#063d28;box-shadow:0 8px 22px rgba(6,61,40,.18)}
.storefront-page .button--accent{border-color:var(--crimson);background:var(--crimson);color:#fff}
.storefront-page .button--accent:hover{background:var(--crimson-active)}
.storefront-page .button--quiet,.storefront-page .btn-secondary{border-radius:.34rem;background:#fffef9}
.storefront-page .card{border-radius:.55rem;box-shadow:0 4px 14px rgba(10,62,42,.045)}

.site-footer{background:#06442e}
.footer-grid{grid-template-columns:1fr 1fr;gap:1.7rem 1rem;padding-top:2.2rem;padding-bottom:1.8rem}
.footer-brand{grid-column:1/-1}
.footer-brand__lockup{display:inline-flex;align-items:center;gap:.65rem;text-decoration:none}
.footer-brand__lockup img{width:42px;height:42px;object-fit:contain;filter:brightness(0) invert(1)}
.footer-brand__lockup span b,.footer-brand__lockup span small{display:block}.footer-brand__lockup span b{font-family:var(--serif);font-size:1.45rem}.footer-brand__lockup span small{font-size:.5rem;letter-spacing:.28em;text-transform:uppercase}
.footer-title{margin-bottom:.65rem;font-size:.62rem}.site-footer p{margin:.3rem 0;font-size:.72rem;line-height:1.5}.site-footer a{text-decoration:none}.site-footer a:hover{text-decoration:underline;text-underline-offset:3px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem;border-top-color:rgba(255,255,255,.18)}
.legal p{margin:0}.legal nav{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.65rem}
.storefront-bottom-nav{grid-template-columns:repeat(5,1fr);background:#fffef9}
.storefront-bottom-nav a{min-height:58px;padding:.55rem 0 .45rem}
.wa-float-region{right:.85rem;bottom:calc(4.5rem + env(safe-area-inset-bottom))}
.wa-float{padding:.7rem .95rem;font-size:.72rem}

@media(min-width:768px){
  .storefront-utility-bar{display:block}.storefront-utility-bar__in{display:flex}
  .header-in{grid-template-columns:auto minmax(18rem,1fr) auto;align-items:center;gap:1.25rem;padding-top:.75rem;padding-bottom:.75rem}
  .brand{min-width:13.5rem}.brand img{width:42px;height:42px}.brand b{font-size:1.45rem}.brand small{font-size:.5rem}
  .header-search{grid-column:2;grid-row:1;max-width:42rem}
  .header-actions{grid-column:3;grid-row:1}.header-icon-link{gap:.5rem;padding:0 .42rem;border-left:1px solid var(--hairline)}.header-icon-link>span{display:block}.header-saved{display:inline-flex}
  .bag{min-width:72px;padding:0 .8rem}.bag>span{display:inline}.mobile-menu-btn{display:none}
  .storefront-nav-strip{display:block}.storefront-nav-strip>.wrap{display:flex;min-height:38px;overflow-x:auto}.storefront-nav-strip a{font-family:var(--serif);font-size:.72rem}
  .footer-grid{grid-template-columns:1.5fr repeat(3,.7fr);gap:2.25rem}.footer-brand{grid-column:auto}.site-footer p{font-size:.76rem}
  .wa-float-region{bottom:1.1rem}
}
@media(min-width:1100px){
  .storefront-utility-bar__in{font-size:.72rem}.header-in{gap:1.75rem}.brand{min-width:14.5rem}.header-search{max-width:46rem}.storefront-nav-strip>.wrap{justify-content:center;gap:2rem}
}

/* Dense live product card used on home, catalogue, and related shelves. */
.storefront-page .product-card{position:relative;display:flex;min-width:0;flex-direction:column;border:1px solid #dce4dc;border-radius:.46rem;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(8,55,36,.045);transition:transform .2s ease,box-shadow .2s ease}
.storefront-page .product-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,55,36,.1)}
.product-card-media{position:relative;display:grid;aspect-ratio:1.2/1;place-items:center;overflow:hidden;background:#f7f7f4;text-decoration:none}
.product-card-img{width:100%;height:100%;padding:.55rem;object-fit:contain;mix-blend-mode:multiply;transition:transform .25s ease}
.product-card:hover .product-card-img{transform:scale(1.035)}
.product-card-badge{position:absolute;top:.45rem;left:.45rem;z-index:2;padding:.2rem .42rem;border-radius:.2rem;background:#dff3df;color:#176136;font-family:var(--serif);font-size:.5rem;font-weight:700;text-transform:uppercase}
.product-card-wishlist{position:absolute;top:.4rem;right:.4rem;z-index:3;display:grid;width:1.75rem;height:1.75rem;place-items:center;border:1px solid #dbe2dc;border-radius:50%;background:rgba(255,255,255,.94);color:var(--primary-deep);font-size:.72rem}
.product-card-wishlist[aria-pressed="true"]{border-color:#f0c6cc;background:#fff0f2;color:var(--crimson)}
.product-card-body{display:flex;flex:1;flex-direction:column;gap:.18rem;padding:.6rem}
.product-card-kicker{color:#347154;font-size:.48rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.product-card-body h3{margin:0;font-family:var(--serif);font-size:.78rem;line-height:1.2;letter-spacing:-.015em}.product-card-body h3 a{text-decoration:none}
.product-card-body>p{margin:0;color:var(--muted);font-size:.58rem;line-height:1.35}
.product-card-row{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .42rem;margin-top:auto;padding-top:.35rem}
.product-card-price{color:var(--crimson);font-family:var(--serif);font-size:.78rem;font-weight:800}.product-card-mrp{color:#7e8982;font-size:.53rem;text-decoration:line-through}
.product-card-stock{margin-left:auto;font-size:.51rem;font-weight:700}.product-card-stock::before{display:inline-block;width:.36rem;height:.36rem;margin-right:.2rem;border-radius:50%;background:currentColor;content:""}.product-card-stock--ok{color:#138346}.product-card-stock--warn{color:#a16500}.product-card-stock--bad{color:#bd0b25}.product-card-stock--mute{color:#6d7771}
.product-card-actions{margin-top:.42rem}.product-card-add-form{width:100%;margin:0}.product-card-add,.product-card-link{width:100%;min-height:32px;padding:.46rem .55rem;border-radius:.28rem;font-size:.6rem;gap:.35rem}
@media(min-width:768px){.product-card-media{aspect-ratio:1.35/1}.product-card-body{padding:.65rem}.product-card-body h3{font-size:.74rem}.product-card-add,.product-card-link{min-height:30px}}
