.quick-checkout{min-height:100vh;--quick-line:#c6c8bd;caret-color:var(--charcoal)}
.quick-checkout [hidden]{display:none!important}
.quick-checkout ::selection{background:var(--charcoal);color:var(--chalk)}
.quick-header{max-width:1200px;padding:22px 32px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px;border-bottom:1px solid var(--quick-line)}
.quick-header .brand{font-size:1.65rem}
.quick-header>a:last-child{display:inline-flex;align-items:center;min-height:44px;font-size:1rem;text-underline-offset:.25em}
.layout-notice{padding:10px 24px;background:var(--charcoal);color:var(--chalk);font-size:.875rem;text-align:center;line-height:1.5}
.quick-wrap{max-width:1200px;padding:38px 32px 64px;margin:auto}
.checkout-progress{display:flex;align-items:center;gap:16px;font-size:.875rem;margin-bottom:24px;color:var(--muted)}
.checkout-progress [aria-current]{color:var(--ink);font-weight:600}
.quick-checkout svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.checkout-progress svg{width:18px;height:18px}
.quick-intro{margin-bottom:38px}
.quick-intro h1{font-size:clamp(2.25rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.025em;margin:0 0 12px;text-wrap:balance}
.quick-intro p{font-size:1.125rem;margin:0;color:var(--muted);line-height:1.55}
.quick-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.77fr);gap:clamp(40px,6.5vw,96px);align-items:start}
.quick-checkout fieldset{border:0;margin:0;padding:0;min-width:0}
.quick-checkout legend,.payment-layout h2{font-size:1.5rem;font-weight:500;line-height:1.25;margin-bottom:12px;padding:0}
.quick-checkout p{max-width:65ch}
.pickup-place{font-size:1rem;font-weight:500;margin:0 0 3px;line-height:1.5}
.quick-checkout .supporting{font-size:.875rem;line-height:1.55;color:var(--muted);margin:0}
.quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.quick-field{min-width:0}
.quick-field label{display:block;font-size:1rem;line-height:1.4;margin-bottom:8px}
.quick-field label span,.order-note summary span{font-size:.875rem;color:var(--muted)}
.quick-field label span{display:block}
.quick-fields:has(label span)>div:first-child label{min-height:calc(1.4em + 1.225rem)}
.quick-checkout select,.quick-checkout input,.quick-checkout textarea{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #82877c;border-radius:2px;background:#fafaf6;color:var(--ink);font:inherit;font-size:1rem;line-height:1.4}
.quick-checkout input::placeholder,.quick-checkout textarea::placeholder{color:#666c61;opacity:1}
.quick-checkout select:disabled{color:var(--muted);opacity:.7}
.quick-checkout :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--charcoal);outline-offset:4px}
.quick-checkout .availability-status{margin-top:10px;min-height:1.55em}
.quick-checkout .contact-fields{margin-top:30px;padding-top:26px;border-top:1px solid var(--quick-line)}
.contact-fields .quick-fields{margin-top:0}
.contact-fields #phone-note{margin:8px 0 0}
.email-field{margin-top:18px}
.email-field label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.order-note{margin-top:12px}
.order-note summary{cursor:pointer;min-height:44px;align-content:center;font-size:1rem;text-underline-offset:.25em}
.order-note summary span{margin-left:5px}
.order-note textarea{margin-top:8px;resize:vertical}
.continue-button{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;min-height:54px;margin-top:22px;padding:14px 18px;font-size:1rem;font-weight:550}
.continue-button:hover{background:var(--deep)}
.continue-button:disabled{opacity:.55;cursor:wait}
.quick-checkout .payment-reassurance{margin-top:12px;text-align:center}
.quick-error{padding:12px;border:1px solid var(--error);color:var(--error);font-size:1rem;line-height:1.5;margin-top:16px}
.quick-summary{--muted:#60665b;padding:25px 28px 24px;background:#e4e6dc}
.summary-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;list-style:none;font-size:1.5rem;line-height:1.3;cursor:pointer}
.summary-disclosure>summary::-webkit-details-marker{display:none}
.cup-count{display:block;font-size:.875rem;line-height:1.5;font-weight:400;color:var(--muted);margin-top:4px;white-space:nowrap}
.summary-disclosure>summary>svg{width:16px;height:16px;color:var(--muted)}
.summary-disclosure[open]>summary>svg{transform:rotate(180deg)}
.quick-summary ul{list-style:none;padding:0;margin:14px 0 0}
.quick-summary li{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid #bdc2b4}
.quick-summary img{width:64px;height:72px;object-fit:contain}
.quick-summary li h3{font-size:1rem;line-height:1.35;font-weight:500;margin:0 0 5px;letter-spacing:0}
.quick-summary li p{font-size:.875rem;line-height:1.45;color:var(--muted);margin:0}
.quick-summary li strong{font-weight:500;font-size:1rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.quick-summary .sample-note{margin:10px 0 0}
.edit-cart{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem;margin-top:4px;text-underline-offset:.25em}
.summary-bottom{border-top:1px solid #bdc2b4;padding-top:18px;margin-top:8px}
.quick-total{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 3px;font-size:1rem}
.quick-total strong{font-size:1.75rem;font-weight:500;font-variant-numeric:tabular-nums}
.quick-checkout .preview-tax-note{margin-top:12px;font-size:.75rem}
.quick-footer{max-width:1136px;margin:0 auto;padding:22px 32px;border-top:1px solid var(--quick-line);font-size:.875rem;color:var(--muted)}
.payment-layout:focus{outline:0}
.chosen-pickup{display:flex;justify-content:space-between;align-items:start;gap:16px;padding:20px 0;border-block:1px solid var(--quick-line)}
.chosen-pickup h3{font-size:1rem;line-height:1.4;margin:0 0 7px}
.chosen-pickup p{font-size:1rem;line-height:1.55;margin:0;white-space:pre-line}
.chosen-pickup .text-button{font-size:1rem;min-height:44px;padding:0 8px}
.square-placeholder{padding:30px 0;margin-bottom:20px;border-bottom:1px solid var(--quick-line)}
.square-placeholder>svg{width:32px;height:32px;margin-bottom:12px}
.square-placeholder h3{font-size:1.25rem;line-height:1.3;margin:0 0 12px}
.square-placeholder p{font-size:1rem;line-height:1.6;margin:0;color:var(--muted)}
.sandbox-link{display:inline-block;font-size:1rem;align-content:center;min-height:44px;margin-top:16px;text-underline-offset:.25em}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.quick-checkout .skip-link:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0}
@media(max-width:760px){.quick-header{padding:14px 24px}.quick-header .brand{font-size:1.35rem}.quick-header>a:last-child{font-size:.875rem}.layout-notice{text-align:left;font-size:.75rem;padding:10px 24px}.quick-wrap{padding:26px 24px 40px}.checkout-progress{gap:12px;margin-bottom:20px}.quick-intro{margin-bottom:26px}.quick-intro h1{font-size:2.3rem;max-width:14ch}.quick-intro p{font-size:1rem}.quick-columns{grid-template-columns:minmax(0,1fr);gap:28px}.quick-summary{grid-row:1;padding:16px 18px}.summary-disclosure>summary{font-size:1.25rem}.cup-count{display:inline;margin-left:8px}.quick-summary ul{margin-top:4px}.quick-summary li{grid-template-columns:48px minmax(0,1fr) auto;gap:9px;padding:12px 0}.quick-summary img{width:48px;height:58px}.summary-bottom{padding-top:12px;margin-top:10px}.quick-total strong{font-size:1.5rem}.quick-summary:has(details:not([open])) .summary-bottom{margin-top:10px}.quick-checkout .preview-tax-note{margin-top:6px}.quick-fields{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:18px}.quick-fields:has(label span)>div:first-child label{min-height:0}.quick-field label span{display:inline;margin-left:5px}.quick-checkout .contact-fields{margin-top:24px;padding-top:24px}.contact-fields .quick-fields{gap:16px}.email-field label{display:block}.email-field label span{display:block;margin:3px 0 0}.quick-checkout legend,.payment-layout h2{font-size:1.4rem}.continue-button{margin-top:18px}.quick-footer{padding:20px 24px}.quick-checkout .payment-reassurance{text-align:left}}
@media(max-width:380px){.quick-summary li{grid-template-columns:44px minmax(0,1fr);gap:0 10px}.quick-summary li img{grid-row:span 2;width:44px}.quick-summary li strong{grid-column:2;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.quick-checkout *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.connection-status{margin:-16px 0 28px!important}
.payment-layout #payment-fields{margin-top:24px}
.payment-layout #local-test-fields{margin-top:24px}
#local-test-fields>.quick-field{margin-top:20px}
#card-status{margin:0 0 16px;min-height:22px}
#card-container{min-height:110px}
#check-payment{margin-top:16px;width:100%;min-height:50px}
.test-card-help{font-size:.875rem;margin-top:18px}
.test-card-help summary,.test-controls>summary{min-height:44px;align-content:center;cursor:pointer;text-decoration:underline;text-underline-offset:.25em}
.test-card-help p{margin:10px 0;line-height:1.6}
.test-card-help p span{font-variant-numeric:tabular-nums}
.checkout-empty h2{font-size:1.75rem;margin:0 0 14px}
.checkout-empty p{font-size:1rem}
.checkout-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.checkout-actions .button{min-height:50px;font-size:1rem}
.checkout-result{max-width:760px;border-top:1px solid var(--quick-line);padding-top:26px}
.checkout-result>h2{font-size:1.5rem;margin-bottom:14px}
.checkout-result>p{font-size:1rem}
.checkout-result dl{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px 24px;font-size:1rem;margin:24px 0}
.checkout-result dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.test-controls{margin-top:48px;border-top:1px solid var(--quick-line);padding-top:16px;font-size:1rem}
.test-controls>p{margin-top:12px;max-width:65ch}
.test-controls .quick-field{max-width:420px;margin:20px 0 16px}
.test-controls h2{font-size:1.4rem;margin:26px 0 12px}
.test-controls #test-clock{margin-top:16px}
.test-order{padding:12px 0;border-bottom:1px solid var(--quick-line);font-size:.875rem;overflow-wrap:anywhere}
.test-order button{display:block;font-size:.875rem;min-height:44px}
.checkout-test-banner{position:fixed;inset:0 0 auto;z-index:13;padding:16px 24px;background:var(--chalk);color:var(--ink);font-size:1rem;text-align:center}
.checkout-test-banner a{margin-left:10px}
body:has(.checkout-test-banner) :is(#menu,#all-flavors,#about,#pickup-guide,#popups){scroll-margin-top:var(--checkout-scroll-offset,220px)}
body:has(.checkout-test-banner){padding-top:var(--test-banner-height,60px);scroll-padding-top:160px}
body:has(.checkout-test-banner) .site-header{top:var(--test-banner-height,60px)}
@media(max-width:760px){.connection-status{margin:-10px 0 24px!important}.checkout-result dl{grid-template-columns:minmax(0,1fr);gap:4px}.checkout-result dd{margin-bottom:12px}.checkout-actions>*{width:100%;justify-content:center}.checkout-test-banner{font-size:.875rem}.checkout-test-banner a{display:inline-block}.test-controls{margin-top:32px}}
