:root{--ink:#303143;--purple:#4f507c;--green:#6a8d73;--mint:#dfeee7;--cream:#f8f5f0;--border:#e5e3e8;--muted:#727581}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.6}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a7a8bd;outline-offset:4px}
[hidden]{display:none!important}
.test-strip{background:var(--purple);color:white;padding:8px 5%;font-size:10px;font-weight:700;letter-spacing:1.1px;display:flex;justify-content:space-between}
.test-strip span{font-weight:400;letter-spacing:.2px}
.site-header{height:95px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 30px}
.wordmark{font-family:Georgia,serif;text-decoration:none;font-weight:bold;font-size:37px;line-height:.85;letter-spacing:-1.8px}
.wordmark span{display:block;font:9px Arial;letter-spacing:2px;text-align:center;margin-top:9px}
.site-header nav{display:flex;gap:32px;font-size:13px;font-weight:700}
.site-header nav a{text-decoration:none;padding:10px 0}
.site-header nav .active{color:var(--purple);border-bottom:2px solid var(--purple)}
.account-tag{font-size:12px;color:var(--muted)}
.account-tag span{font-size:23px;vertical-align:middle;margin-left:10px}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
.opener{display:flex;align-items:center;justify-content:space-between;padding:43px 0 33px;gap:30px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--green);margin:0 0 12px}
h1{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-1.9px;margin:0;color:var(--purple);font-weight:650}
h1 span{font-family:Georgia,serif;font-weight:400;font-style:italic}
.intro{color:var(--muted);margin:15px 0 0;font-size:14px}
.pickup-card{background:#efede8;border:1px solid #e3e0db;border-radius:16px;padding:20px 24px;display:flex;gap:18px;min-width:310px}
.pickup-icon{width:38px;height:38px;background:var(--mint);border-radius:50%;display:grid;place-items:center;color:var(--green);font-size:24px}
.pickup-card strong{font-size:14px}
.pickup-card p{margin:3px 0 12px;font-size:12px;color:var(--muted)}
.chip{display:inline-block;padding:4px 9px;background:#e0e7de;color:#426047;font-size:10px;font-weight:700;border-radius:5px}
.small{display:block;color:var(--muted);font-size:10px;margin-top:7px}
.menu-bar{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:17px 0;gap:15px;font-size:12px}
.menu-tab{color:var(--purple);font-weight:700;border-radius:20px;padding:9px 18px;background:white;border:1px solid #dcdce7}
.muted{color:var(--muted);margin-left:15px}
.connection{font-size:10px;color:#456b50}
.ordering-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;padding:28px 0 32px}
.section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}
.section-heading h2{font-size:22px;letter-spacing:-.7px;margin:0}
.section-heading span{font-size:11px;color:var(--muted)}
.product-card{display:flex;align-items:stretch;justify-content:space-between;gap:20px;background:white;border:1px solid var(--border);border-radius:14px;padding:18px;text-align:left;width:100%;color:var(--ink);transition:box-shadow .18s,border .18s}
.product-card:hover{border-color:#aaaabd;box-shadow:0 7px 22px #3031430a}
.product-copy{display:flex;flex-direction:column;align-items:flex-start;padding:6px 0}
.tag{font-size:8px;font-weight:800;color:var(--green);letter-spacing:1.5px;margin-bottom:13px}
.product-copy strong{font-size:20px;letter-spacing:-.4px}
.description{font-size:12px;line-height:1.65;color:var(--muted);margin:7px 0 16px;max-width:270px}
.price{font-size:15px;font-weight:700;margin-top:auto}
.product-photo{position:relative;flex:0 0 175px}
.product-photo img{display:block;width:175px;height:175px;object-fit:cover;border-radius:9px}
.plus{position:absolute;right:9px;bottom:9px;width:34px;height:34px;background:white;color:var(--purple);border-radius:50%;display:grid;place-items:center;font-size:25px;box-shadow:0 2px 8px #0002}
.friendly-note{display:flex;gap:14px;color:#4b6253;font-size:12px;line-height:1.7;margin-top:18px;padding:17px 20px;background:#e8eee6;border-radius:11px}
.friendly-note>span{font-size:25px}
.friendly-note p{margin:0}
.friendly-note strong{display:block;font-size:12px}
.build-note{font-size:11px;color:var(--muted);margin-top:28px;max-width:530px;line-height:1.65}
.build-note strong{color:var(--ink)}
.basket{align-self:start;background:#fff;border:1px solid var(--border);border-radius:14px;padding:23px;box-shadow:0 8px 26px #31334304;position:sticky;top:20px}
.basket-heading{display:flex;justify-content:space-between;align-items:center}
.basket h2{font-size:18px;margin:0;letter-spacing:-.5px}
.basket-count,#basket-count{color:var(--muted);font-size:11px}
.empty-cart{text-align:center;padding:34px 0 28px}
.empty-cart>span{display:grid;place-items:center;width:49px;height:49px;margin:0 auto 18px;background:var(--cream);border-radius:50%;font-size:25px;color:var(--purple)}
.empty-cart strong{font-size:12px}
.empty-cart p{font-size:12px;color:var(--muted);line-height:1.7}
.cart-line{display:flex;gap:10px;justify-content:space-between;margin-top:22px;font-size:12px}
.cart-line p{font-size:11px;color:var(--muted);margin:5px 0;max-width:185px}
.text-button{border:0;background:none;text-decoration:underline;color:var(--purple);font-size:10px;padding:0;margin:6px 11px 0 0}
.totals{border-top:1px solid var(--border);margin-top:20px;padding-top:10px;font-size:12px}
.totals p{display:flex;justify-content:space-between;margin:10px 0}
.totals .total{font-size:17px;padding-top:8px}
.pickup-summary{display:flex;flex-direction:column;border-top:1px solid var(--border);padding-top:15px;margin:18px 0;font-size:12px}
.pickup-summary span{margin:4px 0}
.pickup-summary small{color:var(--muted);font-size:10px}
.button{border:0;border-radius:8px;padding:14px 18px;font-size:12px;font-weight:bold;display:inline-flex;justify-content:space-between;gap:16px;align-items:center}
.primary{background:var(--purple);color:white}
.primary:hover{background:#414267}
.full{width:100%}
.privacy-note{font-size:9px;line-height:1.5;color:var(--muted);text-align:center;margin:12px 0 0}
.status{font-size:12px;color:#775028;line-height:1.5}
.status:empty{display:none}
.page-footer{border-top:1px solid var(--border);padding:23px 0 27px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:20px}
dialog{border:0;padding:0;border-radius:18px;max-width:850px;width:calc(100% - 40px);max-height:calc(100dvh - 55px);color:var(--ink);box-shadow:0 20px 100px #17231c40}
dialog::backdrop{background:#24263566;backdrop-filter:blur(3px)}
.close-button{position:absolute;right:13px;top:13px;z-index:2;border:1px solid var(--border);border-radius:50%;height:33px;width:33px;font-size:23px;line-height:1;background:white;color:var(--ink)}
#item-dialog{overflow:hidden}
body:has(dialog[open]){overflow:hidden}
.modal-grid{display:grid;grid-template-columns:42% 58%;height:min(690px,calc(100dvh - 55px));max-height:calc(100dvh - 55px)}
.modal-photo{position:relative;background:#e8e8df;overflow:hidden}
.modal-photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-caption{position:absolute;bottom:24px;left:24px;color:white;font:italic 25px Georgia;text-shadow:0 2px 8px #2229}
.modal-grid form{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
.modal-content{overflow:auto;padding:30px 28px 15px;flex:1;min-height:0}
.modal-content h2,.checkout-inner h2{font-size:29px;line-height:1.2;letter-spacing:-1px;color:var(--purple);margin:0 0 8px}
.modal-price{font-size:16px;margin:8px 0}
.modal-description{font-size:12px;color:var(--muted);line-height:1.65;margin:10px 0 21px}
fieldset{border:0;padding:0;margin:23px 0 0}
legend{display:flex;justify-content:space-between;width:100%;font-size:13px;font-weight:700;margin-bottom:11px}
legend span{font-size:9px;color:var(--muted);font-weight:400;margin-left:10px}
.bread-options{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.option{display:flex;gap:8px;align-items:center;border:1px solid var(--border);border-radius:6px;padding:10px 8px;font-size:10px;cursor:pointer;line-height:1.3}
.option:has(input:checked){border-color:var(--purple);background:#f2f0f7}
.option input{accent-color:var(--purple);margin:0}
.option small{font-size:9px;color:var(--muted);white-space:nowrap}
.modal-actions{display:flex;gap:14px;padding:17px 28px;border-top:1px solid var(--border);background:white;flex-shrink:0}
.modal-actions>.button{flex:1;justify-content:center}
.quantity{display:flex;align-items:center;gap:13px;font-size:13px}
.quantity button{border:1px solid var(--border);background:#fff;border-radius:50%;width:29px;height:29px;color:var(--purple);font-size:19px}
.form-status{margin:0 28px 15px}
#checkout-dialog,#receipt-dialog{max-width:490px}
.checkout-inner{padding:36px}
.test-card-help{display:flex;flex-direction:column;background:#edf2eb;border-radius:8px;padding:13px 16px;font-size:13px;gap:5px}
.test-card-help strong{font-size:10px;color:var(--green);text-transform:uppercase;letter-spacing:1px}
.test-card-help small{font-size:10px;color:var(--muted)}
.tester{font-size:11px;margin:18px 0}
#card-container{min-height:100px;margin:15px 0 20px}
.success-icon{display:grid;place-items:center;width:49px;height:49px;background:var(--mint);color:var(--green);border-radius:50%;font-size:25px;margin-bottom:18px}
.checkout-inner>p:not([class]){font-size:13px;line-height:1.7}
.receipt-warning{font-size:11px;background:#f8f3e2;padding:14px;border-radius:7px;margin:22px 0}
.checkout-inner dl{font-size:11px;overflow-wrap:anywhere}
.checkout-inner dt{font-weight:700;margin:11px 0 3px}
.checkout-inner dd{margin:0;color:var(--muted)}
.setup{max-width:620px;padding:45px 25px;margin:auto}
.setup h1{font-size:32px}
.setup label{display:block;margin-top:20px;font-size:13px}
.setup input{display:block;width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;margin-top:7px}
.setup .button{margin-top:22px}
.setup p,.setup li{font-size:13px;color:var(--muted)}

@media(max-width:850px){.site-header{padding:0 22px;height:83px}
.site-header nav{gap:18px}
.wrap{padding:0 22px}
.opener{padding:32px 0;gap:24px}
.pickup-card{min-width:240px;padding:15px;gap:10px}
.ordering-grid{grid-template-columns:minmax(0,1fr) 295px;gap:22px}
.product-card{flex-direction:column-reverse;padding:13px;gap:10px}
.product-photo{flex-basis:auto}
.product-photo img{width:100%;height:160px}
.description{max-width:none}
.product-copy{padding:7px}
.basket{padding:20px}
.modal-grid{grid-template-columns:36% 64%}
.modal-content{padding:25px 23px 15px}
.modal-actions{padding:15px 23px}
}

@media(max-width:620px){.test-strip{padding:8px 16px;font-size:8px;flex-wrap:wrap;gap:2px 12px}
.site-header{height:78px;padding:0 18px}
.wordmark{font-size:31px}
.site-header nav{font-size:11px;gap:15px}
.account-tag{display:none}
.wrap{padding:0 18px}
.opener{display:block;padding:28px 0 23px}
h1{font-size:36px}
.intro{font-size:12px}
.pickup-card{margin-top:22px;padding:14px 17px}
.pickup-card>div{flex:1}
.pickup-card p{margin-bottom:7px}
.pickup-card .small{display:inline;margin-left:10px;font-size:9px}
.menu-bar{font-size:10px;align-items:flex-start;gap:10px}
.menu-tab{padding:7px 12px;display:inline-block}
.muted{display:block;margin:7px 0 0}
.connection{padding-top:7px;font-size:9px}
.ordering-grid{grid-template-columns:1fr;padding-top:22px;gap:24px}
.section-heading h2{font-size:21px}
.product-card{flex-direction:row;padding:13px;gap:10px}
.product-photo{flex:0 0 115px}
.product-photo img{width:115px;height:145px}
.product-copy{padding:2px}
.product-copy strong{font-size:18px}
.tag{font-size:7px;margin-bottom:8px}
.description{font-size:11px;margin-bottom:10px}
.friendly-note{font-size:11px}
.build-note{display:none}
.basket{position:static}
.empty-cart{padding:22px 0 12px}
.page-footer{flex-direction:column;gap:7px;font-size:9px}
.modal-grid{display:block;max-height:none;height:calc(100dvh - 24px)}
.modal-photo{height:180px}
.photo-caption{font-size:21px;bottom:17px}
.modal-grid form{height:calc(100% - 180px);max-height:none}
.modal-content{padding:22px 20px 15px}
.modal-content h2{font-size:26px}
.modal-description{margin-bottom:18px}
.modal-actions{padding:13px 20px}
.modal-content fieldset{margin-top:18px}
dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:13px}
.checkout-inner{padding:30px 24px}
.option{font-size:10px}
.modal-actions>.button{font-size:11px}
.close-button{right:10px;top:10px}
}
