/* Checkout only: keep order facts in the scroll region and payment in view. */
#checkout-dialog { width:min(470px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:hidden; }
#checkout-dialog #checkout-content { display:flex; flex-direction:column; max-height:calc(100dvh - 24px); padding:0; }
#checkout-dialog .dialog-close { left:16px; right:auto; top:17px; width:44px; height:44px; }
#checkout-dialog .checkout-header { flex:none; padding:25px 24px 14px; padding-inline-end:72px; }
#checkout-dialog .dialog-title { margin:0; font-size:20px; line-height:1.65; text-align:start; }
#checkout-dialog .dialog-title span { display:block; color:#705b82; font-size:15px; font-weight:600; }
#checkout-dialog .checkout-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 24px 16px; scrollbar-width:thin; scrollbar-color:#b39bcc #f5f0fa; }
#checkout-dialog .quote-details { display:block; margin:0 0 16px; padding:0; border:0; }
#checkout-dialog .quote-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 16px; padding:13px 10px; border-radius:10px; background:#f5f0fa; }
#checkout-dialog .quote-stats-dns { grid-template-columns:repeat(2,minmax(0,1fr)); }
#checkout-dialog .quote-stats>div { min-width:0; display:flex; align-items:center; justify-content:center; }
#checkout-dialog .quote-stats>div+div { border-inline-start:1px solid #ded2e9; }
#checkout-dialog .quote-stats dd { margin:0; color:#4c2d67; font-size:14px; font-weight:800; line-height:1.65; text-align:center; }
#checkout-dialog .country-list { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 12px; margin:0; font-size:13px; font-weight:600; }
#checkout-dialog .country-list>span { display:inline-flex; align-items:center; gap:5px; white-space:nowrap; }
#checkout-dialog .country-list img { width:24px; height:16px; object-fit:cover; border-radius:2px; }
#checkout-dialog .quote-connection,#checkout-dialog .quote-program { margin:6px 0 0; color:#705b82; font-size:12px; line-height:1.8; text-align:center; }
#checkout-dialog .quote-program { margin-top:2px; }
#checkout-dialog .checkout-disclosure { --funding-surface:#f5eefc; --funding-ink:#582784; --funding-line:#ddd0ee; --funding-selected:#eee0fb; --funding-active-line:#9161b3; margin:8px 0; padding:0; border:1px solid var(--funding-line); border-radius:10px; background:var(--funding-surface); color:var(--funding-ink); }
#checkout-dialog .checkout-disclosure[data-selected=true] { background:var(--funding-selected); border-color:var(--funding-active-line); }
#checkout-dialog .checkout-disclosure>summary { display:flex; align-items:center; gap:8px; min-height:52px; padding:9px 12px; cursor:pointer; list-style:none; color:var(--funding-ink); font-size:14px; font-weight:700; }
#checkout-dialog .checkout-disclosure>summary:hover { background:var(--funding-selected); border-radius:9px; }
#checkout-dialog .checkout-disclosure>summary>span:not(.icon) { flex:1; min-width:0; }
#checkout-dialog .checkout-disclosure>summary::-webkit-details-marker { display:none; }
#checkout-dialog .checkout-disclosure>summary::after { content:'+'; flex:none; width:14px; color:var(--funding-ink); font-size:21px; font-weight:400; text-align:center; }
#checkout-dialog .checkout-disclosure[open]>summary::after { content:'−'; }
#checkout-dialog .checkout-disclosure summary small { flex:none; margin:0; color:var(--funding-ink); font-size:12px; font-weight:600; line-height:1.7; text-align:end; font-variant-numeric:tabular-nums; }
#checkout-dialog .funding-state { display:block; font-size:11px; font-weight:500; }
#checkout-dialog .coupon-icon { width:20px; height:20px; flex:none; }
#checkout-dialog .coupon-field { margin:0; padding:0 12px 12px; }
#checkout-dialog .coupon-success,#checkout-dialog .coupon-field .form-error { margin:6px 0 0; min-height:0; font-size:12px; }
#checkout-dialog .coupon-success { color:#582784; }
#checkout-dialog .coupon-success:empty { display:none; }
#checkout-dialog .coupon-controls { display:flex; flex-wrap:nowrap; gap:6px; }
#checkout-dialog .coupon-controls input { flex:1 1 0; width:0; min-width:0; min-height:44px; padding:8px 10px; border:1px solid #a485be; border-radius:8px; background:#fff; color:#282036; caret-color:#7239db; font-size:16px; }
#checkout-dialog .coupon-controls .button { flex:none; min-height:44px; padding:8px 10px; font-size:13px; }
#checkout-dialog .coupon-controls .text-button { flex:none; min-width:44px; min-height:44px; padding:4px; font-size:12px; }
#checkout-dialog .coupon-controls input::placeholder { color:#705080; }
#checkout-dialog .coupon-controls [data-action=coupon-apply]:not(:disabled) { background:#7239db; border-color:#7239db; color:#fff; }
#checkout-dialog .coupon-controls [data-action=coupon-apply]:hover:not(:disabled) { background:#5422ad; border-color:#5422ad; }
#checkout-dialog .coin-checkout { --funding-surface:#fff5de; --funding-ink:#67410c; --funding-line:#ecd8a5; --funding-selected:#ffefc4; --funding-active-line:#9e681b; }
#checkout-dialog .coin-checkout:empty { display:none; }
#checkout-dialog .coin-options-body { padding:0 12px 10px; }
#checkout-dialog .coin-earning { gap:4px; margin:0; font-size:13px; line-height:1.8; }
#checkout-dialog .coin-earning strong { color:#67410c; }
#checkout-dialog .coin-use { display:flex; align-items:center; gap:9px; min-height:44px; font-size:13px; }
#checkout-dialog .coin-use input { margin:0; }
#checkout-dialog .coin-use small { margin-inline-start:auto; font-size:12px; line-height:1.6; white-space:nowrap; }
#checkout-dialog .coin-options-body>p:not(.coin-earning) { margin:0; font-size:13px; line-height:1.8; }
#checkout-dialog .coin-checkout .text-button { min-height:44px; font-size:13px; }
#checkout-dialog .wallet-checkout { --funding-surface:#eaf8f5; --funding-ink:#18584d; --funding-line:#c9e5de; --funding-selected:#ddf3ed; --funding-active-line:#287461; }
#checkout-dialog .wallet-icon { width:20px; height:20px; flex:none; }
#checkout-dialog .wallet-options-body { padding:0 12px 10px; }
#checkout-dialog .wallet-use { min-height:44px; font-size:13px; }
#checkout-dialog .wallet-use input { accent-color:#287461; }
#checkout-dialog .wallet-split { margin:4px 0 8px; gap:6px; font-size:13px; }
#checkout-dialog .wallet-use small,#checkout-dialog .wallet-split dt { color:#35645b; }
#checkout-dialog .wallet-options-body>p { margin:0; color:#35645b; font-size:13px; line-height:1.8; }
#checkout-dialog .wallet-options-body>.wallet-error { color:#9b243d; }
#checkout-dialog .wallet-options-body .text-button { min-height:44px; color:#18584d; font-size:13px; }
#checkout-dialog .checkout-footer { flex:none; padding:16px 24px max(16px,env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -5px 18px #4c2d6710; }
#checkout-dialog .checkout-pay-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.65fr); align-items:center; gap:12px; }
#checkout-dialog .quote-price { display:block; margin:0; font-size:12px; color:#705b82; }
#checkout-dialog .quote-price>div { color:#282036; font-size:12px; white-space:nowrap; }
#checkout-dialog .quote-price b { font-size:22px; line-height:1.55; font-variant-numeric:tabular-nums; }
#checkout-dialog .checkout-pay-row .button { width:100%; min-height:52px; margin:0; padding:10px 12px; font-size:14px; line-height:1.7; }
#checkout-dialog #quote-bank-due { margin:9px 0 0; color:#246452; font-size:13px; line-height:1.7; }
#checkout-dialog #quote-bank-due strong { font-variant-numeric:tabular-nums; }
#checkout-dialog #quote-bank-due[hidden] { display:none; }
#checkout-dialog #checkout-error { min-height:0; margin:8px 0 0; font-size:13px; }
#checkout-dialog #checkout-error:empty { display:none; }
#checkout-dialog .demo-note { padding:0; margin:9px 0 0; background:none; color:#705b82; font-size:12px; line-height:1.8; text-align:center; }
#checkout-dialog :is(summary,input,button,a):focus-visible { outline:2px solid #8051bd; outline-offset:3px; }
#checkout-dialog ::selection { background:#e4d5f6; color:#3e215c; }
.checkout-sr { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%); white-space:nowrap!important; border:0!important; }
@media(max-width:360px) {
 #checkout-dialog .checkout-header { padding:20px 18px 12px; padding-inline-end:68px; }
 #checkout-dialog .checkout-body { padding-inline:18px; }
 #checkout-dialog .checkout-footer { padding-inline:18px; }
 #checkout-dialog .quote-stats { padding:11px 6px; gap:4px; }
 #checkout-dialog .quote-stats dd { font-size:13px; }
 #checkout-dialog .checkout-pay-row { gap:8px; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
 #checkout-dialog .quote-price b { font-size:20px; }
 #checkout-dialog .checkout-pay-row .button { font-size:13px; padding-inline:8px; }
 #checkout-dialog .checkout-disclosure>summary { gap:7px; padding-inline:10px; font-size:13px; }
 #checkout-dialog .coin-use { flex-wrap:wrap; column-gap:7px; }
}
@media(max-height:500px) {
 #checkout-dialog .checkout-header { padding-block:13px 9px; }
 #checkout-dialog .dialog-close { top:12px; }
 #checkout-dialog .checkout-footer { padding-block:12px; }
}
