/* Opt-in primitives only. The validated site.css remains the fallback.
   BbaInter is the self-hosted Inter font, registered by product-footer.css. */
body.bba-ui {
  --bba-purple: #6f3bf5;
  --bba-hover: #5926d6;
  --bba-deep: #281348;
  --bba-ink: #211a2d;
  --bba-muted: #62596f;
  --bba-bg: #f5f1fb;
  --bba-tint: #ede5fa;
  --bba-border: #e6e2ed;
  --bba-shadow: 0 12px 32px #2813480c;
  --ink: var(--bba-ink);
  --soft-ink: var(--bba-deep);
  --muted: var(--bba-muted);
  --paper: #fff;
  --cream: var(--bba-bg);
  --gold: var(--bba-purple);
  --gold-light: #c4a9ff;
  --line: var(--bba-border);
  --shell: min(1200px, calc(100% - 80px));
  color: var(--bba-ink);
  background: var(--bba-bg);
  font: 400 16px/1.5 BbaInter, Arial, sans-serif;
}
body.bba-ui :is(h1, h2, h3, h4, h5, h6, input, select, textarea, button) { font-family: BbaInter, Arial, sans-serif; }
body.bba-ui :is(h1, h2, h3) { color: var(--bba-deep); font-weight: 600; line-height: 1.2; letter-spacing: -.025em; overflow-wrap: anywhere; }
body.bba-ui h1 { font-size: 40px; }
body.bba-ui h2 { font-size: 28px; }
body.bba-ui h3 { font-size: 20px; }
body.bba-ui .button { min-height: 48px; padding: 12px 20px; border: 1px solid var(--bba-purple); border-radius: 10px; color: #fff; background: var(--bba-purple); font: 600 14px/1.5 BbaInter, Arial, sans-serif; letter-spacing: 0; box-shadow: none; transform: none; white-space: normal; text-align: center; }
body.bba-ui .button:hover { background: var(--bba-hover); border-color: var(--bba-hover); transform: none; }
body.bba-ui .button-secondary { background: #fff; color: var(--bba-hover); border-color: #d8cbe9; }
body.bba-ui .button-secondary:hover { background: var(--bba-tint); color: var(--bba-hover); border-color: #c4a9ff; }
body.bba-ui :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]) { min-height: 48px; max-width: 100%; padding: 11px 14px; border: 1px solid #d8d1e2; border-radius: 10px; background: #fff; color: var(--bba-ink); font-size: 16px; line-height: 1.5; box-shadow: none; }
body.bba-ui :is(input[type="checkbox"], input[type="radio"]) { width: 18px; height: 18px; min-height: 0 !important; flex: 0 0 18px; accent-color: var(--bba-purple); }
body.bba-ui :is(input, select, textarea):focus { border-color: var(--bba-purple); outline: 3px solid #c4a9ff; outline-offset: 2px; }
body.bba-ui :is(a, button, summary):focus-visible { outline: 3px solid #c4a9ff; outline-offset: 3px; }
body.bba-ui :is(.eyebrow, .form-kicker) { color: var(--bba-hover); font: 600 12px/1.5 BbaInter, Arial, sans-serif; letter-spacing: .08em; }
body.bba-ui .site-header .brand { color: var(--bba-deep); font-family: BbaInter, Arial, sans-serif; }
body.bba-ui .site-header .brand strong { color: var(--bba-deep); }
body.bba-ui .site-header .brand-mark { font-family: BbaInter, Arial, sans-serif; }
body.bba-ui :is(.flash, .empty-note) { font-size: 14px; line-height: 1.5; border-radius: 10px; }
body.bba-ui .status-pill { border-radius: 999px; font-size: 12px; line-height: 1.4; }
@media (max-width: 800px) {
  body.bba-ui { --shell: calc(100% - 48px); }
  body.bba-ui h1 { font-size: 32px; }
  body.bba-ui h2 { font-size: 24px; }
}
