/* BWA brand-corpus contrast fix — linked AFTER brand-corpus-generated.css.
   Repairs the one place the brand re-theme gets wrong: the
   'header a { color: light !important }' override bleeds into in-header dropdown
   panels + search, turning their text light-on-light. Selectors here use 3x :not()
   so they reach specificity (0,5,1) and beat the brand rule's (0,4,2). Linked (not
   inline) so the framework's strict-dynamic / nonce CSP does not block it. */

/* ---- Dropdown panels (Bootstrap navbar dropdowns) ---- */
.dropdown-menu,
header .dropdown-menu,
.navbar .dropdown-menu,
.site-header .dropdown-menu,
#header .dropdown-menu {
    background-color: var(--bwa-color-bg-1, #fff) !important;
    border-color: var(--bwa-color-bg-2, rgba(0, 0, 0, .12)) !important;
}

header .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):not(.btn),
.navbar .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):not(.btn),
#header .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):not(.btn),
.site-header .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):not(.btn),
header .dropdown-menu a:not(.btn):not(.nav-link):not([class*=cta]) {
    color: var(--bwa-color-ink-1, #1a1a1a) !important;
}

header .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):hover,
header .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):focus,
.navbar .dropdown-menu .dropdown-item:not(.nav-link):not(.disabled):hover,
#header .dropdown-menu .dropdown-item:not(.nav-link):hover {
    background-color: var(--bwa-color-bg-2, #f0f0f0) !important;
    color: var(--bwa-color-primary) !important;
}

