/* ==========================================================================
   AEM Bakery — site stylesheet
   One file for every page except the homepage hero (hero.css + hero-3d.css).
   Palette, type and the scallop motif come from the AEM logo badge.
   ========================================================================== */

@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(assets/fonts/dm-sans-latin-wght-normal.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:italic;font-weight:100 1000;font-display:swap;src:url(assets/fonts/dm-sans-latin-wght-italic.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(assets/fonts/fraunces-latin-full-normal.woff2) format('woff2')}

:root{
  /* palette */
  --navy:#143a6b;          /* logo ink, sampled from the logo */
  --navy-deep:#0e2a50;
  --frost:#dceaf3;         /* hero blue, lightened */
  --frost-2:#eef5fa;
  --snow:#fbfcfd;          /* frosting white page */
  --butter:#f4d58d;
  --butter-soft:#fbf0d4;
  --cinnamon:#8a4b2a;
  --text:#1f2f40;
  --muted:#5a6b7c;
  --line:#d6e2ec;
  --line-strong:#b9cbda;
  --danger:#a33a2a;
  --ok:#2f6b4a;

  /* type */
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;

  /* scale (1.25 minor third-ish, clamped) */
  --fs-xs:.8125rem; --fs-sm:.9375rem; --fs-base:1.0625rem; --fs-md:1.25rem;
  --fs-lg:clamp(1.65rem,1.2rem + 1.4vw,2.35rem);
  --fs-xl:clamp(2.5rem,1.5rem + 3.3vw,4.6rem);
  --fs-2xl:clamp(3.1rem,1.6rem + 5.2vw,6.6rem);

  --wrap:1240px;
  --gutter:clamp(16px,4vw,48px);
  --radius:18px;
  --radius-sm:10px;
  --ease:cubic-bezier(.22,1,.36,1);
  --header-h:100px;
  --scallop:14px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}
body{margin:0;background:var(--snow);color:var(--text);font-family:var(--sans);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:where(h1,h2,h3,h4){margin:0;font-weight:400;text-wrap:balance}
:where(p){margin:0;text-wrap:pretty}
:focus-visible{outline:3px solid var(--butter);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;text-decoration:none}
.skip:focus{top:12px}
.ui-icon{width:20px;height:20px;flex-shrink:0;pointer-events:none}
body.locked{overflow:hidden}

/* ---------- type ---------- */
.serif{font-family:var(--serif)}
.t-display{font-family:var(--serif);font-weight:650;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-2xl);line-height:.98;letter-spacing:-.03em;color:var(--navy)}
.t-h2{font-family:var(--serif);font-weight:620;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-xl);line-height:1.02;letter-spacing:-.025em;color:var(--navy)}
.t-h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-lg);line-height:1.15;color:var(--navy)}
.t-lede{font-size:var(--fs-md);line-height:1.55;color:var(--muted);max-width:56ch}
.t-small{font-size:var(--fs-sm);color:var(--muted)}
.kicker{display:block;font-size:var(--fs-sm);font-weight:600;color:var(--cinnamon);margin-bottom:.6rem}
.link{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:var(--butter);text-decoration-thickness:3px;text-underline-offset:5px;transition:text-decoration-color .2s}
.link:hover{text-decoration-color:var(--navy)}

/* ---------- layout ---------- */
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.section{padding-block:clamp(64px,8vw,120px)}
.section--tight{padding-block:clamp(48px,6vw,80px)}
.section--frost{background:var(--frost-2)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,48px)}
.section-head > div{max-width:640px}
.section-head .t-lede{margin-top:.8rem}

/* scallop edges — the bakery-box doily from the logo badge */
.scallop-top,.scallop-bottom{position:relative}
.scallop-top::before,.scallop-bottom::after{content:'';position:absolute;left:0;right:0;height:var(--scallop);background:radial-gradient(var(--scallop) at 50% 100%,var(--scallop-c,var(--snow)) 97%,transparent 100%) 0 0/calc(var(--scallop)*2) var(--scallop) repeat-x;pointer-events:none;z-index:2}
.scallop-top::before{top:calc(var(--scallop)*-1 + 1px)}
.scallop-bottom{z-index:21}
.scallop-bottom::after{bottom:calc(var(--scallop)*-1 + 1px);background-image:radial-gradient(var(--scallop) at 50% 0,var(--scallop-c,var(--snow)) 97%,transparent 100%)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600;font-size:var(--fs-sm);text-decoration:none;border:2px solid var(--navy);transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease);white-space:nowrap}
.btn:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.btn:active{transform:scale(.98)}
.btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-strong)}
.btn--ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn--butter{background:var(--butter);border-color:var(--butter);color:var(--navy-deep)}
.btn--butter:hover{background:#f0c96a;border-color:#f0c96a}
.btn--light{background:#fff;border-color:#fff;color:var(--navy)}
.btn--light:hover{background:var(--butter);border-color:var(--butter)}
.btn--block{width:100%}
.btn--sm{min-height:42px;padding:0 18px}
.btn[disabled]{opacity:.5;pointer-events:none}
.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--navy);transition:background .2s}
.icon-btn:hover{background:var(--frost)}

/* ---------- utility bar ---------- */
.utility{background:var(--navy);color:#dfe9f2;font-size:var(--fs-xs)}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px}
.utility a{color:#fff;text-decoration:none;font-weight:600}
.utility a:hover{text-decoration:underline}
.utility-mid{text-align:center}
@media(max-width:860px){.utility-side{display:none}.utility .wrap{justify-content:center}}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:40;background:rgba(251,252,253,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgba(15,41,68,.45)}
.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:var(--header-h)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;justify-self:start}
.brand img{width:auto;height:88px;filter:drop-shadow(0 4px 10px rgba(15,41,68,.12))}
.brand-name{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.25rem;color:var(--navy);line-height:1}
.brand-name small{display:block;font-family:var(--sans);font-size:.75rem;color:var(--muted);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:4px}
.main-nav > a,.nav-trigger{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 16px;border-radius:999px;color:var(--navy);font-weight:500;font-size:var(--fs-sm);text-decoration:none;transition:background .2s}
.main-nav > a:hover,.nav-trigger:hover,.nav-item.open .nav-trigger{background:var(--frost)}
.main-nav > a[aria-current="page"],.nav-trigger[aria-current="page"]{background:var(--navy);color:#fff}
.nav-trigger .ui-icon{width:16px;height:16px;transition:transform .25s}
.nav-item{position:relative}
.nav-item.open .nav-trigger .ui-icon{transform:rotate(180deg)}
.header-actions{display:flex;align-items:center;gap:8px;justify-self:end}
.cart-btn{position:relative;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 18px 0 14px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600;font-size:var(--fs-sm);transition:background .2s}
.cart-btn:hover{background:var(--navy-deep)}
.cart-count{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--butter);color:var(--navy-deep);font-size:.75rem;font-weight:700}
.cart-count.bump{animation:bump .45s var(--ease)}
@keyframes bump{40%{transform:scale(1.35)}}
.menu-btn{display:none}

/* mega menu */
.mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translate(-50%,8px);width:min(760px,calc(100vw - 48px));background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 60px -30px rgba(15,41,68,.35);padding:18px;display:grid;grid-template-columns:1.25fr 1fr;gap:18px;opacity:0;visibility:hidden;transition:opacity .2s,transform .25s var(--ease),visibility .2s}
.nav-item.open .mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-links{display:grid;gap:4px;align-content:start}
.mega-link{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:8px;border-radius:14px;text-decoration:none;transition:background .2s}
.mega-link:hover{background:var(--frost-2)}
.mega-link img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.mega-link strong{display:block;color:var(--navy);font-weight:600}
.mega-link span{font-size:var(--fs-xs);color:var(--muted)}
.mega-feature{position:relative;border-radius:16px;overflow:hidden;min-height:250px;display:flex;align-items:flex-end;text-decoration:none;color:#fff}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mega-feature:hover img{transform:scale(1.04)}
.mega-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,41,68,.85),rgba(15,41,68,0) 60%)}
.mega-feature div{position:relative;z-index:1;padding:18px}
.mega-feature strong{display:block;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.35rem;font-weight:400;line-height:1.15}
.mega-feature span{font-size:var(--fs-xs);opacity:.85}
.mega-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding:14px 8px 2px;font-size:var(--fs-sm);color:var(--muted)}

/* mobile drawer */
.drawer-backdrop{position:fixed;inset:0;background:rgba(15,41,68,.45);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:60}
.drawer-backdrop.show{opacity:1;visibility:visible}
.nav-drawer{position:fixed;inset:0 auto 0 0;width:min(420px,100vw);background:var(--snow);z-index:70;transform:translateX(-100%);transition:transform .4s var(--ease);display:flex;flex-direction:column;overflow-y:auto}
.nav-drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter);border-bottom:1px solid var(--line)}
.drawer-head img{height:64px;width:auto}
.drawer-links{padding:12px var(--gutter);display:grid}
.drawer-links > a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.6rem;color:var(--navy);text-decoration:none}
.drawer-links > a[aria-current="page"]{color:var(--cinnamon)}
.drawer-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:8px var(--gutter) 20px}
.drawer-cats a{text-decoration:none;font-size:var(--fs-xs);font-weight:600;color:var(--navy);text-align:center}
.drawer-cats img{aspect-ratio:1;object-fit:cover;border-radius:14px;margin-bottom:6px;width:100%}
.drawer-foot{margin-top:auto;padding:20px var(--gutter) 28px;background:var(--frost-2);display:grid;gap:12px;font-size:var(--fs-sm)}
.drawer-foot a:not(.btn){color:var(--navy);font-weight:600}

@media(max-width:1000px){
  .main-nav{display:none}
  .menu-btn{display:inline-grid}
  .header-inner{grid-template-columns:auto 1fr auto}
  .brand{justify-self:center;grid-column:2}
  .menu-btn{grid-column:1;grid-row:1}
  .header-actions{grid-column:3}
}
@media(max-width:560px){
  :root{--header-h:76px}
  .brand img{height:64px}
  .brand-name{display:none}
  .cart-btn{padding:0 12px;height:44px}
  .cart-btn .cart-label{display:none}
}

