/* Mello Cookie Lab — shared styles
   Brand: pastel blue #C1DBE8 · burgundy-brown #43302E · buttermilk #FFF1B5 · warm cream */
:root{
  --burg:#43302E;
  --burg-soft:#5C443E;
  --blue:#C1DBE8;
  --blue-pale:#EAF4F9;
  --blue-deep:#6FA8C4;
  --yellow:#FFF1B5;
  --yellow-deep:#F5D76E;
  --cream:#FFFBF2;
  --paper:#FFF6E8;
  --ink:#43302E;
  --muted:#8A766C;
  --line:#EBDCCB;
  --white:#FFFFFF;
  --green:#2E7D4F;
  --red:#A63A44;
  --shadow:0 10px 30px rgba(67,48,46,.10);
  --shadow-sm:0 4px 14px rgba(67,48,46,.08);
  --radius:22px;
  --font-display:"Fraunces",Georgia,serif;
  --font-body:"Nunito Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--burg)}
h1,h2,h3,.serif{font-family:var(--font-display);font-weight:600;line-height:1.12;color:var(--burg)}
h1{font-size:clamp(42px,8.5vw,72px);letter-spacing:-.01em}
h2{font-size:clamp(30px,5.5vw,44px)}
h3{font-size:22px}
p{margin:0 0 12px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.section{padding:44px 0}
.section-sub{color:var(--muted);max-width:640px;margin-top:10px;font-size:17px}
.lede{font-family:var(--font-display);font-size:clamp(20px,3.4vw,26px);font-style:italic;color:var(--burg-soft)}

/* Brand stripe band */
.stripe{height:10px;background:repeating-linear-gradient(90deg,var(--burg) 0 52px,var(--blue) 52px 104px,var(--yellow) 104px 156px)}

/* Header */
.site-header{position:sticky;top:0;z-index:60;background:rgba(255,251,242,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header-in{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.wordmark{font-family:var(--font-display);font-size:36px;font-weight:900;letter-spacing:-.015em;color:var(--burg);text-decoration:none;line-height:1}
.wordmark .dot{color:var(--yellow-deep)}
.brand-sub{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:800;color:var(--muted);margin-top:2px}
.main-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.main-nav a.navlink{text-decoration:none;font-weight:700;font-size:15px;color:var(--burg-soft);padding:9px 13px;border-radius:999px}
.main-nav a.navlink:hover{background:var(--blue-pale)}
.main-nav a.navlink.active{background:var(--burg);color:#fff}
.cart-btn{border:0;cursor:pointer;background:var(--yellow);color:var(--burg);font-family:var(--font-body);font-weight:800;font-size:15px;padding:10px 16px;border-radius:999px;box-shadow:var(--shadow-sm)}
.cart-btn span{background:var(--burg);color:#fff;border-radius:999px;padding:1px 8px;margin-left:6px;font-size:13px}
.owner-link{font-size:13px;color:var(--muted);text-decoration:none;font-weight:700;padding:9px 6px}
.owner-link:hover{color:var(--burg)}

/* Buttons & pills */
.btn{display:inline-block;border:0;cursor:pointer;text-decoration:none;font-family:var(--font-body);font-weight:800;font-size:16px;padding:14px 24px;border-radius:999px;transition:transform .12s ease,box-shadow .12s ease;text-align:center}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-yellow{background:var(--yellow);color:var(--burg);box-shadow:var(--shadow-sm)}
.btn-dark{background:var(--burg);color:#fff}
.btn-white{background:#fff;color:var(--burg);border:1.5px solid var(--line)}
.btn-blue{background:var(--blue);color:var(--burg)}
.btn-green{background:var(--green);color:#fff}
.btn-block{width:100%}
.pill{display:inline-block;background:var(--blue-pale);border:1px solid var(--blue);color:var(--burg);font-size:13px;font-weight:800;padding:6px 13px;border-radius:999px}
.badge{display:inline-block;font-size:12px;font-weight:800;padding:4px 10px;border-radius:999px;background:#EAF7EE;color:var(--green);border:1px solid #BFE3C9}
.badge.out{background:#FCE8E6;color:var(--red);border-color:#F3C6C0}
.badge.seasonal{background:var(--yellow);color:var(--burg);border-color:var(--yellow-deep)}
.badge.info{background:var(--blue-pale);color:var(--burg);border-color:var(--blue)}

/* Hero */
.hero-outer{background:linear-gradient(180deg,var(--paper),var(--cream))}
.hero{max-width:1120px;margin:0 auto;padding:40px 20px 48px;display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
@media(min-width:860px){.hero{grid-template-columns:1.05fr .95fr;padding:56px 20px 64px}}
.hero h1 em{font-style:italic;color:var(--blue-deep)}
.hero-sub{font-size:19px;color:var(--burg-soft);max-width:520px;margin-top:16px}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.pickup-note{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14.5px;margin-top:18px;max-width:520px;box-shadow:var(--shadow-sm)}
.hero-card{background:#fff;border-radius:26px;padding:18px;box-shadow:var(--shadow)}
.hero-card .fresh{font-family:var(--font-display);font-size:21px;font-weight:600;margin:2px 0 12px}
.hero-card img{border-radius:18px;width:100%;aspect-ratio:4/3.4;object-fit:cover}
.hero-note{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.hero-note span{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-weight:800;font-size:14px}
.hero-card .fine{font-size:13px;color:var(--muted);margin:12px 2px 0}

/* Cards & grids */
.grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.card-pad{padding:20px}
.card h3{margin:8px 0 6px}
.card p{color:var(--burg-soft);font-size:15.5px}
.card-foot{margin-top:auto;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-weight:800;font-size:19px;color:var(--burg)}
.cookie-visual{position:relative;aspect-ratio:4/2.9;overflow:hidden;background:var(--paper)}
.cookie-visual img{width:100%;height:100%;object-fit:cover}
.cookie-visual.tile{display:flex;align-items:center;justify-content:center}
.tile-disc{width:118px;height:118px;border-radius:50%;position:relative;box-shadow:inset 0 -8px 0 rgba(0,0,0,.08),var(--shadow-sm);display:flex;align-items:center;justify-content:center}
.tile-disc i{position:absolute;border-radius:50%;background:rgba(67,48,46,.35)}
.tile-disc .tile-initial{font-family:var(--font-display);font-size:44px;font-weight:700;color:rgba(255,255,255,.92)}
.tile-caption{position:absolute;bottom:10px;left:0;right:0;text-align:center;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.addbtn{border:0;cursor:pointer;background:var(--burg);color:#fff;font-family:var(--font-body);font-weight:800;font-size:15px;padding:11px 18px;border-radius:999px}
.addbtn:disabled{background:#D8C9BC;cursor:not-allowed}
.icon-big{font-size:30px;line-height:1}

/* Builder */
.builder{background:var(--burg);color:#FFF7EA;border-radius:26px;padding:26px;margin-top:34px;box-shadow:var(--shadow)}
.builder h2{color:#fff}
.builder .sub{opacity:.85;margin-top:6px}
.toggle{display:inline-flex;background:rgba(255,255,255,.12);border-radius:999px;padding:4px;gap:4px;flex-wrap:wrap}
.toggle button{border:0;cursor:pointer;background:transparent;color:#FFF7EA;font-family:var(--font-body);font-weight:800;font-size:15px;padding:10px 16px;border-radius:999px}
.toggle button.active{background:var(--yellow);color:var(--burg)}
.slots{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 8px}
.slot{flex:1 1 90px;min-height:74px;border:2px dashed rgba(255,255,255,.35);border-radius:16px;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:rgba(255,255,255,.75);padding:8px}
.slot.filled{border-style:solid;color:#fff;font-weight:800;font-size:14.5px;cursor:pointer}
.builder-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0 16px;font-size:16px}
.flavor-grid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.flavor-grid{grid-template-columns:repeat(3,1fr)}}
.flavor{border:0;cursor:pointer;background:#fff;color:var(--burg);border-radius:16px;padding:12px;text-align:left;font-family:var(--font-body);display:flex;gap:10px;align-items:center;min-height:64px}
.flavor img{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:none}
.flavor .thumb-tile{width:48px;height:48px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:20px;color:rgba(255,255,255,.95)}
.flavor strong{display:block;font-size:15.5px}
.flavor small{color:var(--muted);font-weight:700}
.flavor:disabled{opacity:.5;cursor:not-allowed}

/* Locked / info boxes */
.locked{background:var(--blue-pale);border:1px solid var(--blue);border-radius:16px;padding:16px 18px;font-size:15px}
.locked strong{color:var(--burg)}
.note-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;font-size:15px;box-shadow:var(--shadow-sm)}

/* Story */
.story-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:900px){.story-grid{grid-template-columns:1.15fr .85fr}}
.story-photo{border-radius:22px;width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow)}
.story-sign{font-family:var(--font-display);font-size:28px;font-style:italic;color:var(--burg)}
.side-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;margin-top:16px;box-shadow:var(--shadow-sm)}
.side-card hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.side-card p{color:var(--burg-soft);font-size:15.5px}

/* Gallery */
.gallery{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:760px){.gallery{grid-template-columns:1fr 1fr}}
.gallery figure{border-radius:22px;overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;border:1px solid var(--line)}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery figcaption{padding:14px 18px;font-size:15px;color:var(--burg-soft)}
.gallery figcaption strong{font-family:var(--font-display);color:var(--burg);font-size:17px;display:block}

/* Instagram band */
.ig-band{background:var(--blue);border-radius:26px;padding:30px 26px;display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:space-between;box-shadow:var(--shadow-sm)}
.ig-band h3{font-size:26px}
.ig-band p{color:var(--burg-soft);margin:6px 0 0;max-width:520px}

/* Markets */
.market{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.market .m-name{font-family:var(--font-display);font-size:21px;font-weight:600}
.market .m-when{text-align:right;font-weight:800}
.market .m-when span{display:block;color:var(--muted);font-weight:700}

/* FAQ */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.faq-item summary{cursor:pointer;list-style:none;padding:18px 20px;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--burg);display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--font-body);font-weight:800;color:var(--blue-deep);font-size:22px}
.faq-item[open ] summary::after{content:"–"}
.faq-a{padding:0 20px 18px;color:var(--burg-soft);font-size:15.5px}

/* Footer */
.site-footer{background:var(--burg);color:#E9DCD2;margin-top:56px}
.footer-in{max-width:1120px;margin:0 auto;padding:36px 20px;display:grid;gap:26px;grid-template-columns:1fr}
@media(min-width:860px){.footer-in{grid-template-columns:1fr 1fr}}
.footer-in .wordmark{color:#fff}
.footer-in a{color:var(--yellow)}
.footer-legal{font-size:13.5px;color:#CBB6A9;max-width:520px}
.footer-legal strong{color:#fff}

/* Cart drawer */
.drawer{position:fixed;inset:0;z-index:90;visibility:hidden}
.drawer.open{visibility:visible}
.drawer-bg{position:absolute;inset:0;background:rgba(67,48,46,.45);opacity:0;transition:opacity .2s}
.drawer.open .drawer-bg{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(430px,94vw);background:var(--cream);box-shadow:-12px 0 40px rgba(67,48,46,.25);transform:translateX(105%);transition:transform .25s ease;overflow-y:auto;padding:22px}
.drawer.open .drawer-panel{transform:none}
.drawer-panel h2{font-size:30px}
.drawer-close{border:0;background:#F3ECE6;width:38px;height:38px;border-radius:50%;font-size:17px;cursor:pointer;color:var(--burg)}
.switch{display:flex;background:#EFE6DA;border-radius:999px;padding:4px;gap:4px}
.switch button{flex:1;border:0;cursor:pointer;background:transparent;font-family:var(--font-body);font-weight:800;font-size:14.5px;padding:11px 8px;border-radius:999px;color:var(--burg-soft)}
.switch button.on{background:var(--burg);color:#fff}
.field-label{display:block;font-weight:800;font-size:13px;letter-spacing:.04em;margin:16px 0 7px;color:var(--burg)}
.zip-warn{margin-top:8px;background:#FFF1B5;border:1px solid #E4CE7A;border-radius:10px;padding:9px 12px;font-size:13.5px;font-weight:700;color:var(--burg)}
.step-label{font-weight:900;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--burg);margin:20px 0 10px;border-top:1.5px solid var(--line);padding-top:14px}
.step-label:first-of-type{border-top:0;padding-top:0;margin-top:4px}
.drawer-panel select{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-family:var(--font-body);font-size:15.5px;background:#fff;color:var(--ink)}
.gift-row{display:flex;gap:10px;align-items:flex-start;margin-top:18px;font-weight:700;font-size:15px;cursor:pointer}
.gift-row input{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}
.policy-strip{font-size:12px;color:var(--muted);text-align:center;margin-top:8px;line-height:1.5}
.review-line{display:flex;justify-content:space-between;gap:12px;margin:7px 0;font-size:15px}
.review-line small{display:block;color:var(--muted);font-size:12.5px}
.review-line.grand{font-size:19px;border-top:2px solid var(--burg);padding-top:9px;margin-top:11px}
.review-ref{font-size:15px;margin-bottom:10px}
.review-meta{font-size:13.5px;color:var(--muted);margin-top:12px;line-height:1.55}
.review-back{background:#F3ECE6;color:var(--burg);margin-top:10px}
.confirm-check{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;font-size:32px;display:flex;align-items:center;justify-content:center;margin:14px auto 10px}
.next-steps{background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;margin-top:16px;font-size:14.5px;line-height:1.55}
.weekly-note{display:inline-block;background:#FFF1B5;border:1px solid #E4CE7A;color:var(--burg);font-weight:800;font-size:14px;border-radius:999px;padding:7px 14px;margin-top:12px}
.cookie-wt{font-size:12.5px;font-weight:800;color:var(--muted);margin-top:-6px}
.basket-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:80;background:var(--burg);color:#FFF6E9;border:0;border-radius:999px;padding:13px 22px;font-family:var(--font-body);font-weight:900;font-size:15.5px;box-shadow:0 10px 28px rgba(67,48,46,.35);cursor:pointer}
.basket-bar span{color:var(--yellow)}
.basket-bar[hidden]{display:none}
.drawer-panel input[type=text],.drawer-panel textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:12px;font-family:var(--font-body);font-size:15.5px;background:#fff;color:var(--ink)}
.cartline{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.cartline .detail{font-size:13px;color:var(--muted)}
.qty{display:inline-flex;align-items:center;gap:10px;margin-top:7px}
.qty button{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line);background:#fff;font-size:16px;font-weight:800;cursor:pointer;color:var(--burg);line-height:1}
.totals{border-top:2px solid var(--burg);padding-top:14px;margin-top:8px}
.totals .row{display:flex;justify-content:space-between;margin:4px 0}
.totals .grand{font-size:20px;margin-top:8px}
.checkout-note{font-size:12.5px;color:var(--muted);text-align:center;margin-top:10px}
.empty-cart{color:var(--muted);padding:18px 0}

/* Toast */
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--burg);color:#fff;font-weight:700;font-size:15px;padding:12px 20px;border-radius:999px;box-shadow:var(--shadow);display:none;z-index:120;max-width:92vw;text-align:center}

/* Admin */
.admin-banner{background:var(--yellow);border:1px solid var(--yellow-deep);border-radius:16px;padding:14px 18px;font-size:15px}
.owner-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:760px){.owner-grid{grid-template-columns:repeat(2,1fr)}}
.owner-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow-sm)}
.owner-card .oc-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.owner-card label{display:block;font-weight:800;font-size:13px;margin:14px 0 6px;color:var(--burg)}
.owner-card input[type=number],.owner-card input[type=text],.owner-card textarea,.admin-input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px;font-family:var(--font-body);font-size:16px;background:#fff;color:var(--ink)}
.admin-section-title{font-size:28px;margin:30px 0 12px}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.status-line{font-size:14px;color:var(--muted);margin-top:10px;min-height:20px}
.remove-btn{margin-top:10px;border:0;background:#FCE8E6;color:var(--red);padding:10px 14px;border-radius:999px;font-weight:800;cursor:pointer;font-family:var(--font-body)}
.market-edit{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:12px}

:focus-visible{outline:3px solid var(--blue-deep);outline-offset:2px}

/* ——— Her brand motifs (from her poster + posts) ——— */
.script{font-family:"Caveat",cursive;font-weight:600}
/* Avatar motif: pale yellow + pale blue vertical stripes in a circle */
.stripe-badge{border-radius:50%;background:repeating-linear-gradient(90deg,var(--yellow) 0 9px,var(--blue) 9px 18px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.65),var(--shadow-sm);flex:none}
/* Brand poster hero — flat sky-blue, huge mello, spaced caps, cloud + script */
.poster-wrap{background:var(--blue)}
.poster{max-width:1120px;margin:0 auto;padding:44px 20px 52px;display:grid;grid-template-columns:1fr;gap:34px;align-items:center}
@media(min-width:900px){.poster{grid-template-columns:1.02fr .98fr;padding:58px 20px 66px}}
.poster-mark{font-family:var(--font-display);font-weight:900;letter-spacing:-.02em;line-height:.92;color:var(--burg);font-size:clamp(96px,17vw,168px)}
.poster-caps{margin-top:14px;font-weight:800;font-size:clamp(13px,2.3vw,17px);letter-spacing:.52em;color:var(--burg)}
.poster-flavors{font-family:var(--font-display);font-weight:600;font-size:clamp(20px,3.4vw,27px);color:var(--burg-soft);margin-top:10px}
.cloud{position:relative;display:inline-block;background:#fff;border-radius:999px;padding:16px 40px 20px;margin-top:30px;box-shadow:var(--shadow-sm)}
.cloud::before,.cloud::after{content:"";position:absolute;background:#fff;border-radius:50%;z-index:0}
.cloud::before{width:66px;height:66px;top:-30px;left:38px}
.cloud::after{width:46px;height:46px;top:-20px;right:42px}
.cloud .script{position:relative;z-index:1;font-size:38px;line-height:1;color:var(--burg)}
.poster-sub{font-size:18px;color:var(--burg-soft);max-width:500px;margin-top:24px}
.poster .pickup-note{box-shadow:none}
.poster-photo{background:#fff;border-radius:26px;padding:16px;box-shadow:var(--shadow);position:relative}
.poster-photo img.main{border-radius:18px;width:100%;aspect-ratio:4/3.6;object-fit:cover}
.script-chip{position:absolute;top:26px;left:26px;background:rgba(255,255,255,.92);border-radius:999px;padding:2px 16px 6px;box-shadow:var(--shadow-sm)}
.script-chip .script{font-size:26px;color:var(--burg)}
.poster-photo figcaption{font-size:14.5px;color:var(--burg-soft);margin-top:12px}
/* Post-1 style section break: dark chocolate panel, cream rounded serif */
.dark-banner{background:var(--burg);border-radius:26px;padding:38px 30px;text-align:center;box-shadow:var(--shadow)}
.dark-banner .big{font-family:var(--font-display);font-weight:700;color:#FFF6E8;font-size:clamp(30px,6vw,46px);line-height:1.15}
.dark-banner .caps{margin-top:14px;font-size:13px;font-weight:800;letter-spacing:.5em;color:var(--blue)}
.page-banner{border-radius:0 0 26px 26px;margin:0 -20px;padding-left:20px;padding-right:20px}
