/* Checkout and receipts retain the existing store palette and typography. */
.checkout .wrap { max-width:760px; grid-template-columns:minmax(0,1fr); gap:28px; }
.checkout .field-row { grid-template-columns:minmax(0,1fr); gap:0; }
.checkout input, .checkout select, .checkout textarea { min-height:48px; font-size:16px; max-width:100%; }
.checkout .field label, .checkout .order-line .meta, .checkout .form-note, .checkout .order-line, .checkout .policy-agreement, .checkout .promotion-help { font-size:14px; }
.checkout-delivery-time { padding:12px; border-left:3px solid var(--gold); font-size:14px; background:var(--ivory-card); }
.checkout-message { font-size:14px; padding:14px; border:1px solid var(--clay); border-radius:4px; color:var(--clay); }
.checkout .submit-btn { min-height:48px; width:100%; }
.checkout .submit-row { align-items:stretch; flex-direction:column; }
.checkout .wa-fallback { display:flex; min-height:44px; align-items:center; font-size:14px; }
.checkout .policy-agreement input { min-height:24px; width:24px; flex-shrink:0; }
.checkout .order-line { align-items:start; gap:12px; }
.checkout .order-line > :last-child { white-space:nowrap; flex-shrink:0; }
.checkout-subtotal { border-top:1px solid var(--line); padding-top:12px; margin-top:12px; }
.checkout-bank-details { margin:0 0 24px; padding:16px; border:1px solid var(--line); border-left:3px solid var(--gold); border-radius:4px; background:var(--ivory-card); font-size:14px; }
.checkout-bank-details h3 { margin:0 0 8px; }
.checkout-bank-details p { margin:8px 0; }
.checkout-bank-details dl { margin:16px 0; }
.checkout-bank-details dt { margin-top:10px; font-weight:600; }
.checkout-bank-details dd { margin:2px 0 0; }
.checkout-iban { overflow-wrap:anywhere; }
.checkout-bank-details a { display:inline-block; padding:10px 0; text-decoration:underline; }
@media(max-width:480px) {
  .checkout { padding:32px 0; }
  .checkout > .wrap { padding-right:12px; padding-left:12px; }
  .checkout .order-summary { padding:12px; }
  .checkout .submit-btn { padding-left:8px; padding-right:8px; }
  .checkout .policy-agreement { align-items:start; }
}
