/* Phase 1.12.1: local checkout changes; shared STIPE UI v1 stays unchanged. */
#stcv2 .term-savings { display:block; color:var(--st-success); font-size:var(--st-text-xs); line-height:1.5; margin-top:var(--st-space-2); letter-spacing:0; font-weight:500; }
#stcv2 .plan [data-plan-savings] { margin:0 0 var(--st-space-4); }
#stcv2 .pricing-billing button small { display:block; font-size:11px; }
#stcv2 .pricing-billing button { line-height:1.5; }
#stcv2 .review-total > strong { white-space:nowrap; }
#stcv2 .billing-options button span { color:var(--st-success); font-size:var(--st-text-xs); }
#stcv2 .checkout-create-note { margin:var(--st-space-5) 0; }
#stcv2 .checkout-create-note a { color:var(--st-orange); text-decoration:underline; }
#stcv2 #quote-status:empty { display:none; }
#stcv2 .checkout-dialog { margin:auto; position:fixed; inset:0; width:min(600px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:var(--st-space-6); border-color:var(--st-control-line); background:var(--st-surface); color:var(--st-text); font:var(--st-text-base)/1.6 var(--st-font); }
#stcv2 .checkout-dialog[open] { animation:stcv2-dialog-enter 160ms ease-out; }
#stcv2 .checkout-dialog::backdrop { background:var(--st-backdrop); }
#stcv2 #stcv2-payment-dialog { width:min(760px,calc(100vw - 32px)); }
#stcv2 #stcv2-creating-dialog { width:min(400px,calc(100vw - 32px)); text-align:center; }
#stcv2 .checkout-creating-icon { margin:0 auto var(--st-space-4); }
#stcv2 #stcv2-creating-title { font-size:20px; line-height:1.4; outline:none; }
#stcv2 .checkout-creating-progress { max-width:240px; margin:var(--st-space-5) auto 0; }
#stcv2 .checkout-dialog-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--st-space-4); }
#stcv2 .checkout-dialog h2 { margin:0; font-size:clamp(20px,2.2vw,24px); letter-spacing:-.03em; line-height:1.2; }
#stcv2 .checkout-dialog-intro { margin-top:var(--st-space-2); color:var(--st-muted); }
#stcv2 .checkout-dialog-summary { margin:var(--st-space-5) 0; padding:var(--st-space-4); background:var(--st-surface-raised); border:1px solid var(--st-line); border-radius:var(--st-radius); }
#stcv2 .checkout-dialog-summary ul { margin:0 0 var(--st-space-4); padding-left:20px; }
#stcv2 .checkout-dialog-summary li + li { margin-top:var(--st-space-2); }
#stcv2 .checkout-dialog-summary > p { color:var(--st-muted); font-size:var(--st-text-xs); margin-bottom:var(--st-space-2); }
#stcv2 .checkout-dialog-total { display:flex; justify-content:space-between; align-items:baseline; gap:var(--st-space-4); flex-wrap:wrap; }
#stcv2 .checkout-dialog-total strong { color:var(--st-orange); font-size:24px; font-variant-numeric:tabular-nums; }
#stcv2 .checkout-dialog-total small { color:var(--st-muted); font-size:var(--st-text-xs); }
#stcv2 .checkout-dialog-warning { border-left:3px solid var(--st-warning); padding:var(--st-space-3) var(--st-space-4); background:var(--st-warning-bg); color:var(--st-warning); border-radius:var(--st-radius-sm); }
#stcv2 .checkout-dialog-note { color:var(--st-muted); font-size:var(--st-text-xs); margin-top:var(--st-space-3); line-height:1.6; }
#stcv2 .checkout-dialog-actions,#stcv2 .checkout-dialog-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--st-space-3); margin-top:var(--st-space-5); }
#stcv2 .checkout-dialog-footer { border-top:1px solid var(--st-line); padding-top:var(--st-space-4); }
#stcv2 .checkout-dialog .st-btn { font-size:var(--st-text-base); line-height:1.4; min-height:var(--st-control-size); text-decoration:none; }
#stcv2 .checkout-dialog .st-btn--primary { color:var(--st-orange-ink); }
#stcv2 .checkout-dialog .st-btn--quiet { color:var(--st-orange); }
#stcv2 .checkout-payment-tools { display:flex; gap:var(--st-space-2); flex-wrap:wrap; margin-top:var(--st-space-4); }
#stcv2 .checkout-payment-content { margin-top:var(--st-space-5); padding:var(--st-space-4); border:1px solid var(--st-line); border-radius:var(--st-radius); background:var(--st-surface-raised); min-width:0; overflow-wrap:anywhere; }
#stcv2 .checkout-payment-content[aria-busy=true] { opacity:.65; }
#stcv2 .checkout-payment-content > div[style] { height:auto!important; min-height:0!important; }
#stcv2 .checkout-payment-loading { display:flex; align-items:center; gap:var(--st-space-3); padding:var(--st-space-4) 0; color:var(--st-muted); }
#stcv2 .checkout-spinner { width:18px; height:18px; border:2px solid var(--st-line); border-top-color:var(--st-orange); border-radius:50%; animation:stcv2-payment-spin 800ms linear infinite; }
/* Preserve the legacy forms, field names and payment handlers while styling
   only the billing response inside this modal. */
