/* Scoped overrides: radio tiles and the receipt field have different layouts. */
#billingDialog { top:var(--billing-viewport-top,0px); bottom:auto; height:var(--billing-viewport-height,100dvh); box-sizing:border-box; }
#billingDialog .billing-dialog { max-height:calc(var(--billing-viewport-height,100dvh) - 24px); overscroll-behavior:contain; }
#billingDialog .billing-payment-dialog { color:var(--text,#10211d); background:var(--surface,#fff); gap:12px; }
#billingDialog .billing-payment-form { min-width:0; }
#billingDialog .billing-payment-form .billing-external-reference { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; cursor:default; background:var(--surface-strong,#f5f8f6); color:var(--text,#10211d); }
#billingDialog .billing-external-reference > span { font-size:16px; line-height:1.35; }
#billingDialog .billing-external-reference input { width:100%; min-width:0; box-sizing:border-box; font-size:16px; min-height:48px; color:var(--text,#10211d); background:var(--surface,#fff); }
#billingDialog .billing-external-reference small { color:var(--text,#10211d); font-size:13px; line-height:1.4; }
#billingDialog .billing-payment-error { color:#922c23; background:#fff0ec; border:1px solid #c45040; border-radius:8px; padding:10px; font-size:14px; overflow-wrap:anywhere; }
#billingDialog .billing-payment-error[hidden] { display:none; }
#billingDialog .billing-payment-form fieldset { grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:6px; }
#billingDialog .billing-payment-form fieldset label { padding:10px 6px; min-width:0; flex-wrap:wrap; justify-content:center; gap:5px; color:var(--text,#10211d); background:var(--surface-strong,#f5f8f6); border-color:var(--line,#cddbd4); }
#billingDialog .billing-payment-form fieldset label:has(input:checked) { background:color-mix(in srgb,var(--theme-accent,#20c997) 20%,var(--surface,#fff)); border-color:var(--theme-accent,#20c997); }
#billingDialog .billing-payment-form fieldset label span { display:none; }
#billingDialog .billing-payment-form fieldset label strong { font-size:14px; overflow-wrap:anywhere; }
#billingDialog .billing-payment-actions button { white-space:normal; min-height:44px; }
.service-table-select { -webkit-touch-callout:none; user-select:none; }
/* One scroll container, no shrinking grid rows or footer covering form fields. */
#billingDialog { display:flex; align-items:center; justify-content:center; overflow:hidden; }
#billingDialog .billing-dialog { display:block; min-height:0; margin:0; overflow:auto; }
#billingDialog .billing-dialog > * + * { margin-top:12px; }
#billingDialog .billing-title-row { align-items:start; }
#billingDialog .billing-title-row h3 { font-size:22px; line-height:1.25; }
#billingDialog .billing-title-row .eyebrow { font-size:12px; margin:0 0 4px; }
#billingDialog .billing-title-row .meta { font-size:13px; line-height:1.4; }
#billingDialog .billing-checkout-bar { position:static; margin-bottom:0; }
#billingDialog .billing-optional { border:1px solid var(--line); border-radius:10px; padding:10px; }
#billingDialog .billing-optional summary { cursor:pointer; font-size:14px; font-weight:700; min-height:24px; }
#billingDialog .billing-optional[open] summary { margin-bottom:10px; }
#billingDialog :is(.billing-person-summary,.billing-person-summary > div > div,.billing-group > header,.billing-line,.billing-table-discount,.billing-person-discount,.billing-person-actions,.billing-adjustment-form,.billing-applied-discount,.billing-discount-share) { background:var(--surface-strong); color:var(--text); border-color:var(--line); }
#billingDialog :is(.billing-person-summary,.billing-group,.billing-table-discount,.billing-person-discount,.billing-adjustment-form,.billing-applied-discount) :is(strong,small,h4,label,span) { color:var(--text); }
#billingDialog :is(.billing-price-field,.billing-table-discount,.billing-person-discount,.billing-adjustment-form,.billing-discount-edit) :is(input,select) { background:var(--surface); color:var(--text); border-color:var(--line); }
#billingDialog .billing-person-summary > div > div { gap:10px; }
@media (max-width:700px) {
  #billingDialog { padding:6px; }
  #billingDialog .billing-dialog { max-height:calc(var(--billing-viewport-height,100dvh) - 12px); }
  #billingDialog .billing-payment-dialog { padding:12px; }
  #billingDialog .billing-payment-dialog .billing-title-row h3 { font-size:22px; }
  #billingDialog .billing-payment-dialog .billing-title-row .meta { font-size:12px; line-height:1.35; margin:6px 0; }
  #billingDialog .billing-payment-dialog .billing-grand-total { padding:8px 10px; }
  #billingDialog .billing-payment-dialog .billing-grand-total strong { font-size:24px; }
}
