/* ==========================================================================
   Lakaz Fresh - storefront design system. Single source of truth for the whole
   storefront (home, category, product, seller). Flat fills, squared corners,
   line icons for chrome; produce emoji used sparingly only as photo placeholders.
   ========================================================================== */

:root{
  /* palette */
  --ground:#F6F8F3; --surface:#FFFFFF; --surface-2:#EEF3E9;
  --ink:#16231C; --ink-soft:#586A5D; --ink-faint:#849789;
  --line:#E1E7DB; --line-strong:#CDD6C6;
  --brand:#12503A; --on-brand:#F3F8F1; --brand-2:#1E7A4E;
  --accent:#EE7B30; --accent-ink:#8A3F0E; --accent-soft:#FBE7D3;
  --lagoon:#12897F; --gold:#B9812A; --good:#1E7A4E; --star:#E8A322;
  --focus:#1E7A4E;
  /* spacing scale */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px; --s12:48px; --s16:64px;
  --radius:8px; --radius-sm:6px; --radius-lg:14px;
  --shadow-sm:0 1px 2px rgba(18,40,28,.06),0 1px 3px rgba(18,40,28,.05);
  --shadow-md:0 6px 20px rgba(18,40,28,.09),0 2px 6px rgba(18,40,28,.06);
  --shadow-lg:0 18px 48px rgba(18,40,28,.16);
  --maxw:1200px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
}
/* Light is the default on load. Dark applies only when the user toggles it
   (persisted via data-theme="dark"), never automatically from the OS setting. */
:root[data-theme="light"]{
  --ground:#F6F8F3;--surface:#FFFFFF;--surface-2:#EEF3E9;--ink:#16231C;--ink-soft:#586A5D;--ink-faint:#849789;
  --line:#E1E7DB;--line-strong:#CDD6C6;--brand:#12503A;--on-brand:#F3F8F1;--brand-2:#1E7A4E;--accent:#EE7B30;
  --accent-ink:#8A3F0E;--accent-soft:#FBE7D3;--lagoon:#12897F;--gold:#B9812A;--good:#1E7A4E;--star:#E8A322;--focus:#1E7A4E;
  --shadow-sm:0 1px 2px rgba(18,40,28,.06),0 1px 3px rgba(18,40,28,.05);
  --shadow-md:0 6px 20px rgba(18,40,28,.09),0 2px 6px rgba(18,40,28,.06);
  --shadow-lg:0 18px 48px rgba(18,40,28,.16);
}
:root[data-theme="dark"]{
  --ground:#0D1512;--surface:#14201A;--surface-2:#182821;--ink:#E9F1E9;--ink-soft:#A5B7AB;--ink-faint:#7E9186;
  --line:#243329;--line-strong:#2E4034;--brand:#0C2A1F;--on-brand:#EAF3EA;--brand-2:#57B584;--accent:#F2913D;
  --accent-ink:#F7C79A;--accent-soft:#33251A;--lagoon:#3EB6AB;--gold:#D2A24E;--good:#57B584;--star:#E8A322;--focus:#57B584;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.5);--shadow-lg:0 20px 52px rgba(0,0,0,.6);
}

*{box-sizing:border-box;}
html,body{margin:0;overflow-x:clip;max-width:100%;}
body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
img{max-width:100%;display:block;}
:focus-visible{outline:2.5px solid var(--focus);outline-offset:2px;border-radius:6px;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s6);}
.tnum{font-variant-numeric:tabular-nums;}
.ico{width:18px;height:18px;flex:none;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.ico.fill{fill:currentColor;stroke:none;}
.stars{display:inline-flex;color:var(--star);font-size:14px;line-height:1;letter-spacing:.5px;}
.stars.sm{font-size:12px;}
.muted{color:var(--ink-soft);}

/* ---------- utility bar ---------- */
.util{background:var(--brand);color:var(--on-brand);font-size:13px;}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:38px;gap:var(--s4);}
.util .promo{display:flex;align-items:center;gap:var(--s3);min-width:0;color:color-mix(in srgb,var(--on-brand) 92%,transparent);}
.util .promo b{color:var(--on-brand);font-weight:600;}
.util .promo span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.util .u-right{display:flex;align-items:center;gap:var(--s1);flex:none;}
.u-btn{background:transparent;border:0;color:inherit;font-size:13px;padding:6px 8px;border-radius:var(--radius-sm);opacity:.92;display:inline-flex;align-items:center;gap:6px;}
.u-btn:hover{background:rgba(255,255,255,.12);opacity:1;}
.u-btn .ico{width:15px;height:15px;}
.u-lang{position:relative;}
.u-lang .u-btn[aria-expanded="true"] .ico:last-child{transform:rotate(180deg);}
.lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:60;display:none;}
.lang-menu.on{display:block;}
.lang-menu button{display:block;width:100%;text-align:left;padding:9px 12px;font-size:13.5px;font-weight:600;color:var(--ink-soft);background:transparent;border:0;border-radius:var(--radius-sm);font-family:inherit;cursor:pointer;}
.lang-menu button:hover{background:var(--surface-2);color:var(--brand-2);}