#stcv2 .checkout-payment-content table { width:100%!important; max-width:100%; background:transparent!important; border-collapse:collapse; margin-bottom:var(--st-space-4); }
#stcv2 .checkout-payment-content tr,#stcv2 .checkout-payment-content td,#stcv2 .checkout-payment-content th { background:transparent!important; color:var(--st-text)!important; border:0; font-family:var(--st-font)!important; }
#stcv2 .checkout-payment-content td,#stcv2 .checkout-payment-content th { padding:var(--st-space-3) var(--st-space-2); border-bottom:1px solid var(--st-line); font-size:var(--st-text-base); }
#stcv2 .checkout-payment-content input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=image]),#stcv2 .checkout-payment-content select { width:100%!important; min-width:0; max-width:100%; min-height:var(--st-control-size); padding:8px 10px!important; border:1px solid var(--st-control-line)!important; border-radius:var(--st-radius-sm); background:var(--st-input)!important; color:var(--st-text)!important; font:inherit!important; }
#stcv2 .checkout-payment-content .btn,#stcv2 .checkout-payment-content .btn-u,#stcv2 .checkout-payment-content button,#stcv2 .checkout-payment-content input[type=submit],#stcv2 .checkout-payment-content a[onclick] { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; min-height:44px; margin:4px; padding:12px 16px!important; border:1px solid var(--st-control-line)!important; border-radius:var(--st-radius)!important; background:var(--st-surface)!important; color:var(--st-text)!important; text-decoration:none; text-shadow:none!important; font:500 var(--st-text-base)/1.5 var(--st-font)!important; box-shadow:none!important; cursor:pointer; max-width:100%; white-space:normal; }
#stcv2 .checkout-payment-content .btn:hover,#stcv2 .checkout-payment-content .btn-u:hover,#stcv2 .checkout-payment-content button:hover,#stcv2 .checkout-payment-content input[type=submit]:hover,#stcv2 .checkout-payment-content a[onclick]:hover { border-color:var(--st-orange)!important; background:var(--st-orange-soft)!important; }
#stcv2 .checkout-payment-content .btn-u { display:inline-block; min-width:150px; vertical-align:top; text-align:center; }
#stcv2 .checkout-payment-content a { color:var(--st-orange); }
#stcv2 .checkout-payment-content img,#stcv2 .checkout-payment-content iframe { max-width:100%; }
#stcv2 .checkout-payment-content .st-notice { margin:0; }
@keyframes stcv2-dialog-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@keyframes stcv2-payment-spin { to { transform:rotate(360deg); } }
@media(max-width:540px) {
  #stcv2 .checkout-dialog { padding:var(--st-space-4); }
  #stcv2 .checkout-dialog-actions > .st-btn,#stcv2 .checkout-dialog-footer > .st-btn { flex:1 1 auto; }
  #stcv2 .checkout-payment-content { padding:var(--st-space-2); }
  #stcv2 .checkout-payment-content td { display:block; width:100%!important; }
  #stcv2 .checkout-payment-content .btn,#stcv2 .checkout-payment-content .btn-u,#stcv2 .checkout-payment-content a[onclick] { width:calc(100% - 8px)!important; }
  #stcv2 .review-total { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { #stcv2 .checkout-dialog[open],#stcv2 .checkout-spinner { animation:none; } }

/* Bank instructions stay within the payment dialog; billing forms are preserved. */
#stcv2 #stcv2-payment-dialog[data-payment-view=bank] #stcv2-payment-summary,#stcv2 #stcv2-payment-dialog[data-payment-view=bank] #stcv2-payment-balance-note { display:none; }
#stcv2 .checkout-bank-view { margin-top:var(--st-space-5); padding:var(--st-space-4); border:1px solid var(--st-line); border-radius:var(--st-radius); background:var(--st-surface-raised); }
#stcv2 .checkout-bank-view h3 { margin:var(--st-space-4) 0 0; font:600 18px/1.4 var(--st-font); color:var(--st-text); }
#stcv2 .checkout-bank-details { margin:var(--st-space-4) 0; }
#stcv2 .checkout-bank-details > div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:var(--st-space-3); padding:var(--st-space-3) 0; border-bottom:1px solid var(--st-line); }
#stcv2 .checkout-bank-details dt { color:var(--st-muted); font-weight:400; }
#stcv2 .checkout-bank-details dd { margin:0; min-width:0; max-width:none; color:var(--st-text); font-weight:600; text-align:left; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; user-select:all; }
#stcv2 .checkout-bank-reference { color:var(--st-orange); font-size:var(--st-text-xs); }
#stcv2 .checkout-bank-next { margin-top:var(--st-space-5); }
#stcv2 .checkout-bank-next h4 { font:600 14px/1.4 var(--st-font); color:var(--st-text); margin:0 0 var(--st-space-2); }
#stcv2 .checkout-bank-next p { color:var(--st-muted); font-size:var(--st-text-xs); margin-bottom:var(--st-space-4); }
@media(max-width:540px) {
  #stcv2 .checkout-bank-view { padding:var(--st-space-3); }
  #stcv2 .checkout-bank-details > div { grid-template-columns:1fr; gap:4px; }
  #stcv2 .checkout-bank-view .st-btn { max-width:100%; white-space:normal; }
}

/* Illustrated create/created states share the existing STIPE feature-art style. */
#stcv2 .checkout-server-art{display:block;flex:0 0 64px;width:64px;height:64px}
#stcv2 .checkout-server-art img,#stcv2 .success-icon img{display:block;width:100%;height:100%;object-fit:contain}
#stcv2 .success-icon{background:none;line-height:0}