/* ---------- inner page hero ---------- */
.page-hero{position:relative;background:var(--frost);--scallop-c:var(--frost)}
.page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,6vw,80px) clamp(56px,7vw,96px)}
.crumbs{display:flex;gap:8px;font-size:var(--fs-xs);color:var(--muted);margin-bottom:22px;list-style:none;padding:0}
.crumbs a{color:var(--navy);text-decoration:none;font-weight:600}
.crumbs li+li::before{content:'/';margin-right:8px;color:var(--line-strong)}
.page-hero .t-display{margin-bottom:20px}
.page-hero .t-lede{margin-bottom:28px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;list-style:none;padding:0}
.hero-facts li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.7);border-radius:999px;font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.hero-facts svg{width:16px;height:16px}
.page-hero-media{position:relative;aspect-ratio:5/4}
.page-hero-media .main{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:28px 28px 220px 28px;box-shadow:0 40px 80px -40px rgba(15,41,68,.55)}
.page-hero-media .inset{position:absolute;left:-7%;bottom:-8%;width:38%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:8px solid var(--frost);box-shadow:0 20px 40px -20px rgba(15,41,68,.5)}
.seal{position:absolute;isolation:isolate;z-index:3;right:4%;top:-5%;width:118px;height:118px;display:grid;place-items:center;text-align:center;color:var(--navy-deep);font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:.95rem;line-height:1.1;padding:18px}
.seal::before{content:'';position:absolute;inset:0;background:var(--butter);z-index:-1;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 2l5.4 6.6 8-3.3 2.6 8.2 8.6.5-.6 8.6 8.1 2.9-3.4 7.9 6.4 5.6-6.4 5.6 3.4 7.9-8.1 2.9.6 8.6-8.6.5-2.6 8.2-8-3.3L50 98l-5.4-6.6-8 3.3-2.6-8.2-8.6-.5.6-8.6-8.1-2.9 3.4-7.9L5 50l6.4-5.6-3.4-7.9 8.1-2.9-.6-8.6 8.6-.5 2.6-8.2 8 3.3z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 2l5.4 6.6 8-3.3 2.6 8.2 8.6.5-.6 8.6 8.1 2.9-3.4 7.9 6.4 5.6-6.4 5.6 3.4 7.9-8.1 2.9.6 8.6-8.6.5-2.6 8.2-8-3.3L50 98l-5.4-6.6-8 3.3-2.6-8.2-8.6-.5.6-8.6-8.1-2.9 3.4-7.9L5 50l6.4-5.6-3.4-7.9 8.1-2.9-.6-8.6 8.6-.5 2.6-8.2 8 3.3z'/%3E%3C/svg%3E") center/contain no-repeat;animation:spin 40s linear infinite}
.seal span{position:relative}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:880px){
  .page-hero-grid{grid-template-columns:1fr}
  .page-hero-media{order:-1;aspect-ratio:4/3;margin:0 0 8px}
  .page-hero-media .inset{width:30%;left:auto;right:6%;bottom:-10%}
  .seal{width:92px;height:92px;font-size:.78rem;left:4%;right:auto;top:-6%}
}

/* ---------- category tiles ---------- */
.cat-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(12px,2vw,24px)}
.cat-tile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:#fff;isolation:isolate}
.cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.cat-tile::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(15,41,68,.88) 0%,rgba(15,41,68,.25) 45%,rgba(15,41,68,0) 70%)}
.cat-tile:hover img{transform:scale(1.05)}
.cat-tile-body{padding:clamp(20px,2.5vw,30px);display:flex;justify-content:space-between;align-items:end;gap:16px}
.cat-tile h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-lg);line-height:1.1}
.cat-tile p{font-size:var(--fs-sm);opacity:.85;margin-top:6px}
.cat-tile .round{flex-shrink:0;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--navy);transition:background .2s,transform .3s var(--ease)}
.cat-tile:hover .round{background:var(--butter);transform:rotate(-45deg)}
@media(max-width:900px){.cat-grid{grid-template-columns:1fr 1fr}.cat-tile:first-child{grid-column:1/-1;min-height:360px}.cat-tile{min-height:300px}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}.cat-tile,.cat-tile:first-child{min-height:260px}}

/* ---------- product cards ---------- */
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{height:42px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--navy);font-weight:600;font-size:var(--fs-sm);transition:background .2s,color .2s,border-color .2s}
.tab:hover{border-color:var(--navy)}
.tab[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,28px) clamp(12px,1.6vw,22px)}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;min-width:0}
.card-media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden;background:var(--frost)}
.card-media > button[data-view]{display:block;width:100%;height:100%}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.card:hover .card-media img{transform:scale(1.04)}
.badge{position:absolute;left:12px;top:12px;z-index:1;padding:5px 11px;border-radius:999px;background:var(--butter);color:var(--navy-deep);font-size:.75rem;font-weight:700;pointer-events:none}
.quick-add{position:absolute;right:12px;bottom:12px;z-index:1;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 12px;border-radius:999px;background:#fff;color:var(--navy);font-weight:600;font-size:var(--fs-sm);box-shadow:0 10px 24px -10px rgba(15,41,68,.5);transition:background .2s,color .2s,transform .2s var(--ease)}
.quick-add:hover{background:var(--navy);color:#fff}
.quick-add:active{transform:scale(.96)}
.quick-add.added{background:var(--ok);color:#fff}
.card-body{padding:14px 2px 0;display:grid;gap:4px}
.card-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.card-title h3{font-family:var(--sans);font-weight:600;font-size:1.02rem;line-height:1.3;color:var(--navy)}
.card-title h3 button{text-align:left}
.card-title h3 button:hover{text-decoration:underline;text-underline-offset:3px}
.price{font-weight:700;color:var(--cinnamon);white-space:nowrap}
.card-body p{font-size:var(--fs-sm);color:var(--muted);line-height:1.45}
@media(max-width:560px){
  .quick-add{height:40px;width:40px;padding:0;justify-content:center;right:8px;bottom:8px}
  .quick-add .qa-label{display:none}
  .card-title{flex-direction:column;gap:2px}
  .card-title h3{font-size:.95rem}
  .card-body p{display:none}
  .badge{left:8px;top:8px;font-size:.7rem}
}

/* ---------- shop toolbar ---------- */
.shop-bar{position:sticky;top:var(--header-h);z-index:20;background:rgba(251,252,253,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-block:14px;margin-bottom:28px}
.shop-bar .wrap{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.shop-tools{display:flex;gap:10px;align-items:center}
.field-inline{position:relative}
.field-inline svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.field-inline input{height:44px;width:240px;padding:0 16px 0 40px;border-radius:999px;border:1.5px solid var(--line-strong);background:#fff}
.field-inline input:focus{outline:none;border-color:var(--navy)}
.select-pill{height:44px;padding:0 38px 0 16px;border-radius:999px;border:1.5px solid var(--line-strong);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173a5e' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") right 12px center/18px no-repeat;appearance:none;font-weight:600;color:var(--navy);font-size:var(--fs-sm)}
.results-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-size:var(--fs-sm);color:var(--muted)}
.empty{padding:60px 20px;text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted)}
.empty strong{display:block;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:400;font-size:var(--fs-lg);color:var(--navy);margin-bottom:6px}
@media(max-width:780px){
  .shop-bar .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:calc(100% + 2*var(--gutter));margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}
  .shop-bar .tabs::-webkit-scrollbar{display:none}
  .tab{flex-shrink:0}
  .shop-tools{width:100%}
  .field-inline{flex:1}
  .field-inline input{width:100%}
}

/* ---------- story split ---------- */
.story{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,96px);align-items:center}
.story-media{position:relative;padding-bottom:12%}
.story-media .big{width:88%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 24px 24px}
.story-media .small{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;object-fit:cover;border-radius:24px;border:8px solid var(--snow);box-shadow:0 30px 60px -30px rgba(15,41,68,.5)}
.story-copy .t-h2{margin-bottom:22px}
.story-copy p+p{margin-top:1em}
.story-copy p{color:var(--muted);max-width:52ch}
.story-copy .btn{margin-top:30px}
.signature{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.signature img{width:64px;height:auto}
.signature strong{display:block;color:var(--navy);font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:400;font-size:1.1rem}
.signature span{font-size:var(--fs-xs);color:var(--muted)}
@media(max-width:880px){.story{grid-template-columns:1fr}.story-media{max-width:520px}}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.5vw,32px);counter-reset:step;list-style:none;padding:0;margin:0}
.step{background:#fff;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.step img{aspect-ratio:16/11;object-fit:cover;width:100%}
.step-body{padding:22px 24px 26px;position:relative}
.step-num{position:absolute;top:-30px;left:20px;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.4rem;border:5px solid #fff}
.step h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.4rem;color:var(--navy);margin:18px 0 8px}
.step p{color:var(--muted);font-size:var(--fs-sm)}
@media(max-width:880px){.steps{grid-template-columns:1fr;max-width:560px}}

/* ---------- full-bleed photo band ---------- */
.photo-band{position:relative;min-height:clamp(380px,48vw,600px);display:grid;align-items:end;color:#fff;isolation:isolate;overflow:hidden}
.photo-band img{position:absolute;inset:0;width:100%;height:120%;object-fit:cover;z-index:-2;will-change:transform}
.photo-band::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(15,41,68,.82) 0%,rgba(15,41,68,.35) 55%,rgba(15,41,68,.05) 100%)}
.photo-band .wrap{padding-block:clamp(48px,7vw,96px)}
.photo-band blockquote{margin:0;max-width:620px;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-xl);line-height:1.12}
.photo-band p{margin-top:18px;max-width:46ch;opacity:.9}
.photo-band .btn{margin-top:28px}

/* ---------- duo panels ---------- */
.duo{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(14px,2vw,24px)}
.panel{position:relative;border-radius:var(--radius);padding:clamp(28px,4vw,48px);overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.panel--photo{color:#fff}
.panel--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.panel--photo::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(15,41,68,.9),rgba(15,41,68,.1))}
.panel--butter{background:var(--butter-soft)}
.panel--frost{background:var(--frost)}
.panel h2,.panel h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-lg);line-height:1.12;margin-bottom:12px}
.panel:not(.panel--photo) h2,.panel:not(.panel--photo) h3{color:var(--navy)}
.panel p{max-width:42ch;opacity:.9}
.panel .btn{margin-top:22px;align-self:flex-start}
@media(max-width:820px){.duo{grid-template-columns:1fr}.panel{min-height:300px}}

