.checkout-dialog{width:min(1100px,96vw);background:#fdfbfe}
.checkout-dialog[open]{display:flex;flex-direction:column;overflow:hidden}
.checkout-dialog>.modal-top{flex-shrink:0}
.checkout-caption{font-size:14px;color:#8b7096;display:block;margin-top:3px}
.checkout-dialog>.modal-body{overflow:auto;min-height:0;overscroll-behavior:contain;padding:28px}
.checkout-steps{display:flex;align-items:center;justify-content:center;gap:24px;padding:0;margin:0 0 30px;list-style:none;font-size:14px;color:#9b859f}
.checkout-steps li{display:flex;align-items:center;gap:9px;line-height:1.8}
.checkout-steps li>span{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid #e2d4e8;border-radius:50%;background:#fff;font-size:14px}
.checkout-steps .completed{color:#6a876f}.checkout-steps .completed>span{background:#f0f7f1;border-color:#d7e7d9}
.checkout-steps [aria-current]{font-weight:700;color:#713b86}.checkout-steps [aria-current]>span{background:#713b86;color:#fff;border-color:#713b86;box-shadow:0 0 0 4px #eee2f4}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px;align-items:start}
.checkout-section{min-width:0;margin:0 0 22px;padding:20px 22px 24px;border:1px solid #e8dcec;border-radius:18px;background:#fff}
.checkout-section legend{font-size:18px;font-weight:700;padding:0 8px;color:#5e346d}
.checkout-section legend>span{color:#a17bab;font-size:14px;padding-left:7px}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checkout-fields>div{min-width:0}
.checkout-section .v3-label{font-size:15px;color:#765681;margin-top:13px;line-height:1.9}.checkout-section .v3-label small{font-size:13px;color:#9c849f}
.checkout-section .v3-input{font-size:16px;background:#fefcfe;min-height:52px;border-color:#decbe7}
.checkout-section textarea{resize:vertical;line-height:2}
.checkout-field-hint{font-size:13px;line-height:1.8;color:#9a819f;display:block;margin-top:8px}
.checkout-delivery h3{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:18px;color:#6f447d}
.checkout-delivery h3 svg{width:25px;height:25px}.checkout-delivery p{font-size:15px;color:#755d81;line-height:2;margin:4px 0}.checkout-delivery>small{font-size:13px;color:#9a829f;line-height:1.8}
.checkout-dialog .checkout-test-note{font-size:14px!important;margin:18px 0;line-height:1.9;background:#f5edf8}
#checkout-error{font-size:15px;color:#a34b6c;line-height:1.9;min-height:0;scroll-margin-top:20px}#checkout-error:not(:empty){padding:13px;background:#fff1f4;border-radius:12px}
.checkout-actions{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px;padding-bottom:4px}.checkout-actions>.btn{width:100%;font-size:17px;border-radius:14px;min-height:54px}.checkout-actions>.clear{min-height:44px;font-size:15px}
#checkout-review{position:sticky;top:0;border:1px solid #e5d4ec;border-radius:20px;padding:22px;background:#fff;box-shadow:0 8px 24px #713b8606;min-width:0}
.checkout-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid #eee3f2}.checkout-review-heading h3{font-size:20px;margin:0;color:#5e346c}.checkout-review-heading>span{font-size:14px;color:#906c9f;background:#f8f0fb;padding:3px 10px;border-radius:8px}
.checkout-review-heading{cursor:pointer;list-style:none;flex-wrap:wrap}.checkout-review-heading::-webkit-details-marker{display:none}.checkout-review-heading:after{content:'⌄';color:#9b76a9}.checkout-review-heading>span{flex-basis:100%;font-size:14px;line-height:1.9}.checkout-review-heading h3{font-size:18px}#checkout-review:not([open]) .checkout-review-heading{padding-bottom:0;border-bottom:0}#checkout-review[open] .checkout-review-heading:after{transform:rotate(180deg)}
.checkout-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid #f0e5f3}.checkout-item img{width:58px;height:68px;object-fit:contain;background:#f7effa;padding:4px;border-radius:11px}.checkout-item strong{display:block;font-size:15px;color:#603b70;line-height:1.9}.checkout-item small{display:block;font-size:13px;color:#a084a8;margin:3px 0}.checkout-item b{display:block;font-size:16px;color:#6d397c;line-height:1.8}.checkout-item b small{display:inline;font-size:12px}
#checkout-review .cart-breakdown{margin-top:16px}#checkout-review .cart-grand-total dd{font-size:28px}.checkout-review-note{font-size:13px;color:#94749f;line-height:1.9;margin:16px 0 0}
.checkout-dialog:has(#order-receipt:not([hidden])) .checkout-layout,.checkout-dialog:has(#order-receipt:not([hidden])) .checkout-steps,.checkout-dialog:has(#order-receipt:not([hidden])) .checkout-caption{display:none}
#order-receipt{max-width:650px;margin:auto;padding:12px 12px 25px}#order-receipt>p{font-size:16px;line-height:2}#order-receipt .order-success{background:#f3ecf7;border-radius:18px;margin-bottom:20px;font-size:26px}#order-receipt .clear{display:block;margin:12px auto 0}
@media(max-width:850px){.checkout-layout{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.checkout-fields{grid-template-columns:1fr;gap:0}.checkout-section{padding:18px}#checkout-review{padding:18px}}
@media(max-width:700px){.checkout-dialog{width:calc(100% - 16px)}.checkout-dialog>.modal-body{padding:20px 16px}.checkout-layout{display:flex;flex-direction:column;gap:20px}.checkout-layout>form{width:100%}.checkout-layout>#checkout-review{order:-1;width:100%;position:static}.checkout-caption{font-size:13px}.checkout-steps{gap:12px;justify-content:space-between;margin-bottom:25px;font-size:12px}.checkout-steps li{gap:6px;flex-direction:column;text-align:center;flex:1}.checkout-steps li>span{min-width:30px;height:30px}.checkout-section legend{font-size:18px}.checkout-section{margin-bottom:24px;padding:16px}.checkout-section .v3-label{font-size:16px}.checkout-dialog .modal-top h2{font-size:20px}.checkout-dialog .checkout-test-note{font-size:14px!important}.checkout-item{grid-template-columns:54px minmax(0,1fr)}.checkout-item strong{font-size:16px}#checkout-review{padding:18px}#checkout-items{max-height:220px;overflow:auto}.checkout-actions>.btn{font-size:17px}.checkout-delivery p{font-size:15px}.checkout-review-note{font-size:14px}#order-receipt{padding:0}#order-receipt .order-success{font-size:24px}}
