/* Progressive checkout: calm, compact and readable in either color mode. */
.checkout-flow{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:34px;max-width:1080px;margin:24px auto 64px;align-items:start}.checkout-main{min-width:0}.checkout-heading{padding:2px 4px 18px}.checkout-progress{display:flex;align-items:center;gap:10px;margin-top:17px;max-width:520px}.checkout-progress span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.checkout-progress span i{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:11px;background:var(--surface)}.checkout-progress span.active{color:var(--text)}.checkout-progress span.active i{color:#111;background:linear-gradient(135deg,#ffd300,#ffcd19 55%,#e5313e);border-color:#ffd300;box-shadow:0 3px 12px rgba(255,211,0,.24)}.checkout-progress em{height:1px;flex:1;background:var(--line);min-width:16px}.checkout-progress em.active{background:linear-gradient(90deg,#ffd300,#175bd8,#e5313e)}.checkout-card{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:clamp(24px,4vw,40px);box-shadow:0 16px 40px rgba(0,0,0,.11)}.checkout-step-content{min-height:265px}.checkout-kicker{font-size:10px;letter-spacing:.13em;font-weight:900;color:var(--yellow);margin:0 0 9px}.checkout-card h1{font-size:clamp(30px,4vw,45px);line-height:1;margin:0 0 10px;letter-spacing:-.055em}.checkout-intro{color:var(--muted);font-size:15px;margin:0 0 28px;max-width:490px}.checkout-fields{display:grid;gap:16px;max-width:540px}.checkout-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.checkout-field{display:grid;gap:7px;min-width:0}.checkout-field:nth-child(3){grid-column:1/-1}.checkout-field span{font-size:12px;font-weight:800;color:var(--text)}.checkout-field input,.checkout-field select{appearance:none;width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:14px;background:var(--input-bg,#111);color:var(--text);font:inherit;font-size:14px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,transform .2s ease}.checkout-field select{background-image:linear-gradient(45deg,transparent 50%,var(--text) 50%),linear-gradient(135deg,var(--text) 50%,transparent 50%);background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:35px}.checkout-field input::placeholder{color:var(--muted);opacity:.75}.checkout-field input:hover,.checkout-field select:hover{border-color:color-mix(in srgb,var(--yellow) 55%,var(--line));background:var(--input-hover,#171717)}.checkout-field input:focus,.checkout-field select:focus{border-color:var(--yellow);box-shadow:0 0 0 4px rgba(255,211,0,.16);background:var(--input-focus,#171717)}.checkout-field input.invalid,.checkout-field select.invalid{border-color:#e75562;box-shadow:0 0 0 4px rgba(226,44,61,.14)}.field-error{min-height:14px;color:#ef6570;font-size:11px;font-weight:700}.checkout-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.checkout-next{min-width:164px}.checkout-next span{margin-left:10px}.checkout-back{border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:800;cursor:pointer;padding:10px 0}.checkout-back:hover{color:var(--yellow)}.checkout-summary{position:sticky;top:22px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:25px}.checkout-summary h2{font-size:22px;letter-spacing:-.04em;color:var(--text);margin:2px 0 19px;background:none!important;-webkit-text-fill-color:currentColor!important;animation:none!important}.checkout-summary .summary-lines{display:grid;gap:12px}.checkout-totals{border-top:1px solid var(--line);margin-top:19px;padding-top:18px}.checkout-summary .subtotal{margin-top:7px}.checkout-trust{font-size:11px;color:var(--muted);margin:19px 0 0}.payment-options{display:grid;gap:10px;max-width:560px}.payment-choice{width:100%;display:grid;grid-template-columns:39px 1fr 19px;align-items:center;gap:13px;text-align:left;padding:14px;border-radius:17px;border:1px solid var(--line);background:var(--input-bg,#111);color:var(--text);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.payment-choice:hover{transform:translateY(-1px);border-color:var(--yellow)}.payment-choice.selected{border-color:var(--yellow);background:linear-gradient(100deg,rgba(255,211,0,.13),var(--input-bg,#111) 70%);box-shadow:0 0 0 3px rgba(255,211,0,.1)}.payment-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--surface);font-size:18px;font-weight:900}.payment-choice b,.payment-choice small{display:block}.payment-choice b{font-size:14px}.payment-choice small{font-size:11px;color:var(--muted);margin-top:2px}.payment-choice i{opacity:0;color:var(--yellow);font-style:normal;font-weight:900}.payment-choice.selected i{opacity:1}.secure-note{font-size:12px;color:var(--muted);margin:18px 0 0}.light .checkout-card,.light .checkout-summary{--input-bg:#fff;--input-hover:#fffdf4;--input-focus:#fffdf4;box-shadow:0 16px 40px rgba(12,34,55,.08)}.light .checkout-field input,.light .checkout-field select,.light .payment-choice{color:#10233c}.light .checkout-progress span.active{color:#10233c}.light .payment-choice.selected{background:linear-gradient(100deg,rgba(255,211,0,.22),#fff 70%)}
@media(max-width:780px){.checkout-flow{grid-template-columns:1fr;gap:18px;margin:14px auto 40px}.checkout-heading{padding:0 0 8px}.checkout-summary{position:static;order:2;padding:20px}.checkout-card{border-radius:23px;padding:24px 19px}.checkout-step-content{min-height:0}.checkout-progress{gap:7px}.checkout-progress span{gap:0}.checkout-progress span b{display:none}.checkout-progress span i{width:24px;height:24px}.checkout-progress em{min-width:0}.checkout-fields-grid{grid-template-columns:1fr}.checkout-field:nth-child(3){grid-column:auto}.checkout-actions{margin-top:22px}.checkout-next{flex:1}.payment-choice{padding:12px}.checkout-summary .summary-lines:first-of-type{display:none}}
@media(prefers-reduced-motion:reduce){.checkout-field input,.checkout-field select,.payment-choice{transition:none}}

/* Keep the short checkout compact: each contact and delivery field occupies one calm grid cell. */
.checkout-fields-grid .checkout-field:nth-child(3){grid-column:auto}
