/* Shared presentation surface. Provider adapters never define customer styles. */
@font-face{font-family:'BSC Plus Jakarta Sans';src:url('fonts/plus-jakarta-sans.ttf') format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'BSC Inter';src:url('fonts/inter.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
.bsc-ui{color:var(--bsc-text);font-family:var(--bsc-font);font-size:var(--bsc-font-size);line-height:var(--bsc-line-height);text-align:left}
.bsc-ui,.bsc-ui *{box-sizing:border-box}
.bsc-ui [hidden]{display:none!important}
.bsc-ui h2{color:var(--bsc-primary);font-size:var(--bsc-heading-size);line-height:1.2}
.bsc-ui h3,.bsc-ui label,.bsc-ui dt,.bsc-ui dd{color:var(--bsc-text)}
.bsc-ui :is(button,input,select,textarea){font-family:var(--bsc-font);letter-spacing:normal;text-transform:none}
.bsc-ui :is(button,.bsc-primary){background:var(--bsc-primary);color:var(--bsc-on-primary);border:var(--bsc-button-border) solid var(--bsc-button-border-color);border-radius:var(--bsc-button-radius);font-size:var(--bsc-button-size);font-weight:var(--bsc-button-weight);line-height:1.3;min-height:46px;padding:var(--bsc-button-padding-y) var(--bsc-button-padding-x);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}
.bsc-ui :is(button,.bsc-primary):hover{background:var(--bsc-hover);color:var(--bsc-on-primary)}
.bsc-ui :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea){color:var(--bsc-text);background:var(--bsc-surface);border:1px solid var(--bsc-field-border);border-radius:var(--bsc-field-radius);min-height:var(--bsc-field-height);font-size:var(--bsc-font-size);padding:12px 14px;max-width:100%}
.bsc-ui :is(input,select,textarea):focus{border-color:var(--bsc-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--bsc-focus) 12%,transparent)}
.bsc-ui :focus-visible{outline:3px solid var(--bsc-accent);outline-offset:3px}
.bsc-ui :is(button,input,select):disabled{opacity:.6;cursor:not-allowed}
.bsc-ui .bsc-topup-error{color:var(--bsc-danger);background:var(--bsc-danger-bg);border-radius:var(--bsc-field-radius);padding:10px 12px}
.bsc-status-panel{max-width:var(--bsc-content-width);padding:var(--bsc-card-padding);border-radius:var(--bsc-card-radius);background:var(--bsc-surface)}
.bsc-status-panel form{margin-top:18px}
.bsc-status-panel label{display:block;margin-bottom:12px}
.bsc-status-panel dt{font-weight:700;margin-top:10px}
.bsc-status-panel dd{margin:2px 0 12px}
@media(prefers-reduced-motion:reduce){.bsc-ui *{scroll-behavior:auto!important}.bsc-ui .bsc-topup-spinner{animation:none}}
/* Explicit component roles beat host theme selectors without overriding saved Elementor !important styles. */
.bsc-ui.bsc-ui :is(h1,h2,h3,h4,h5,h6,label,input,select,textarea){font-family:var(--bsc-font)}
.bsc-ui.bsc-ui :is(button,.bsc-primary){font-family:var(--bsc-button-font);line-height:1.5}
.bsc-ui.bsc-ui :is(input:not([type=checkbox]):not([type=radio]),select,textarea){box-shadow:none}