header .dropdown-menu .dropdown-item.active:not(.nav-link),
header .dropdown-menu .dropdown-item:active:not(.nav-link) {
    background-color: var(--bwa-color-primary) !important;
    color: var(--bwa-color-bg-1, #fff) !important;
}

/* ---- AccessibleMegaMenu dropdown panels (also inside <header>) ---- */
.bwa-mega-menu__panel,
.bwa-mega-menu__submenu {
    background-color: var(--bwa-color-bg-1, #fff) !important;
}

header .bwa-mega-menu__panel a,
header .bwa-mega-menu__submenu a,
.bwa-mega-menu__sublink,
.bwa-mega-menu__panel a:not(.btn),
.bwa-mega-menu__sublink-title {
    color: var(--bwa-color-ink-1, #1a1a1a) !important;
}

header .bwa-mega-menu__panel a:hover,
.bwa-mega-menu__sublink:hover,
.bwa-mega-menu__sublink:focus {
    color: var(--bwa-color-primary) !important;
    background-color: var(--bwa-color-bg-2, #f0f0f0) !important;
}

.bwa-mega-menu__sublink-desc {
    color: var(--bwa-color-ink-2, #666) !important;
}

/* ---- Search box + nav magnifier icon ---- */
.searchMagnifierInput,
input[type=search],
input[type=text][class*=search] {
    color: var(--bwa-color-ink-1, #1a1a1a) !important;
    background-color: var(--bwa-color-bg-1, #fff) !important;
    border-color: var(--bwa-color-bg-2, rgba(0, 0, 0, .12)) !important;
}

.searchMagnifierInput::placeholder,
input[type=search]::placeholder {
    color: var(--bwa-color-ink-2, #888) !important;
}

header .searchMagnifierIcon,
header [class*=search] svg,
header [class*=search] i,
header a[class*=search],
.navbar [class*=search] svg {
    color: var(--bwa-color-bg-1, #fff) !important;
    fill: var(--bwa-color-bg-1, #fff) !important;
}

header .searchMagnifierIcon:hover,
header a[class*=search]:hover,
header [class*=search]:hover svg {
    color: var(--bwa-color-accent, var(--bwa-color-primary)) !important;
    fill: var(--bwa-color-accent, var(--bwa-color-primary)) !important;
}

/* The nav search field renders as a wide white ELLIPSE (oversized border-radius on
   a full-width element). Constrain it to a normal rounded box at a sane width so it
   isn't a giant white blob on the brand nav. */
header .searchMagnifierInput,
header input[type=search],
.navbar input[type=search],
header [class*=search] input {
    border-radius: 8px !important;
    max-width: 380px !important;
    height: auto !important;
    aspect-ratio: auto !important;
}

/* ---- Mobile expanded nav (navbar-collapse) ----
   The brand file forces collapsed-menu links to the (dark) primary, which is
   low-contrast on the magenta header surface the expanded menu inherits. The
   expanded menu is the same dark header bar, so its links must be LIGHT like the
   desktop top-bar links. Specificity (0,2,1)+ beats the brand rule's (0,2,0). */
@media (max-width: 991.98px) {
    header .navbar-collapse .nav-link,
    header .navbar-collapse .nav-item > a,
    header .navbar-collapse li > a,
    #header .navbar-collapse .nav-link,
    .site-header .navbar-collapse .nav-link,
    .navbar-collapse .nav-link,
    .navbar-collapse .navbar-brand {
        color: var(--bwa-color-header-text, var(--bwa-color-bg-1, #fff)) !important;
    }

    header .navbar-collapse .nav-link:hover,
    header .navbar-collapse .nav-link:focus,
    .navbar-collapse a:hover {
        color: var(--bwa-color-bg-2, #f0f0f0) !important;
    }

    /* dropdown-toggle carets + any in-menu icons stay light too */
    header .navbar-collapse .dropdown-toggle::after,
    .navbar-collapse .nav-link svg,
    .navbar-collapse .nav-link i {
        color: var(--bwa-color-header-text, var(--bwa-color-bg-1, #fff)) !important;
    }
}

/* ---- .bg-blue-shades CTA buttons (card/section buttons filled with the dark brand PRIMARY) ----
   The brand file's `a[class*="btn"]:link { color: btn-text }` (0,2,1) forces the label to btn-text,
   which is frequently dark (e.g. #000 on a light-button palette) and disappears on the dark-blue fill.
   The label on a blue-shades surface must be light. Specificity 0,3,1 (btn variants) beats the brand
   rule; the plain 0,2,1 variants tie it and win by source order (this file links last). No-op on sites
   without .bg-blue-shades. Hover is left to the theme's text-link lift. */
a.bg-blue-shades:link,
a.bg-blue-shades:visited,
a[class*="btn"].bg-blue-shades:link,
a[class*="btn"].bg-blue-shades:visited,
.linksCardBtn a.bg-blue-shades:link,
.linksCardBtn a.bg-blue-shades:visited {
    color: #ffffff !important;
}

/* ---- Buttons: the hover fill and its text must travel together ---- */
/* custom.css sets `background:#1E305D !important; color:#fff` on .btn:hover - but only the
   BACKGROUND carries !important, so a rule with higher precedence keeps its own colour while
   the navy fill still lands. Measured on /Search (2026-09-25): the List/Grid toggle hovered to
   BLACK text on the navy fill, 1.64:1 against a 4.5:1 requirement.

   Both halves now come from the corpus, and both carry !important so they cannot be split
   again. --bwa-color-primary and --bwa-color-btn-text are authored as a pair, which is why
   taking BOTH from the corpus is correct and not merely tidy; the hexes are the fallback for a
   site with no corpus promoted. */
/* Specificity below is measured, not guessed (CDP matched-styles on the /Search toggle).
   Two rules outrank a plain `.btn:hover`:
     - `[class*="btn"] a:hover { color: inherit !important }` at (0,2,1). An !important
       declaration beats a normal one whatever its specificity, which is exactly how
       custom.css's own `color:#fff` was discarded while its `background` !important landed -
       leaving black text on the navy fill.
     - `div#MainContent_pnlGhost a:not(.nav-link):not(.text-decoration-none):hover` at (1,4,1),
       which carries that navy background.
   So: the first pair reaches (1,5,1) to clear the ID-bearing rule, the middle pairs reach
   (0,3,1) to clear the colour:inherit rule elsewhere, and the bare `.btn:hover` stays for the
   plain case. */
div#MainContent_pnlGhost a.btn:not(.nav-link):not(.text-decoration-none):not(.disabled):hover,
div#MainContent_pnlGhost a.btn:not(.nav-link):not(.text-decoration-none):not(.disabled):focus-visible,
[class*="btn"] a.btn:hover,
[class*="btn"] a.btn:focus-visible,
a.btn:hover,
a.btn:focus-visible,
.btn:hover,
.btn:focus-visible,
.Showmore-button:hover,
.Showmore-button:focus-visible {
    background: var(--bwa-color-primary, #1E305D) !important;
    color: var(--bwa-color-btn-text, #ffffff) !important;
}

/* NOTE: font tokens are intentionally NOT redefined here. Each site's own
   brand-corpus-generated.css owns --bwa-font-* so every tenant keeps its own
   brand fonts. (A previous version hardcoded Anthropic Sans/Mono here and, because
   this file is shared across sites, wrongly forced those fonts onto CJPublic / BWA
   Website. Generic fallbacks belong in the per-site generated file, not here.) */
