/* Hallmark · shape: shop · genre: editorial · theme: user-directed warm home kitchen · scope: content · v2.0.0
 * critique: lead with the weekly menu and make the shipping hierarchy switch explicit.
 * User direction takes precedence over catalog styles. Menus and product media come from published CMS content.
 */
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/be-vietnam-pro-400-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/be-vietnam-pro-400-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/be-vietnam-pro-500-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/be-vietnam-pro-600-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Be Vietnam Pro';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/be-vietnam-pro-700-normal.ttf) format('truetype');
}

@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-400-italic.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/lora-400-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/lora-500-normal.ttf) format('truetype');
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/lora-600-normal.ttf) format('truetype');
}

:root{--paper:#f8f2e8;--paper-deep:#eee4d5;--surface:#fffdf8;--ink:#39291f;--muted:#6f5b4c;--accent:#91472f;--accent-hover:#733722;--on-accent:#fffaf2;--line:#d7c8b5;--soft-line:#e9dfd2;--green:#40533b;--error:#a52b27;--error-paper:#fff0eb;--veil:rgba(36,25,16,.48);--transparent:transparent;--body-font:"Be Vietnam Pro",sans-serif;--display-font:"Lora",serif;--radius:16px;--container:1160px;--shadow:0 12px 44px rgba(57,41,31,.12);--focus:#375b84}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-font);font-size:16px;line-height:1.6;overflow-x:clip}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:var(--transparent)}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--display-font);font-weight:400;overflow-wrap:break-word;min-width:0;text-wrap:balance}h2{font-size:clamp(28px,3.7vw,44px);line-height:1.15}h3{font-size:24px;line-height:1.3}img{max-width:100%;display:block}button{color:inherit}[hidden]{display:none!important}.wrap{width:min(calc(100% - 64px),var(--container));margin-inline:auto}.preview-note{padding:8px 20px;background:var(--ink);color:var(--on-accent);font-size:12px;text-align:center;line-height:1.5}.site-header{display:flex;justify-content:space-between;align-items:center;padding-block:24px;border-bottom:1px solid var(--line);gap:20px}.wordmark{font-family:var(--display-font);font-size:28px;font-weight:400;line-height:1.1}.wordmark span{display:block;font-family:var(--body-font);font-size:11px;line-height:1.5;margin-top:8px;color:var(--muted)}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav>a{padding-block:12px}.bag-button{display:flex;gap:12px;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);background:var(--transparent);border-radius:100px;padding:8px 16px;font-size:14px}.bag-count{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:12px;font-variant-numeric:tabular-nums}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:56px 68px}.handwritten{font-family:var(--display-font);font-style:italic;color:var(--accent);font-size:18px}.hero h1{font-size:clamp(48px,6vw,78px);line-height:1.07;margin:16px 0 24px}.intro{color:var(--muted);line-height:1.75;font-size:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:50px;padding:12px 24px;border-radius:8px;border:1px solid var(--transparent);font-size:14px;font-weight:500;text-align:center;text-decoration:none}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent-hover)}.secondary{border-color:var(--line);background:var(--surface)}.secondary:hover{background:var(--paper-deep)}.hero .button{margin-top:28px}.hero-facts{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:12px}.hero-facts>span{padding-left:12px;border-left:2px solid var(--line)}.hero-photo{position:relative;background:var(--paper-deep);border-radius:180px 180px 12px 12px;overflow:clip}.hero-photo img{width:100%;height:440px;object-fit:cover}.hero-photo figcaption{padding:16px;text-align:center;font-family:var(--display-font);font-style:italic;font-size:15px;background:var(--paper-deep)}.batch-band{background:var(--paper-deep);border-block:1px solid var(--line)}.batch-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:24px}.batch-label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}.batch-inner strong{font-family:var(--display-font);font-size:22px;font-weight:400}.batch-details{display:flex;gap:36px}.batch-details dt{font-size:12px;color:var(--muted)}.batch-details dd{font-size:14px;font-weight:500;margin-top:4px}.menu-section{padding-block:68px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:28px}.section-heading .handwritten{margin-bottom:12px}.section-heading>p{color:var(--muted);font-size:13px}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product{min-width:0}.product-photo{position:relative;overflow:clip;border-radius:var(--radius);background:var(--paper-deep)}.product-photo img{width:100%;height:255px;object-fit:cover}.product:first-child .product-photo img{object-position:50% 48%}.availability{position:absolute;bottom:14px;left:14px;padding:4px 12px;border-radius:4px;background:var(--surface);color:var(--green);font-size:11px;font-weight:500}.product-body{padding:20px 0 0}.product-body h3{font-size:23px}.product-body>p{color:var(--muted);font-size:13px;margin-top:8px;min-height:43px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.product-bottom>strong{font-size:18px;font-weight:500}.product-bottom small{font-size:12px;font-weight:400;color:var(--muted)}.add-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;min-width:100px;border-radius:6px;padding:8px 16px;border:1px solid var(--line);background:var(--transparent);font-size:13px}.add-button:hover{background:var(--paper-deep)}.add-button span{font-size:20px;line-height:1}.note-line{height:1px;width:50px;background:var(--line);margin-top:24px}.text-button{border:0;border-bottom:1px solid var(--accent);border-radius:0;padding:8px 0;background:var(--transparent);color:var(--accent);font-size:13px;min-height:44px;margin-top:20px}.how-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;padding-block:56px 64px;border-top:1px solid var(--line)}.how-section h2{margin-top:12px;font-size:36px}.how-list{list-style:none;margin:0;padding:0;counter-reset:steps}.how-list li{position:relative;padding:0 0 24px 44px;counter-increment:steps}.how-list li:before{content:counter(steps);position:absolute;left:0;top:0;color:var(--accent);font-family:var(--display-font);font-size:24px}.how-list li+li{border-top:1px solid var(--soft-line);padding-top:20px}.how-list li+li:before{top:20px}.how-list strong{font-size:15px;font-weight:500}.how-list p{font-size:13px;color:var(--muted);margin-top:4px}.faq-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;border-top:1px solid var(--line);padding-block:56px 76px}.faq-section h2{font-size:34px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:16px 24px 16px 0;font-size:14px;list-style:none;position:relative}.faq-list summary:after{content:'+';position:absolute;right:0;top:14px;font-size:18px}.faq-list details[open] summary:after{content:'−'}.faq-list details p{padding:0 0 20px;font-size:13px;color:var(--muted)}.site-footer{background:var(--paper-deep);border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-block:36px}.footer-main>p{font-family:var(--display-font);font-size:17px;color:var(--muted)}.footer-main>a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.footer-fine{border-top:1px solid var(--line);padding-block:20px}.footer-fine p{font-size:11px;line-height:1.6;color:var(--muted)}.footer-fine p+p{margin-top:8px}.footer-fine a{text-decoration:underline;text-underline-offset:2px}.cart-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);padding:12px 24px;border-radius:8px;background:var(--ink);color:var(--on-accent);font-size:13px;z-index:20;box-shadow:var(--shadow);width:max-content;max-width:calc(100% - 32px);text-align:center}
dialog{width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 32px);padding:28px;border:0;border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--shadow);overscroll-behavior:contain}dialog::backdrop{background:var(--veil)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--soft-line)}.dialog-heading .handwritten{font-size:16px}.dialog-heading h2{font-size:30px;margin-top:8px}.close-button{border:1px solid var(--line);background:var(--transparent);border-radius:50%;width:44px;height:44px;flex-shrink:0;font-size:26px;line-height:1}#cart-empty{padding-block:36px}#cart-empty .button{margin-top:20px}.checkout-note{margin-top:20px;padding:12px 16px;border-radius:8px;background:var(--paper);font-size:12px;color:var(--muted)}.cart-items{margin-top:12px}.cart-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:16px;border-bottom:1px solid var(--soft-line)}.cart-item h3{font-family:var(--body-font);font-size:14px;font-weight:500}.cart-item p{font-size:12px;color:var(--muted);margin-top:4px}.quantity{display:flex;align-items:center;gap:4px}.quantity button{width:44px;height:44px;border:1px solid var(--line);background:var(--transparent);border-radius:6px;font-size:20px}.quantity output{min-width:28px;text-align:center;font-size:14px;font-variant-numeric:tabular-nums}.delivery-date{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:16px;color:var(--green);font-size:12px}.delivery-date strong{font-weight:500}.checkout-section{border-top:1px solid var(--soft-line);padding-top:24px;margin-top:8px}.checkout-section h3{font-size:23px;margin-bottom:20px}label{display:block;font-size:13px;font-weight:500}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-width:0;background:var(--surface);color:var(--ink);font-family:var(--body-font);border:1px solid var(--line);border-radius:7px;min-height:48px;padding:12px 12px;font-size:16px;margin-top:8px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.9}textarea{resize:vertical}.field-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.checkout-section>label:not(.checkbox-row){margin-top:16px}.city-line{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;margin-top:20px}.city-line>span{color:var(--muted)}.city-line strong{font-weight:500}.checkbox-row{display:flex;align-items:center;gap:12px;padding:16px 0;min-height:48px;cursor:pointer}.checkbox-row input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent)}.optional{font-size:12px;font-weight:400;color:var(--muted)}.payment-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.payment-option{display:flex;align-items:flex-start;gap:8px;padding:16px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.payment-option:has(input:checked){border-color:var(--accent);background:var(--paper)}.payment-option input{width:18px;height:18px;margin-top:4px;flex-shrink:0;accent-color:var(--accent)}.payment-option strong{display:block;font-weight:500;font-size:13px}.payment-option small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.payment-info{font-size:12px;color:var(--muted);margin-top:12px}.coupon-section{border-top:1px solid var(--soft-line);margin-top:24px;padding-top:16px}.coupon-section>summary{font-size:13px;cursor:pointer;min-height:44px;display:flex;align-items:center}.coupon-row{display:flex;align-items:center;gap:12px}.coupon-row input{margin-top:0!important}.coupon-row .button{padding-inline:16px;min-height:48px;white-space:nowrap}.coupon-section p{font-size:12px;color:var(--muted);margin-top:8px}.totals{border-top:1px solid var(--soft-line);margin-top:12px;padding-top:20px}.totals>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;margin-bottom:12px;font-variant-numeric:tabular-nums}.totals>.grand-total{border-top:1px solid var(--soft-line);padding-top:16px;margin-top:16px;font-size:20px}.grand-total strong{font-weight:500}.submit-order{width:100%;margin-top:8px}.checkout-footnote{margin-top:16px;text-align:center;font-size:11px;color:var(--muted)}.form-errors{background:var(--error-paper);color:var(--error);padding:12px;font-size:13px;margin-bottom:16px;border-radius:6px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error)}#order-preview{padding-block:24px}#order-preview h3{font-size:28px;margin-top:12px}.confirmation-text{font-size:13px;color:var(--muted);margin-top:16px}.confirmation-details{margin-block:24px}.confirmation-details>div{padding-block:12px;border-bottom:1px solid var(--soft-line)}.confirmation-details dt{font-size:12px;color:var(--muted)}.confirmation-details dd{font-size:14px;margin-top:4px;overflow-wrap:anywhere}#order-preview .button{margin-top:24px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:clip;white-space:nowrap;clip-path:inset(50%);border:0}.noscript-note{padding:20px;text-align:center;background:var(--paper-deep);color:var(--ink)}
@media(max-width:960px){.hero{gap:36px}.hero-photo img{height:375px}.batch-inner{align-items:flex-start}.batch-details{gap:20px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.how-section,.faq-section{gap:36px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.preview-note{font-size:11px;padding:8px 20px}.site-header{padding-block:20px;gap:12px}.wordmark{font-size:23px}.wordmark span{font-size:11px;margin-top:4px}nav{gap:12px}nav>a{display:none}.bag-button{font-size:12px;padding:8px 12px;gap:8px}.hero{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:32px 32px}.hero-copy{padding-inline:4px}.hero .handwritten{font-size:17px}.hero h1{font-size:55px;margin:12px 0 16px}.intro{font-size:14px}.hero .button{margin-top:20px;min-height:48px}.hero-facts{margin-top:20px;gap:20px;font-size:11px}.hero-photo{border-radius:110px 110px 10px 10px}.hero-photo img{height:240px;object-position:50% 48%}.hero-photo figcaption{font-size:13px;padding:12px}.batch-inner{display:block;padding-block:20px}.batch-inner strong{font-size:20px}.batch-details{justify-content:space-between;gap:12px;margin-top:16px}.batch-details dt{font-size:11px}.batch-details dd{font-size:12px}.menu-section{padding-block:40px}.section-heading{display:block;margin-bottom:24px}.section-heading .handwritten{font-size:16px;margin-bottom:8px}.section-heading h2{font-size:32px}.section-heading>p{margin-top:12px;font-size:12px}.section-heading>p br{display:none}.product-grid{grid-template-columns:minmax(0,1fr);gap:32px}.product-photo img{height:260px}.product-body{padding-top:16px}.product-body h3{font-size:25px}.product-body>p{font-size:13px;min-height:0;max-width:32ch}.product-bottom{margin-top:16px}.product-bottom>strong{font-size:19px}.add-button{min-width:112px}.how-section{grid-template-columns:minmax(0,1fr);gap:28px;padding-block:36px}.how-section h2{font-size:32px}.how-list li:last-child{padding-bottom:0}.faq-section{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:36px 44px}.faq-section h2{font-size:29px}.faq-list summary{font-size:13px}.footer-main{flex-wrap:wrap;gap:24px;padding-block:28px}.footer-main>p{font-size:15px}.footer-main>a{font-size:12px}.footer-fine p{font-size:11px}.footer-fine{padding-block:16px}dialog{padding:20px 16px;border-radius:15px;max-height:calc(100dvh - 20px);width:calc(100% - 20px)}.dialog-heading h2{font-size:26px}.dialog-heading .handwritten{font-size:14px}.dialog-heading{padding-bottom:20px}.field-pair{grid-template-columns:minmax(0,1fr);gap:16px}.checkout-section h3{font-size:23px}.payment-option{padding:12px 12px}.payment-option strong{font-size:12px}.delivery-date{font-size:11px}.totals>.grand-total{font-size:19px}.cart-item h3{font-size:13px}.quantity{gap:0}.quantity output{min-width:22px}.quantity button{width:42px;height:44px}.cart-item{gap:8px}.cart-toast{font-size:12px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.button:active,.add-button:active,.bag-button:active,.quantity button:active{transform:translateY(1px)}

/* Menu quantities reuse the existing form tokens. */
.product-bottom{flex-wrap:wrap}
.product-bottom>strong{flex-basis:100%}
.product-order{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;width:100%}
.product-order label{font-size:13px;font-weight:400;color:var(--muted)}
.product-order select{margin-top:4px;min-height:48px}
.product-order .add-button{min-height:48px;gap:12px;font-size:13px}
.product-bottom>.product-cart-note{width:100%;margin:0;min-height:20px;font-size:12px;color:var(--muted)}

.availability{font-size:13px;font-variant-numeric:tabular-nums}

/* Basket action and expandable photo attribution. */
.cart-icon-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:76px;min-height:48px;padding:8px 12px;border:1px solid var(--line);border-radius:100px;background:var(--surface);color:var(--ink);flex-shrink:0}
.cart-icon-button:hover{background:var(--paper-deep);border-color:var(--accent)}
.cart-icon-button:active{transform:translateY(1px)}
.basket-icon{display:block;flex-shrink:0}





.photo-credits{color:var(--muted);font-size:12px}
.photo-credits summary{display:flex;align-items:center;gap:8px;min-height:44px;width:fit-content;cursor:pointer;list-style:none}
.photo-credits summary::-webkit-details-marker{display:none}
.photo-credits summary::after{content:'+';font-size:16px}
.photo-credits[open] summary::after{content:'−'}
.photo-credits p{padding-bottom:12px;max-width:72ch}
.footer-fine{padding-block:4px}

@media(max-width:640px){.cart-icon-button{min-height:48px;padding:8px 12px}.footer-fine{padding-block:4px}}

/* Past batches: calendar navigation and image-led menus. */
.past-section{padding-block:56px 64px;border-top:1px solid var(--line)}
.past-intro{margin-top:12px;font-size:14px;color:var(--muted)}
.sample-tag,.batch-status{display:inline-flex;align-items:center;white-space:nowrap;padding:4px 12px;border:1px solid var(--line);border-radius:100px;font-size:12px;color:var(--muted)}
.history-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:32px;align-items:start}
.batch-calendar{background:var(--paper-deep);border-radius:var(--radius);padding:16px}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.calendar-week-title{display:flex;align-items:center;gap:8px;color:var(--accent)}
.calendar-week-title h3{font-family:var(--body-font);font-weight:500;font-size:13px;color:var(--ink)}
.calendar-week-title>svg{flex-shrink:0}
.calendar-navigation{display:flex;gap:4px}
.calendar-nav{display:grid;place-items:center;width:32px;height:44px;border:0;border-radius:8px;background:var(--transparent);color:var(--ink)}
#calendar-next svg{transform:rotate(180deg)}
.calendar-nav:hover:not(:disabled){background:var(--surface)}
.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}

.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:72px;min-width:0;border:1px solid var(--transparent);border-radius:8px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--muted);background:var(--transparent)}
.calendar-day.has-batch{background:var(--surface);border-color:var(--line);color:var(--accent)}
.calendar-day.has-batch:hover{border-color:var(--accent)}
.calendar-day[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.calendar-day svg{width:16px;height:16px}


.batch-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin-bottom:16px}
.batch-detail-heading h3{font-size:24px}
.archive-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.archive-card{min-width:0}
.archive-card>img{width:100%;height:144px;object-fit:cover;border-radius:12px}
.archive-card-body{padding-top:16px}
.archive-card h3{font-family:var(--body-font);font-size:15px;font-weight:500;line-height:1.5}
.archive-card-body>p{font-size:14px;margin-top:4px}
.archive-card-body>p>span{font-size:12px;color:var(--muted)}
.request-bread{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;width:100%;margin-top:16px;padding:12px 8px;border:1px solid var(--line);border-radius:100px;color:var(--accent);background:var(--transparent);font-size:12px}
.request-bread svg{flex-shrink:0}
.request-bread:hover{background:var(--paper-deep);border-color:var(--accent)}
.request-bread:active{transform:translateY(1px)}
.request-bread[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.request-bread[aria-pressed=true] svg{fill:currentColor}
@media(min-width:961px){.product-photo img{height:320px}}
@media(max-width:640px){.past-section{padding-block:36px 44px}.past-section .section-heading{display:flex;align-items:flex-start;gap:16px}.past-section h2{font-size:30px}.past-intro{font-size:13px}.sample-tag{padding:4px 8px}.history-layout{grid-template-columns:minmax(0,1fr);gap:28px}.batch-calendar{padding:16px}.calendar-week-title>svg{display:block}.calendar-week-title h3{font-size:13px}.calendar-nav{width:32px}.batch-status{font-size:11px;padding:4px 8px}.archive-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.archive-card>img{height:140px}.archive-card h3{font-size:13px}.request-bread{font-size:12px;padding:8px;gap:4px;border-radius:8px}.request-bread span{max-width:14ch;line-height:1.4}.request-bread svg{width:16px;height:16px}.archive-card-body{padding-top:12px}}
@media(max-width:360px){.batch-calendar{padding:16px}.calendar-week-title h3{font-size:13px}.calendar-week-title>svg{width:20px}.calendar-week-title{gap:4px}.calendar-nav{width:32px}.calendar-toolbar{gap:4px}.archive-card>img{height:112px}.request-bread{flex-direction:column;gap:4px;min-height:64px}.batch-detail-heading h3{font-size:20px}}

.week-day-name{font-size:11px;line-height:1.2}
.history-empty{color:var(--muted);padding-block:16px;font-size:14px}
.past-section>.section-heading{margin-bottom:20px}
.past-section h2{font-size:34px}
.calendar-week-title>svg{width:20px;height:20px}
@media(min-width:641px) and (max-width:800px){.history-layout{grid-template-columns:minmax(0,1fr);gap:24px}.batch-calendar{max-width:420px;width:100%}.archive-card>img{height:144px}}
@media(max-width:640px){.past-section h2{font-size:28px}.history-layout{gap:20px}.batch-detail-heading{min-height:32px;margin-bottom:12px}.batch-detail-heading h3{font-size:22px}.archive-card>img{height:120px}.request-bread{margin-top:12px}}

/* Content can change through CMS; the existing layout stays fixed. */
.wordmark .brand-name{display:block;font:inherit;line-height:inherit;margin:0;color:inherit}
.wordmark .brand-logo{display:block;max-width:160px;width:auto;height:48px;object-fit:contain;object-position:left center}
[data-cms-text]{white-space:pre-line}
.config-status{font-size:13px;color:var(--accent);padding-block:12px}
.batch-details dd{font-variant-numeric:tabular-nums}
@media(min-width:961px){.batch-inner{flex-wrap:wrap}.batch-details{flex-wrap:wrap;gap:24px}}

/* CMS content uses the approved card layout and existing tokens. */
.content-empty{color:var(--muted);font-size:14px;padding-block:16px}
.product-description{white-space:pre-line;overflow-wrap:anywhere}
.product-video{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:14px;text-decoration:underline;text-underline-offset:4px}
.product-photo{background:var(--paper-deep);min-height:120px}
.archive-cards+.archive-cards{margin-top:24px}
.history-batch-label{font-size:14px;color:var(--muted);margin-block:20px 12px}
:root{--overlay:rgb(30 36 25 / .42)}
/* Commerce app screens inherit the approved kitchen palette and typography. */
.member-icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--ink);border-radius:var(--radius)}
#member-dialog,#order-dialog{width:min(640px,calc(100% - 24px));max-height:90dvh;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);overflow-y:auto;overscroll-behavior:contain}
#member-dialog::backdrop,#order-dialog::backdrop{background:var(--overlay)}
#member-body,#order-body{display:grid;gap:24px;min-width:0}#member-body section{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:20px}#member-body form,#order-body form{display:grid;gap:16px}#member-body label,#order-body label{display:grid;gap:8px;font-size:14px}#member-body input,#order-body input{min-width:0;width:100%;font:inherit;font-size:16px;min-height:46px;padding:12px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px}#member-body .button,#order-body .button{white-space:normal;overflow-wrap:anywhere;min-height:44px}#member-body h3{font-size:24px}#member-body p,#order-body p{overflow-wrap:anywhere}#member-body details{border-top:1px solid var(--line);padding-top:16px}#member-body summary{cursor:pointer;min-height:44px}#member-body .member-tabs{display:flex;flex-wrap:wrap;gap:8px}.member-tabs [aria-pressed=true]{background:var(--paper-deep);border-color:var(--green)}.member-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:12px 0;border-bottom:1px solid var(--soft-line)}.member-row>span{color:var(--muted);font-size:14px}.member-row>strong,.order-number{overflow-wrap:anywhere;font-size:14px}.points-summary{display:flex;align-items:baseline;gap:12px}.points-summary strong{font-size:48px;font-family:var(--display-font);font-weight:500}.points-summary span{color:var(--muted)}.order-totals{display:grid;gap:12px}.order-totals>div{display:flex;justify-content:space-between;gap:16px}.order-totals>div:last-child{border-top:1px solid var(--line);padding-top:12px;font-size:20px}.order-totals dd{margin:0}.status-badge{justify-self:start;padding:8px 12px;border:1px solid var(--green);color:var(--green);border-radius:6px}#member-feedback,#order-feedback{padding:12px 0;overflow-wrap:anywhere}.is-error{color:var(--accent)}.button:disabled,button:disabled{opacity:.55;cursor:not-allowed}button[aria-busy=true],form[aria-busy=true]{cursor:progress}#checkout-member-note .text-button{margin-top:0}#checkout-form input,#checkout-form select,#checkout-form textarea{font-size:16px}#checkout-form .form-errors:focus{outline:2px solid var(--accent);outline-offset:4px}#member-dialog :focus-visible,#order-dialog :focus-visible{outline:2px solid var(--green);outline-offset:3px}#member-body input[aria-invalid=true],#checkout-form [aria-invalid=true]{border-color:var(--accent)}
@media(max-width:480px){#member-dialog,#order-dialog{padding:20px 16px}.site-header nav{gap:8px}.member-row{align-items:flex-start}.member-row .button{width:100%}}

/* Account and checkout: quiet typography, real order dates and direct actions. */
#member-dialog{width:min(560px,calc(100% - 24px));padding:28px;max-height:calc(100dvh - 32px);border-radius:6px;scrollbar-gutter:stable;box-shadow:none}
#member-dialog .dialog-heading{align-items:center;gap:16px;padding-bottom:12px;border:0}
#member-dialog .dialog-heading h2{font-size:32px;line-height:1.25;text-wrap:initial}
#member-dialog .close-button{flex-shrink:0;border:0;background:var(--transparent);border-radius:0;width:44px;height:44px}
#member-dialog .close-button:hover{color:var(--accent)}
#member-body{gap:24px}
.member-identity{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 16px;min-width:0;padding-bottom:4px}
.member-identity p{font-size:13px;color:var(--muted);min-width:0}
.member-balance{border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--transparent);padding:8px 0;min-height:44px;font-size:13px;color:var(--accent)}
.member-balance:hover{border-color:var(--accent)}
.member-navigation{display:flex;align-items:stretch;gap:24px;border-bottom:1px solid var(--line)}
.member-tab{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 0;border:0;border-bottom:2px solid var(--transparent);border-radius:0;background:var(--transparent);font-size:14px;color:var(--muted);white-space:nowrap}
.member-tab[aria-selected=true]{border-bottom-color:var(--accent);color:var(--ink)}
.member-tab:hover{color:var(--accent)}
.member-count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.member-panel{display:grid;gap:24px;min-width:0}
.member-empty{display:grid;justify-items:start;gap:12px;padding:24px 0 16px;text-align:left}
#member-body .member-empty h3{font-family:var(--display-font);font-size:26px;max-width:20ch;line-height:1.3}
.member-empty p{font-size:14px;color:var(--muted);max-width:32ch}
#member-body .member-empty .button{padding:8px 0;min-height:44px;background:var(--transparent);color:var(--accent);border:0;border-bottom:1px solid var(--accent);border-radius:0;margin-top:4px}
.member-order{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 20px;padding:0 0 24px;border-bottom:1px solid var(--line);min-width:0}
.member-date{grid-column:1;grid-row:1/4;display:grid;align-content:start;gap:4px;padding-top:4px;color:var(--accent);font-variant-numeric:tabular-nums}
.member-date strong{font-family:var(--display-font);font-size:34px;line-height:1;font-weight:400}
.member-date span{font-size:12px;color:var(--muted)}
.member-order-top,.member-order-main,.member-order-footer{grid-column:2;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;min-width:0}
.member-order-top>strong{font-size:12px;font-weight:400;overflow-wrap:anywhere;min-width:0;color:var(--muted)}
.member-status{font-size:12px;color:var(--green)}
.member-meta{font-size:13px;color:var(--muted)}
.member-order-main>strong{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}
.member-order-footer{font-size:12px;color:var(--muted)}
#member-body .member-order-footer .button{min-height:44px;padding:8px 0;background:var(--transparent);border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:13px;color:var(--accent)}
.member-rewards{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.member-rewards p{font-size:15px}
.member-rewards span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
#member-body .member-rewards .button{padding:8px 16px;min-height:44px;font-size:13px;border-radius:4px}
.member-voucher{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:4px 0 24px;border-bottom:1px solid var(--line)}
.member-voucher-value{display:grid;gap:4px;color:var(--accent);min-width:0}
.member-voucher-value span{font-size:13px;color:var(--muted)}
.member-voucher-value strong{font-family:var(--display-font);font-size:28px;font-weight:400;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.member-voucher-detail{display:grid;justify-items:end;gap:4px;min-width:0;text-align:right}
.member-voucher-detail>strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.member-voucher-detail>span{font-size:12px;color:var(--muted)}
#member-body .member-voucher-detail .button{padding:8px 0;min-height:44px;border:0;border-bottom:1px solid var(--accent);border-radius:0;background:var(--transparent);color:var(--accent);font-size:13px}
.member-address{display:grid;gap:12px;padding:4px 0 12px}
#member-body .member-address h3{font-family:var(--display-font);font-size:24px}
.member-address p{font-size:14px;color:var(--muted)}
.member-address>.button{justify-self:start;border-radius:4px;padding:8px 16px}
#member-body .member-disclosure{padding-top:12px;border-color:var(--line)}
.member-disclosure summary{display:flex;align-items:center;gap:12px;list-style:none;font-size:14px}
.member-disclosure summary::-webkit-details-marker{display:none}
.member-disclosure summary::after{content:'+';margin-left:auto;font-size:20px;color:var(--muted)}
.member-disclosure[open] summary::after{content:'−'}
.member-disclosure form,.member-disclosure>p{margin-top:12px}
.member-disclosure>p{font-size:13px;color:var(--muted)}
.member-ledger-row{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--soft-line);align-items:center}
.member-ledger-row>strong{font-size:18px;color:var(--green);font-variant-numeric:tabular-nums}
.member-ledger-row p{font-size:13px}
.member-ledger-row span{font-size:12px;color:var(--muted)}
#member-body .member-logout{justify-self:start;padding:8px 0;min-height:44px;border:0;border-radius:0;background:var(--transparent);color:var(--muted);font-size:13px}
#member-body .member-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line)}
#member-body .member-tabs .button{padding:8px 0;min-height:44px;font-size:14px;border:0;border-bottom:2px solid var(--transparent);border-radius:0;background:var(--transparent)}
#member-body .member-tabs [aria-pressed=true]{border-bottom-color:var(--accent);color:var(--ink)}
.member-google{gap:12px;min-height:48px;border-color:var(--line);border-radius:4px}
.member-auth-divider{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--muted)}
.member-auth-divider::before,.member-auth-divider::after{content:'';height:1px;flex:1;background:var(--soft-line)}
#member-feedback:not([hidden]){margin-bottom:16px;padding:12px 0;font-size:13px;border-bottom:1px solid var(--line)}
.member-back,.account-link{min-height:44px;padding:8px 0;border:0;border-radius:0;background:var(--transparent);color:var(--accent);font-size:13px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.member-back:hover,.account-link:hover{text-decoration-color:var(--accent)}
.member-back{margin-bottom:12px}
.checkout-account{display:grid;gap:12px;padding:24px 0}
.checkout-account+.checkout-section{margin-top:0}
.checkout-account-title{font-family:var(--display-font);font-size:20px}
.checkout-account-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;align-items:center}
.checkout-account-options .member-google{grid-column:1/-1}
.checkout-account-options .account-link{justify-self:start}
.checkout-signed-in{display:grid;gap:4px;min-width:0}
.checkout-signed-in>span{font-size:12px;color:var(--muted)}
.checkout-signed-in>strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.checkout-account>.account-link{justify-self:start}
@media(min-width:641px){.checkout-account-options{display:flex;flex-wrap:wrap;gap:12px 24px}.checkout-account-options .member-google{padding-inline:20px}.checkout-account:has(.checkout-signed-in){grid-template-columns:minmax(0,1fr) auto;align-items:center}}
@media(max-width:480px){#member-dialog{padding:24px 20px}.member-navigation{gap:20px}.member-tab{font-size:13px}.member-identity{gap:0 16px}.member-order{gap:8px 16px}.member-voucher{gap:16px}.member-voucher-value strong{font-size:24px}}
@media(max-width:359px){#member-dialog{padding:20px 16px}.member-navigation{gap:16px}.member-tab{font-size:12px;gap:4px}.member-order{grid-template-columns:44px minmax(0,1fr);gap:8px 12px}.member-voucher-value strong{font-size:22px}}

/* Aligned product purchase controls and a bounded, dismissible quantity picker. */
.product{display:flex;flex-direction:column}.product-photo{flex-shrink:0}.product-body{display:flex;flex-direction:column;flex:1}.product-bottom{margin-top:auto;padding-top:20px}.product-order label{min-width:0}
.quantity-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin-top:4px;padding:12px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);text-align:left;font-size:16px}.quantity-caret{font-size:20px;line-height:1}.quantity-trigger:hover{border-color:var(--accent)}
.quantity-picker{width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:20px;overflow-y:auto}.quantity-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.quantity-picker-heading h2{font-size:24px;line-height:1.3}.quantity-product-name{color:var(--muted);font-size:14px;margin-top:4px;margin-bottom:16px}.quantity-options{max-height:min(320px,45dvh);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:8px;scrollbar-gutter:stable}.quantity-option{display:flex;align-items:center;width:100%;min-height:48px;padding:12px 16px;background:var(--surface);color:var(--ink);border:0;text-align:left;font-size:16px}.quantity-option+.quantity-option{border-top:1px solid var(--soft-line)}.quantity-option[aria-selected=true]{background:var(--paper-deep);color:var(--accent);font-weight:600}.quantity-option:hover{background:var(--paper-deep)}.quantity-option:focus-visible{outline-offset:-4px}body.quantity-open{overflow-y:hidden}

