.beesimple-topup-form{position:relative;width:100%;padding:calc(var(--bsc-card-padding) + 2px);border:1px solid var(--bsc-border);border-radius:var(--bsc-card-radius);background:var(--bsc-soft);box-shadow:var(--bsc-shadow);color:var(--bsc-text)}
.beesimple-topup-form label,.beesimple-topup-form label>span{display:block;color:var(--bsc-text);font-size:14px;font-weight:700;margin-bottom:8px}
.beesimple-topup-form input,.beesimple-topup-form select,.beesimple-topup-form .bsc-location-trigger{width:100%;min-height:var(--bsc-field-height);border:1px solid var(--bsc-field-border);border-radius:var(--bsc-field-radius);background:var(--bsc-surface);color:var(--bsc-text);font-size:var(--bsc-font-size);padding:12px 14px;line-height:1.35}
.beesimple-topup-form :is(input,select,.bsc-location-trigger):focus{border-color:var(--bsc-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--bsc-focus) 12%,transparent)}
.beesimple-topup-form select:disabled{color:var(--bsc-muted);background:var(--bsc-soft);cursor:not-allowed}
.bsc-topup-selectors,.bsc-topup-bottom{display:flex;gap:var(--bsc-gap);align-items:flex-end;margin-top:18px}.bsc-topup-bottom{align-items:stretch}
.bsc-location-picker,.bsc-package-picker{flex:1;min-width:0;position:relative}
.beesimple-topup-form .bsc-location-trigger{display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;padding:10px 14px;font-weight:400}
.bsc-location-trigger span:first-of-type{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsc-location-trigger img,.bsc-location-option img{width:34px;height:24px;object-fit:cover;border-radius:7px;flex-shrink:0}
.bsc-location-menu{position:absolute;z-index:30;top:calc(100% + 8px);left:0;right:0;background:var(--bsc-surface);border:1px solid var(--bsc-field-border);border-radius:14px;padding:10px;max-height:360px;overflow:auto;box-shadow:var(--bsc-shadow)}
.bsc-location-menu>input[type=search]{position:sticky;top:0;z-index:2;min-height:42px;font-size:14px;margin-bottom:8px}
.bsc-location-group+.bsc-location-group{margin-top:10px}.bsc-location-group-title{color:var(--bsc-muted);font-size:11px;font-weight:800;padding:8px 8px 6px;text-transform:uppercase}
.beesimple-topup-form .bsc-location-option{display:flex;align-items:center;gap:10px;background:var(--bsc-surface);color:var(--bsc-text);border:1px solid var(--bsc-border);width:100%;min-height:44px;padding:9px 10px;text-align:left;font-weight:500;border-radius:var(--bsc-field-radius);box-shadow:var(--bsc-shadow)}
.bsc-location-option+.bsc-location-option{margin-top:8px}.beesimple-topup-form .bsc-location-option:hover{background:var(--bsc-notice-bg);color:var(--bsc-focus);border-color:var(--bsc-focus)}
.bsc-topup-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;align-items:center;flex:1;gap:12px;background:var(--bsc-surface);border:1px solid var(--bsc-border);border-radius:16px;padding:14px;min-height:68px}
.bsc-topup-summary>div{min-width:0}.bsc-topup-summary span,.bsc-topup-summary strong{display:block}.bsc-topup-summary span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--bsc-muted);margin-bottom:4px}.bsc-topup-summary strong{font-size:var(--bsc-font-size);color:var(--bsc-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bsc-topup-summary [data-summary=price] strong{font-size:18px;color:var(--bsc-focus)}.bsc-topup-summary .bsc-summary-empty{grid-column:1/-1;font-size:14px;text-transform:none;font-weight:400}
.beesimple-topup-form .bsc-topup-submit{min-height:68px;border-radius:var(--bsc-button-radius);padding:var(--bsc-button-padding-y) var(--bsc-button-padding-x);white-space:nowrap;flex-shrink:0}
.bsc-topup-submit:disabled{opacity:.45;cursor:not-allowed}.bsc-topup-error{margin-top:14px;font-size:14px;font-weight:700}
/* Woo's .button.alt palette must not replace this component. Elementor's saved !important overrides still win. */
.bsc-ui.beesimple-topup-form button.bsc-topup-submit{background:var(--bsc-primary);color:var(--bsc-on-primary);font-family:var(--bsc-font);font-size:var(--bsc-button-size);font-weight:var(--bsc-button-weight);border:var(--bsc-button-border) solid var(--bsc-button-border-color)}
.bsc-ui.beesimple-topup-form button.bsc-topup-submit:hover{background:var(--bsc-hover);color:var(--bsc-on-primary)}
.bsc-topup-overlay{position:absolute;inset:0;z-index:60;display:grid;place-items:center;background:color-mix(in srgb,var(--bsc-soft) 86%,transparent);backdrop-filter:blur(3px);border-radius:var(--bsc-card-radius)}
.bsc-topup-overlay>div{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid var(--bsc-border);border-radius:16px;background:var(--bsc-surface);color:var(--bsc-primary);box-shadow:var(--bsc-shadow);font-weight:800}
.bsc-topup-spinner{width:22px;height:22px;border:3px solid var(--bsc-border);border-top-color:var(--bsc-primary);border-radius:50%;animation:bsc-topup-spin .8s linear infinite}@keyframes bsc-topup-spin{to{transform:rotate(360deg)}}
@media(max-width:767px){.beesimple-topup-form{padding:16px;border-radius:14px}.bsc-topup-selectors,.bsc-topup-bottom{display:block}.bsc-location-picker{margin-bottom:14px}.bsc-topup-summary{display:block;min-height:0;margin-bottom:12px}.bsc-topup-summary>div+div{margin-top:12px}.bsc-topup-summary strong{white-space:normal}.beesimple-topup-form .bsc-topup-submit{width:100%;min-height:54px}}
/* Include disabled/focus states: Astra's Woo selectors otherwise replace the palette and padding. */
.bsc-ui.bsc-ui.beesimple-topup-form label{margin:0}
.bsc-ui.bsc-ui.beesimple-topup-form label>span{line-height:1.5}
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-package-picker select{margin:0}
.bsc-ui.bsc-ui.beesimple-topup-form select:disabled{background:var(--bsc-soft);color:#94a3b8;opacity:1}
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-location-trigger{font-family:var(--bsc-button-font)}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-topup-submit,
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-topup-submit:disabled{background:var(--bsc-primary);color:var(--bsc-on-primary);font-family:var(--bsc-button-font);font-size:var(--bsc-button-size);font-weight:var(--bsc-button-weight);line-height:1.5;padding:var(--bsc-button-padding-y) calc(var(--bsc-button-padding-x) + 10px);border:var(--bsc-button-border) solid var(--bsc-button-border-color);box-shadow:none}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-topup-submit:disabled{opacity:.45}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-topup-submit:hover:not(:disabled),
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-topup-submit:focus-visible:not(:disabled){background:var(--bsc-hover);color:var(--bsc-on-primary)}
/* Location controls are fields and list rows; keep their own roles under shared/theme button rules. */
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-location-picker>label{margin:0 0 8px;line-height:1.5}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-location-trigger,
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-location-trigger:is(:hover,:focus,:active){justify-content:space-between;background:var(--bsc-surface);color:var(--bsc-text);font-family:var(--bsc-font);font-size:var(--bsc-font-size);font-weight:400;line-height:1.35;border:1px solid var(--bsc-field-border);border-radius:var(--bsc-field-radius);box-shadow:0 1px 7px rgba(15,23,42,.12)}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-location-trigger:focus{outline:0;border-color:var(--bsc-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--bsc-focus) 12%,transparent)}
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-location-trigger>span:last-child{flex:0 0 auto;color:var(--bsc-muted);font-size:13px}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-location-option{justify-content:flex-start;font-family:var(--bsc-font);font-size:calc(var(--bsc-font-size) + 3px);font-weight:400;line-height:1.5;box-shadow:0 4px 14px rgba(15,23,42,.06)}
.bsc-ui.bsc-ui.beesimple-topup-form button.bsc-location-option:is(:hover,:focus){background:var(--bsc-notice-bg);color:var(--bsc-focus)}
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-location-menu{box-shadow:0 20px 48px rgba(15,23,42,.18)}
.bsc-ui.bsc-ui.beesimple-topup-form .bsc-location-menu>input[type=search]{min-height:42px;font-size:14px;line-height:1.35;border-radius:10px}
.bsc-ui.bsc-ui.beesimple-topup-form :is(input,select):focus{outline:0;border-color:var(--bsc-focus);box-shadow:0 0 0 4px color-mix(in srgb,var(--bsc-focus) 12%,transparent)}