/* ---------- header ---------- */
header.site{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--ground) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.head{display:flex;align-items:center;gap:var(--s5);height:76px;}
.brand{display:flex;align-items:center;gap:10px;flex:none;}
.leafmark{width:38px;height:38px;flex:none;}
/* transparent brand symbol, theme-aware (deep green on light, white+mint on dark) */
.brandmark{display:block;background:url(/assets/lakazfresh-symbol.svg) center/contain no-repeat;}
:root[data-theme="dark"] .brandmark{background-image:url(/assets/lakazfresh-symbol-reversed.svg);}
/* full lockup (icon + lakazfresh.mu) used in the header - no separate wordmark needed */
.brand .lockup{display:block;width:158px;height:34px;background:url(/assets/lakazfresh-lockup.png) left center/contain no-repeat;}
:root[data-theme="dark"] .brand .lockup{background-image:url(/assets/lakazfresh-lockup-reversed.png);}
.wordmark{display:flex;flex-direction:column;line-height:1;}
.wordmark b{font-size:20px;letter-spacing:-.02em;font-weight:800;color:var(--ink);}
.wordmark b em{font-style:normal;color:var(--brand-2);}
.wordmark small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:3px;font-weight:600;}
.search{flex:1;min-width:0;display:flex;align-items:center;background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-sm);height:48px;transition:border-color .15s,box-shadow .15s;}
.search:focus-within{border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
.cat-dd{display:none;position:relative;height:100%;flex:none;}
@media (min-width:900px){.cat-dd{display:flex;}}
.search .cat{display:flex;align-items:center;gap:6px;padding:0 14px 0 16px;height:100%;color:var(--ink-soft);font-size:13.5px;font-weight:600;border:0;border-right:1px solid var(--line);white-space:nowrap;background:transparent;font-family:inherit;cursor:pointer;border-radius:var(--radius) 0 0 var(--radius);transition:background .14s,color .14s;}
.search .cat:hover{background:var(--surface-2);color:var(--ink);}
.search .cat[aria-expanded="true"] .ico{transform:rotate(180deg);}
.cat-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:6px;z-index:60;display:none;}
.cat-menu.on{display:block;}
.cat-menu a{display:block;padding:9px 12px;font-size:13.5px;font-weight:600;color:var(--ink-soft);border-radius:var(--radius-sm);white-space:nowrap;}
.cat-menu a:hover{background:var(--surface-2);color:var(--brand-2);}
.search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font-size:15px;padding:0 8px 0 16px;height:100%;outline:none;}
.search input::placeholder{color:var(--ink-faint);}
.search .go{flex:none;margin:6px;width:42px;height:36px;border-radius:var(--radius-sm);border:0;background:var(--brand-2);color:#fff;display:grid;place-items:center;transition:background .15s;}
.search .go:hover{background:var(--brand);}
.search .go .ico{stroke:#fff;width:18px;height:18px;}
.head-actions{display:flex;align-items:center;gap:var(--s1);flex:none;}
.hbtn{display:inline-flex;align-items:center;gap:9px;padding:9px 12px;border-radius:var(--radius-sm);border:0;background:transparent;color:var(--ink);font-size:13.5px;font-weight:600;}
.hbtn:hover{background:var(--surface-2);}
.hbtn .ico{width:21px;height:21px;stroke-width:1.7;}
.hbtn .lbl{display:flex;flex-direction:column;line-height:1.15;align-items:flex-start;}
.hbtn .lbl small{font-weight:500;color:var(--ink-faint);font-size:11px;}
.cart-ic{position:relative;display:inline-flex;align-items:center;justify-content:center;}
.cart .badge{position:absolute;top:-7px;left:calc(100% - 8px);background:var(--accent);color:#fff;font-size:10.5px;font-weight:800;line-height:1;min-width:17px;height:17px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--ground);box-sizing:content-box;}
.cart .badge[hidden]{display:none;}

/* ---------- category strip (tabs) ---------- */
.catnav{border-bottom:1px solid var(--line);background:var(--ground);}
.catnav .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none;}
.catnav .wrap::-webkit-scrollbar{display:none;}
.tab{flex:none;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap;transition:all .14s;background:var(--surface);}
.tab:hover{color:var(--ink);border-color:var(--line-strong);}
.tab.active{background:var(--brand);color:var(--on-brand);border-color:var(--brand);}
.tab .ico{width:15px;height:15px;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 22px;border-radius:var(--radius);font-weight:700;font-size:15px;border:1.5px solid transparent;transition:background .15s,transform .1s,border-color .15s,color .15s;}
.btn:active{transform:translateY(1px);}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm);}
.btn-primary:hover:not([disabled]){background:color-mix(in srgb,var(--accent) 88%,#000);}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line-strong);}
.btn-ghost:hover{border-color:var(--brand-2);color:var(--brand-2);}
.btn .ico{stroke:currentColor;}
.btn-primary .ico{stroke:#fff;}

/* ---------- section frame ---------- */
section{padding:var(--s12) 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s5);margin-bottom:var(--s6);}
.eyebrow{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--brand-2);margin:0 0 6px;}
h2.title{font-size:clamp(22px,2.7vw,30px);letter-spacing:-.02em;margin:0;font-weight:800;text-wrap:balance;}
.sec-head p.sub{margin:8px 0 0;color:var(--ink-soft);font-size:15px;max-width:56ch;}
.link-all{flex:none;display:inline-flex;align-items:center;gap:6px;color:var(--brand-2);font-weight:700;font-size:14px;padding:8px 4px;white-space:nowrap;}
.link-all:hover{gap:9px;}
.link-all .ico{width:16px;height:16px;stroke-width:2.2;}

/* ---------- product cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);}
.card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .16s,box-shadow .16s;display:flex;flex-direction:column;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.thumb{height:150px;position:relative;display:grid;place-items:center;border-bottom:1px solid var(--line);overflow:hidden;}
.thumb .ph{font-size:46px;line-height:1;opacity:.92;}       /* emoji fallback, shown if the photo fails */
.thumb .thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}  /* real product photo */
.thumb .tag{z-index:2;}
.thumb .tag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:4px 8px;border-radius:5px;background:var(--brand);color:var(--on-brand);text-transform:uppercase;}
.thumb .tag.harvest{background:var(--accent);color:#fff;}
.card>.fav{position:absolute;top:9px;right:9px;width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--surface) 80%,transparent);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-soft);backdrop-filter:blur(4px);}
.card>.fav:hover{color:var(--accent);border-color:var(--accent);}
.card>.fav .ico{width:16px;height:16px;}
.card .body{padding:14px 15px 15px;display:flex;flex-direction:column;gap:3px;flex:1;}
.card .farm{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--brand-2);font-weight:700;}
.card .farm .ico{width:12px;height:12px;stroke-width:2.2;}
.card h3{font-size:15.5px;margin:2px 0 0;letter-spacing:-.01em;font-weight:700;}
.card .unit{font-size:12.5px;color:var(--ink-faint);}
.card .rr{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:5px;margin-top:2px;}
.card .foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.card .price{font-weight:800;font-size:17px;letter-spacing:-.01em;}
.card .price .cur{font-size:11.5px;color:var(--ink-soft);font-weight:700;margin-right:1px;}
.card .price .from{font-size:11px;color:var(--ink-faint);font-weight:600;display:block;margin-bottom:-2px;}
.card .sellers-hint{font-size:11.5px;color:var(--ink-soft);}
.add{border:1.5px solid var(--brand-2);color:var(--brand-2);background:transparent;font-weight:700;font-size:12.5px;padding:10px 15px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:6px;transition:all .14s;white-space:nowrap;}
.add:hover{background:var(--brand-2);color:#fff;}
.add .ico{width:14px;height:14px;stroke-width:2.4;}

/* category tint classes (flat, theme-adaptive) */
.t-veg{background:color-mix(in srgb,var(--brand-2) 16%,var(--surface));}
.t-fruit{background:color-mix(in srgb,var(--accent) 17%,var(--surface));}
.t-dairy{background:color-mix(in srgb,var(--gold) 18%,var(--surface));}
.t-milk{background:color-mix(in srgb,var(--lagoon) 13%,var(--surface));}
.t-chicken{background:color-mix(in srgb,var(--accent) 12%,var(--surface));}
.t-egg{background:color-mix(in srgb,var(--gold) 14%,var(--surface));}
.t-fish{background:color-mix(in srgb,var(--lagoon) 18%,var(--surface));}
.t-honey{background:color-mix(in srgb,var(--gold) 24%,var(--surface));}
.t-herb{background:color-mix(in srgb,var(--brand-2) 20%,var(--surface));}

/* ---------- footer ---------- */
footer{background:var(--surface);border-top:1px solid var(--line);padding:var(--s12) 0 var(--s6);}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:var(--s8);margin-bottom:var(--s8);}
.foot-brand .fb-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.foot-brand .fb-row b{font-size:19px;font-weight:800;letter-spacing:-.02em;}
.foot-brand .leafmark{width:34px;height:34px;}
.foot-brand p{color:var(--ink-soft);font-size:13.5px;max-width:34ch;line-height:1.6;margin:0 0 14px;}
.foot-brand .kreol{font-family:var(--serif);font-style:italic;color:var(--brand-2);font-size:15px;}
.fcol h4{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin:0 0 14px;font-weight:700;}
.fcol a{display:block;color:var(--ink-soft);font-size:14px;padding:5px 0;}
.fcol a:hover{color:var(--brand-2);}
.foot-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--ink-faint);font-size:12.5px;}
.foot-bottom .note{background:var(--surface-2);border:1px solid var(--line);padding:5px 11px;border-radius:var(--radius-sm);}
.foot-access{display:flex;gap:18px;}
.foot-access a{color:var(--ink-soft);font-size:12.5px;}
.foot-access a:hover{color:var(--brand-2);}
.theme-btn{border:1px solid rgba(255,255,255,.2);}

/* ---------- shared responsive ---------- */
@media (max-width:1080px){.prod-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:760px){
  .head{flex-wrap:wrap;height:auto;padding:12px var(--s6);gap:11px;align-items:center;}
  .search{order:3;flex-basis:100%;}
  .search input{min-height:40px;font-size:14.5px;}
  .head-actions{display:none;}              /* basket + account live in the bottom tab bar on mobile */
  .util .promo{display:none;}               /* drop the tagline on mobile instead of truncating it to "Livre..." */
  .util .wrap{justify-content:flex-end;}
  .prod-grid{grid-template-columns:repeat(2,1fr);}
  .foot-top{grid-template-columns:1fr 1fr;}
  /* stack the section header so the title uses the full width instead of a squeezed column */
  .sec-head{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:var(--s5);}
  .sec-head .link-all{padding-left:0;}
  section{padding:var(--s10) 0;}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom));}   /* clear the fixed tab bar */
}

/* ══ Storefront mobile bottom tab bar ══════════════════════════════════════ */
.lf-tabbar{display:none;}
@media (max-width:760px){
  .lf-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:120;justify-content:space-around;
    background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:saturate(1.3) blur(14px);
    border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));}
  .lft-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    padding:6px 2px;min-height:52px;color:var(--ink-faint);font-size:10.5px;font-weight:600;text-decoration:none;position:relative;}
  .lft-item span{white-space:nowrap;}
  .lft-item .ico{width:23px;height:23px;stroke-width:1.9;}
  .lft-item.on{color:var(--brand-2);}
  .lft-item.on .ico{stroke-width:2.1;}
  .lft-badge{position:absolute;top:2px;left:calc(50% + 5px);min-width:16px;height:16px;padding:0 4px;border-radius:9px;
    background:var(--accent);color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;border:1.5px solid var(--surface);box-sizing:content-box;}
  .lft-badge[hidden]{display:none;}
  /* keep the cookie bar clear of the tab bar */
  .cookie-bar{bottom:calc(72px + env(safe-area-inset-bottom));}
}

/* ══ Product page: mobile sticky add-to-basket bar ═════════════════════════ */
.pdp-cta{display:none;}
@media (max-width:760px){
  .pdp-cta{display:flex;position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));z-index:115;
    align-items:center;gap:12px;padding:10px 14px;background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(12,20,16,.08);}
  .pdp-cta .cta-info{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25;}
  .pdp-cta .cta-lbl{font-size:11.5px;color:var(--ink-faint);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pdp-cta .cta-amt{font-size:17px;font-weight:800;letter-spacing:-.01em;}
  .pdp-cta .btn{flex:0 0 auto;min-height:44px;padding:10px 18px;font-size:14.5px;box-shadow:none;}
  .pdp-cta .btn[disabled]{opacity:.55;}
  body:has(.pdp-cta){padding-bottom:calc(140px + env(safe-area-inset-bottom));}
  /* Consent must never cover the product action or the mobile tab bar. */
  body:has(.pdp-cta) .cookie-bar{bottom:calc(140px + env(safe-area-inset-bottom));}
}
@media (max-width:560px){
  /* one product per row: full-width card with a large, appetising image */
  .prod-grid{grid-template-columns:1fr;gap:14px;}
  .thumb{height:210px;}
  .thumb .ph{font-size:44px;}
  .card .body{padding:14px 16px 16px;}
  .card h3{font-size:16px;}
  /* price left, action right - full width, so nothing clips */
  .card .foot{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;}
  .card .foot .add{width:auto;padding:11px 18px;}
  .card .price{font-size:17px;}
}
@media (max-width:400px){
  /* shrink the brand so it shares one row with the account/cart actions on small phones */
  .head{gap:10px;}
  .brand .lockup{width:134px;height:29px;}
  .head-actions{gap:2px;}
  .hbtn{padding:8px;}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ==========================================================================
   HOME
   ========================================================================== */
.hero{padding:var(--s12) 0 var(--s10);}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s12);align-items:center;}
.hero .h-eyebrow{font-family:var(--serif);font-style:italic;font-size:clamp(19px,2.2vw,24px);color:var(--accent);margin:0 0 12px;}
.hero h1{font-size:clamp(32px,4.4vw,50px);line-height:1.05;letter-spacing:-.03em;margin:0 0 18px;font-weight:800;text-wrap:balance;}
.hero h1 .u{color:var(--brand-2);border-bottom:3px solid var(--accent);padding-bottom:1px;white-space:nowrap;}
.hero .lede{font-size:clamp(15.5px,1.6vw,18px);color:var(--ink-soft);margin:0 0 var(--s6);max-width:46ch;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:var(--s6);}
.trust{display:flex;gap:var(--s6);flex-wrap:wrap;}
.trust .t{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);}
.trust .t .ico{color:var(--brand-2);width:18px;height:18px;}
.trust .t b{color:var(--ink);font-weight:700;}
/* hero collage - flat tiles, produce emoji as placeholder imagery */
.collage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:110px;gap:12px;position:relative;}
.ctile{border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;align-items:flex-end;padding:11px;position:relative;overflow:hidden;}
.ctile .ph{position:absolute;top:8px;right:10px;font-size:38px;}
.ctile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}  /* real cover photo */
.ctile .cap{position:relative;font-weight:700;font-size:12.5px;letter-spacing:-.01em;background:var(--surface);border:1px solid var(--line);padding:4px 9px;border-radius:var(--radius-sm);color:var(--ink);}
.ctile.big{grid-row:span 2;}
.ctile.wide{grid-column:span 2;}
.collage .float{position:absolute;left:-14px;bottom:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:var(--radius);padding:11px 13px;display:flex;align-items:center;gap:10px;max-width:78%;}
.collage .float .fi{width:34px;height:34px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;flex:none;}
.collage .float .fi .ico{stroke:var(--accent-ink);}
.collage .float b{font-size:13px;display:block;}
.collage .float small{font-size:11.5px;color:var(--ink-soft);}

