.checkout-page{background:#f7f8f5}.checkout-page [hidden]{display:none!important}
.checkout-header{display:flex;justify-content:space-between;background:#fff;position:static}
.back-shop{font-size:12px;color:var(--green)}.checkout-main{max-width:1180px;margin:auto;padding:60px 28px 85px}
.checkout-heading h1{font-size:clamp(42px,5vw,64px);margin:12px 0 18px}.checkout-heading>p:last-child{color:var(--muted);font-size:14px}
.preview-banner{display:flex;gap:16px;align-items:center;padding:17px 20px;margin:30px 0 35px;border:1px solid #c7d8cd;background:#e9f0eb;border-radius:6px;color:var(--green);font-size:12px}
.preview-banner b{white-space:nowrap}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:start}
.checkout-section{margin-bottom:30px;padding:26px;background:white;border:1px solid #dce3dd;border-radius:8px}
.step-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.step-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf2ed;color:var(--green);font-size:10px;font-weight:700}
.step-heading h2{font-size:26px;margin:0}.section-note{font-size:12px;color:var(--muted)}.fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 16px}
.fields label{display:block;font-size:12px;font-weight:700}.fields .wide{grid-column:1/-1}.fields input{display:block;width:100%;min-width:0;height:46px;margin-top:8px;padding:0 12px;border:1px solid #c9d2cb;border-radius:4px;background:#fff;color:var(--ink);font-size:14px}
.fields input[readonly]{background:#f6f7f4}.fields small{font-size:10px;color:var(--muted);font-weight:400}.fields input+small{display:block;margin-top:6px}
.checkout-page :focus-visible{outline:2px solid #298779;outline-offset:3px}.payment-option,.payment-unavailable{display:flex;align-items:start;gap:12px;padding:16px;border:1px solid #b7cfc3;border-radius:5px;margin-bottom:12px;font-size:12px}
.payment-option{background:#f2f7f3}.payment-option input,.preview-consent input{accent-color:var(--green);margin:3px 0;flex:none;width:16px;height:16px}.payment-option small,.payment-unavailable small{display:block;margin-top:5px;line-height:1.5;font-size:11px;color:var(--muted)}
.payment-option{cursor:pointer;background:#fff;border-color:var(--line);min-height:54px;align-items:center}.payment-option:has(input:checked){background:#f2f7f3;border-color:#6d9d87}
.card-fields{min-width:0;margin:22px 0 0;padding:20px;border:1px solid #c9d8cf;border-radius:6px;background:#fbfcfa}.card-fields legend{padding:0 6px;font-family:Georgia;font-size:20px;color:var(--green)}.card-test-note{margin:0 0 20px;font-size:11px;color:var(--muted);line-height:1.65}.card-test-note b{color:var(--green);white-space:nowrap}.card-fields #card-number{font-variant-numeric:tabular-nums;letter-spacing:.06em}
.payment-unavailable{border-color:var(--line);background:#fafafa;color:#6d726f}.payment-unavailable>span:first-child{width:16px;flex:none;font-size:18px;line-height:1}
.preview-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:20px;margin-top:22px;color:var(--muted);cursor:pointer}
.preview-consent input{display:block;flex:0 0 16px;width:16px;height:16px;margin:2px 0 0}
.preview-consent span{display:block;min-width:0}
.place-order{width:100%;min-height:54px;font-size:13px}.place-order:disabled{opacity:.6;cursor:wait}#checkout-status{font-size:13px;color:#a32622;line-height:1.6;min-height:18px}
.place-order.is-processing{opacity:1}.place-order.is-processing::before{content:"";width:15px;height:15px;border:2px solid #ffffff50;border-top-color:#fff;border-radius:50%;animation:checkout-spin .85s linear infinite}@keyframes checkout-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.place-order.is-processing::before{animation:none}}
.order-summary{position:sticky;top:24px;border:1px solid #dce3dd;border-radius:8px;background:#fff;padding:28px}.order-summary h2{font-size:28px;margin-bottom:25px}
.summary-item{display:grid;grid-template-columns:68px minmax(0,1fr);gap:15px;padding:18px 0;border-bottom:1px solid var(--line)}.summary-item img{width:68px;height:68px;object-fit:contain;background:#edf2ee;border-radius:4px}.summary-item h3{font-family:Georgia;font-weight:400;font-size:17px;line-height:1.25;margin:0 0 5px}.summary-item p{font-size:10px;color:var(--muted);margin:0 0 7px}.summary-item .item-price{display:flex;justify-content:space-between;gap:10px;font-size:11px}.summary-item .item-price span{color:var(--muted)}
.order-totals{margin:25px 0 15px}.order-totals>div{display:flex;justify-content:space-between;gap:15px;padding:8px 0;font-size:12px}.order-totals dd{margin:0;font-weight:700}.order-totals .grand-total{border-top:1px solid var(--line);margin-top:14px;padding-top:20px;font-size:19px}.grand-total small{font-size:10px;font-weight:400;color:var(--muted)}
.summary-note{font-size:10px;color:var(--muted)}.edit-bag{display:inline-block;margin-top:15px;font-size:11px;color:var(--green);border-bottom:1px solid}
.checkout-empty,.checkout-error{padding:45px 0}.checkout-empty h2,.checkout-error h2{font-size:36px}.checkout-error .back-shop{margin-left:20px}
.order-confirmation{max-width:620px;margin:40px auto 0;text-align:center;padding:40px;background:#fff;border:1px solid var(--line);border-radius:10px}.confirmation-check{margin:0 auto 24px;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#d9eee3;color:var(--green);font-size:28px}
.order-confirmation h2{font-size:38px}.order-confirmation p{font-size:14px;color:var(--muted);line-height:1.7}.order-confirmation dl{text-align:left;margin:28px 0}.order-confirmation dl>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.order-confirmation dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.checkout-footer{text-align:center;padding:24px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}
@media(max-width:800px){.checkout-layout{grid-template-columns:1fr}.order-summary{position:static;grid-row:1}.checkout-main{padding-top:35px}.preview-banner{align-items:start;flex-direction:column;gap:6px}}
@media(max-width:450px){.checkout-main{padding:32px 16px 55px}.checkout-header{padding:0 16px}.checkout-header .logo strong{font-size:12px}.back-shop{font-size:11px}.checkout-section,.order-summary{padding:20px}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.fields input{font-size:16px}.order-confirmation{padding:28px 20px}.order-confirmation h2{font-size:32px}.grand-total dd{white-space:nowrap}}
