/* === Token definitions (added 2026-06-01) — referenced site-wide with hex fallbacks
   but never defined, failing token-contract-lint. Defined once = gate passes + future
   bare var() safe. Values = the site's own fallbacks. gold-700 = #7a5d22 (AA-fixed). === */
:root{--gold-500:#c7a464;--gold-700:#7a5d22;--navy-700:#202c38;--navy-900:#15162b;--neutral-0:#ffffff;--neutral-100:#faf8f4;--neutral-800:#3d3f40;}
/* Volantis A11y Overrides v2 — WCAG 2.1 AA contrast + structural fixes
 * Generated: 2026-05-27. Long-term: roll into _custom.scss + recompile bundle.css.
 */

/* === 1. Default: ALL gold-text → dark gold #7a5d22 (4.65:1 vs white) === */
a[style*="color:var(--bs-primary)"],
span[style*="color:var(--bs-primary)"],
p[style*="color:var(--bs-primary)"],
h1[style*="color:var(--bs-primary)"], h2[style*="color:var(--bs-primary)"],
h3[style*="color:var(--bs-primary)"], h4[style*="color:var(--bs-primary)"],
h5[style*="color:var(--bs-primary)"],
small[style*="color:var(--bs-primary)"], .small[style*="color:var(--bs-primary)"],
dt[style*="color:var(--bs-primary)"], dd[style*="color:var(--bs-primary)"],
.text-primary, .text-eyebrow,
.accordion-button, .accordion-button:not(.collapsed) {
  color: #7a5d22 !important;
}

.badge[style*="color:var(--bs-primary)"] {
  color: #6a5520 !important;
}

/* === 2. Inside ANY dark section: restore bright gold === */
/* Match by class */
.bg-dark .text-primary, .bg-dark .text-eyebrow,
.bg-dark a[style*="color:var(--bs-primary)"],
.bg-dark span[style*="color:var(--bs-primary)"],
.bg-dark p[style*="color:var(--bs-primary)"],
.bg-secondary .text-primary, .bg-secondary .text-eyebrow,
.bg-secondary a[style*="color:var(--bs-primary)"],
/* Match by inline style on ancestor */
section[style*="background:var(--bs-dark)"] .text-primary,
section[style*="background:var(--bs-dark)"] .text-eyebrow,
section[style*="background-color:var(--bs-dark)"] .text-primary,
section[style*="background-color:var(--bs-dark)"] .text-eyebrow,
section[style*="background:#15162b"] .text-primary,
section[style*="background:#15162b"] .text-eyebrow,
section[style*="background-color:#15162b"] .text-primary,
section[style*="background-color:#15162b"] .text-eyebrow,
section[style*="background:#202c38"] .text-primary,
section[style*="background:#202c38"] .text-eyebrow,
section[style*="background:#313244"] .text-primary,
section[style*="background:#313244"] .text-eyebrow,
/* Direct navbar (uses navy bg) */
.navbar .text-primary, .navbar-brand .text-primary {
  color: #c7a464 !important;
}

/* :has() ancestor detection — catches darker sections regardless of specific bg value */
:is(section, div, header):has(> [style*="background:rgba(21"]) .text-eyebrow,
:is(section, div, header)[style*="background:rgba(21"] .text-eyebrow,
/* Generic dark-bg-image overlays often used in heroes */
.hero-dark .text-eyebrow, .hero-overlay .text-eyebrow,
[class*="bg-dark"] .text-eyebrow,
[class*="bg-navy"] .text-eyebrow {
  color: #c7a464 !important;
}

/* === 3. Body links — visible underline === */
.lc-block p a.text-decoration-none[style*="color:var(--bs-primary)"],
.lc-block li a.text-decoration-none[style*="color:var(--bs-primary)"],
p a.text-decoration-none[style*="color:var(--bs-primary)"]:not(.btn):not(.card-link) {
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}
a.btn.text-decoration-none, a.card-link.text-decoration-none,
.card a.text-decoration-none, .card-body a.text-decoration-none,
.btn-group a.text-decoration-none {
  text-decoration: none !important;
}

/* === Skip link + focus-visible (a11y, added 2026-06-07) === */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#15162b;color:#fff;padding:.75rem 1.25rem;border-radius:0 0 8px 0;font-weight:600;text-decoration:none;}
.skip-link:focus,.skip-link:focus-visible{left:0;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,.btn:focus-visible,.accordion-button:focus-visible{outline:3px solid #7a5d22 !important;outline-offset:2px !important;}