/* category grid */
.cat-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s4);}
.cat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:var(--shadow-sm);}
.cat-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--line-strong);}
/* real photo cover (license-free, compressed webp) replacing the old emoji glyph */
.cat-card .cat-cover{display:block;width:100%;aspect-ratio:16/10;background:var(--surface-2);}
.cat-card .cat-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.cat-card .cat-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;}
.cat-card.more{padding:18px;justify-content:center;gap:6px;}
.cat-card .glyph{width:52px;height:52px;border-radius:var(--radius-sm);border:1px solid var(--line);display:grid;place-items:center;font-size:26px;}
.cat-card b{font-size:15px;letter-spacing:-.01em;}
.cat-card .kreol{font-family:var(--serif);font-style:italic;color:var(--brand-2);font-size:12.5px;margin-top:-4px;}
.cat-card small{color:var(--ink-faint);font-size:12px;}
.cat-card.more{align-items:flex-start;justify-content:center;background:var(--surface-2);border-style:dashed;}
.cat-card.more b{color:var(--brand-2);display:inline-flex;align-items:center;gap:6px;}

/* how it works + value band */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5);}
.step{padding:24px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.step .num{font-family:var(--serif);font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.04em;}
.step .si{width:48px;height:48px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;margin:12px 0 14px;color:var(--brand-2);}
.step .si .ico{width:22px;height:22px;}
.step h3{margin:0 0 6px;font-size:16.5px;letter-spacing:-.01em;}
.step p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.55;}
.band{background:var(--brand);color:var(--on-brand);}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s6);padding:var(--s10) var(--s6);}
.val{display:flex;gap:13px;align-items:flex-start;}
.val .vi{width:44px;height:44px;border-radius:var(--radius-sm);background:rgba(255,255,255,.1);display:grid;place-items:center;flex:none;color:var(--accent);}
.val .vi .ico{stroke:var(--accent);width:22px;height:22px;}
.val b{display:block;font-size:15px;margin-bottom:3px;}
.val small{color:color-mix(in srgb,var(--on-brand) 72%,transparent);font-size:12.5px;line-height:1.5;}

@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr;gap:var(--s8);}
  .collage{max-width:460px;}
  .collage .float{left:8px;}               /* keep the "picked" card on-screen instead of clipping off the left edge */
  .cat-grid{grid-template-columns:repeat(3,1fr);}
  .band .wrap{grid-template-columns:repeat(2,1fr);}
  .steps{grid-template-columns:1fr;}
}
@media (max-width:760px){.cat-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){
  /* hero CTAs: equal, full-width buttons instead of two mismatched content-width ones */
  .hero-cta{flex-direction:column;gap:10px;}
  .hero-cta .btn{width:100%;}
  /* one category per row: compact horizontal card (cover thumbnail + text) */
  .cat-grid{grid-template-columns:1fr;gap:12px;}
  .cat-card{flex-direction:row;align-items:stretch;}
  .cat-card .cat-cover{width:116px;flex:none;aspect-ratio:auto;align-self:stretch;}
  .cat-card .cat-body{flex:1;justify-content:center;padding:12px 15px;}
  .cat-card.more{flex-direction:column;align-items:flex-start;padding:16px 15px;min-height:64px;}
  /* hero collage: even 2-col gallery instead of a cramped 3-col with overlapping captions */
  .collage{grid-template-columns:repeat(2,1fr);grid-auto-rows:132px;gap:10px;max-width:none;}
  .ctile.big{grid-row:span 1;}
  .ctile.wide{grid-column:span 1;}
  .collage .float{display:none;}
}
@media (max-width:480px){.band .wrap{grid-template-columns:1fr;}}

/* ==========================================================================
   BREADCRUMB (product + seller + category)
   ========================================================================== */
.crumb{padding:16px 0 4px;font-size:13px;color:var(--ink-faint);display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.crumb a:hover{color:var(--brand-2);}
.crumb .sep{opacity:.5;}
.crumb .here{color:var(--ink);font-weight:600;}

/* ==========================================================================
   PRODUCT PAGE
   ========================================================================== */
.pdp{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--s10);padding:12px 0 var(--s10);align-items:start;}
.gallery{position:sticky;top:96px;}
.gmain{border:1px solid var(--line);border-radius:var(--radius);height:400px;display:grid;place-items:center;font-size:130px;}
.gthumbs{display:flex;gap:10px;margin-top:12px;}
.gthumbs .gt{width:72px;height:72px;border:1.5px solid var(--line);border-radius:var(--radius-sm);display:grid;place-items:center;font-size:30px;background:var(--surface);transition:border-color .14s;}
.gthumbs .gt.active,.gthumbs .gt:hover{border-color:var(--brand-2);}
.gmain.has-photo{padding:0;overflow:hidden;}
.gmain.has-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.gthumbs .gt.hasimg{padding:0;overflow:hidden;}
.gthumbs .gt.hasimg img{width:100%;height:100%;object-fit:cover;display:block;}
.pinfo .eyebrow{margin-bottom:6px;}
.pinfo h1{font-size:29px;letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.12;text-wrap:balance;}
.pd-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.pd-top-main{min-width:0;}
.pdp-fav{flex:none;width:42px;height:42px;border-radius:var(--radius-sm);border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);display:grid;place-items:center;cursor:pointer;transition:color .14s,border-color .14s;}
.pdp-fav:hover{color:var(--accent);border-color:var(--accent);}
.pdp-fav .ico{width:19px;height:19px;}
.pinfo .subrow{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin-bottom:14px;font-size:13.5px;color:var(--ink-soft);}
.pinfo .subrow a:hover{color:var(--brand-2);}
.pinfo .subrow b{color:var(--ink);}
.pinfo .subrow .dot{opacity:.5;}
.attrs{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px;}
.attr{font-size:12px;font-weight:600;color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--brand-2) 24%,var(--surface));padding:4px 10px;border-radius:5px;display:inline-flex;align-items:center;gap:5px;}
.attr .ico{width:12px;height:12px;stroke-width:2.4;}