/* ---------- process / gallery (kitchen) ---------- */
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:clamp(120px,14vw,190px);gap:clamp(10px,1.4vw,18px)}
.mosaic figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden}
.mosaic img{width:100%;height:100%;object-fit:cover}
.mosaic figcaption{position:absolute;left:12px;bottom:12px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);font-size:var(--fs-xs);font-weight:600;color:var(--navy)}
.m1{grid-column:1/6;grid-row:span 3}
.m2{grid-column:6/10;grid-row:span 2}
.m3{grid-column:10/13;grid-row:span 2}
.m4{grid-column:6/9;grid-row:span 2}
.m5{grid-column:9/13;grid-row:span 2}
.m6{grid-column:1/6;grid-row:span 1}
@media(max-width:780px){.mosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.mosaic figure{grid-column:auto!important;grid-row:auto!important}.mosaic .m1{grid-column:1/-1!important;grid-row:span 2!important}}

.values{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.value{border-top:2px solid var(--navy);padding-top:22px}
.value svg{width:36px;height:36px;color:var(--cinnamon);margin-bottom:16px}
.value h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.45rem;color:var(--navy);margin-bottom:8px}
.value p{color:var(--muted)}
@media(max-width:820px){.values{grid-template-columns:1fr}}

.timeline{list-style:none;padding:0;margin:0;display:grid;gap:0}
.timeline li{display:grid;grid-template-columns:88px 1fr 220px;gap:clamp(16px,3vw,40px);align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}
.timeline li:first-child{border-top:1px solid var(--line)}
.timeline .when{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.8rem;color:var(--cinnamon)}
.timeline h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.35rem;color:var(--navy);margin-bottom:4px}
.timeline p{color:var(--muted);font-size:var(--fs-sm);max-width:52ch}
.timeline img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px}
@media(max-width:720px){.timeline li{grid-template-columns:56px 1fr}.timeline img{grid-column:1/-1}.timeline .when{font-size:1.4rem}}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,72px);align-items:start}
.contact-cards{display:grid;gap:14px}
.contact-card{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;padding:20px;border-radius:var(--radius);background:var(--frost-2);text-decoration:none}
a.contact-card:hover{background:var(--frost)}
.contact-card .ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff;color:var(--navy)}
.contact-card strong{display:block;color:var(--navy);font-weight:600}
.contact-card span{font-size:var(--fs-sm);color:var(--muted)}
.contact-photo{margin-top:14px;border-radius:var(--radius);aspect-ratio:16/10;object-fit:cover;width:100%}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}

/* ---------- forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(22px,3.5vw,40px)}
.form-card h2{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-lg);color:var(--navy);margin-bottom:6px}
.form-card > p{color:var(--muted);font-size:var(--fs-sm);margin-bottom:24px}
.fieldset{border:0;padding:0;margin:0 0 28px}
.fieldset legend{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.3rem;color:var(--navy);padding:0;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.fieldset legend .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--frost);font-size:.95rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
@media(max-width:600px){.row{grid-template-columns:1fr}}
.field{display:grid;align-content:start;gap:6px;margin-bottom:14px;font-size:var(--fs-sm);font-weight:600;color:var(--navy)}
.field .hint{font-weight:400;color:var(--muted);font-size:var(--fs-xs)}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 16px;border-radius:12px;border:1.5px solid var(--line-strong);background:#fff;font-weight:400;color:var(--text);transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:120px;resize:vertical}
.field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23173a5e' stroke-width='2'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px var(--frost)}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--danger)}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:600px){.choice-grid{grid-template-columns:1fr}}
.choice{position:relative}
.choice input{position:absolute;opacity:0;inset:0}
.choice span{display:block;height:100%;padding:14px 16px;border-radius:12px;border:1.5px solid var(--line-strong);font-weight:600;color:var(--navy);font-size:var(--fs-sm);cursor:pointer;transition:border-color .2s,background .2s}
.choice small{display:block;font-weight:400;color:var(--muted);font-size:var(--fs-xs)}
.choice input:checked+span{border-color:var(--navy);background:var(--frost-2);box-shadow:inset 0 0 0 1px var(--navy)}
.choice input:focus-visible+span{outline:3px solid var(--butter);outline-offset:2px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-sm);color:var(--muted);margin:6px 0 22px}
.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--navy);flex-shrink:0}
.form-note{font-size:var(--fs-xs);color:var(--muted);margin-top:14px;text-align:center}
.form-error{display:none;padding:12px 16px;border-radius:12px;background:#fbe9e5;color:var(--danger);font-size:var(--fs-sm);margin-bottom:16px}
.form-error.show{display:block}
.hp{position:absolute;left:-9999px}

/* ---------- FAQ ---------- */
.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(28px,5vw,80px);align-items:start}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;cursor:pointer;font-weight:600;color:var(--navy);font-size:1.05rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary .pm{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--frost-2);transition:transform .3s var(--ease),background .2s}
.faq-list details[open] summary .pm{transform:rotate(45deg);background:var(--butter)}
.faq-list details p{padding:0 50px 24px 0;color:var(--muted);max-width:62ch}
.faq-list a{color:var(--navy);font-weight:600}
@media(max-width:880px){.faq{grid-template-columns:1fr}}

