.announcement{padding:12px 20px;text-align:center}button:disabled{opacity:.45;cursor:not-allowed}.checkout-dialog{max-width:620px;width:calc(100vw - 35px);border-radius:15px}.checkout-note{font-size:13px;line-height:1.6;margin:18px 0 25px!important}.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.checkout-fields label{display:block;font-size:11px;font-weight:600}.checkout-fields .wide{grid-column:1/-1}.checkout-fields input,.checkout-fields select{display:block;width:100%;margin-top:7px;background:#fff;border:1px solid #d1d5cb;border-radius:5px;padding:11px;font-size:14px;color:#222}.checkout-total{padding:18px 0;margin-top:18px;border-top:1px solid #ccc;font-size:14px}.checkout-dialog .button{width:100%;margin-top:10px}.small-note{font-size:10px!important;line-height:1.6!important;margin-top:18px!important}#checkout-error{font-size:12px;color:#a33220;line-height:1.6;margin:10px 0}.empty-stock{color:inherit;font-size:13px;margin:20px 0}.receipt-page{background:#f4f3ec;color:#202d22;margin:0;font:15px/1.6 Arial,sans-serif}.receipt-shell{max-width:650px;margin:8vh auto;padding:40px;background:#fff;border:1px solid #d8dfcf;border-radius:15px}.receipt-shell h1{font-size:38px;line-height:1.1;letter-spacing:-.05em}.receipt-label{font-size:11px;letter-spacing:.12em;color:#7a8c69}.receipt-box{background:#edf2e5;padding:20px;border-radius:9px;margin:25px 0}.receipt-shell a{color:#315735}.receipt-shell ul{padding-left:20px}@media(max-width:600px){.checkout-fields{grid-template-columns:1fr}.checkout-fields .wide{grid-column:auto}.receipt-shell{margin:20px;padding:28px}.checkout-dialog{padding:30px 20px}}

.checkout-fields .pay-title{margin:10px 0 0;padding-top:18px;border-top:1px solid #ccc;font-size:13px;font-weight:700}
.small-note a{color:inherit;text-decoration:underline}
/* flavor steppers (step 03) and Subscribe & save */
.slot-grid{display:flex;flex-direction:column;gap:8px}
.slot-progress{margin:0 0 4px;font-size:12px;font-weight:700;opacity:.75}
.slot-progress.todo{opacity:1}
.slot-progress.todo::before{content:'';display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #ffffff40}
.flavor-row{display:flex;align-items:center;gap:14px;padding:10px 10px 10px 14px;border:1px solid #ffffff40;transition:border-color .15s,background .15s}
.flavor-row.picked{border-color:var(--accent);background:#ffffff0d}
.flavor-row.out{opacity:.45}
.flavor-dot{flex:none;width:18px;height:18px;border-radius:50%;background:var(--chip);box-shadow:0 0 0 2px #ffffff26}
.flavor-name{flex:1;min-width:0;font-size:14px;font-weight:700}
.flavor-name small{display:block;font-size:10px;font-weight:400;opacity:.8;margin-top:2px}
.stepper{display:flex;align-items:center;border:1px solid #ffffff40}
.stepper button{width:40px;height:40px;border:0;background:transparent;color:inherit;font-size:20px;line-height:1;cursor:pointer}
.stepper button:hover:not(:disabled){background:#ffffff1a}
.stepper button:disabled{opacity:.3;cursor:default}
.stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.stepper output{min-width:30px;text-align:center;font-size:15px;font-weight:700}
.flavor-row.picked .stepper{border-color:#ffffff80}
.sub-interval{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:12px}
.sub-interval[hidden]{display:none}
.sub-interval span{margin-right:4px;opacity:.75}
.sub-interval button{padding:9px 14px;border:1px solid #ffffff40;background:transparent;color:inherit;font-size:12px;cursor:pointer}
.sub-interval button.selected{border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.delivery-option[hidden]{display:none}
.checkout-dialog .agree{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:12px;line-height:1.5}
.checkout-dialog .agree input{margin-top:2px;flex:none;width:16px;height:16px}
/* footer: first-order discount signup */
.welcome-band{display:grid;grid-template-columns:1.1fr 1fr;gap:30px 60px;align-items:center;margin:0 0 45px;padding:40px;background:var(--ink);color:var(--paper);border-radius:var(--radius);box-shadow:inset 0 4px var(--accent)}
.welcome-band .eyebrow{color:inherit;opacity:.7;margin:0 0 12px}
.welcome-band h2{margin:0 0 10px;font-size:clamp(26px,3.4vw,40px);line-height:1.05;letter-spacing:-.03em}
.welcome-band p{margin:0;font-size:13px;line-height:1.6;opacity:.85}
.welcome-form{display:grid;grid-template-columns:1fr auto;gap:10px}
.welcome-form input{min-width:0;min-height:53px;padding:0 16px;border:1px solid #ffffff59;background:transparent;color:inherit;font-size:15px;border-radius:var(--radius)}
.welcome-form input::placeholder{color:inherit;opacity:.6}
.welcome-form input:focus-visible{outline:2px solid var(--paper);outline-offset:1px}
.welcome-form .button{width:auto;margin:0;background:var(--paper);color:var(--ink);border-color:var(--paper);gap:0}
.welcome-form .welcome-fine{grid-column:1/-1;font-size:10px;opacity:.65}
.welcome-form .welcome-fine.ok{font-size:13px;opacity:1}
.welcome-form .welcome-fine.bad{opacity:1;color:#ffb4a8}
.welcome-code{display:inline-block;padding:2px 8px;border:1px dashed currentColor;font-weight:700;letter-spacing:.06em}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){.welcome-band{grid-template-columns:1fr;padding:28px 20px}.welcome-form{grid-template-columns:1fr}.welcome-form .button{width:100%}}
/* the brand .footer padding shorthand zeroed the .wrap side padding on desktop */
.wrap.footer{padding-left:5vw;padding-right:5vw}
@media(min-width:1600px){.wrap.footer{padding-left:80px;padding-right:80px}}
@media(max-width:740px){.wrap.footer{padding-left:6vw;padding-right:6vw}}
/* welcome band: background runs edge to edge; content stays on the page grid.
   border-image outset paints outside the box without creating horizontal scroll */
.welcome-band{padding-left:0;padding-right:0;border-radius:0;background:none;box-shadow:none;border-image:linear-gradient(var(--ink),var(--ink)) fill 0//0 100vmax}
@media (max-width:760px){.welcome-band{padding-left:0;padding-right:0}}