/* buy box - NO default seller; empty until the buyer chooses an offer */
.buybox{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);overflow:hidden;}
.bb-head{padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:8px;}
.bb-head .ico{width:16px;height:16px;color:var(--brand-2);}
.bb-body{padding:16px;}
.bb-empty{text-align:center;padding:12px 6px 4px;color:var(--ink-soft);}
.bb-empty .ei{width:46px;height:46px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 12px;color:var(--brand-2);}
.bb-empty b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px;}
.bb-empty p{margin:0;font-size:13px;line-height:1.5;}
.bb-chosen{display:none;}
.bb-chosen.on{display:block;}
.bb-price{display:flex;align-items:baseline;gap:7px;margin-bottom:4px;}
.bb-price .cur{font-size:15px;font-weight:700;color:var(--ink-soft);}
.bb-price .amt{font-size:32px;font-weight:800;letter-spacing:-.02em;}
.bb-price .per{font-size:13.5px;color:var(--ink-faint);}
.bb-seller{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--line);margin-bottom:14px;}
.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:15px;flex:none;}
.bb-seller .sname{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:6px;}
.bb-seller .sname a:hover{color:var(--brand-2);}
.bb-seller .sreg{font-size:12.5px;color:var(--ink-soft);display:flex;align-items:center;gap:5px;margin-top:2px;}
.verified{color:var(--brand-2);display:inline-flex;}
.verified .ico{width:15px;height:15px;}
.bb-deliv{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--ink);margin-bottom:16px;}
.bb-deliv .ico{color:var(--brand-2);margin-top:1px;}
.bb-deliv b{color:var(--good);}
.bb-price .from{font-size:13px;font-weight:600;color:var(--ink-faint);}
.bb-variants-wrap{margin:0 0 16px;}
.bb-var-label{font-size:12.5px;font-weight:700;color:var(--ink);margin-bottom:8px;}
.bb-variants{display:flex;flex-wrap:wrap;gap:8px;}
.bb-variants .vchip{border:1.5px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;gap:2px;align-items:flex-start;min-width:70px;transition:border-color .14s,background .14s;font-family:inherit;}
.bb-variants .vchip:hover{border-color:var(--brand-2);}
.bb-variants .vchip .vp{font-size:12px;color:var(--ink-soft);font-weight:600;}
.bb-variants .vchip.sel{border-color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 8%,var(--surface));}
.bb-variants .vchip.sel .vp{color:var(--brand-2);}
.bb-variants .vchip.out{opacity:.45;cursor:not-allowed;text-decoration:line-through;}
.bb-variants .vchip .vleft{font-size:10.5px;font-weight:700;letter-spacing:.01em;}
.bb-variants .vchip .vleft.low{color:var(--warn,#b8791f);}
.bb-variants .vchip .vleft.out{color:var(--ink-faint);}
.bb-stock{min-height:0;font-size:12.5px;font-weight:600;margin:-2px 0 2px;}
.bb-stock.low{color:var(--warn,#b8791f);}
.bb-stock.out{color:var(--bad,#c0392b);}
.offer .op .from{font-size:11px;font-weight:600;color:var(--ink-faint);}
.offer.out{opacity:.72;}
.offer.out .op{text-decoration:line-through;color:var(--ink-faint);}
.obadge.out{background:color-mix(in srgb,var(--bad,#c0392b) 12%,transparent);color:var(--bad,#c0392b);}
.ostock-left{display:block;margin-top:3px;font-size:11px;font-weight:700;color:var(--warn,#b8791f);text-align:right;}
.qty-row{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.stepper{display:inline-flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden;}
.stepper button{width:38px;height:40px;border:0;background:var(--surface);color:var(--ink);display:grid;place-items:center;}
.stepper button:hover{background:var(--surface-2);}
.stepper button .ico{width:15px;height:15px;stroke-width:2.4;}
.stepper .val{width:42px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;}
.qty-row .sub{margin-left:auto;font-size:13px;color:var(--ink-soft);text-align:right;}
.qty-row .sub b{color:var(--ink);font-size:15px;display:block;}
.buybox .btn{width:100%;}
.buybox .btn-primary{margin-bottom:9px;}
.bb-foot{padding:11px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:8px;}
.bb-foot .ico{width:15px;height:15px;color:var(--brand-2);}

/* offers list */
.offers{margin-top:var(--s6);}
.offers h2{font-size:17px;margin:0 0 3px;letter-spacing:-.01em;}
.offers .oh-sub{font-size:13px;color:var(--ink-soft);margin:0 0 14px;}
.offer{display:grid;grid-template-columns:22px 40px 1fr auto;gap:12px;align-items:center;padding:13px;border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--surface);cursor:pointer;transition:border-color .14s,box-shadow .14s;text-align:left;width:100%;font:inherit;color:inherit;}
.offer:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm);}
.offer.sel{border-color:var(--brand-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-2) 18%,transparent);}
.offer .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;}
.offer.sel .radio{border-color:var(--brand-2);}
.offer.sel .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand-2);}
.offer .oinfo .on{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:6px;}
.offer .oinfo .om{font-size:12px;color:var(--ink-soft);display:flex;align-items:center;gap:4px 9px;flex-wrap:wrap;margin-top:4px;}
.offer .oinfo .om .d{display:inline-flex;align-items:center;gap:4px;}
.offer .oinfo .om .d .ico{width:12px;height:12px;stroke-width:2.2;}
.offer .oinfo .om .d.fast{color:var(--brand-2);font-weight:600;}
.offer .oright{text-align:right;}
.offer .oright .op{font-weight:800;font-size:18px;letter-spacing:-.01em;}
.offer .oright .op .cur{font-size:11px;color:var(--ink-soft);}
.offer .oright .obadge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:4px;margin-top:5px;display:inline-block;}
.obadge.low{color:var(--accent-ink);background:var(--accent-soft);}
.obadge.best{color:#fff;background:var(--brand-2);}
.obadge.fast{color:#fff;background:var(--lagoon);}

/* generic content block */
section.blk{padding:var(--s8) 0;border-top:1px solid var(--line);}
.blk h2.title{font-size:22px;margin:0 0 var(--s5);}
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s10);}
.desc p{color:var(--ink-soft);font-size:15px;line-height:1.65;margin:0 0 14px;max-width:60ch;}
.spec{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;align-self:start;}
.spec .sr{display:flex;justify-content:space-between;gap:16px;padding:11px 15px;font-size:13.5px;}
.spec .sr:nth-child(odd){background:var(--surface-2);}
.spec .sr b{color:var(--ink);}
.spec .sr span{color:var(--ink-soft);text-align:right;}

@media (max-width:960px){
  .pdp{grid-template-columns:1fr;gap:var(--s6);}
  .gallery{position:static;}
  .gmain{height:300px;font-size:110px;}
  .two{grid-template-columns:1fr;gap:var(--s6);}
}
@media (max-width:600px){.offer{grid-template-columns:20px 1fr auto;}.offer .avatar{display:none;}}

/* ==========================================================================
   SELLER PROFILE
   ========================================================================== */
.shero{margin:14px 0 0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm);}
.shero .cover{height:132px;}
.shead{display:flex;gap:var(--s6);padding:0 var(--s6) var(--s6);align-items:flex-end;flex-wrap:wrap;}
.shead .av{width:100px;height:100px;border-radius:var(--radius);border:4px solid var(--surface);margin-top:-50px;display:grid;place-items:center;font-weight:800;color:#fff;font-size:42px;flex:none;box-shadow:var(--shadow-md);}
.sid{flex:1;min-width:240px;padding-top:14px;}
.sid h1{font-size:26px;letter-spacing:-.02em;margin:0 0 6px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.sid h1 .verified .ico{width:21px;height:21px;}
.sid .meta{display:flex;align-items:center;gap:var(--s5);flex-wrap:wrap;color:var(--ink-soft);font-size:13.5px;}
.sid .meta .m{display:inline-flex;align-items:center;gap:6px;}
.sid .meta .m .ico{width:15px;height:15px;color:var(--ink-faint);}
.sid .meta .m b{color:var(--ink);}
.shead .cta{display:flex;gap:10px;padding-top:14px;flex-wrap:wrap;}
.badges{display:flex;gap:8px;flex-wrap:wrap;padding:var(--s4) var(--s6);border-top:1px solid var(--line);background:var(--surface-2);}
.badge2{font-size:12.5px;font-weight:600;color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--brand-2) 24%,var(--surface));padding:5px 11px;border-radius:5px;display:inline-flex;align-items:center;gap:6px;}
.badge2 .ico{width:13px;height:13px;stroke-width:2.4;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin:var(--s6) 0;}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);}
.stat b{display:block;font-size:25px;letter-spacing:-.02em;line-height:1;}
.stat small{font-size:12.5px;color:var(--ink-faint);display:block;margin-top:6px;}
.about{display:grid;grid-template-columns:1.5fr 1fr;gap:var(--s8);margin:var(--s5) 0 var(--s10);align-items:start;}
.about h2{font-size:20px;letter-spacing:-.02em;margin:0 0 12px;}
.about p{color:var(--ink-soft);font-size:15px;line-height:1.7;margin:0 0 14px;max-width:62ch;}
.infocard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;align-self:start;box-shadow:var(--shadow-sm);}
.infocard .ir{display:flex;gap:12px;padding:14px 16px;font-size:13.5px;border-bottom:1px solid var(--line);}
.infocard .ir:last-child{border-bottom:0;}
.infocard .ir .ico{color:var(--brand-2);flex:none;margin-top:1px;}
.infocard .ir b{display:block;font-size:13px;}
.infocard .ir span{color:var(--ink-soft);}
.blk-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:var(--s5);flex-wrap:wrap;}
.blk-head h2{font-size:22px;letter-spacing:-.02em;margin:0;font-weight:800;}
.filters{display:flex;gap:7px;flex-wrap:wrap;}
.fbtn{font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);padding:9px 15px;border-radius:var(--radius-sm);}
.fbtn.on,.fbtn:hover{background:var(--brand);color:var(--on-brand);border-color:var(--brand);}
@media (max-width:960px){.stats{grid-template-columns:repeat(2,1fr);}.about{grid-template-columns:1fr;gap:var(--s6);}}

/* ==========================================================================
   REVIEWS (shared: product + seller)
   ========================================================================== */
