/* Bonus surfaces inherit ecosystem roles and retain control floors. */
.sv-bonuses { font-size:max(1rem,16px); line-height:var(--savvy-line-height-body,1.6); overflow-wrap:anywhere; }
.sv-bonuses *, .sv-bonuses *::before, .sv-bonuses *::after { box-sizing:border-box; }
/* This neutral panel is intentionally fixed across host colour schemes. */
.savvy-vault-portal .sv-bonuses { background:#FFFFFF; color:#111827; padding:var(--savvy-space-4,1rem); }
.savvy-vault-portal .sv-bonuses p, .savvy-vault-portal .sv-bonuses label, .savvy-vault-portal .sv-bonuses h2, .savvy-vault-portal .sv-bonuses h3, .savvy-vault-portal .sv-bonuses h4, .savvy-vault-portal .sv-bonuses summary, .savvy-vault-portal .sv-bonuses__terms { color:inherit; }
.savvy-vault-portal .sv-bonuses button.savvy-vault-portal__btn { background:#1E3A8A; color:#FFFFFF; }
.savvy-vault-portal .sv-bonuses input:not([type=checkbox]):not([type=hidden]) { background:#FFFFFF; color:#111827; }
.sv-bonuses label, .sv-bonuses p, .sv-bonuses li, .sv-bonuses a, .sv-bonuses input, .sv-bonuses select, .sv-bonuses textarea, .sv-bonuses button, .sv-bonuses summary { font-size:max(1rem,16px); }
.sv-bonuses label { display:block; margin-block:var(--savvy-space-4,1rem); }
.sv-bonuses input:not([type=checkbox]):not([type=hidden]), .sv-bonuses select, .sv-bonuses textarea { display:block; max-width:100%; width:100%; min-height:44px; padding:var(--savvy-space-2,.5rem); border:var(--af-border-width-control,1px) solid var(--af-color-border-control,#6B7280); }
.sv-bonuses button, .sv-bonuses summary, .sv-bonuses__accept, .sv-bonuses a { min-height:44px; padding:var(--savvy-space-2,.5rem); }
.sv-bonuses a { display:inline-block; }
.sv-bonuses__accept { display:flex; align-items:center; gap:var(--savvy-space-3,.75rem); }
.sv-bonuses__accept input { width:24px; height:24px; flex:none; }
.sv-bonuses__option, .sv-bonuses__batch { border-block-start:1px solid var(--savvy-portal-border,var(--af-color-neutral-200,#E5E7EB)); padding-block:var(--savvy-space-4,1rem); }
.sv-bonuses__terms { padding:var(--savvy-space-4,1rem); }
.sv-bonuses :focus-visible { outline:2px solid var(--af-color-focus-ring-fixed-inner,#0F172A); outline-offset:2px; box-shadow:0 0 0 6px var(--af-color-focus-ring-fixed-outer,#FFFFFF); }
.wp-core-ui .wrap.sv-bonuses input[type=datetime-local]:focus-within { outline:2px solid var(--af-color-focus-ring-fixed-inner,#0F172A); outline-offset:2px; box-shadow:0 0 0 6px var(--af-color-focus-ring-fixed-outer,#FFFFFF); }
.wrap.sv-bonuses { background:var(--savvy-bonus-surface,#FFFFFF); color:var(--savvy-bonus-text,#111827); padding:var(--savvy-space-4,1rem); margin:0; }
.wrap.sv-bonuses h1, .wrap.sv-bonuses h2, .wrap.sv-bonuses h3, .wrap.sv-bonuses h4 { color:inherit; }
.wrap.sv-bonuses h1 { font-size:var(--savvy-text-2xl,1.5rem); line-height:var(--savvy-leading-2xl,1.4); }
.wrap.sv-bonuses h2 { font-size:var(--savvy-text-xl,1.25rem); line-height:var(--savvy-leading-xl,1.5); }
.wrap.sv-bonuses h3 { font-size:var(--savvy-text-lg,1.125rem); }
.wrap.sv-bonuses a { color:var(--savvy-bonus-link,#1E3A8A); transition:none; }
.wrap.sv-bonuses input:not([type=checkbox]):not([type=hidden]), .wrap.sv-bonuses select, .wrap.sv-bonuses textarea { background:#FFFFFF; color:#111827; }
.wrap.sv-bonuses .button { background:#FFFFFF; color:#1E3A8A; border-color:var(--af-color-border-control,#6B7280); margin-block:var(--savvy-space-2,.5rem); }
.wrap.sv-bonuses .button { font-size:max(1rem,16px); min-height:44px; }
.wrap.sv-bonuses .button-primary { background:#1E3A8A; color:var(--af-color-on-brand-primary,#FFFFFF); }
.wrap.sv-bonuses .button:focus-visible, .wrap.sv-bonuses .button.button-primary:focus-visible { outline:2px solid var(--af-color-focus-ring-fixed-inner,#0F172A); outline-offset:2px; box-shadow:0 0 0 6px var(--af-color-focus-ring-fixed-outer,#FFFFFF); }
.wp-core-ui .wrap.sv-bonuses input:focus-visible, .wp-core-ui .wrap.sv-bonuses select:focus-visible, .wp-core-ui .wrap.sv-bonuses textarea:focus-visible,
.savvy-vault-portal .sv-bonuses input:focus-visible, .savvy-vault-portal .sv-bonuses button:focus-visible, .savvy-vault-portal .sv-bonuses summary:focus-visible { outline:2px solid var(--af-color-focus-ring-fixed-inner,#0F172A); outline-offset:2px; box-shadow:0 0 0 6px var(--af-color-focus-ring-fixed-outer,#FFFFFF); }
@media (prefers-color-scheme:dark) {
 .wrap.sv-bonuses { --savvy-bonus-surface:#0A0F1E; --savvy-bonus-text:#F4F4F5; --savvy-bonus-link:#60A5FA; }
}
