@font-face{font-family:Nunito;src:url('/pickup-assets/fonts/nunito-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Nunito;src:url('/pickup-assets/fonts/nunito-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Fraunces;src:url('/pickup-assets/fonts/fraunces-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--cream:#fbf5eb;--paper:#fffdf8;--ink:#38251a;--muted:#786a60;--orange:#af562e;--line:#e8ddd0;--green:#416c50;--error:#a32c24}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 Nunito,system-ui,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600}h1{font-size:clamp(40px,5.5vw,74px);line-height:1.08;letter-spacing:-2.5px;margin-bottom:22px}h2{font-size:30px;line-height:1.15;margin-bottom:16px}h3{font-size:23px;line-height:1.2;margin-bottom:9px}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad7034;outline-offset:3px}[hidden]{display:none!important}.site-header,main,footer{max-width:1240px;margin:auto;padding-left:40px;padding-right:40px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand img{display:block;width:116px;height:80px;object-fit:contain}.quiet-link{font-size:14px;text-decoration:none}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:70px;align-items:center;padding:54px 0 58px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:var(--orange);margin-bottom:16px}.intro{font-size:20px;color:var(--muted);line-height:1.6}.hero-drink{width:100%;height:350px;object-fit:cover;border-radius:130px 130px 22px 22px;box-shadow:0 15px 30px #53371810}.offer-pill{display:inline-block;padding:9px 16px;background:#efe5d5;border-radius:30px;font-size:14px;font-weight:700}.small,.field-help{font-size:12px;color:var(--muted)}#pickup-address{margin-top:14px}.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:38px;align-items:start;padding-bottom:60px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:14px 0 25px}.section-heading h2{margin-bottom:0}.section-heading .small{white-space:nowrap}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.product-card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:17px}.product-photo{width:100%;height:210px;object-fit:cover;display:block}.product-info{padding:20px}.product-description{color:var(--muted);font-size:14px;min-height:42px;margin-bottom:20px}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.price{font-weight:700}.old-price{font-size:13px;font-weight:400;text-decoration:line-through;color:var(--muted);margin-right:7px}.quantity{display:flex;align-items:center;gap:10px}.quantity button,.add-button{border:1px solid var(--line);background:var(--cream);color:var(--ink);border-radius:50%;width:34px;height:34px;display:inline-grid;place-items:center}.add-button{width:auto;border-radius:20px;padding:0 15px}.quantity span{min-width:14px;text-align:center;font-weight:700}.checkout-card{position:sticky;top:18px;padding:27px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 8px 30px #3d271609}.checkout-card h2{font-size:29px}.muted{color:var(--muted)}.cart-row,.total-row{display:flex;justify-content:space-between;gap:12px;margin-bottom:11px}.cart-row{font-size:14px}.cart-row strong{display:block}.cart-row .quantity{margin:7px 0 14px}.cart-row .quantity button{width:28px;height:28px}.totals{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;font-size:14px}.total-row.discount{color:var(--green)}.total-row.grand{font-size:20px;font-weight:700;border-top:1px solid var(--line);padding-top:12px;margin-top:13px}.gift-note{padding:12px;background:#edf1e8;color:#3e6147;border-radius:10px;font-size:13px;margin:18px 0}label{display:block;font-size:13px;font-weight:700;margin:18px 0 6px}input,select{width:100%;padding:12px;border:1px solid #d8ccbd;border-radius:9px;background:var(--paper);color:var(--ink);min-height:46px}.field-help{line-height:1.5;margin:8px 0}.primary{border:none;border-radius:10px;background:var(--orange);color:white;font-weight:700;padding:14px 20px;min-height:48px}.full{width:100%;margin-top:18px}.center{text-align:center}.notice{padding:15px 20px;margin:0 0 24px;border:1px solid #dfd1b9;border-radius:12px;background:#f3ead6}.demo{background:#edf1e8;border-color:#c9d5c1;color:#38573e}.error{color:var(--error);background:#fff0eb;border-color:#e5b8ab}.inline-error{padding:12px;border-radius:8px;margin-top:15px;font-size:14px}footer{padding-top:30px;padding-bottom:38px;text-align:center;border-top:1px solid var(--line)}footer img{width:90px;height:65px;object-fit:contain}footer p{font-size:14px;margin:5px 0;color:var(--muted)}.order-view{max-width:760px;padding-top:60px;padding-bottom:80px}.order-view h1{font-size:48px}.order-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;margin:28px 0}.status-badge{display:inline-block;background:#edf1e8;color:var(--green);padding:8px 14px;border-radius:30px;font-weight:700;margin-bottom:18px}.order-number{font-size:35px}.order-lines{border-top:1px solid var(--line);margin:25px 0;padding-top:20px}.text-link{font-weight:700}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0}.admin-header h1{font-size:38px;letter-spacing:-1px;margin:0}.admin-layout{display:grid;grid-template-columns:1fr 340px;gap:28px;padding-bottom:50px}.admin-card{padding:24px;border:1px solid var(--line);border-radius:15px;background:var(--paper);margin-bottom:18px}.admin-card h2{font-size:25px}.admin-orders{display:grid;gap:15px}.admin-order{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:22px}.order-top{display:flex;justify-content:space-between;gap:15px}.order-top h3{margin:0}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.secondary{border:1px solid var(--line);border-radius:9px;padding:9px 13px;background:var(--cream);color:var(--ink);font-weight:700;min-height:44px}.danger{color:var(--error)}.admin-product{padding:14px 0;border-top:1px solid var(--line)}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checkbox-label{display:flex;gap:10px;align-items:center}.checkbox-label input{width:20px;min-height:20px}.admin-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.login-panel{max-width:480px;margin:70px auto}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.sold-out{filter:grayscale(.5);opacity:.75}.state-warning{color:var(--error);font-weight:700}
@media(max-width:1000px){.site-header,main,footer{padding-left:24px;padding-right:24px}.hero{gap:35px}.shop-layout{grid-template-columns:1fr 320px;gap:24px}.product-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:135px 1fr}.product-photo{height:100%;min-height:210px}.product-info{padding:18px}.admin-layout{grid-template-columns:1fr 300px}}@media(max-width:720px){.site-header{height:86px}.brand img{width:100px;height:65px}.site-header,main,footer{padding-left:20px;padding-right:20px}.hero{padding:32px 0;grid-template-columns:1fr .65fr;gap:15px}.hero h1{font-size:38px;letter-spacing:-1.5px}.hero .eyebrow{font-size:9px;letter-spacing:1.3px}.intro{font-size:15px}.hero-drink{height:230px;border-radius:80px 80px 14px 14px}.offer-pill{font-size:12px;padding:8px 12px}.shop-layout{grid-template-columns:1fr;gap:32px}.section-heading .small{display:none}.section-heading h2{font-size:28px}.checkout-card{position:static}.product-grid{gap:15px}.product-photo{min-height:190px}.product-description{min-height:0;margin-bottom:14px}.product-info h3{font-size:21px}.product-bottom{flex-wrap:wrap}.admin-layout{grid-template-columns:1fr}.admin-header{align-items:start}.admin-header h1{font-size:30px}.admin-card{padding:20px}.order-view{padding-top:40px}.order-card{padding:24px}}@media(max-width:380px){.hero{grid-template-columns:1fr}.hero-drink{display:none}.product-card{grid-template-columns:105px 1fr}.product-info{padding:14px}.product-info h3{font-size:19px}}
@media(max-width:600px){.hero{grid-template-columns:1fr;gap:24px;padding-top:30px}.hero h1{font-size:44px;line-height:1.09;letter-spacing:-1.6px}.hero .intro{font-size:17px}.hero-drink{display:block;height:220px;border-radius:100px 100px 18px 18px;object-position:center 52%}.hero .eyebrow{font-size:10px}.offer-pill{font-size:13px}}

/* Product photos stay square at every viewport; closed menus use the full page. */
.product-card{display:block}.product-photo{width:100%;height:auto;min-height:0;aspect-ratio:1/1;object-fit:cover}
.shop-layout.browse-only{grid-template-columns:minmax(0,1fr)}
.browse-only .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.product-option{margin:12px 0;font-size:12px}.product-option select{margin-top:5px;font-size:13px;padding:10px 8px}
.option-group{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:14px 0}
.option-group legend{font-weight:700;padding:0 5px}.option-group .checkbox-label{margin:8px 0;font-weight:400}
@media(max-width:1000px){.browse-only .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.browse-only .product-grid{grid-template-columns:1fr}}

/* Lifestyle hero; ordering and checkout layout stay intact. */
#shop .hero{grid-template-columns:1fr 1.08fr;gap:48px;padding:44px 0 48px}#shop .hero h1{font-weight:900}#shop .hero .intro{font-size:18px;max-width:390px;margin-bottom:26px}#shop .hero-drink{display:block;width:100%;height:auto;aspect-ratio:1.12;object-fit:cover;object-position:84% center;border-radius:28px;box-shadow:none}#pickup-menu{scroll-margin-top:112px}
@media(max-width:720px){#shop .hero{grid-template-columns:1fr;gap:26px;padding:30px 0 36px}#shop .hero>div{text-align:center}#shop .hero h1{font-size:48px;line-height:1.06}#shop .hero .intro{font-size:17px;margin-inline:auto}#shop .hero-drink{aspect-ratio:1.2;border-radius:22px}#pickup-menu{scroll-margin-top:96px}}

/* Keep the order desk focused; settings expand when needed. */
.settings-card{padding:0;overflow:hidden}
.settings-card summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;cursor:pointer;list-style:none;font:600 25px/1.2 Fraunces,Georgia,serif}
.settings-card summary::-webkit-details-marker{display:none}
.settings-card summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);flex:none;transition:transform .15s}
.settings-card[open] summary::after{transform:rotate(45deg)}
.settings-card summary:focus-visible{outline:3px solid #ad7034;outline-offset:-5px}
.settings-content{padding:0 24px 24px}
.store-controls .admin-toolbar{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.store-controls #toggle-open,.store-controls .small{grid-column:1/-1}
.product-photo{aspect-ratio:1/1;height:auto;min-height:0;object-fit:cover}
.admin-product img{aspect-ratio:1/1;object-fit:cover}
@media(max-width:1000px){.product-photo{height:auto;min-height:0;align-self:start}}

#shop .hero-drink{object-position:50% center}
.category-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.category-filter{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:30px;padding:9px 16px;min-height:44px}.category-filter[aria-pressed="true"]{background:var(--ink);color:var(--paper)}

/* Homepage typography is the shared source of truth. */
@font-face{font-family:Fraunces;src:url('/pickup-assets/fonts/fraunces-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
body{font:400 17px/1.65 Nunito,Arial,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.12}h1,h2{font-weight:900}h3{font-weight:700}
#shop .hero h1{font-size:clamp(3.6rem,6.2vw,5.5rem);font-weight:900;letter-spacing:-.055em;line-height:1.04}
#shop .intro{font-size:1.12rem;line-height:1.65}
@media(max-width:700px){#shop .hero h1{font-size:clamp(3.2rem,12vw,4.5rem)}#shop .intro{font-size:1rem}}

.pickup-badge{display:inline-flex;align-items:center;gap:8px;background:#f0e2cf;color:#73533b;border:1px solid #d9b995;border-radius:30px;padding:7px 13px;font-size:13px;font-weight:700;margin-bottom:18px}

/* Keep the headline to two lines and bring the menu forward during service. */
#shop .hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);min-height:600px}
#shop .hero h1{font-size:clamp(42px,6vw,80px)}
#shop .hero h1 span{display:block;white-space:nowrap}
#shop .hero h1 em{font-style:normal;color:var(--caramel)}
#shop .hero-drink{height:510px;aspect-ratio:auto}
#shop.store-open .hero{min-height:300px;padding:24px 0;gap:32px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
#shop.store-open .hero h1{font-size:clamp(32px,3.8vw,48px);margin-bottom:12px}
#shop.store-open .hero .intro{font-size:15px;line-height:1.5;margin-bottom:14px;max-width:none}
#shop.store-open .pickup-badge{margin-bottom:10px;padding:4px 10px;font-size:12px}
#shop.store-open .hero-drink{height:240px;object-position:center 35%}
#shop.store-open .hero .order-choice{min-height:42px;padding:10px 16px;font-size:12px}
@media(min-width:721px) and (max-width:1000px){#shop .hero{gap:28px}#shop .hero h1{font-size:5.6vw}}
@media(max-width:720px){
 #shop .hero{grid-template-columns:1fr;min-height:0;gap:26px}
 #shop .hero h1{font-size:clamp(28px,8vw,54px)}
 #shop .hero-drink{height:auto;aspect-ratio:1.2}
 #shop.store-open .hero{grid-template-columns:minmax(0,1fr) 30%;min-height:270px;gap:16px;padding:20px 0}
 #shop.store-open .hero>div{text-align:left}
 #shop.store-open .hero h1{font-size:clamp(20px,5.2vw,37px);margin-bottom:10px}
 #shop.store-open .hero .intro{font-size:13px;margin:0 0 12px;line-height:1.5}
 #shop.store-open .hero-drink{height:180px;aspect-ratio:auto;border-radius:16px}
 #shop.store-open .pickup-badge{font-size:11px;margin-bottom:10px}
 #shop.store-open .hero .order-choice{font-size:10px;padding:10px 12px}
}

/* Dedicated checkout, with shopping on the homepage. */
.checkout-intro{max-width:760px;margin:40px auto 24px;padding:0 20px}.checkout-intro h1{font-size:clamp(2.1rem,6vw,3.8rem);margin:12px 0}.shop-layout,.shop-layout.browse-only{display:block;max-width:760px;margin:0 auto 50px;padding:0 20px}.checkout-card{position:static;width:100%;max-width:none}.checkout-card[hidden]{display:none}.checkout-card form{margin-top:24px}.checkout-card .cart-row{gap:18px}.checkout-card input,.checkout-card select{font-size:16px}