/* ---------- product dialog ---------- */
.pd{border:0;padding:0;border-radius:26px;width:min(940px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:#fff;color:var(--text);box-shadow:0 40px 100px -30px rgba(15,41,68,.6);overflow:auto}
.pd::backdrop{background:rgba(15,41,68,.55);backdrop-filter:blur(3px)}
.pd[open]{animation:pop .35s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}}
.pd-grid{display:grid;grid-template-columns:1fr 1fr}
.pd-media{position:relative;background:var(--frost);min-height:100%}
.pd-media img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.pd-body{padding:clamp(24px,4vw,44px);display:flex;flex-direction:column}
.pd-body .kicker{margin-bottom:8px}
.pd-body h2{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-xl);line-height:1.08;color:var(--navy);margin-bottom:10px}
.pd-price{font-size:1.4rem;font-weight:700;color:var(--cinnamon);margin-bottom:16px}
.pd-body > p{color:var(--muted);margin-bottom:22px}
.pd-buy{display:flex;gap:10px;align-items:stretch;margin-bottom:18px}
.pd-buy .btn{flex:1}
.pd-meta{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--muted);list-style:none;margin:auto 0 0;padding-left:0}
.pd-meta li{display:flex;gap:10px;align-items:flex-start}
.pd-meta svg{width:18px;height:18px;color:var(--navy);margin-top:3px}
.pd-close{position:absolute;right:14px;top:14px;z-index:3;background:#fff;box-shadow:0 6px 20px -8px rgba(15,41,68,.4)}
@media(max-width:720px){.pd-grid{grid-template-columns:1fr}.pd-media img{aspect-ratio:4/3}}

.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line-strong);border-radius:999px;height:52px;background:#fff}
.qty button{width:44px;height:100%;display:grid;place-items:center;color:var(--navy);border-radius:999px}
.qty button:hover{background:var(--frost-2)}
.qty input{width:40px;text-align:center;border:0;background:transparent;font-weight:700;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty--sm{height:38px}
.qty--sm button{width:34px}
.qty--sm input{width:30px;font-size:var(--fs-sm)}

/* ---------- cart drawer ---------- */
.cart{position:fixed;inset:0 0 0 auto;width:min(440px,100vw);background:#fff;z-index:70;transform:translateX(100%);transition:transform .4s var(--ease);display:flex;flex-direction:column}
.cart.open{transform:none;box-shadow:-30px 0 80px -30px rgba(15,41,68,.5)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line)}
.cart-head h2{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.5rem;color:var(--navy)}
.cart-items{flex:1;overflow-y:auto;padding:8px 22px;list-style:none;margin:0}
.cart-item{display:grid;grid-template-columns:76px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-item img{width:76px;height:76px;border-radius:12px;object-fit:cover}
.cart-item h3{font-size:.95rem;font-weight:600;color:var(--navy);line-height:1.3;margin-bottom:8px}
.cart-item .line-price{font-weight:700;color:var(--cinnamon);font-size:var(--fs-sm)}
.cart-item .remove{display:block;margin-top:10px;font-size:var(--fs-xs);color:var(--muted);text-decoration:underline}
.cart-empty{padding:48px 24px;text-align:center;color:var(--muted)}
.cart-empty img{width:140px;height:140px;border-radius:50%;object-fit:cover;margin:0 auto 18px}
.cart-empty strong{display:block;font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:400;font-size:1.4rem;color:var(--navy);margin-bottom:6px}
.cart-empty .btn{margin-top:20px}
.cart-foot{padding:18px 22px 22px;border-top:1px solid var(--line);background:var(--frost-2)}
.cart-row{display:flex;justify-content:space-between;font-size:var(--fs-sm);color:var(--muted);margin-bottom:6px}
.cart-row.total{font-size:1.15rem;color:var(--navy);font-weight:700;margin:10px 0 16px}
.cart-foot .t-small{font-size:var(--fs-xs);margin-top:12px;text-align:center}

/* ---------- checkout ---------- */
.checkout-head{background:var(--frost);padding-block:clamp(32px,4vw,52px) clamp(40px,5vw,64px);--scallop-c:var(--frost);position:relative}
.checkout-head .t-display{font-size:var(--fs-xl)}
.progress{display:flex;gap:8px;list-style:none;padding:0;margin:18px 0 0;font-size:var(--fs-xs);font-weight:600;color:var(--muted);flex-wrap:wrap}
.progress li{display:flex;align-items:center;gap:8px}
.progress li+li::before{content:'';width:24px;height:1.5px;background:var(--line-strong)}
.progress .on{color:var(--navy)}
.checkout{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.summary{position:sticky;top:calc(var(--header-h) + 20px);background:var(--frost-2);border-radius:24px;padding:clamp(20px,3vw,32px)}
.summary h2{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:1.5rem;color:var(--navy);margin-bottom:12px}
.summary .cart-items{padding:0;max-height:none;overflow:visible}
.summary .cart-item{grid-template-columns:64px 1fr auto}
.summary .cart-item img{width:64px;height:64px}
.summary-lines{padding-top:14px}
.summary-note{display:flex;gap:12px;margin-top:16px;padding:14px;border-radius:14px;background:#fff;font-size:var(--fs-xs);color:var(--muted)}
.summary-note svg{width:20px;height:20px;color:var(--cinnamon);flex-shrink:0}
@media(max-width:900px){.checkout{grid-template-columns:1fr}.summary{position:static;order:-1}}

.confirm{max-width:680px;margin-inline:auto;text-align:center}
.confirm-badge{width:110px;height:110px;margin:0 auto 26px;display:grid;place-items:center;border-radius:50%;background:var(--butter);color:var(--navy)}
.confirm-badge svg{width:46px;height:46px}
.confirm .t-display{margin-bottom:16px}
.confirm .t-lede{margin:0 auto 28px}
.confirm-ref{display:inline-block;padding:10px 18px;border-radius:999px;background:var(--frost);font-weight:700;color:var(--navy);margin-bottom:30px}
.confirm-list{text-align:left;background:var(--frost-2);border-radius:20px;padding:24px 28px;margin:0 0 30px;list-style:none;display:grid;gap:14px}
.confirm-list li{display:grid;grid-template-columns:36px 1fr;gap:12px;color:var(--muted);font-size:var(--fs-sm)}
.confirm-list b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--navy);font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:400}
.confirm-list strong{color:var(--navy)}

/* ---------- footer ---------- */
.site-footer{position:relative;background:var(--navy);color:#d3dfeb}
.footer-cta{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding-block:clamp(48px,6vw,80px);border-bottom:1px solid rgba(255,255,255,.12)}
.footer-cta h2{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-xl);line-height:1.08;color:#fff;max-width:16ch}
.footer-cta .actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.footer-cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.35)}
.footer-cta .btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr) 1.5fr;gap:clamp(24px,3vw,48px);padding-block:clamp(40px,5vw,64px)}
.footer-brand img{width:132px;height:auto;margin-bottom:18px}
.footer-brand p{font-size:var(--fs-sm);max-width:30ch;line-height:1.6}
.footer-col h3{font-family:var(--sans);font-size:var(--fs-sm);font-weight:700;color:#fff;margin-bottom:14px}
.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer-col a{color:#cfdbe7;text-decoration:none;font-size:var(--fs-sm);transition:color .2s}
.footer-col a:hover{color:var(--butter)}
.footer-col address{font-style:normal;font-size:var(--fs-sm);line-height:1.7}
.newsletter p{font-size:var(--fs-sm);margin-bottom:14px}
.newsletter-form{display:flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:5px}
.newsletter-form input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:0 14px;font-size:var(--fs-sm)}
.newsletter-form input::placeholder{color:#9fb3c7}
.newsletter-form input:focus{outline:none}
.newsletter-form button{height:42px;padding:0 18px;border-radius:999px;background:var(--butter);color:var(--navy-deep);font-weight:700;font-size:var(--fs-sm)}
.newsletter-msg{font-size:var(--fs-xs);margin-top:10px;min-height:1.2em;color:var(--butter)}
.socials{display:flex;gap:8px;margin-top:18px}
.socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.22);color:#fff;transition:background .2s}
.socials a:hover{background:rgba(255,255,255,.12)}
.socials svg{width:18px;height:18px}
.footer-word{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:clamp(3.5rem,13vw,11rem);line-height:.82;color:rgba(255,255,255,.06);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;user-select:none;padding-top:10px}
.footer-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-block:22px;border-top:1px solid rgba(255,255,255,.12);font-size:var(--fs-xs)}
.footer-base nav{display:flex;gap:20px;flex-wrap:wrap}
.footer-base a{color:#cfdbe7;text-decoration:none}
.footer-base a:hover{color:#fff}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr 1fr}.footer-brand,.newsletter{grid-column:1/-1}}
@media(max-width:720px){.footer-cta{grid-template-columns:1fr}.footer-cta .actions{justify-content:flex-start}.footer-main{grid-template-columns:1fr 1fr}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,calc(100% + 48px));visibility:hidden;display:flex;align-items:center;gap:14px;padding:12px 12px 12px 18px;border-radius:999px;background:var(--navy-deep);color:#fff;font-size:var(--fs-sm);box-shadow:0 20px 40px -16px rgba(15,41,68,.6);transition:transform .4s var(--ease),visibility .4s;max-width:calc(100vw - 32px)}
.toast.show{transform:translate(-50%,0);visibility:visible}
.toast button{height:36px;padding:0 14px;border-radius:999px;background:var(--butter);color:var(--navy-deep);font-weight:700;white-space:nowrap}

/* ---------- strip under hero ---------- */
.promise{background:var(--navy);color:#fff;overflow:hidden}
.promise ul{display:flex;gap:56px;list-style:none;margin:0;padding:18px 0;width:max-content;animation:slide 40s linear infinite}
.promise li{display:flex;align-items:center;gap:12px;font-size:var(--fs-sm);font-weight:500;white-space:nowrap}
.promise svg{width:20px;height:20px;color:var(--butter)}
@keyframes slide{to{transform:translateX(-50%)}}
.promise:hover ul{animation-play-state:paused}

/* ---------- flavour scroller ---------- */
.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,24vw,300px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.scroller > *{scroll-snap-align:start}
.scroll-btns{display:flex;gap:8px}
.scroll-btns button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-strong);display:grid;place-items:center;color:var(--navy);transition:background .2s,color .2s}
.scroll-btns button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* ---------- v2: header buttons ---------- */
.header-actions .btn{min-height:46px;padding:0 20px}
@media(max-width:1180px){.header-actions .hide-md{display:none}}
@media(max-width:1000px){.header-actions .btn{display:none}}

/* ---------- v2: full-photo page hero ---------- */
.photo-hero{position:relative;isolation:isolate;min-height:clamp(520px,78vh,780px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.photo-hero > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.04);animation:hero-zoom 14s var(--ease) forwards}
.photo-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,41,68,.25) 0%,rgba(15,41,68,.15) 35%,rgba(15,41,68,.82) 100%),linear-gradient(90deg,rgba(15,41,68,.55),rgba(15,41,68,0) 65%)}
@keyframes hero-zoom{to{transform:scale(1)}}
.photo-hero .wrap{padding-block:clamp(72px,10vw,140px) clamp(64px,8vw,110px)}
.photo-hero .crumbs{color:rgba(255,255,255,.75)}
.photo-hero .crumbs a{color:#fff}
.photo-hero .crumbs li+li::before{color:rgba(255,255,255,.5)}
.photo-hero h1{font-family:var(--serif);font-weight:650;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-2xl);line-height:.96;letter-spacing:-.03em;max-width:13ch;margin-bottom:22px;text-shadow:0 2px 30px rgba(15,41,68,.35)}
.photo-hero .lede{font-size:var(--fs-md);max-width:52ch;opacity:.92;margin-bottom:30px}
.photo-hero .hero-facts li{background:rgba(255,255,255,.14);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.photo-hero .link{color:#fff}
.photo-hero .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.photo-hero .btn--ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.scallop-in::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:var(--scallop);background:radial-gradient(var(--scallop) at 50% 100%,var(--snow) 97%,transparent 100%) 0 0/calc(var(--scallop)*2) var(--scallop) repeat-x;z-index:1}

/* ---------- v2: closing photo band with CTA ---------- */
.cta-band{position:relative;isolation:isolate;min-height:clamp(440px,60vw,640px);display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}
.cta-band > img{position:absolute;inset:0;width:100%;height:120%;object-fit:cover;z-index:-2;will-change:transform}
.cta-band::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(15,41,68,.55),rgba(15,41,68,.78))}
.cta-band .wrap{padding-block:clamp(72px,9vw,120px)}
.cta-band .kicker{color:var(--butter)}
.cta-band h2{font-family:var(--serif);font-weight:650;font-variation-settings:'SOFT' 100,'WONK' 0;font-size:var(--fs-2xl);line-height:.98;letter-spacing:-.03em;max-width:15ch;margin:0 auto 20px}
.cta-band p{max-width:50ch;margin:0 auto 32px;font-size:var(--fs-md);opacity:.92}
.cta-band .hero-actions{justify-content:center}
.cta-band .btn--ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.cta-band .btn--ghost:hover{background:#fff;color:var(--navy)}

/* ---------- v2: helpful tips ---------- */
.tips{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,24px);list-style:none;margin:0;padding:0;counter-reset:tip}
.tip{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px}
.tip svg{width:34px;height:34px;color:var(--cinnamon);margin-bottom:18px}
.tip h3{font-family:var(--serif);font-weight:600;font-variation-settings:'SOFT' 100;font-size:1.5rem;color:var(--navy);margin-bottom:8px}
.tip p{color:var(--muted);font-size:var(--fs-sm)}
.tip a{color:var(--navy);font-weight:600}
@media(max-width:880px){.tips{grid-template-columns:1fr}}

/* ---------- v2: pickup & delivery ---------- */
.fulfil{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.fulfil-media{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}
.fulfil-media img{width:100%;height:100%;object-fit:cover}
.fulfil-list{display:grid;gap:14px;margin-top:26px}
.fulfil-item{display:grid;grid-template-columns:52px 1fr;gap:16px;padding:20px;border-radius:var(--radius);background:#fff;border:1px solid var(--line)}
.fulfil-item .ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--frost);color:var(--navy)}
.fulfil-item strong{display:block;color:var(--navy);font-size:1.05rem}
.fulfil-item span{font-size:var(--fs-sm);color:var(--muted)}
@media(max-width:880px){.fulfil{grid-template-columns:1fr}}