.rev-top{display:grid;grid-template-columns:220px 1fr;gap:var(--s8);align-items:start;margin-bottom:var(--s6);}
.rev-score{text-align:center;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.rev-score .big{font-size:46px;font-weight:800;letter-spacing:-.02em;line-height:1;}
.rev-score .out{color:var(--ink-faint);font-size:13px;margin-top:4px;}
.bars{display:flex;flex-direction:column;gap:8px;}
.bar{display:grid;grid-template-columns:52px 1fr 40px;gap:12px;align-items:center;font-size:12.5px;color:var(--ink-soft);}
.bar .track{height:8px;border-radius:4px;background:var(--surface-2);overflow:hidden;}
.bar .fill{height:100%;background:var(--star);border-radius:4px;}
.review{padding:18px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;gap:14px;}
.review .rav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#fff;font-size:15px;}
.review .rname{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.review .vp{font-size:11px;font-weight:700;color:var(--good);display:inline-flex;align-items:center;gap:4px;}
.review .vp .ico{width:12px;height:12px;stroke-width:2.6;}
.review .rmeta{font-size:12px;color:var(--ink-faint);margin:3px 0 8px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.review p{margin:6px 0 0;font-size:14px;color:var(--ink-soft);line-height:1.6;max-width:72ch;}
.review .ctx{font-size:12px;color:var(--ink-soft);margin-top:8px;}
.review .ctx b{color:var(--brand-2);}
.reply{margin:12px 0 0;padding:12px 14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;color:var(--ink-soft);}
.reply b{color:var(--brand-2);}
@media (max-width:760px){.rev-top{grid-template-columns:1fr;gap:var(--s5);}}

/* ==========================================================================
   BUYER FLOW: cart, checkout, order, account, auth
   ========================================================================== */
.page-head{padding:var(--s6) 0 var(--s2);}
.page-head h1{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;margin:0 0 4px;font-weight:800;}
.page-head p{margin:0;color:var(--ink-soft);font-size:14.5px;}

/* two-column shop layout with sticky summary (cart + checkout) */
.shop{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:var(--s6);padding:var(--s5) 0 var(--s12);align-items:start;}
.summary{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:none;overflow:hidden;}
.summary h3{margin:0;padding:16px 20px;border-bottom:1px solid var(--line);font-size:15px;letter-spacing:-.01em;background:var(--surface-2);}
.summary .sbody{padding:20px;}
.sum-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--ink-soft);padding:6px 0;}
.sum-row b{color:var(--ink);}
.sum-row.free{color:var(--good);}
.sum-row.sub{padding:0 0 8px;font-size:12.5px;}
.sum-row.sub .muted .ico{width:13px;height:13px;vertical-align:-2px;margin-right:2px;}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 6px;margin-top:8px;border-top:1px solid var(--line);}
.sum-total span{font-size:14px;color:var(--ink-soft);}
.sum-total b{font-size:22px;letter-spacing:-.02em;}
.summary .btn{width:100%;margin-top:12px;}
.summary .pay-note{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-soft);margin-top:12px;}
.summary .pay-note .ico{color:var(--brand-2);width:15px;height:15px;}
.summary .pay-note.zone-out{align-items:flex-start;line-height:1.5;color:var(--accent-ink);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:var(--radius-sm);padding:10px 12px;}
.summary .pay-note.zone-out .ico{color:var(--accent-ink);flex:none;margin-top:1px;}

