/* bubbas 0.4.0 — versioned foundations; original artwork remains unchanged. */
:root {
  --bubba-color-brand-blue: #007CE8;
  --bubba-color-action: #CC0000;
  --bubba-color-action-hover: #A80000;
  --bubba-color-heading: #03256C;
  --bubba-color-ink: #131B23;
  --bubba-color-muted: #526075;
  --bubba-color-line: #D9E8FB;
  --bubba-color-border: #637086;
  --bubba-color-surface: #FFFFFF;
  --bubba-color-dark: #171717;
  --bubba-color-on-dark-muted: #B4B4B4;
  --bubba-color-accent: #FED766;
  --bubba-color-focus: #03256C;
  --bubba-color-success: #23633F;
  --bubba-color-warning: #805500;
  --bubba-color-error: #B42318;
  --bubba-color-on-brand: #000000;
  --bubba-color-surface-subtle: #F6F7F9;
  --bubba-color-border-subtle: #E4E6EA;
  --bubba-space-1: 4px;
  --bubba-space-2: 8px;
  --bubba-space-3: 12px;
  --bubba-space-4: 16px;
  --bubba-space-6: 24px;
  --bubba-space-8: 32px;
  --bubba-space-12: 48px;
  --bubba-space-16: 64px;
  --bubba-radius-control: 4px;
  --bubba-radius-panel: 12px;
  --bubba-font-body: "Montserrat", Arial, sans-serif;
  --bubba-font-display: "Eurostile Extd Black Italic", Arial Black, sans-serif;
  --bubba-type-display-mobile: 32px;
  --bubba-type-display-desktop: 56px;
  --bubba-type-page-title-mobile: 28px;
  --bubba-type-page-title-desktop: 40px;
  --bubba-type-section-title-mobile: 24px;
  --bubba-type-section-title-desktop: 28px;
  --bubba-type-body-mobile: 16px;
  --bubba-type-body-desktop: 18px;
  --bubba-type-action-label-mobile: 16px;
  --bubba-type-action-label-desktop: 16px;
  --bubba-type-supporting-mobile: 14px;
  --bubba-type-supporting-desktop: 14px;
  --bubba-type-display-weight: 400;
  --bubba-type-display-line-height: 1.15;
  --bubba-effect-campaign-blue: linear-gradient(120deg, #03256C 0%, #007CE8 100%);
  --bubba-effect-action-red: linear-gradient(180deg, #CC0000 0%, #A80000 100%);
  --bubba-shadow-action: 0 3px 8px #CC000024;
  --bubba-shadow-panel: 0 2px 12px #131B2308;
  --bubba-motion-feedback: 140ms;
  --bubba-target-minimum: 44px;
  --bubba-target-default: 48px;
  --bubba-focus-width: 3px;
}

:root, [data-bubba-theme="light"] {
  color-scheme: light;
  --bubba-ui-canvas: #F7F8FA;
  --bubba-ui-surface: #FFFFFF;
  --bubba-ui-raised: #FFFFFF;
  --bubba-ui-hover: #F6F7F9;
  --bubba-ui-selected: #ECEEF1;
  --bubba-ui-text: #131B23;
  --bubba-ui-heading: #03256C;
  --bubba-ui-muted: #526075;
  --bubba-ui-line: #E4E6EA;
  --bubba-ui-border: #637086;
  --bubba-ui-link: #03256C;
  --bubba-ui-link-hover: #A80000;
  --bubba-ui-focus: #03256C;
  --bubba-ui-focus-inner: #FFFFFF;
  --bubba-ui-accent: #CC0000;
  --bubba-ui-action-text: #FFFFFF;
  --bubba-ui-action-border: #A80000;
  --bubba-ui-disabled-surface: #F0F2F5;
  --bubba-ui-disabled-text: #6B727E;
  --bubba-ui-info: #03256C;
  --bubba-ui-info-surface: #F1F5FC;
  --bubba-ui-info-border: #03256C;
  --bubba-ui-success: #23633F;
  --bubba-ui-success-surface: #EAF5EF;
  --bubba-ui-success-border: #23633F;
  --bubba-ui-warning: #805500;
  --bubba-ui-warning-surface: #FFF4D6;
  --bubba-ui-warning-border: #805500;
  --bubba-ui-error: #B42318;
  --bubba-ui-error-surface: #FFF0EF;
  --bubba-ui-error-border: #B42318;
  --bubba-ui-code-surface: #171717;
  --bubba-ui-code-text: #FFFFFF;
  --bubba-ui-code-muted: #B4B4B4;
  --bubba-ui-selection: #D9E8FB;
  --bubba-ui-selection-text: #131B23;
  --bubba-ui-scrollbar: #637086;
  --bubba-ui-scrollbar-track: #F7F8FA;
  --bubba-ui-shadow-action: 0 3px 8px #CC000024;
  --bubba-ui-shadow-panel: 0 2px 12px #131B2308;
  --bubba-ui-shadow-dialog: 0 20px 100px #00133345;
  --bubba-ui-content: #131B23;
  --bubba-ui-primary: #CC0000;
  --bubba-ui-primary-hover: #A80000;
  --bubba-ui-on-primary: #FFFFFF;
  --bubba-ui-overlay: #001333;
}

[data-bubba-theme="dark"] {
  color-scheme: dark;
  --bubba-ui-canvas: #171717;
  --bubba-ui-surface: #202020;
  --bubba-ui-raised: #292929;
  --bubba-ui-hover: #303030;
  --bubba-ui-selected: #383838;
  --bubba-ui-text: #FFFFFF;
  --bubba-ui-heading: #FFFFFF;
  --bubba-ui-muted: #B4B4B4;
  --bubba-ui-line: #3D3D3D;
  --bubba-ui-border: #858585;
  --bubba-ui-link: #8DC7FF;
  --bubba-ui-link-hover: #B8DEFF;
  --bubba-ui-focus: #FFFFFF;
  --bubba-ui-focus-inner: #202020;
  --bubba-ui-accent: #FF9F99;
  --bubba-ui-action-text: #FFFFFF;
  --bubba-ui-action-border: #EF817A;
  --bubba-ui-disabled-surface: #242424;
  --bubba-ui-disabled-text: #9A9A9A;
  --bubba-ui-info: #8DC7FF;
  --bubba-ui-info-surface: #1D2D3D;
  --bubba-ui-info-border: #8DC7FF;
  --bubba-ui-success: #8DDBA9;
  --bubba-ui-success-surface: #183323;
  --bubba-ui-success-border: #8DDBA9;
  --bubba-ui-warning: #FED766;
  --bubba-ui-warning-surface: #3A2E12;
  --bubba-ui-warning-border: #FED766;
  --bubba-ui-error: #FFAEA8;
  --bubba-ui-error-surface: #3D2020;
  --bubba-ui-error-border: #FFAEA8;
  --bubba-ui-code-surface: #171717;
  --bubba-ui-code-text: #FFFFFF;
  --bubba-ui-code-muted: #B4B4B4;
  --bubba-ui-selection: #383838;
  --bubba-ui-selection-text: #FFFFFF;
  --bubba-ui-scrollbar: #858585;
  --bubba-ui-scrollbar-track: #171717;
  --bubba-ui-shadow-action: 0 3px 8px #00000040;
  --bubba-ui-shadow-panel: 0 2px 12px #00000020;
  --bubba-ui-shadow-dialog: 0 20px 100px #00000080;
  --bubba-ui-content: #FFFFFF;
  --bubba-ui-primary: #CC0000;
  --bubba-ui-primary-hover: #A80000;
  --bubba-ui-on-primary: #FFFFFF;
  --bubba-ui-overlay: #000000;
}

@media (prefers-reduced-motion: reduce) {
  :root { --bubba-motion-feedback: 0ms; }
}
/* Bubba web section recipes 1.0.0 — semantic HTML, no artwork or font binary. */
.bubba-section { padding: clamp(32px, 6vw, 64px) max(16px, calc((100% - 1200px) / 2)); background: var(--bubba-ui-surface); color: var(--bubba-ui-text); font-family: var(--bubba-font-body); }
.bubba-content { width: 100%; max-width: 720px; margin-inline: auto; overflow-wrap: anywhere; }
.bubba-content > :first-child { margin-top: 0; }
.bubba-content > :last-child { margin-bottom: 0; }
.bubba-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 24px; }
:where(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer) .bubba-button:not(.bubba-button-primary):not(.bubba-button-secondary):not(.bubba-button-quiet) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; max-width: 100%; box-sizing: border-box; padding: 12px 20px; border: 1px solid var(--bubba-ui-action-border); border-radius: var(--bubba-radius-control); background: var(--bubba-color-action); color: var(--bubba-ui-on-primary); font: 700 16px/1.4 var(--bubba-font-body); text-align: center; text-decoration: none; overflow-wrap: anywhere; cursor: pointer; }
:where(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer) .bubba-button:not(.bubba-button-primary):not(.bubba-button-secondary):not(.bubba-button-quiet):hover { background: var(--bubba-color-action-hover); color: #FFFFFF; }
:where(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer) .bubba-button:not(.bubba-button-primary):not(.bubba-button-secondary):not(.bubba-button-quiet):focus-visible { outline: 3px solid var(--bubba-ui-focus); outline-offset: 3px; box-shadow: 0 0 0 3px var(--bubba-ui-focus-inner); }
:where(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer) .bubba-button:not(.bubba-button-primary):not(.bubba-button-secondary):not(.bubba-button-quiet):disabled, :where(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer) .bubba-button:not(.bubba-button-primary):not(.bubba-button-secondary):not(.bubba-button-quiet)[aria-disabled="true"] { background: var(--bubba-ui-disabled-surface); color: var(--bubba-ui-disabled-text); border-color: var(--bubba-ui-border); cursor: not-allowed; }
.bubba-campaign-header, .bubba-campaign-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; padding: 24px max(16px, calc((100% - 1200px) / 2)); background: var(--bubba-ui-surface); color: var(--bubba-ui-text); font-family: var(--bubba-font-body); }
.bubba-campaign-header img, .bubba-campaign-footer img { display: block; max-width: min(100%, 240px); height: auto; }
.bubba-campaign-header nav, .bubba-campaign-footer nav { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.bubba-campaign-header nav a, .bubba-campaign-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.bubba-campaign-header a:not(.bubba-button), .bubba-campaign-footer a:not(.bubba-button) { color: var(--bubba-ui-link); text-underline-offset: 4px; }
:is(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer)[data-bubba-composition="after-dark"] { background: var(--bubba-color-dark); color: #FFFFFF; }
:is(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer)[data-bubba-composition="after-dark"] a:not(.bubba-button) { color: #8DC7FF; }
:is(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer)[data-bubba-composition="after-dark"] .bubba-button:focus-visible { outline-color: #FFFFFF; box-shadow: 0 0 0 3px #171717; }
@media (prefers-reduced-motion: reduce) { .bubba-section *, .bubba-campaign-header *, .bubba-campaign-footer * { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
:is(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer)[data-bubba-composition="after-dark"] .bubba-button-quiet:not(:disabled):not([aria-disabled="true"]) { color: #8DC7FF; }
:is(.bubba-section, .bubba-campaign-header, .bubba-campaign-footer)[data-bubba-composition="after-dark"] .bubba-button-quiet:hover:not(:disabled):not([aria-disabled="true"]) { background: #303030; color: #B8DEFF; }
