/* MySuperWall brand tokens (purple-pink logo). Single source for brand colours.
   Semantic colours (success, warning, error), the Google logo, store logos and customer
   paywall content are intentionally NOT defined here and keep their own colours. */
:root {
  --brand-violet: #8B5CF6;        /* primary */
  --brand-violet-deep: #7C3AED;   /* buttons/links that need contrast with white text (5.7:1) */
  --brand-violet-press: #6D28D9;  /* hover/active for deep violet */
  --brand-pink: #EC4899;          /* accent */
  --brand-plum: #120D1C;          /* page background */
  --brand-lavender: #F5F3FF;      /* light surface (for light backgrounds) */
  --brand-gradient: linear-gradient(135deg, #8B5CF6, #EC4899);

  /* dark neutrals tinted toward the plum background */
  --brand-inset: #221B33;
  --brand-sidebar: #150F20;
  --brand-surface: #1A1426;
  --brand-surface-hover: #211A30;
  --brand-border: #2F2640;
  --brand-border-strong: #43385A;

  /* readable tints on dark backgrounds */
  --brand-tint: #C4B5FD;          /* links, focus rings, small accents (10:1 on plum) */
  --brand-tint-soft: #DDD6FE;
  --brand-violet-rgb: 139, 92, 246;
  --brand-pink-rgb: 236, 72, 153;
  --brand-focus: 0 0 0 3px rgba(139, 92, 246, .35);
}

/* Bootstrap overrides: Bootstrap 5.3 hard-codes its blue in several components. */
:root[data-bs-theme="dark"] {
  --bs-primary: #8B5CF6;
  --bs-primary-rgb: 139, 92, 246;
  --bs-body-bg: #120D1C;
  --bs-body-bg-rgb: 18, 13, 28;
  --bs-border-color: #2F2640;
  --bs-link-color: #C4B5FD;
  --bs-link-color-rgb: 196, 181, 253;
  --bs-link-hover-color: #DDD6FE;
  --bs-link-hover-color-rgb: 221, 214, 254;
  --bs-focus-ring-color: rgba(139, 92, 246, .35);
  --bs-tertiary-bg: #120D1C !important;
  --bs-tertiary-bg-rgb: 18, 13, 28 !important;
}
.btn-primary {
  --bs-btn-bg: #7C3AED; --bs-btn-border-color: #7C3AED; --bs-btn-color: #fff;
  --bs-btn-hover-bg: #6D28D9; --bs-btn-hover-border-color: #6D28D9; --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: #5B21B6; --bs-btn-active-border-color: #5B21B6; --bs-btn-active-color: #fff;
  --bs-btn-focus-shadow-rgb: 139, 92, 246;
  --bs-btn-disabled-bg: #7C3AED; --bs-btn-disabled-border-color: #7C3AED; --bs-btn-disabled-color: #fff;
  background-color: var(--bs-btn-bg); border-color: var(--bs-btn-border-color);
}
.btn-primary:hover, .btn-primary:focus-visible { background-color: var(--bs-btn-hover-bg); border-color: var(--bs-btn-hover-border-color); }
.btn-primary:active { background-color: var(--bs-btn-active-bg); border-color: var(--bs-btn-active-border-color); }
.btn-primary:disabled, .btn-primary.disabled { opacity: .55; }
.btn-outline-primary { --bs-btn-color: #C4B5FD; --bs-btn-border-color: #8B5CF6; --bs-btn-hover-bg: #7C3AED; --bs-btn-hover-border-color: #7C3AED; --bs-btn-hover-color: #fff; --bs-btn-active-bg: #6D28D9; --bs-btn-active-border-color: #6D28D9; --bs-btn-focus-shadow-rgb: 139, 92, 246; }
.btn:focus-visible { box-shadow: var(--brand-focus); outline: 0; }
.form-control:focus, .form-select:focus { border-color: #8B5CF6; box-shadow: var(--brand-focus); }
.form-check-input:checked { background-color: #7C3AED; border-color: #7C3AED; }
.form-check-input:focus { border-color: #8B5CF6; box-shadow: var(--brand-focus); }
.nav-pills { --bs-nav-pills-link-active-bg: #7C3AED; --bs-nav-pills-link-active-color: #fff; }
.dropdown-menu { --bs-dropdown-link-active-bg: #7C3AED; }
.progress { --bs-progress-bar-bg: #7C3AED; }
.page-link { --bs-pagination-active-bg: #7C3AED; --bs-pagination-active-border-color: #7C3AED; }
.text-primary { color: #C4B5FD !important; }
.border-primary { border-color: #8B5CF6 !important; }
.bg-primary { background-color: #7C3AED !important; }
a { text-decoration-color: rgba(196, 181, 253, .4); }
::selection { background: rgba(139, 92, 246, .45); }