/* cart groups (per seller = per fulfillment) */
.cart-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:var(--s5);overflow:hidden;box-shadow:var(--shadow-sm);}
.cg-head{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;}
.cg-head .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;font-size:14px;flex:none;}
.cg-head .cg-name{font-weight:700;font-size:14.5px;display:flex;align-items:center;gap:6px;}
.cg-head .cg-name a:hover{color:var(--brand-2);}
.cg-head .cg-deliv{margin-left:auto;font-size:12.5px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:6px;}
.cg-head .cg-deliv .ico{color:var(--brand-2);width:15px;height:15px;}
.cart-item{display:grid;grid-template-columns:60px 1fr auto;gap:14px;padding:14px 16px;border-bottom:1px solid var(--line);align-items:center;}
.cart-item:last-child{border-bottom:0;}
.ci-thumb{width:60px;height:60px;border-radius:var(--radius-sm);border:1px solid var(--line);display:grid;place-items:center;font-size:28px;}
.ci-info h4{margin:0 0 2px;font-size:14.5px;letter-spacing:-.01em;}
.ci-info h4 a:hover{color:var(--brand-2);}
.ci-info .u{font-size:12.5px;color:var(--ink-faint);}
.ci-info .rm{background:none;border:0;color:var(--ink-faint);font-size:12.5px;padding:6px 0 0;display:inline-flex;align-items:center;gap:5px;}
.ci-info .rm:hover{color:#c0392b;}
.ci-info .rm .ico{width:13px;height:13px;}
.ci-stock{font-size:11.5px;font-weight:700;margin-top:3px;}
.ci-stock.low{color:var(--warn,#b8791f);}
.ci-stock.out{color:var(--bad,#c0392b);}
.ci-right{display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.ci-right .lt{font-weight:800;font-size:15.5px;}
.ci-right .lt .cur{font-size:11px;color:var(--ink-soft);font-weight:700;}
.cg-foot{padding:11px 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--ink-soft);background:var(--surface);}
.cg-foot b{color:var(--ink);}
.mini-step{display:inline-flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);overflow:hidden;}
.mini-step button{width:30px;height:32px;border:0;background:var(--surface);color:var(--ink);display:grid;place-items:center;}
.mini-step button:hover{background:var(--surface-2);}
.mini-step button[disabled]{opacity:.4;cursor:not-allowed;}
.mini-step button[disabled]:hover{background:var(--surface);}
.mini-step button .ico{width:13px;height:13px;stroke-width:2.4;}
.mini-step .v{width:34px;text-align:center;font-weight:700;font-size:13.5px;font-variant-numeric:tabular-nums;}

/* empty states */
.empty{text-align:center;padding:var(--s12) var(--s6) var(--s16);border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);}
.empty .ei{width:60px;height:60px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;margin:0 auto 16px;color:var(--brand-2);}
.empty .ei .ico{width:28px;height:28px;}
/* illustrated empty state (license-free unDraw art, tinted brand green) */
.empty .empty-art{width:230px;max-width:64%;height:auto;margin:0 auto 22px;display:block;}
.empty h3{margin:0 0 6px;font-size:19px;}
.empty p{margin:0 0 18px;color:var(--ink-soft);font-size:14.5px;max-width:38ch;margin-left:auto;margin-right:auto;}
@media (max-width:560px){ .empty{padding:var(--s10) var(--s5) var(--s12);} .empty .empty-art{width:180px;} }

/* checkout - clean step cards (padding:0 overrides the global section{padding}) */
.co-section{padding:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:var(--s4);overflow:hidden;box-shadow:none;}
.co-section:last-child{margin-bottom:0;}
.co-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:baseline;justify-content:space-between;gap:12px;}
.co-head .ch-title{font-weight:800;font-size:17px;letter-spacing:-.02em;}
.co-head .ch-aside{font-size:12.5px;color:var(--ink-soft);font-weight:600;text-align:right;}
.co-body{padding:20px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1 / -1;}
.field label{font-size:12.5px;font-weight:600;color:var(--ink-soft);}
.field input,.field select,.field textarea{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 12px;background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
.addr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:10px;margin-bottom:10px;}
.addr-grid .opt{margin-bottom:0;align-items:flex-start;}
.opt{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--line);border-radius:var(--radius);margin-bottom:10px;cursor:pointer;transition:border-color .14s;}
.opt:last-child{margin-bottom:0;}
.opt:hover{border-color:var(--line-strong);}
.opt.sel{border-color:var(--brand-2);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-2) 16%,transparent);}
.opt .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--line-strong);display:grid;place-items:center;flex:none;}
.opt.sel .radio{border-color:var(--brand-2);}
.opt.sel .radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand-2);}
.opt .oi{flex:none;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand-2);}
.opt .ot{min-width:0;}
.opt .ot b{font-size:14px;display:block;}
.opt .ot small{font-size:12.5px;color:var(--ink-soft);}
.opt .opt-foot{display:flex;align-items:center;gap:14px;margin-top:6px;flex-wrap:wrap;}
.linklike{background:none;border:0;padding:0;font-family:inherit;font-size:12px;font-weight:600;color:var(--brand-2);cursor:pointer;}
.linklike:hover{text-decoration:underline;}
.opt-mark{color:var(--ink-faint);font-weight:400;}
.add-addr-btn{display:inline-flex;align-items:center;gap:7px;width:100%;justify-content:center;padding:12px;border:1.5px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--brand-2);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .14s,border-color .14s;}
.add-addr-btn:hover{background:var(--surface-2);border-color:var(--brand-2);}
.add-addr-btn .ico{width:16px;height:16px;}
/* first-time pin CTA + confirmed-location card */
.loc-cta{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;border:1.5px dashed var(--brand-2);border-radius:var(--radius);background:color-mix(in srgb,var(--brand-2) 5%,var(--surface));cursor:pointer;font-family:inherit;transition:background .14s;}
.loc-cta:hover{background:color-mix(in srgb,var(--brand-2) 9%,var(--surface));}
.loc-cta .lc-ic{flex:none;width:42px;height:42px;border-radius:50%;background:var(--brand-2);color:#fff;display:grid;place-items:center;}
.loc-cta .lc-ic .ico{width:22px;height:22px;}
.loc-cta .lc-tx{flex:1;min-width:0;}
.loc-cta .lc-tx b{display:block;font-size:14.5px;color:var(--ink);}
.loc-cta .lc-tx small{font-size:12.5px;color:var(--ink-soft);}
.loc-cta>.ico{flex:none;color:var(--ink-faint);width:18px;height:18px;}
.loc-set{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--brand-2);border-radius:var(--radius);background:color-mix(in srgb,var(--brand-2) 6%,var(--surface));}
.loc-set>.ico{flex:none;color:var(--brand-2);width:22px;height:22px;}
.loc-set .loc-txt{flex:1;min-width:0;}
.loc-set .loc-txt b{display:block;font-size:14px;}
.loc-set .loc-txt small{font-size:12px;color:var(--ink-soft);}
.loc-set .btn{width:auto;flex:none;padding:8px 14px;}
.new-addr .form-grid{margin-top:16px;}
.new-addr .form-grid[hidden]{display:none;}
.co-farm-slot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.co-farm-slot:last-child{border-bottom:0;}
.co-farm-slot .f{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;}
.co-farm-slot .f .avatar{width:30px;height:30px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px;}
.co-farm-slot select{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px;background:var(--surface);color:var(--ink);font-size:13.5px;font-family:inherit;}
/* delivery-slot picker */
/* delivery date picker: up to 2 weeks of day chips in a horizontal scroller */
.slot-hint{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.slot-hint .ico{width:16px;height:16px;flex:none;color:var(--brand-2);margin-top:1px;}
/* Advance-booking calendar - minimalist, circular tap targets */
.lf-cal{margin-bottom:18px;}
.lf-cal-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.lf-cal-title{font-weight:700;font-size:15px;letter-spacing:-.01em;color:var(--ink);}
.lf-cal-sub{font-size:12px;color:var(--ink-faint);font-weight:500;}
.lf-cal-dows{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px;}
.lf-cal-dows span{text-align:center;font-size:11px;font-weight:600;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.03em;}
.lf-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;}
.lf-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;margin:0 auto;width:100%;max-width:44px;border:0;border-radius:50%;background:transparent;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;font-family:inherit;font-variant-numeric:tabular-nums;transition:background .12s,color .12s;}
.lf-cal-cell:hover{background:color-mix(in srgb,var(--brand-2) 12%,transparent);}
.lf-cal-cell.sel{background:var(--brand-2);color:#fff;font-weight:700;}
.lf-cal-cell.sel:hover{background:var(--brand-2);}
.lf-cal-cell.off{color:var(--ink-faint);opacity:.32;cursor:default;pointer-events:none;}
.slot-win-lab{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:10px;}
.slot-win-lab .ico{width:15px;height:15px;color:var(--brand-2);}
.slot-win-lab b{color:var(--ink);font-weight:700;}
.slot-day{flex:0 0 auto;min-width:76px;display:flex;flex-direction:column;gap:1px;align-items:center;padding:9px 12px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer;font-family:inherit;text-align:center;transition:border-color .14s;}
.slot-day:hover{border-color:var(--line-strong);}
.slot-day.on{border-color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 7%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-2) 16%,transparent);}
.slot-day b{font-size:13.5px;color:var(--ink);white-space:nowrap;}
.slot-day small{font-size:11.5px;color:var(--ink-soft);white-space:nowrap;}
.slot-day[disabled]{opacity:.4;cursor:not-allowed;}
.slot-windows{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;}
.slot-win{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:11px 13px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:border-color .14s;text-align:left;}
.slot-win:hover{border-color:var(--line-strong);}
.slot-win.on{border-color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 7%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-2) 16%,transparent);}
.slot-win[disabled]{opacity:.5;cursor:not-allowed;background:var(--surface-2);}
.slot-win .sw-top{display:inline-flex;align-items:center;gap:7px;}
.slot-win .ico{width:15px;height:15px;color:var(--brand-2);}
.slot-win .sw-cap{font-size:11px;font-weight:600;color:var(--good);letter-spacing:.01em;}
.slot-win .sw-cap.low{color:var(--warn,#b8791f);}
.slot-win .sw-cap.none{color:var(--ink-faint);}
@media (max-width:560px){.slot-windows{grid-template-columns:1fr 1fr;}}
/* single prepaid method block */
.pay-single{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1.5px solid var(--line);border-radius:var(--radius);background:var(--surface-2);}
.pay-single .ico{flex:none;width:22px;height:22px;color:var(--brand-2);margin-top:2px;}
.pay-single .ps-tx b{font-size:14px;display:block;margin-bottom:2px;}
.pay-single .ps-tx small{font-size:12.5px;color:var(--ink-soft);line-height:1.5;}

/* order confirmation */
.confirm-hero{text-align:center;padding:var(--s10) 0 var(--s6);}
.confirm-hero .ok{width:66px;height:66px;border-radius:50%;background:color-mix(in srgb,var(--good) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--good) 35%,var(--surface));display:grid;place-items:center;margin:0 auto 18px;color:var(--good);}
.confirm-hero .ok .ico{width:32px;height:32px;stroke-width:2.4;}
.confirm-hero .ok.wait{background:color-mix(in srgb,var(--accent) 15%,var(--surface));border-color:color-mix(in srgb,var(--accent) 38%,var(--surface));color:var(--accent);}
.confirm-hero h1{font-size:28px;letter-spacing:-.02em;margin:0 0 8px;}
.confirm-hero p{margin:0;color:var(--ink-soft);font-size:15px;}
.confirm-hero .ref{display:inline-block;margin-top:14px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 16px;font-weight:800;letter-spacing:.04em;font-variant-numeric:tabular-nums;}

/* MCB Juice prepay panel (order confirmation, payment pending) */
.pay-panel{border:1.5px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:var(--radius-lg,16px);background:var(--surface);overflow:hidden;margin:0 0 var(--s6);box-shadow:var(--shadow-sm);}
.pp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:color-mix(in srgb,var(--accent) 9%,var(--surface));border-bottom:1px solid var(--line);}
.pp-badge{display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:14px;}
.pp-badge .ico{width:18px;height:18px;color:var(--accent);}
.pp-amt{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;}
.pp-body{display:flex;gap:20px;padding:18px;align-items:center;flex-wrap:wrap;}
.pp-qr{flex:0 0 auto;text-align:center;}
.pp-qr svg{display:block;width:180px;height:180px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:6px;box-sizing:content-box;}
.pp-qr small{display:block;margin-top:7px;font-size:11.5px;color:var(--ink-soft);}
.pp-qr-fallback{width:180px;height:180px;border:1px dashed var(--line-strong);border-radius:10px;display:grid;place-items:center;color:var(--ink-faint);}
.pp-qr-fallback .ico{width:44px;height:44px;}
.pp-steps{flex:1;min-width:220px;display:flex;flex-direction:column;gap:2px;}
.pp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);}
.pp-row:last-child{border-bottom:0;}
.pp-lab{font-size:12.5px;color:var(--ink-soft);}
.pp-row b{font-weight:700;font-variant-numeric:tabular-nums;}
.pp-copy{display:inline-flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:14px;cursor:pointer;color:var(--ink);}
.pp-copy:hover{border-color:var(--line-strong);}
.pp-copy .ico{width:14px;height:14px;color:var(--ink-faint);}
.pp-how{margin:0;padding:14px 18px 4px 34px;border-top:1px solid var(--line);color:var(--ink);font-size:13.5px;line-height:1.7;}
.pp-how li{margin-bottom:4px;}
.pp-note{display:flex;align-items:flex-start;gap:8px;padding:12px 18px 16px;font-size:12.5px;color:var(--ink-soft);}
.pp-note .ico{width:15px;height:15px;color:var(--good);flex:none;margin-top:2px;}
@media (max-width:560px){.pp-body{justify-content:center;}.pp-qr svg,.pp-qr-fallback{width:200px;height:200px;}}
.fulfil{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:var(--s4);overflow:hidden;box-shadow:var(--shadow-sm);}
.fulfil .fh{display:flex;align-items:center;gap:11px;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2);flex-wrap:wrap;}
.fulfil .fh .avatar{width:32px;height:32px;border-radius:50%;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none;}
.fulfil .fh .status{margin-left:auto;}
.fline{display:flex;align-items:center;gap:12px;padding:11px 16px;font-size:13.5px;border-bottom:1px solid var(--line);}
.fline:last-child{border-bottom:0;}
.fline .q{color:var(--ink-faint);font-variant-numeric:tabular-nums;}
.fline .lt{margin-left:auto;font-weight:700;}
.fulfil .fmeta{padding:11px 16px;font-size:13px;color:var(--ink-soft);display:flex;align-items:center;gap:8px;}
.fulfil .fmeta .ico{color:var(--brand-2);width:15px;height:15px;}

/* status pills */
.status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:4px 9px;border-radius:5px;display:inline-flex;align-items:center;gap:5px;}
.status.placed{background:var(--accent-soft);color:var(--accent-ink);}
.status.prep{background:color-mix(in srgb,var(--gold) 20%,var(--surface));color:var(--gold);}
.status.ready{background:color-mix(in srgb,var(--brand-2) 16%,var(--surface));color:var(--brand-2);}
.status.out{background:color-mix(in srgb,var(--lagoon) 18%,var(--surface));color:var(--lagoon);}
.status.done{background:color-mix(in srgb,var(--good) 16%,var(--surface));color:var(--good);}