/* Cart reminders use the existing kitchen palette and respect device motion settings. */
@keyframes cart-reminder { 0%, 12%, 28%, 100% { transform:scale(1); } 20% { transform:scale(1.12); } }
.cart-icon-button.has-items .basket-icon{animation:cart-reminder 5s ease-in-out infinite;transform-origin:center}
.cart-icon-button:hover .basket-icon,.cart-icon-button:focus-visible .basket-icon{animation-play-state:paused}
.floating-cart{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));z-index:19;min-height:56px;background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:var(--shadow)}
.floating-cart:hover{background:var(--accent-hover);color:var(--on-accent)}
.floating-cart .bag-count{background:var(--surface);color:var(--accent)}
body:has(.floating-cart:not([hidden])) .site-footer{padding-bottom:92px}
body:has(.floating-cart:not([hidden])) .cart-toast{bottom:calc(92px + env(safe-area-inset-bottom))}
@media(prefers-reduced-motion:reduce){.cart-icon-button.has-items .basket-icon{animation:none}}
.cart-reminder{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:calc(92px + env(safe-area-inset-bottom));z-index:21;width:min(360px,calc(100% - 40px));max-height:calc(100dvh - 120px - env(safe-area-inset-bottom));overflow-y:auto;padding:24px;border:0;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.cart-reminder h2{padding-right:32px;font-size:24px;line-height:1.3;text-wrap:pretty}
.cart-reminder p{margin-top:12px;font-size:14px;color:var(--muted)}
.cart-reminder-close{position:absolute;right:8px;top:8px;border-color:var(--transparent)}
.cart-reminder-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cart-reminder-actions .button{flex:1;gap:8px;padding-inline:12px;white-space:nowrap}

/* Member address book: compact contacts and an inline editor, using kitchen tokens. */
#checkout-address-book{display:grid;gap:8px;margin-bottom:20px;min-width:0}
#checkout-address-book>.account-link{justify-self:start}
#saved-address{width:100%;min-width:0;text-overflow:ellipsis}
.address-entry{padding:16px 0;border-bottom:1px solid var(--soft-line);min-width:0;overflow-wrap:anywhere}
.address-entry-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.address-default{font-size:12px;color:var(--green);white-space:nowrap}
.address-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.address-actions>.button{min-height:44px;padding:8px 12px;border-radius:4px;font-size:13px}
.address-editor{display:grid;gap:16px;padding-block:20px;border-top:1px solid var(--line);min-width:0}
.address-editor h4{margin:0;font-size:16px;font-weight:500}
.address-editor label{display:grid;gap:8px;font-size:13px;min-width:0}
.address-editor input:not([type=checkbox]),.address-editor select{width:100%;min-width:0;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink);font-size:16px}
.address-editor .checkbox-row{display:flex;align-items:center;gap:12px;min-height:44px}
.address-editor [role=alert]{color:var(--error)}
.address-delete{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}
.address-delete>p{flex-basis:100%}