/* ---------- v2: gift cards ---------- */
.gift{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);align-items:center;background:var(--navy);color:#fff;border-radius:28px;padding:clamp(28px,5vw,64px);overflow:hidden;position:relative}
.gift h2{font-family:var(--serif);font-weight:620;font-variation-settings:'SOFT' 100;font-size:var(--fs-xl);line-height:1.02;margin-bottom:16px}
.gift p{opacity:.85;max-width:44ch;margin-bottom:24px}
.amounts{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.amounts a{display:grid;place-items:center;min-width:84px;height:52px;padding:0 16px;border-radius:14px;border:1.5px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-weight:700;transition:background .2s,color .2s}
.amounts a:hover{background:var(--butter);color:var(--navy-deep);border-color:var(--butter)}
.gift-card-visual{position:relative;aspect-ratio:1.6;border-radius:22px;background:linear-gradient(135deg,var(--frost) 0%,#fff 60%,var(--butter-soft));box-shadow:0 40px 60px -30px rgba(0,0,0,.6);display:grid;place-items:center;transform:rotate(-4deg)}
.gift-card-visual img{width:44%;height:auto}
.gift-card-visual span{position:absolute;right:22px;bottom:18px;font-family:var(--serif);font-weight:650;font-size:1.5rem;color:var(--navy)}
@media(max-width:880px){.gift{grid-template-columns:1fr}.gift-card-visual{max-width:380px}}

/* ---------- v2: holiday ---------- */
.dates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.date-card{padding:22px;border-radius:var(--radius);background:var(--frost-2)}
.date-card small{display:block;font-size:var(--fs-xs);font-weight:700;color:var(--cinnamon);margin-bottom:6px}
.date-card strong{font-family:var(--serif);font-weight:620;font-variation-settings:'SOFT' 100;font-size:1.45rem;color:var(--navy);line-height:1.15}
@media(max-width:720px){.dates{grid-template-columns:1fr}}
.option-group{display:grid;gap:8px;margin-bottom:18px}
.option-group > span{font-size:var(--fs-sm);font-weight:700;color:var(--navy)}
.option-group .choice-grid{grid-template-columns:1fr}
.cart-item .opt{display:block;font-size:var(--fs-xs);color:var(--muted);margin:-4px 0 8px}
[data-delivery-only][hidden]{display:none}
.form-success{display:none;padding:18px;border-radius:14px;background:#e6f2ea;color:var(--ok);font-weight:600;margin-bottom:16px}
.form-success.show{display:block}

/* ---------- v3: navigation in a bordered pill ---------- */
.header-inner{grid-template-columns:auto 1fr auto;gap:28px}
.main-nav{justify-self:center;gap:2px;padding:6px;background:#fff;border:1.5px solid var(--line-strong);border-radius:999px;box-shadow:0 10px 30px -18px rgba(15,41,68,.35)}
.main-nav > a,.nav-trigger{height:44px;padding:0 20px;font-weight:600;font-size:.95rem;letter-spacing:.005em}
.main-nav > a:hover,.nav-trigger:hover,.nav-item.open .nav-trigger{background:var(--frost-2)}
.main-nav > a[aria-current="page"],.nav-trigger[aria-current="page"]{background:var(--navy);color:#fff}
.header-actions{gap:10px}
.header-actions .btn{min-height:52px;padding:0 24px}
.cart-btn{height:52px}
.mega{top:calc(100% + 18px)}
@media(max-width:1000px){.header-inner{grid-template-columns:auto 1fr auto}}

/* ---------- v3: transitions ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .28s ease both}
::view-transition-new(root){animation:vt-in .45s cubic-bezier(.22,1,.36,1) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(10px)}}
.site-header{view-transition-name:site-header}
.btn,.cart-btn,.tab,.quick-add,.icon-btn{transition:background .25s,color .25s,border-color .25s,transform .35s var(--ease),box-shadow .3s}
.btn:hover,.cart-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(15,41,68,.55)}
@media(prefers-reduced-motion:no-preference){
  .js-motion .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms)}
  .js-motion .reveal.in{opacity:1;transform:none}
  .photo-hero .crumbs,.photo-hero h1,.photo-hero .lede,.photo-hero .hero-actions,.photo-hero .hero-facts,.photo-hero .progress{animation:rise .9s cubic-bezier(.22,1,.36,1) both}
  .photo-hero h1{animation-delay:.08s}
  .photo-hero .lede{animation-delay:.18s}
  .photo-hero .hero-actions,.photo-hero .progress{animation-delay:.28s}
  .photo-hero .hero-facts{animation-delay:.36s}
  @keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
}
/* ---------- v3: mobile polish ---------- */
@media(max-width:700px){
  .photo-hero{min-height:max(560px,82svh)}
  .photo-hero::before{background:linear-gradient(180deg,rgba(15,41,68,.35) 0%,rgba(15,41,68,.35) 30%,rgba(15,41,68,.9) 100%)}
  .photo-hero h1{font-size:clamp(3rem,13vw,4rem);max-width:none}
  .photo-hero .lede{font-size:1.05rem}
  .photo-hero .hero-actions .btn{flex:1 1 auto}
  .photo-hero .wrap{padding-block:96px 64px}
  .cta-band h2{font-size:clamp(2.6rem,11vw,3.4rem)}
  .t-h2{font-size:clamp(2.25rem,9.5vw,2.9rem)}
  .section{padding-block:64px}
  .section-head{margin-bottom:26px}
  .hero-facts{gap:8px}
  .hero-facts li{font-size:.78rem;padding:7px 12px}
  .utility .wrap{min-height:34px}
  .footer-cta h2{font-size:2.4rem}
  .gift{border-radius:22px}
  .amounts a{min-width:72px;height:46px}
}

.main-nav > a,.nav-trigger{white-space:nowrap}
@media(max-width:1240px){.main-nav > a,.nav-trigger{padding:0 14px;font-size:.9rem}.header-inner{gap:18px}}
@media(max-width:1120px){.header-actions .btn{display:none}}

/* ---------- v4: big logo, kept inside the header ---------- */
:root{--header-h:124px}
.brand{position:relative;z-index:45}
.brand img{height:108px;width:auto;filter:drop-shadow(0 6px 12px rgba(15,41,68,.18));transition:height .4s var(--ease),transform .4s var(--ease)}
.brand:hover img{transform:rotate(-4deg) scale(1.03)}
.site-header .header-inner{transition:height .4s var(--ease)}
.site-header.is-scrolled .header-inner{height:92px}
.site-header.is-scrolled .brand img{height:80px}
@media(max-width:1000px){.brand{justify-self:center}}
@media(max-width:560px){
  :root{--header-h:96px}
  .brand img{height:84px}
  .site-header.is-scrolled .header-inner{height:76px}
  .site-header.is-scrolled .brand img{height:64px}
}

/* ---------- v5 ---------- */
:root{--header-h-scrolled:92px}
@media(max-width:560px){:root{--header-h-scrolled:76px}}
.shop-bar{top:var(--header-h-scrolled)}
html{scroll-padding-top:calc(var(--header-h-scrolled) + 24px)}
.photo-hero::after,.site-footer::before{display:none}
.checkout-head{padding-block:clamp(36px,5vw,64px)}
.checkout-head .crumbs a{color:var(--navy)}
.story-media .small{width:52%;border-radius:28px}
.footer-col a,.footer-base a{color:#d3dfeb}

/* ---------- v6: simple step cards, timeline without photos, credit ---------- */
.steps .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
.steps .step:hover{transform:translateY(-6px);box-shadow:0 22px 40px -24px rgba(20,58,107,.45);border-color:var(--line-strong)}
.steps .step-body{padding:30px 28px 32px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:center}
.steps .step-num{position:static;width:48px;height:48px;border:0;font-size:1.3rem;transition:background .3s,color .3s}
.steps .step:hover .step-num{background:var(--butter);color:var(--navy-deep)}
.steps .step-ic{justify-self:end;color:var(--cinnamon)}
.steps .step-ic svg{width:28px;height:28px}
.steps .step h3,.steps .step p{grid-column:1/-1}
.steps .step h3{margin:22px 0 8px}
.timeline li{grid-template-columns:88px 1fr;transition:background .3s;border-radius:12px}
.timeline li:hover{background:rgba(255,255,255,.6)}
.footer-credit{padding:0 0 22px;font-size:var(--fs-xs);color:#9fb3c9;text-align:center}
.footer-watermark{font-family:var(--serif);font-weight:700;font-size:clamp(3rem,11vw,9rem);line-height:.8;letter-spacing:.04em;text-align:center;color:rgba(255,255,255,.035);white-space:nowrap;overflow:hidden;user-select:none;pointer-events:none;margin-top:-6px}
@media(max-width:720px){.timeline li{grid-template-columns:44px 1fr}}
.footer-col .nw{white-space:nowrap}
.footer-main{grid-template-columns:1.4fr .9fr 1.1fr 1.3fr 1.5fr}
@media(max-width:1000px){.footer-main{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:720px){.footer-main{grid-template-columns:1fr 1fr}}

/* ---------- v7: compact footer ---------- */
.ft{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:32px;padding-block:56px 36px}
.ft-brand img{width:96px;height:auto;margin-bottom:14px}
.ft-brand p{font-size:var(--fs-sm);max-width:28ch;color:#d3dfeb}
.ft-col h3{font-family:var(--sans);font-size:var(--fs-sm);font-weight:700;color:#fff;margin-bottom:12px}
.ft-col a{display:block;color:#d3dfeb;text-decoration:none;font-size:var(--fs-sm);padding:4px 0;transition:color .2s}
.ft-col a:hover{color:var(--butter)}
.ft-col address{font-style:normal;font-size:var(--fs-sm);line-height:1.7;color:#d3dfeb}
.ft-col address a{display:inline;padding:0}
.nw{white-space:nowrap}
.site-footer .footer-base{font-size:var(--fs-xs);color:#a9bccf;padding-block:18px}
.footer-watermark{font-size:clamp(2.6rem,9vw,7rem);margin-top:0}
@media(max-width:820px){.ft{grid-template-columns:1fr 1fr;gap:26px 20px;padding-block:40px 26px}.ft-brand{grid-column:1/-1;display:flex;align-items:center;gap:14px}.ft-brand img{width:64px;margin:0}.ft-col:last-child{grid-column:1/-1}}
@media(max-width:720px){.site-footer .footer-base{justify-content:center;text-align:center;flex-direction:column;gap:4px}}

/* ---------- v7: compact mobile layout — swipe rows instead of tall stacks ---------- */
@media(max-width:720px){
  .section{padding-block:52px}
  .section--tight{padding-block:36px}
  .section-head{margin-bottom:20px;gap:12px}
  .t-lede{font-size:1rem}
  /* swipe rows */
  .cat-grid,.tips,.steps,.mosaic,[data-products="home"]{display:grid!important;grid-auto-flow:column;grid-template-columns:none!important;grid-template-rows:none!important;grid-auto-rows:auto!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin-inline:calc(var(--gutter)*-1);padding:2px var(--gutter) 10px;scroll-padding-inline:var(--gutter);scrollbar-width:none;max-width:none}
  .cat-grid::-webkit-scrollbar,.tips::-webkit-scrollbar,.steps::-webkit-scrollbar,.mosaic::-webkit-scrollbar,[data-products="home"]::-webkit-scrollbar{display:none}
  .cat-grid{grid-auto-columns:76%}
  .cat-grid .cat-tile,.cat-grid .cat-tile:first-child{min-height:300px;grid-column:auto}
  .tips,.steps{grid-auto-columns:82%}
  [data-products="home"]{grid-auto-columns:46%}
  .mosaic{grid-auto-columns:62%}
  .mosaic figure{grid-column:auto!important;grid-row:auto!important;height:240px}
  .cat-tile,.tip,.step,.card,.mosaic figure{scroll-snap-align:start}
  .tip{padding:22px 20px}
  .steps .step-body{padding:22px 20px 24px}
  .steps .step:hover{transform:none}
  /* image pairs: one shorter image */
  .story-media{padding-bottom:0}
  .story-media .big{width:100%;aspect-ratio:16/11;border-radius:120px 120px 20px 20px}
  .story-media .small{display:none}
  .story{gap:24px}
  .fulfil-media{aspect-ratio:16/10}
  .fulfil-item{padding:14px;grid-template-columns:42px 1fr;gap:12px}
  .fulfil-item .ic{width:42px;height:42px}
  .gift-card-visual{display:none}
  .gift{padding:26px 22px}
  .dates{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:20px}
  .date-card{padding:12px 10px}
  .date-card strong{font-size:1rem}
  .contact-cards{grid-template-columns:1fr 1fr;gap:10px}
  .contact-card{grid-template-columns:1fr;padding:14px;gap:8px}
  .contact-card .ic{width:38px;height:38px}
  .contact-card span{font-size:.82rem}
  .contact-card:first-child{grid-column:1/-1}
  .photo-hero{min-height:max(500px,68svh)}
  .photo-band{min-height:320px}
  .cta-band{min-height:360px}
  .faq-list summary{padding:16px 0;font-size:1rem}
  .form-card{padding:20px}
}
@media(max-width:720px){.section-head .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:calc(100% + 2*var(--gutter));margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter)}.section-head .tabs::-webkit-scrollbar{display:none}.section-head .tab{flex-shrink:0}}
@media(max-width:720px){.dates{grid-template-columns:repeat(3,minmax(0,1fr))}.date-card small{font-size:.68rem}.date-card strong{font-size:.92rem;overflow-wrap:anywhere}}
@media(max-width:360px){.dates{grid-template-columns:1fr}}
/* ---------- v7: compact mobile menu ---------- */
.nav-drawer{height:100dvh}
.drawer-head{padding:10px var(--gutter)}
.drawer-head img{height:56px}
.drawer-links{padding:4px var(--gutter)}
.drawer-links > a{padding:13px 0;font-size:1.45rem;min-height:52px}
.drawer-links > a:active{color:var(--cinnamon)}
.drawer-cats{padding:14px var(--gutter);gap:8px}
.drawer-cats img{aspect-ratio:4/3;border-radius:12px}
.drawer-cats a{font-size:.75rem;line-height:1.3}
.drawer-foot{position:sticky;bottom:0;padding:16px var(--gutter) calc(18px + env(safe-area-inset-bottom));gap:8px;font-size:.85rem;box-shadow:0 -10px 24px -18px rgba(20,58,107,.4)}
.drawer-foot span{display:none}
@media(max-height:680px){.drawer-cats{display:none}}

/* ---------- v8: eGift Cards page ---------- */
.gc{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,5vw,72px);align-items:start}
.gc-visual{position:sticky;top:calc(var(--header-h-scrolled) + 24px)}
.gc .gift-card-visual{display:grid;max-width:460px;margin:12px auto 34px;background:linear-gradient(135deg,var(--navy) 0%,#2a5b94 100%);transform:rotate(-3deg);transition:transform .5s var(--ease)}
.gc .gift-card-visual:hover{transform:rotate(0) scale(1.02)}
.gc .gift-card-visual img{width:40%}
.gc .gift-card-visual span{color:#fff;font-size:2rem}
.gc-notes{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.gc-notes li{display:flex;gap:12px;align-items:flex-start;color:var(--muted);font-size:var(--fs-sm)}
.gc-notes svg{width:20px;height:20px;color:var(--cinnamon);flex-shrink:0;margin-top:2px}
.amt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.choice.amt span{text-align:center;font-size:1.05rem;padding:14px 8px}
.gc-buy{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.gc-buy .btn{flex:1 1 140px}
@media(max-width:880px){.gc{grid-template-columns:1fr}.gc-visual{position:static}.gc .gift-card-visual{display:grid!important;max-width:320px;margin:0 auto 22px}.gc-notes{display:none}}
@media(max-width:720px){.gift-card-visual{display:none}.gc .gift-card-visual{display:grid!important}}

/* ---------- v8: Tekbis LLC watermark across the site ---------- */
body::after{content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='240'%3E%3Ctext x='50%25' y='50%25' text-anchor='middle' dominant-baseline='middle' transform='rotate(-24 180 120)' font-family='Georgia,serif' font-size='22' font-weight='700' letter-spacing='4' fill='%23143a6b' fill-opacity='0.035'%3ETEKBIS LLC%3C/text%3E%3C/svg%3E") repeat}
@media print{body::after{display:none}}
html{scroll-padding-top:calc(var(--header-h) + 20px)}

/* ---------- v9: swipe hints (arrows + progress) on phones ---------- */
.swipe-nav{display:none}
@media(max-width:720px){
  .swipe-nav{display:flex;align-items:center;gap:12px;margin-top:6px}
  .swipe-nav[hidden]{display:none}
  .swipe-track{flex:1;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
  .swipe-track span{display:block;height:100%;width:30%;border-radius:3px;background:var(--navy);transition:transform .25s var(--ease),width .25s}
  .swipe-nav button{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;color:var(--navy);transition:background .2s,color .2s,opacity .2s,transform .2s}
  .swipe-nav button:active{transform:scale(.92)}
  .swipe-nav button:not([disabled]):hover{background:var(--navy);color:#fff;border-color:var(--navy)}
  .swipe-nav button[disabled]{opacity:.35}
  .swipe-nav svg{width:18px;height:18px}
  .scroll-btns{display:none}
  .gift .swipe-nav,.section--frost .swipe-nav button{background:#fff}
}
/* ---------- v9: interaction & motion ---------- */
@media(hover:hover){
  .card{transition:transform .4s var(--ease)}
  .card:hover{transform:translateY(-6px)}
  .card:hover .card-media{box-shadow:0 22px 40px -24px rgba(20,58,107,.55)}
  .card-media{transition:box-shadow .4s var(--ease)}
  .cat-tile{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
  .cat-tile:hover{transform:translateY(-6px);box-shadow:0 28px 50px -28px rgba(20,58,107,.6)}
  .tip,.fulfil-item,.contact-card,.date-card{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
  .tip:hover,.fulfil-item:hover,a.contact-card:hover,.date-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px -24px rgba(20,58,107,.5)}
  .mosaic figure img{transition:transform .8s var(--ease)}
  .mosaic figure:hover img{transform:scale(1.06)}
  .amounts a{transition:background .2s,color .2s,transform .25s var(--ease)}
  .amounts a:hover{transform:translateY(-3px)}
}
.quick-add:active,.btn:active,.tab:active,.cart-btn:active{transform:scale(.95)}
.quick-add.added{animation:pop-add .45s var(--ease)}
@keyframes pop-add{40%{transform:scale(1.18)}}
.cart-item{animation:slide-in .35s var(--ease) both}
@keyframes slide-in{from{opacity:0;transform:translateX(16px)}}
.faq-list details[open] p{animation:fade-down .35s var(--ease)}
@keyframes fade-down{from{opacity:0;transform:translateY(-6px)}}
.card-media img{transition:transform .7s var(--ease),filter .4s}
@media(prefers-reduced-motion:reduce){.card:hover,.cat-tile:hover{transform:none}}

@media(max-width:720px){
  .scroll-btns{display:none}
  /* whole cards only — nothing cut at the screen edge */
  .cat-grid,.tips,.steps,.mosaic{grid-auto-columns:calc(100vw - 2*var(--gutter))!important;gap:12px!important}
  [data-products="home"],.scroller{grid-auto-columns:calc((100vw - 2*var(--gutter) - 12px)/2)!important;gap:12px!important}
  .scroller{display:grid;grid-auto-flow:column;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter)*-1);padding:2px var(--gutter) 10px;scroll-padding-inline:var(--gutter);scrollbar-width:none}
  .scroller::-webkit-scrollbar{display:none}
  .cat-grid .cat-tile,.cat-grid .cat-tile:first-child{min-height:260px}
  .mosaic figure{height:280px}
}

/* ---------- v9: interactive polish ---------- */
.card{transition:transform .4s var(--ease)}
.card-media{transition:box-shadow .4s var(--ease)}
@media(hover:hover){
  .card:hover{transform:translateY(-6px)}
  .card:hover .card-media{box-shadow:0 24px 40px -24px rgba(20,58,107,.55)}
  .cat-tile{transition:transform .45s var(--ease),box-shadow .45s var(--ease)}
  .cat-tile:hover{transform:translateY(-6px);box-shadow:0 28px 50px -28px rgba(20,58,107,.6)}
  .tip{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s}
  .tip:hover{transform:translateY(-5px);box-shadow:0 20px 36px -24px rgba(20,58,107,.45);border-color:var(--line-strong)}
  .contact-card,.fulfil-item{transition:transform .3s var(--ease),background .3s}
  .contact-card:hover,.fulfil-item:hover{transform:translateX(4px)}
  .mosaic figure img{transition:transform .8s var(--ease)}
  .mosaic figure:hover img{transform:scale(1.06)}
  .amounts a:hover{transform:translateY(-3px)}
  .quick-add:hover{transform:scale(1.06)}
}
.amounts a{transition:background .2s,color .2s,transform .3s var(--ease)}
.price{display:inline-block;transition:transform .3s var(--ease)}
.card:hover .price{transform:scale(1.08)}
.tab{transition:background .25s,color .25s,border-color .25s,transform .25s var(--ease)}
.tab:active,.btn:active,.choice span:active{transform:scale(.96)}
.faq-list details p{animation:faq-open .45s var(--ease)}
@keyframes faq-open{from{opacity:0;transform:translateY(-6px)}}
.cart.open .cart-item{animation:faq-open .4s var(--ease) both}
.cart.open .cart-item:nth-child(2){animation-delay:.05s}.cart.open .cart-item:nth-child(3){animation-delay:.1s}.cart.open .cart-item:nth-child(4){animation-delay:.15s}
.promise li svg{transition:transform .4s var(--ease)}
.promise li:hover svg{transform:rotate(-12deg) scale(1.15)}
@media(prefers-reduced-motion:reduce){.card:hover,.cat-tile:hover,.tip:hover{transform:none}}

/* ---------- v9: Our Kitchen product gallery ---------- */
.mosaic figcaption{opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s var(--ease)}
.mosaic figure:hover figcaption{opacity:1;transform:none}
@media(max-width:720px){
  .swipe-wrap:has(.mosaic) .swipe-arrow{display:none}
  .mosaic{display:grid!important;grid-auto-flow:row!important;grid-template-columns:1fr 1fr!important;grid-auto-columns:auto!important;grid-auto-rows:auto!important;overflow:visible!important;margin-inline:0!important;padding:0!important;gap:10px!important;scroll-snap-type:none}
  .mosaic figure,.mosaic .m1{grid-column:auto!important;grid-row:auto!important;height:auto!important;aspect-ratio:1;border-radius:16px}
  .mosaic figcaption{opacity:1;transform:none;left:8px;bottom:8px;font-size:.72rem;padding:5px 10px}
}

/* ---------- v11: holiday basket builder ---------- */
.bb{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(18px,3vw,36px);align-items:start}
.bb-pick{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(18px,3vw,28px)}
.bb-top{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.bb-badge{display:inline-grid;place-items:center;height:44px;padding:0 18px;border-radius:999px;background:var(--navy);color:#fff;font-weight:700;margin-bottom:14px}
.bb-label{flex:1;min-width:220px}
.bb-tabs{margin-bottom:14px}
.bb-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:560px;overflow-y:auto;padding-right:4px}
.bb-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px;border:1.5px solid var(--line);border-radius:14px;transition:border-color .2s,background .2s}
.bb-item.on{border-color:var(--navy);background:var(--frost-2)}
.bb-item img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.bb-item strong{display:block;font-size:.88rem;line-height:1.25;color:var(--navy)}
.bb-item span{font-size:.8rem;color:var(--cinnamon);font-weight:700}
.bb-item .qty output{width:24px;text-align:center;font-weight:700;font-size:.9rem}
.bb-item .qty button[disabled]{opacity:.3}
.bb-sum{position:sticky;top:calc(var(--header-h-scrolled) + 20px);background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;display:grid;gap:8px}
.bb-sum h3{font-family:var(--serif);font-weight:650;font-size:1.4rem;color:var(--navy);margin-bottom:6px}
.bb-lines{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:6px;font-size:.9rem}
.bb-lines li{display:flex;justify-content:space-between;gap:10px;color:var(--text)}
.bb-lines .bb-empty{color:var(--muted)}
.bb-sum .form-error{margin:0}
.bb-done{margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.bb-done h4{font-size:.95rem;color:var(--navy);margin:0 0 8px}
.bb-done ul{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.bb-done li{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:.85rem;padding:10px;border-radius:12px;background:var(--frost-2)}
.bb-done li strong{color:var(--navy)}
.bb-done li span{grid-column:1/-1;color:var(--muted)}
.bb-done li em{font-style:normal;font-weight:700;color:var(--cinnamon);grid-row:1;grid-column:2}
@media(max-width:900px){.bb{grid-template-columns:1fr}.bb-sum{position:static}.bb-list{max-height:none;overflow:visible}}
@media(max-width:560px){.bb-list{grid-template-columns:1fr}.bb-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.bb-tabs .tab{flex-shrink:0}}
.bb,.bb-pick,.bb-sum,.bb-top,.bb-label{min-width:0}
@media(max-width:560px){.bb-label{min-width:0;flex:1 1 100%}.bb-badge{margin-bottom:0}.bb-pick{padding:16px}.bb-item{grid-template-columns:46px 1fr auto}.bb-item img{width:46px;height:46px}}

/* ---------- v12: basket tabs, sizes, capacity ---------- */
.bb-tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.bb-tab{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line-strong);background:#fff;color:var(--navy);font-weight:700;font-size:.92rem;transition:background .2s,color .2s,border-color .2s}
.bb-tab small{font-weight:600;font-size:.72rem;padding:2px 7px;border-radius:999px;background:var(--frost);color:var(--navy)}
.bb-tab.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.bb-tab.on small{background:var(--butter);color:var(--navy-deep)}
.bb-tab--add{border-style:dashed;color:var(--cinnamon);border-color:var(--cinnamon)}
.bb-tab--add:hover{background:var(--butter-soft)}
.bb-row{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;align-items:start}
.bb-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bb-sizes .choice span{padding:10px 8px;text-align:center;font-size:.88rem}
.bb-meter{display:flex;align-items:center;gap:12px;margin:2px 0 12px;font-size:.85rem;font-weight:600;color:var(--navy)}
.bb-meter-bar{flex:1;height:8px;border-radius:999px;background:var(--frost);overflow:hidden}
.bb-meter-bar span{display:block;height:100%;width:0;border-radius:999px;background:var(--navy);transition:width .35s var(--ease),background .3s}
.bb-meter-bar span.full{background:var(--cinnamon)}
.bb-full{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;margin-bottom:14px;border-radius:14px;background:var(--butter-soft);color:var(--navy-deep);font-weight:600;font-size:.9rem;animation:faq-open .4s var(--ease)}
.bb-item .qty button[disabled]{opacity:.3;cursor:not-allowed}
.bb-sum h3{margin-bottom:10px}
.bb-all{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}
.bb-all li{padding:12px;border-radius:14px;background:var(--frost-2);border:1.5px solid transparent;transition:border-color .2s}
.bb-all li.on{border-color:var(--navy);background:#fff}
.bb-all-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.bb-all-head button{font-weight:700;color:var(--navy);text-align:left}
.bb-all-head span{font-weight:700;color:var(--cinnamon);white-space:nowrap}
.bb-all p{font-size:.82rem;color:var(--muted);margin:4px 0 0;line-height:1.45}
.bb-remove{font-size:.78rem;color:var(--muted);text-decoration:underline;margin-top:6px}
.bb-top,.bb-badge{display:none}
@media(max-width:700px){.bb-row{grid-template-columns:1fr}.bb-tabbar{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}.bb-tab{flex-shrink:0;height:40px}}
.bb-sum .btn[hidden],.bb-full[hidden]{display:none}

/* ---------- v13: named baskets, no numbers ---------- */
.bb-tabbar{gap:10px;align-items:stretch}
.bb-tabbar.solo{border-bottom:0;padding-bottom:0;margin-bottom:14px;justify-content:flex-end}
.bb-tab{height:auto;min-height:56px;padding:8px 16px 8px 8px;border-radius:16px;gap:10px;text-align:left}
.bb-tab-t{display:grid;line-height:1.2;font-size:.92rem}
.bb-tab-t small{background:none!important;padding:0;font-weight:500;font-size:.74rem;color:var(--muted)}
.bb-tab.on .bb-tab-t small{color:#c9d8e8}
.bb-ic{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:conic-gradient(var(--butter) calc(var(--p)*1%),var(--frost) 0);transition:background .3s}
.bb-ic::before{content:'';position:absolute;inset:3px;border-radius:9px;background:#fff}
.bb-ic svg{position:relative;width:20px;height:20px;color:var(--navy)}
.bb-tab.on .bb-ic::before{background:var(--navy-deep)}
.bb-tab.on .bb-ic svg{color:var(--butter)}
.bb-tab--add{border:1.5px dashed var(--cinnamon);color:var(--cinnamon);padding:8px 18px 8px 10px;background:transparent}
.bb-tabbar.solo .bb-tab--add{min-height:44px;border-radius:999px}
.bb-plus{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--butter-soft);font-size:1.2rem;font-weight:700;line-height:1}
.bb-tab{animation:faq-open .35s var(--ease)}

/* ---------- v14: add-to-cart notice (card, not pill) ---------- */
.toast{left:auto;right:24px;top:calc(var(--header-h-scrolled) + 14px);bottom:auto;transform:translateY(-12px);opacity:0;visibility:hidden;width:min(400px,calc(100vw - 32px));max-width:none;display:grid;grid-template-columns:auto 1fr;gap:12px 14px;align-items:center;padding:14px 44px 14px 14px;border-radius:16px;background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:0 24px 50px -20px rgba(15,41,68,.45);transition:transform .35s var(--ease),opacity .25s,visibility .35s}
.toast.show{transform:none;opacity:1;visibility:visible}
.toast-img{display:none;width:56px;height:56px;border-radius:12px;object-fit:cover;grid-row:1}
.toast--cart .toast-img{display:block}
.toast-body{display:grid;gap:2px;min-width:0}
.toast-title{display:none;align-items:center;gap:6px;font-size:.75rem;font-weight:700;color:var(--ok)}
.toast--cart .toast-title{display:flex}
.toast--cart .toast-title::before{content:'';width:14px;height:14px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4L18 8'/%3E%3C/svg%3E") center/10px no-repeat}
.toast-body strong{font-size:.95rem;color:var(--navy);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.toast-sub{font-size:.8rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.toast-sub:empty{display:none}
.toast-actions{grid-column:1/-1;display:none;gap:10px;align-items:center}
.toast--cart .toast-actions{display:flex}
.toast-actions .btn{flex:1;min-height:42px;background:var(--navy);color:#fff}
.toast-checkout{flex:1;display:grid;place-items:center;min-height:42px;border-radius:999px;border:1.5px solid var(--line-strong);color:var(--navy);font-weight:600;font-size:var(--fs-sm);text-decoration:none}
.toast-checkout:hover{border-color:var(--navy)}
.toast-x{position:absolute;top:10px;right:10px;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:var(--muted)}
.toast-x:hover{background:var(--frost-2);color:var(--navy)}
.toast-x svg{width:16px;height:16px}
.toast:not(.toast--cart){grid-template-columns:1fr;padding-right:44px}
@media(max-width:600px){
  .toast{left:12px;right:12px;width:auto;top:auto;bottom:calc(12px + env(safe-area-inset-bottom));transform:translateY(24px);border-radius:16px}
  .toast.show{transform:none}
  .toast-img{width:48px;height:48px}
}

/* ---------- v14: checkout ---------- */
.co{padding-block:clamp(24px,4vw,48px) clamp(56px,7vw,96px);background:linear-gradient(90deg,var(--snow) 0 58%,var(--frost-2) 58%)}
.co-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.co-steps{display:flex;align-items:center;gap:10px;list-style:none;margin:0;padding:0;font-size:var(--fs-sm);font-weight:600;color:var(--muted)}
.co-steps li{display:flex;align-items:center;gap:10px}
.co-steps li+li::before{content:'';width:8px;height:8px;border-top:2px solid var(--line-strong);border-right:2px solid var(--line-strong);transform:rotate(45deg);margin-right:4px}
.co-steps .on{color:var(--navy)}
.co-steps .done a{color:var(--navy);text-decoration:none}
.co-steps .done a:hover{text-decoration:underline}
.co-secure{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-sm);font-weight:600;color:var(--ok)}
.co-secure svg,.co-pay-note svg,.co-submit svg,.co-trust svg{width:18px;height:18px;flex-shrink:0}
.co-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:start}
.co-form{display:grid;gap:8px;min-width:0}
.co-sec{padding:26px 0;border-bottom:1px solid var(--line)}
.co-sec:first-of-type{padding-top:0}
.co-sec h2{font-family:var(--sans);font-size:1.2rem;font-weight:700;color:var(--navy);margin-bottom:16px}
.co-muted{color:var(--muted);font-size:var(--fs-sm);margin:-8px 0 14px}
.co .field input,.co .field select,.co .field textarea{min-height:52px;border-radius:10px;border:1.5px solid var(--line-strong)}
.co .field.bad input,.co .field.bad select,.co .field.bad textarea{border-color:var(--danger);box-shadow:0 0 0 3px #fbe3de}
.row-3{grid-template-columns:1.4fr 1fr 1fr}
@media(max-width:600px){.row-3{grid-template-columns:1fr 1fr}.row-3 .field:first-child{grid-column:1/-1}}
.co-options,.co-pay{display:grid;border:1.5px solid var(--line-strong);border-radius:12px;overflow:hidden;background:#fff}
.co-opt{position:relative;display:block;cursor:pointer}
.co-opt+.co-opt{border-top:1px solid var(--line)}
.co-opt input{position:absolute;opacity:0}
.co-opt-body{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;transition:background .2s}
.co-opt input:checked+.co-opt-body{background:var(--frost-2);box-shadow:inset 0 0 0 1.5px var(--navy)}
.co-opt input:focus-visible+.co-opt-body{outline:3px solid var(--butter);outline-offset:-3px}
.co-radio{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);background:#fff;transition:border .2s}
.co-opt input:checked+.co-opt-body .co-radio{border:6px solid var(--navy)}
.co-opt-t{display:grid;gap:2px;min-width:0}
.co-opt-t strong{color:var(--navy);font-weight:600}
.co-opt-t small{color:var(--muted);font-size:.82rem}
.co-opt em{font-style:normal;font-weight:600;font-size:var(--fs-sm);color:var(--navy);text-align:right}
.co-address{margin-top:16px}
.co-link{color:var(--navy);font-weight:600;font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px;margin:2px 0 12px;justify-self:start}
.co-times{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
.co-cards{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.cc{display:inline-grid;place-items:center;height:24px;min-width:38px;padding:0 6px;border-radius:5px;border:1px solid var(--line);background:#fff;font-style:normal;font-size:.62rem;font-weight:800;letter-spacing:.02em;color:var(--navy)}
.cc-visa{color:#1a1f71;font-style:italic;font-size:.72rem}
.cc-mc{position:relative;width:38px}
.cc-mc b{position:absolute;top:5px;width:14px;height:14px;border-radius:50%}
.cc-mc b:first-child{left:7px;background:#eb001b}.cc-mc b:last-child{left:16px;background:#f79e1b;mix-blend-mode:multiply}
.cc-amex{background:#2e77bc;color:#fff;border-color:#2e77bc}
.cc-disc{font-size:.52rem;color:#e55c20}
.cc-wallet{background:#111;color:#fff;border-color:#111}
.cc-g{background:#fff;color:#3c4043;border-color:var(--line)}
.co-pay-note{display:flex;gap:12px;align-items:flex-start;padding:16px 18px;border-top:1px solid var(--line);background:var(--snow);font-size:.85rem;color:var(--muted);line-height:1.5}
.co-pay-note svg{color:var(--ok);margin-top:2px}
.co-submit{min-height:60px;margin-top:22px;font-size:1.02rem;gap:12px;justify-content:center}
.co-submit .co-submit-total{margin-left:6px;padding-left:12px;border-left:1px solid rgba(255,255,255,.3);font-weight:700}
.co-legal{font-size:.8rem;color:var(--muted);text-align:center;margin-top:12px}
.co-summary{position:sticky;top:calc(var(--header-h-scrolled) + 24px);min-width:0}
.co-sum-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.co-sum-head h2{font-family:var(--sans);font-size:1.2rem;font-weight:700;color:var(--navy)}
.co-sum-head .co-link{margin:0}
.co-items{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-height:420px;overflow-y:auto;padding:8px 6px 4px 0}
.co-items li{display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center}
.co-thumb{position:relative;width:64px;height:64px}
.co-thumb img{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--line);background:#fff}
.co-thumb b{position:absolute;top:-8px;right:-8px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--navy);color:#fff;font-size:.72rem}
.co-item-t{display:grid;gap:2px;min-width:0}
.co-item-t strong{font-size:.92rem;font-weight:600;color:var(--navy);line-height:1.3}
.co-item-t small{font-size:.76rem;color:var(--muted);line-height:1.4}
.co-item-p{font-weight:600;font-size:.92rem}
.co-empty{display:block!important;color:var(--muted)}
.co-lines{display:grid;gap:10px;padding:18px 0;margin-top:16px;border-top:1px solid var(--line-strong);font-size:var(--fs-sm)}
.co-lines div{display:flex;justify-content:space-between;gap:12px}
.co-lines div span:last-child{font-weight:600}
.co-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;border-top:1px solid var(--line-strong);font-size:1.1rem;font-weight:700;color:var(--navy)}
.co-total small{font-size:.75rem;color:var(--muted);font-weight:500;margin-right:4px}
.co-total strong{font-size:1.45rem}
.co-trust{list-style:none;margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;font-size:.84rem;color:var(--muted)}
.co-trust li{display:flex;gap:10px;align-items:center}
.co-trust svg{color:var(--navy)}
.co-trust a{color:var(--navy)}
.co-mobile-sum{display:none}
@media(max-width:900px){
  .co{background:var(--snow);padding-top:16px}
  .co-grid{grid-template-columns:1fr;gap:0}
  .co-summary{position:static;order:-1;display:none;background:var(--frost-2);margin:0 calc(var(--gutter)*-1) 20px;padding:20px var(--gutter)}
  .co-summary.open{display:block;animation:faq-open .3s var(--ease)}
  .co-mobile-sum{display:flex;justify-content:space-between;align-items:center;width:calc(100% + 2*var(--gutter));margin:0 calc(var(--gutter)*-1) 20px;padding:16px var(--gutter);background:var(--frost-2);border-block:1px solid var(--line);color:var(--navy);font-weight:600;font-size:var(--fs-sm)}
  .co-mobile-sum>span{display:flex;align-items:center;gap:8px}
  .co-mobile-sum svg{width:18px;height:18px}
  .co-mobile-sum[aria-expanded="true"] svg:last-child{transform:rotate(180deg)}
  .co-mobile-sum strong{font-size:1.1rem}
  .co-top{margin-bottom:14px}
  .co-times{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .co-times .choice span{padding:10px 6px;font-size:.85rem}
  .co-opt-body{padding:14px;gap:12px}
  .co-opt--pay .co-opt-body{grid-template-columns:auto 1fr}
  .co-opt--pay .co-cards{grid-column:2;justify-content:flex-start}
  .co-submit .co-submit-total{display:none}
}
.co [hidden],.field[hidden],.form-error[hidden]{display:none!important}
.toast .toast-x{height:30px;width:30px;padding:0;background:none;color:var(--muted);border-radius:50%}
.toast .toast-x:hover{background:var(--frost-2)}
.toast .toast-actions .btn{height:auto;padding:0 18px;background:var(--navy);color:#fff;border-radius:999px}
/* v15: basket capacity, delivery ZIP, ready estimate */
.bb-cap{margin:4px 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}
.bb-cap-top{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-sm);font-weight:600;color:var(--navy);margin-bottom:8px}
.bb-cap-top span:last-child{color:var(--muted);font-weight:500}
.bb-cap-bar{height:8px;border-radius:999px;background:var(--frost);overflow:hidden}
.bb-cap-bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--navy);transition:width .35s var(--ease)}
.bb-cap.full .bb-cap-bar i{background:var(--ok)}
.bb-cap.full .bb-cap-top span:last-child{color:var(--ok);font-weight:700}
.bb-full{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:-4px 0 14px;padding:12px 14px;border-radius:14px;background:var(--butter-soft);color:var(--navy-deep);font-weight:600;font-size:var(--fs-sm)}
.bb-full[hidden],.bb-cap[hidden],.co-opt[hidden],.co-ready[hidden]{display:none!important}
.field-msg{display:block;font-size:.8rem;font-weight:500;min-height:0}
.field-msg:empty{display:none}
.field-msg.ok{color:var(--ok)}
.field-msg.bad{color:var(--danger)}
.co-ready{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;padding:12px 14px;border-radius:12px;background:var(--frost-2,#eef4fa);color:var(--navy-deep);font-size:var(--fs-sm);line-height:1.45}
.co-ready .ui-icon{flex:none;width:18px;height:18px;margin-top:1px}
.bb-cap{position:sticky;top:calc(var(--header-h) + 8px);z-index:5;box-shadow:0 10px 24px -18px rgba(15,41,68,.45)}
.bb-cap .bb-full{margin:12px 0 0;padding:10px 12px}
.bb-cap.full{border-color:#cfe5d8}
/* v16: summary panel follows the summary column, so text never crosses its edge */
@media(min-width:901px){
  .co{background:var(--snow);overflow:clip}
  .co-summary::before{content:'';position:absolute;z-index:-1;top:-200vh;bottom:-200vh;left:calc(clamp(28px,5vw,72px) / -2);width:100vw;background:var(--frost-2);border-left:1px solid var(--line)}
  .co-summary{z-index:0}
}