/* account */
.acct{display:grid;grid-template-columns:230px 1fr;gap:var(--s8);padding:var(--s6) 0 var(--s12);align-items:start;}
.acct-nav{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
.acct-nav .who{padding:16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:11px;}
.acct-nav .who .avatar{width:40px;height:40px;border-radius:50%;background:var(--brand-2);color:#fff;display:grid;place-items:center;font-weight:800;}
.acct-nav .who b{font-size:14px;display:block;}
.acct-nav .who small{font-size:12px;color:var(--ink-faint);}
.acct-nav a{display:flex;align-items:center;gap:11px;padding:12px 16px;font-size:14px;font-weight:600;color:var(--ink-soft);border-left:2px solid transparent;}
.acct-nav a .ico{width:17px;height:17px;}
.acct-nav a:hover{background:var(--surface-2);color:var(--ink);}
.acct-nav a.on{color:var(--brand-2);background:color-mix(in srgb,var(--brand-2) 7%,var(--surface));}
.acct-nav a.signout{color:var(--ink-faint);border-top:1px solid var(--line);}
.panel{display:none;}
.panel.on{display:block;}
.panel h2{font-size:20px;letter-spacing:-.02em;margin:0 0 var(--s5);}
.order-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:var(--s4);overflow:hidden;}
.oc-head{display:flex;align-items:center;gap:14px;padding:13px 16px;background:var(--surface-2);border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:13px;color:var(--ink-soft);}
.oc-head .ref{font-weight:800;color:var(--ink);letter-spacing:.03em;}
.oc-head .status{margin-left:auto;}
.oc-body{padding:14px 16px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.oc-thumbs{display:flex;gap:8px;}
.oc-thumbs span{position:relative;overflow:hidden;width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);display:grid;place-items:center;font-size:22px;flex:none;}
.oc-thumbs span .octh-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
/* followed-farm card: branded monogram tile (no farm photos exist) */
.follow-card .fc-cover{height:88px;display:grid;place-items:center;border-bottom:1px solid var(--line);}
.follow-card .fc-mono{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--brand);font-weight:800;font-size:21px;display:grid;place-items:center;box-shadow:var(--shadow-sm);}
.oc-body .oc-sum{font-size:13.5px;color:var(--ink-soft);}
.oc-body .oc-sum b{color:var(--ink);display:block;font-size:15px;}
.oc-body .oc-act{margin-left:auto;display:flex;gap:8px;}
.addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);}
.addr{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px;box-shadow:var(--shadow-sm);position:relative;}
.addr.default{border-color:var(--brand-2);}
.addr .lbl{font-weight:700;font-size:14px;margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.addr .lbl .badge2{padding:2px 7px;font-size:10.5px;}
.addr p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.5;}
.addr .aacts{margin-top:12px;display:flex;gap:14px;}
.addr .aacts button{background:none;border:0;color:var(--brand-2);font-weight:700;font-size:13px;padding:0;}
.addr.add{border-style:dashed;display:grid;place-items:center;text-align:center;color:var(--brand-2);font-weight:700;min-height:130px;background:transparent;}
.addr.add:hover{background:color-mix(in srgb,var(--brand-2) 8%,var(--surface));border-color:var(--brand-2);color:var(--brand-2);}

/* auth */
.auth-wrap{min-height:72vh;display:grid;place-items:center;padding:var(--s10) var(--s5);}
.auth-card{width:100%;max-width:430px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--s8);}
.auth-card .lm{display:flex;justify-content:center;margin-bottom:var(--s5);}
.auth-card .lm .leafmark{width:48px;height:48px;}
.auth-card h1{font-size:23px;letter-spacing:-.02em;margin:0 0 6px;text-align:center;}
.auth-card .sub{text-align:center;color:var(--ink-soft);font-size:14px;margin:0 0 var(--s6);}
.auth-card .field{margin-bottom:14px;}
.auth-card .btn{width:100%;}
.auth-card .alt{text-align:center;font-size:13px;color:var(--ink-soft);margin-top:var(--s5);}
.auth-card .alt a{color:var(--brand-2);font-weight:700;}
.auth-card .otp-note{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;font-size:12.5px;color:var(--ink-soft);margin-bottom:14px;display:flex;gap:9px;align-items:flex-start;}
.auth-card .otp-note .ico{color:var(--brand-2);flex:none;margin-top:1px;}
.code-in{display:flex;gap:8px;justify-content:center;margin-bottom:14px;}
/* boxes flex to share the row so 6 of them never overflow a narrow screen */
.code-in input{flex:1 1 0;min-width:0;width:auto;max-width:52px;height:54px;padding:0;text-align:center;font-size:22px;font-weight:800;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;}
.code-in input:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
.hidden{display:none !important;}

@media (max-width:900px){
  .shop{grid-template-columns:1fr;gap:var(--s5);}
  .summary{position:static;}
  .acct{grid-template-columns:1fr;gap:var(--s5);}
  /* clean full-width vertical menu - no cramped 2-col wrapping ("Farms I follow" etc.) */
  .acct-nav{position:static;}
  .acct-nav a{border-left:0;border-top:1px solid var(--line);justify-content:flex-start;}
  .addr-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .form-grid{grid-template-columns:1fr;}
  /* account: order cards stack so status pills and actions never run off-screen */
  .oc-head .status{margin-left:0;}
  .oc-body{flex-direction:column;align-items:stretch;gap:12px;}
  .oc-body .oc-sum{margin-right:auto;}
  .oc-act{margin-left:0;width:100%;flex-direction:column;gap:8px;}
  .oc-act .btn{width:100%;}
  .cart-item{grid-template-columns:52px 1fr;}
  .ci-right{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;}
  .code-in{gap:6px;}
  .code-in input{height:48px;font-size:19px;}
  /* checkout section headers stack so the title stays on one line */
  .co-head{flex-direction:column;align-items:flex-start;gap:3px;}
  .co-head .ch-aside{text-align:left;}
}
/* toasts clear the mobile tab bar */
@media (max-width:760px){ .lf-toasts{bottom:calc(80px + env(safe-area-inset-bottom));} }

/* ==========================================================================
   RUNTIME: toasts, autocomplete, cookie bar, filters, review form, misc
   ========================================================================== */
.lf-toasts{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;}
.lf-toast{display:flex;align-items:center;gap:9px;background:var(--brand);color:var(--on-brand);padding:11px 16px;border-radius:var(--radius);box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:600;opacity:0;transform:translateY(10px);transition:opacity .22s,transform .22s;max-width:90vw;}
.lf-toast.in{opacity:1;transform:none;}
.lf-toast .ico{stroke:var(--accent);width:17px;height:17px;}
.lf-toast.error .ico{stroke:#ffb4a2;}

/* modal */
.lf-modal{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;padding:20px;}
.lf-modal.on{display:flex;}
.lf-modal .m-back{position:absolute;inset:0;background:rgba(12,20,16,.55);}
.lf-modal .m-card{position:relative;width:100%;max-width:460px;max-height:90vh;overflow:auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:mpop .16s ease-out;}
@keyframes mpop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lf-modal .m-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);}
.lf-modal .m-head h3{margin:0;font-size:16.5px;font-weight:700;}
.lf-modal .m-x{background:none;border:0;color:var(--ink-faint);cursor:pointer;display:inline-flex;padding:5px;border-radius:var(--radius-sm);}
.lf-modal .m-x:hover{background:var(--surface-2);color:var(--ink);}
.lf-modal .m-x .ico{width:18px;height:18px;}
.lf-modal .m-body{padding:20px;}
.lf-modal .m-foot{display:flex;justify-content:flex-end;gap:10px;padding:0 20px 20px;}
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-soft);cursor:pointer;font-weight:600;}
.check input{width:16px;height:16px;accent-color:var(--brand-2);}

.search{position:relative;}
.ac{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;display:none;z-index:60;}
.ac.on{display:block;}
.ac a{display:flex;align-items:center;gap:11px;padding:10px 14px;font-size:14px;border-bottom:1px solid var(--line);}
.ac a:last-child{border-bottom:0;}
.ac a:hover{background:var(--surface-2);}
.ac .acic{width:22px;text-align:center;font-size:16px;color:var(--brand-2);display:inline-flex;justify-content:center;}
.ac .acic .ico{width:15px;height:15px;}
.ac .actype{margin-left:auto;font-size:11px;color:var(--ink-faint);text-transform:capitalize;}

.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:640px;margin:0 auto;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:14px 16px;display:flex;align-items:center;gap:16px;z-index:150;font-size:13px;color:var(--ink-soft);}
.cookie-bar a{color:var(--brand-2);font-weight:600;}
.cookie-bar .btn{flex:none;padding:9px 16px;}

.fav.on{color:var(--accent);border-color:var(--accent);}
.fav.on .ico{fill:var(--accent);stroke:var(--accent);}

/* category / search two-pane with filter rail */
.browse{display:grid;grid-template-columns:236px 1fr;gap:var(--s8);padding:var(--s5) 0 var(--s12);align-items:start;}
.filters-side{position:sticky;top:96px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;}
.fs-group{padding:14px 16px;border-bottom:1px solid var(--line);}
.fs-group:last-child{border-bottom:0;}
.fs-group h4{margin:0 0 11px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-weight:700;}
.fs-opt{display:flex;align-items:center;gap:9px;font-size:13.5px;padding:5px 0;color:var(--ink-soft);cursor:pointer;}
.fs-opt input{accent-color:var(--brand-2);width:15px;height:15px;}
.fs-opt:hover{color:var(--ink);}
.price-row{display:flex;gap:8px;align-items:center;}
.price-row input{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:8px 10px;background:var(--surface);color:var(--ink);font-size:13px;}
.fs-clear{background:none;border:0;color:var(--brand-2);font-weight:700;font-size:13px;padding:12px 16px;}
.browse-main .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:0 0 var(--s5);border-bottom:1px solid var(--line);margin-bottom:var(--s6);}
.browse-main .count{font-size:14px;color:var(--ink-soft);}
.browse-main .count b{color:var(--ink);}
.sortsel{border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:9px 12px;background:var(--surface);color:var(--ink);font-size:13.5px;font-family:inherit;font-weight:600;}
/* Custom chevron for native selects so the arrow has breathing room and isn't jammed against
   the right edge (matches the portal .fsel pattern). Longhand background-image keeps each
   select's own background-color; padding-right reserves room for the icon. */
