/* Automatic checkout flow, currently connected only in the test copy. */
html{scroll-behavior:auto}
.checkout-page [hidden]{display:none!important}
.checkout-page .form .flow-group{grid-column:1/-1;min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.checkout-page .form .flow-group legend{padding:0;margin-bottom:16px;font-size:18px;font-weight:700;color:var(--wine);font-family:'VF Inter',sans-serif;letter-spacing:0}
.flow-help,.flow-contact-status{grid-column:1/-1}
.flow-help{font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);margin:4px 0 0}
.flow-contact-status{font-size:13px;line-height:1.5;color:var(--wine);margin:0;min-height:20px}
.checkout-page .flow-details > button[type=submit]{background:var(--wine);color:#fff;border:1px solid var(--wine)}
.checkout-page .flow-details > button[type=submit]:hover{background:var(--berry)}
.checkout-page .form#flow-form{scroll-margin-top:140px}
.checkout-page .flow-group label:has(input[type=checkbox]){font-size:14px!important;font-weight:400;line-height:1.6}
.checkout-page .form button:disabled{opacity:.55;cursor:not-allowed}
.flow-methods{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.checkout-page .flow-method{min-height:88px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:14px;text-align:left;border:1px solid #d9c7d0;border-radius:14px;background:#fffaf6;color:var(--ink);font-size:15px;line-height:1.4;font-weight:600;cursor:pointer}
.flow-method span{font-size:12px;font-weight:400;color:#66545d}
.checkout-page .flow-method[aria-pressed=true]{background:#f0e4eb;border:2px solid var(--wine);padding:13px;color:var(--wine)}
.flow-method:focus-visible{outline:3px solid #9b6682;outline-offset:3px}
.checkout-page .form .flow-delivery,.checkout-page .form .flow-details{border-top:1px solid var(--line);padding-top:18px}
.checkout-page .form .flow-details legend{padding-top:12px}
.flow-method-label{grid-column:1/-1;font-weight:700;margin:0}
.flow-pickup{grid-column:1/-1;font-size:13px;line-height:1.5;margin:0;padding:12px;background:#f5f0e9;border-radius:12px}
.flow-empty{grid-column:2;grid-row:1;background:#fff;padding:24px;border:1px solid var(--line);border-radius:20px}
.flow-empty h2{font-size:24px;margin:0 0 10px}
.flow-empty p{font-size:14px;line-height:1.5}
.flow-empty .button{width:100%;min-height:48px}
.checkout-page .flow-group .slot-date,.checkout-page .flow-group .slot-time,.checkout-page .flow-group .slot-help,.checkout-page .flow-group label:has(textarea),.checkout-page .flow-group label:has(input[type=checkbox]),.checkout-page .flow-group > small,.checkout-page .flow-group > button[type=submit]{grid-column:1/-1}
@media(max-width:760px){
 .checkout-page .form .flow-group{grid-template-columns:1fr}
 .checkout-page .form .flow-group legend{font-size:18px;margin-bottom:12px}
 .flow-empty{grid-column:1;grid-row:auto;padding:20px}
 .checkout-page .flow-method{min-height:94px;padding:12px;font-size:14px}
 .checkout-page .flow-method[aria-pressed=true]{padding:11px}
}

/* Checkout layout only; unrelated home/catalog proposals are excluded. */
@media (min-width: 761px) {
  .checkout-page .checkout-layout { grid-template-rows: auto 1fr; }
  .checkout-page .checkout-summary { grid-column: 1; grid-row: 1; }
  .checkout-page .checkout-order { margin-bottom: 0; }
  .checkout-page .checkout-layout > .form { grid-column: 2; grid-row: 1 / span 2; }
  .checkout-page .checkout-layout > .contact-panel { grid-column: 1; grid-row: 2; }
}
@media (max-width: 760px) {
  .checkout-page .page-hero { padding: 16px 0 12px; }
  .checkout-page .page-hero .eyebrow { font-size: 10px; margin-bottom: 8px; }
  .checkout-page .page-hero h1 { font-size: 30px; margin: 0 0 10px; }
  .checkout-page .page-hero .lead { font-size: 14px; line-height: 1.45; margin: 0; }
  .checkout-page main > .section { padding: 12px 0 32px; }
  .checkout-page .checkout-order { margin-bottom: 0; }
  .checkout-page .checkout-layout { gap: 14px; }
  .checkout-page .checkout-layout > .contact-panel { padding: 16px; }
  .checkout-page .contact-panel h2 { font-size: 18px; margin-bottom: 10px; }
  .checkout-page .contact-panel a { display: inline-flex; align-items: center; min-height: 44px; margin: 0 12px 0 0; font-size: 14px; }
  .checkout-page .contact-panel p { font-size: 13px; line-height: 1.5; margin: 8px 0 0; }
}
