.checkout-steps { display:flex; flex-wrap:wrap; gap:18px 30px; list-style:none; padding:0; margin:25px 0 30px; font-size:11px; color:var(--muted); }
.checkout-steps li[aria-current="step"] { color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:8px; }
.checkout-steps a { text-decoration:underline; text-underline-offset:4px; }
.checkout-message { min-height:25px; font-size:13px; color:#9c2924; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr); gap:6%; align-items:start; }
#checkout-form fieldset { border:0; border-top:1px solid var(--line); padding:25px 0 30px; margin:25px 0 0; min-width:0; }
#checkout-form legend { font:400 24px var(--serif); padding-right:18px; }
#checkout-form legend span { font:italic 25px Georgia,serif; color:var(--accent); margin-right:12px; }
.checkout-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
#checkout-form textarea { width:100%; border:1px solid #cbc4c5; color:var(--ink); background:#ffffff; resize:vertical; padding:12px; font:14px/1.8 "Segoe UI","Nirmala UI",sans-serif; }
#checkout-form .button { border:0; cursor:pointer; margin-top:15px; }
.checkout-summary { padding:30px; background:#f5f2f2; margin-top:25px; }
.checkout-summary h2 { font-size:27px; margin-bottom:25px; }
.checkout-item { display:grid; grid-template-columns:65px minmax(0,1fr); gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }
.checkout-item img { height:90px; }
.checkout-item h3 { font:400 17px var(--serif); margin:0 0 8px; }
.checkout-item p { font-size:12px; margin:4px 0; color:var(--muted); }
.checkout-totals { margin:22px 0; }
.checkout-totals > div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; font-size:13px; }
.checkout-totals dd { margin:0; text-align:right; }
.checkout-totals .checkout-total { border-top:1px solid #bfc3b3; margin-top:12px; font-size:20px; padding-top:18px; }
.checkout-hint { font-size:11px; line-height:1.9; color:var(--muted); margin:18px 0; }
.manual-payment-panel { padding:20px; background:#f5f2f2; margin-top:20px; }
.manual-payment-panel p { font-size:12px; color:var(--muted); }
.checkout-errors { padding:22px; border:1px solid #a45537; background:#fff2e8; }
.checkout-errors h2 { font-size:22px; }
.checkout-errors ul { font-size:13px; padding-left:20px; }
.checkout-errors a { text-decoration:underline; text-underline-offset:3px; }
#checkout-form [aria-invalid="true"] { border-color:#9c2924; }
.checkout-review { padding:32px; border:1px solid var(--line); background:#ffffff; margin-top:45px; }
.checkout-review h2 { font-size:30px; }
.checkout-review dl > div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; border-bottom:1px solid var(--line); padding:15px 0; font-size:13px; }
.checkout-review dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.checkout-review dt { color:var(--accent); }
.checkout-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:25px; }
.confirmation-main { max-width:1050px; margin:auto; }
.confirmation-hero { text-align:center; max-width:720px; margin:45px auto; }
.confirmation-symbol { display:grid; place-items:center; width:65px; height:65px; background:#f3f1f1; border-radius:50%; font:35px Georgia,serif; margin:0 auto 25px; }
.confirmation-hero h1 { font-size:clamp(30px,4vw,48px); margin-bottom:20px; }
.confirmation-hero > p:not(.eyebrow) { font-size:14px; color:var(--muted); }
.demo-reference { font:13px "Segoe UI",sans-serif; letter-spacing:.08em; }
.receipt-summary { max-width:700px; margin:35px auto; }
.checkout-ready { justify-content:center; width:100%; margin-top:22px; }
@media(max-width:850px) { .checkout-layout { grid-template-columns:1fr; } .checkout-summary { max-width:650px; width:100%; } }
@media(max-width:500px) { .checkout-form-grid { grid-template-columns:1fr; gap:18px; } .checkout-summary, .checkout-review { padding:24px 20px; } #checkout-form legend { font-size:21px; } .checkout-review dl > div { grid-template-columns:1fr; gap:7px; } .checkout-steps { gap:12px 18px; font-size:10px; } }

#guest-content[hidden], #guest-submit-row[hidden], #guest-confirmation[hidden] { display: none !important; }
#guest-order-form fieldset { border: 0; padding: 0; min-width: 0; margin: 24px 0; }
#guest-order-form legend { font-size: 1.4rem; }
#guest-order-form label { display: grid; gap: .4rem; margin-bottom: .9rem; }
#guest-order-form input, #guest-order-form select, #guest-order-form textarea {
  width: 100%;
  min-height: 44px;
  padding: .65rem;
  font: inherit;
  border: 1px solid #cbc4c5;
  color: var(--ink);
  background: white;
}
#guest-submit { min-height: 48px; }
#guest-submit:disabled { opacity: .55; }