.sortsel,.field select,.co-farm-slot select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23849789' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;}
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:var(--s5);}
.chip-x{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:600;}
.chip-x button{background:none;border:0;color:var(--ink-faint);display:inline-flex;padding:0;}
.chip-x button .ico{width:13px;height:13px;}
.loadmore{display:flex;justify-content:center;margin-top:var(--s8);}
.mobile-filter{display:none;}

/* review form */
.review-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:16px;margin-bottom:var(--s6);box-shadow:var(--shadow-sm);}
.review-form h3{margin:0 0 12px;font-size:16px;}
.star-input{display:inline-flex;gap:4px;font-size:26px;color:var(--line-strong);cursor:pointer;margin-bottom:12px;}
.star-input span{transition:color .1s;}
.star-input span.on,.star-input span.hov{color:var(--star);}
.review-form textarea{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:11px 12px;background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;min-height:80px;resize:vertical;}
.review-form textarea:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
/* Account review modal */
.rv-item{padding:16px 0;border-top:1px solid var(--line);}
.rv-item:first-child{padding-top:0;border-top:0;}
.rv-prod{display:flex;align-items:center;gap:11px;margin-bottom:10px;}
.rv-prod .rv-ph{width:40px;height:40px;border-radius:var(--radius-sm);display:grid;place-items:center;font-size:20px;flex:none;}
.rv-prod b{font-size:14.5px;display:block;}
.rv-prod small{font-size:12.5px;color:var(--ink-soft);}
.rv-item .star-input{font-size:24px;margin-bottom:10px;}
.rv-body{width:100%;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;min-height:66px;resize:vertical;}
.rv-body:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
.rf-seller{margin-bottom:12px;}

/* skeleton */
.sk{position:relative;overflow:hidden;background:var(--surface-2);border-radius:var(--radius);}
.sk::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 60%,transparent),transparent);transform:translateX(-100%);animation:shim 1.3s infinite;}
@keyframes shim{100%{transform:translateX(100%);}}
.grid-sk{height:250px;}

/* static content pages */
.doc{max-width:760px;margin:0 auto;padding:var(--s8) 0 var(--s12);}
.doc h1{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.02em;margin:0 0 8px;}
.doc .lead{color:var(--ink-soft);font-size:16px;margin:0 0 var(--s6);}
.doc h2{font-size:20px;letter-spacing:-.01em;margin:var(--s8) 0 var(--s3);}
.doc p,.doc li{color:var(--ink-soft);font-size:15px;line-height:1.7;}
.doc ul{padding-left:20px;}
.doc .faq{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:var(--s5);}
.doc .faq details{border-bottom:1px solid var(--line);}
.doc .faq details:last-child{border-bottom:0;}
.doc .faq summary{padding:15px 16px;font-weight:700;cursor:pointer;font-size:15px;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;}
.doc .faq summary::-webkit-details-marker{display:none;}
.doc .faq summary::after{content:"+";color:var(--brand-2);font-size:20px;}
.doc .faq details[open] summary::after{content:"-";}
.doc .faq .a{padding:0 16px 15px;color:var(--ink-soft);font-size:14.5px;line-height:1.6;}

.notfound{text-align:center;padding:var(--s16) var(--s5);}
.notfound .big{font-size:64px;font-weight:800;letter-spacing:-.03em;color:var(--brand-2);}
.notfound h1{font-size:24px;margin:8px 0;}
.notfound p{color:var(--ink-soft);margin:0 0 var(--s6);}

.fs-mhead{display:none;}
.filters-scrim{display:none;position:fixed;inset:0;background:rgba(12,20,16,.5);z-index:119;}
@media (max-width:900px){
  .browse{grid-template-columns:1fr;}
  .filters-side{position:fixed;inset:0 auto 0 0;width:min(86%,340px);z-index:120;border-radius:0;transform:translateX(-100%);transition:transform .2s;overflow-y:auto;box-shadow:var(--shadow-lg);}
  .filters-side.open{transform:none;}
  .mobile-filter{display:inline-flex;}
  .filters-scrim.on{display:block;}
  .fs-mhead{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;z-index:2;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--line);}
  .fs-mhead b{font-size:15px;font-weight:700;}
  .fs-close{background:none;border:0;color:var(--ink-faint);cursor:pointer;display:inline-flex;padding:5px;border-radius:var(--radius-sm);}
  .fs-close:hover{background:var(--surface-2);color:var(--ink);}
  .fs-close .ico{width:20px;height:20px;}
}

/* ── Delivery-location pin picker (LFMap) ─────────────────────────────────── */
.lfmap{position:fixed;inset:0;z-index:240;display:none;align-items:center;justify-content:center;padding:20px;}
.lfmap.on{display:flex;}
.lfmap-back{position:absolute;inset:0;background:rgba(12,20,16,.58);backdrop-filter:blur(2px);}
.lfmap-card{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;max-height:92vh;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;animation:mpop .16s ease-out;}
.lfmap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);}
.lfmap-title{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:700;color:var(--ink);}
.lfmap-title .ico{width:19px;height:19px;color:var(--brand-2);}
.lfmap-x{background:none;border:0;color:var(--ink-faint);cursor:pointer;display:inline-flex;padding:6px;border-radius:var(--radius-sm);}
.lfmap-x:hover{background:var(--surface-2);color:var(--ink);}
.lfmap-x .ico{width:18px;height:18px;}
.lfmap-searchwrap{position:relative;padding:12px 16px;border-bottom:1px solid var(--line);}
.lfmap-si{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:var(--ink-faint);display:inline-flex;pointer-events:none;}
.lfmap-si .ico{width:17px;height:17px;}
.lfmap-search{width:100%;height:42px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:14px;font-family:inherit;padding:0 12px 0 40px;}
.lfmap-search:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-2) 14%,transparent);}
.lfmap-results{position:absolute;left:16px;right:16px;top:calc(100% - 4px);z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:5px;max-height:260px;overflow:auto;}
.lfmap-res{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:9px 10px;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--ink);font-size:13.5px;font-family:inherit;cursor:pointer;line-height:1.3;}
.lfmap-res:hover{background:var(--surface-2);}
.lfmap-res .ico{width:15px;height:15px;color:var(--ink-faint);flex:none;}
.lfmap-canvas{position:relative;flex:1;min-height:340px;background:var(--surface-2);}
.lfmap-map{position:absolute;inset:0;}
.lfmap-map .leaflet-control-attribution{font-size:10px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--ink-faint);}
.lfmap-map .leaflet-bar a{background:var(--surface);color:var(--ink);border-bottom-color:var(--line);}
.lfmap-map .leaflet-bar a:hover{background:var(--surface-2);}
/* Centred pin: map pans beneath it. */
.lfmap-crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);z-index:15;pointer-events:none;display:flex;flex-direction:column;align-items:center;transition:transform .18s cubic-bezier(.2,1.4,.5,1);}
.lfmap-crosshair .pin{display:inline-flex;filter:drop-shadow(0 5px 6px rgba(12,20,16,.35));}
.lfmap-crosshair .pin .ico{width:40px;height:40px;color:var(--brand-2);fill:var(--surface);stroke-width:1.8;}
.lfmap-crosshair .dot{width:9px;height:4px;border-radius:50%;background:rgba(12,20,16,.28);margin-top:-3px;transition:transform .18s ease,opacity .18s ease;}
.lfmap-crosshair.lifting{transform:translate(-50%,calc(-100% - 8px));}
.lfmap-crosshair.lifting .dot{transform:scale(1.5);opacity:.5;}
.lfmap-locate{position:absolute;right:14px;bottom:74px;z-index:16;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);background:var(--surface);color:var(--brand-2);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-md);}
.lfmap-locate:hover{background:var(--surface-2);}
.lfmap-locate .ico{width:21px;height:21px;}
.lfmap-locate.busy{opacity:.6;pointer-events:none;}
.lfmap-locate.busy .ico{animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.lfmap-hint{position:absolute;left:14px;bottom:14px;z-index:16;display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--line);color:var(--ink-soft);font-size:12px;font-weight:600;box-shadow:var(--shadow-sm);}
.lfmap-hint .ico{width:14px;height:14px;}
.lfmap-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;}
.lfmap-where{display:flex;flex-direction:column;gap:2px;min-width:0;}
.lfmap-where .lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);}
.lfmap-where .area{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;}
.lfmap-where .area.loading{color:var(--ink-faint);font-weight:600;}
.lfmap-actions{display:flex;gap:10px;flex:none;}
/* Right-size the picker's footer buttons: the global .btn is chunky and .btn-primary is a
   bright orange that reads as flashy on this sheet. Keep them compact and use the calm brand
   green (same combo as the search go-button), scoped so site-wide primary CTAs are untouched. */
.lfmap-actions .btn{width:auto;padding:10px 18px;font-size:14px;box-shadow:none;}
.lfmap-actions .lfmap-confirm{background:var(--brand-2);color:#fff;}
.lfmap-actions .lfmap-confirm:hover:not([disabled]){background:var(--brand);}
@media (max-width:560px){
  .lfmap{padding:0;}
  .lfmap-card{max-width:none;max-height:100vh;height:100vh;border-radius:0;border:0;}
  .lfmap-foot{flex-direction:column;align-items:stretch;}
  .lfmap-actions{justify-content:stretch;}
  .lfmap-actions .btn{flex:1;}
  .lfmap-where .area{max-width:none;white-space:normal;}
}

/* Pin summary chip reused on checkout + account address cards */
.pin-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--brand-2);}
.pin-chip .ico{width:14px;height:14px;}
.pin-chip.unset{color:var(--accent);}
