/* ============================================================
   WordPress-environment overrides (loads AFTER frc.css + pro.css).
   The static pro design package never ran under a theme; these
   neutralize hello-elementor / twentytwentyfive + Elementor CSS
   that fights the "Federal Navy / Aged Brass" pro skin, then bridge
   the theme tokens to the Site Settings kit. Keep every rule
   surgical and commented. Mirrors frc-elements/wp-overrides.css.
   ============================================================ */

/* Hello/Elementor reset paints button:hover magenta sitewide. FRC buttons
   define their own states; unset the theme default so nav buttons, the burger,
   FAQ summaries, and the apply-modal close stay transparent. */
button:hover,
button:focus,
[type="button"]:hover,
[type="button"]:focus,
[type="submit"]:hover,
[type="submit"]:focus {
	background-color: transparent;
	color: inherit;
}

/* Re-assert the pro button states the unset above must not dull. */
.btn--primary:hover,
button.btn--primary:hover,
[type="submit"].btn--primary:hover {
	background: var(--brass-lt);
	color: #fff;
}
.btn--gold:hover,
.btn--outline:hover {
	color: inherit;
}

/* Header / footer band width. Elementor's theme.css and hello box .site-header /
   .site-footer per breakpoint. The pro chrome are full-bleed bands; the inner
   .wrap owns width and padding. */
.masthead:not(.dynamic-header),
.site-footer:not(.dynamic-footer) {
	max-width: none !important;
	padding-inline: 0 !important;
}

/* Sticky masthead fix. .masthead { position: sticky; top: 0 } needs the masthead
   to be a near-body-level element. In a Theme Builder header the widget is wrapped
   in header.elementor-location-header > .e-con > .elementor-widget > wrappers, all
   only header-height tall, so sticky pinned to that box and scrolled off. Flatten
   those wrappers (display: contents) on the FRONTEND only (not the editor, which
   needs the widget boxes) so .topbar / .masthead / #mobile-nav become body-level
   children like the static markup, and CSS sticky works. */
body:not(.elementor-editor-active) .elementor-location-header,
body:not(.elementor-editor-active) .elementor-location-header .elementor-element,
body:not(.elementor-editor-active) .elementor-location-header .elementor-widget-container {
	display: contents;
}

/* Elementor's `.elementor img { height: auto; max-width: 100% }` (0,1,1) outranks
   the pro logo/footer element-level sizing (0,1,0). Re-assert the masthead wordmark
   height and the footer medallion cap at higher specificity so they don't balloon. */
.masthead .pro-logo__full {
	height: 38px;
	width: auto;
}
.site-footer .footer-brand__logo {
	height: 50px;
	width: auto;
	max-width: 108px;
}
.pro-seal img {
	width: 46px;
	height: 46px;
}

/* Elementor's frontend zeroes every widget <figure> margin (0,4,1). That defeats
   the centered pull-quote figure (.pullfeat margin-inline:auto at 0,1,0). Re-center
   with !important (a 0,4,1 element rule can't be beaten by sane specificity). */
.pullfeat {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* hello reset gives figure a margin; the pro media blocks are div/figure-based. */
figure {
	margin: 0;
}

/* Elementor spaces stacked widgets with
   `.elementor-widget:not(:last-child){margin-block-end:20px}`. The pro bands own
   their vertical rhythm (section padding in frc.css/pro.css); zero it for the pro
   widgets only so native widgets elsewhere keep Elementor's default spacing. */
[class*="elementor-widget-pro-"]:not(:last-child) {
	margin-block-end: 0;
}
.elementor-widget-container {
	margin: 0;
}

/* Top-level Elementor containers must not constrain the full-bleed bands: every pro
   band widget renders its own <section> + .wrap, so page-level containers are pure
   stacking wrappers. Kill their boxed width, padding, and gaps. */
.e-con.e-parent {
	--content-width: 100%;
	--width: 100%;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
}

/* The apply modal is position:fixed and must escape any Elementor footer wrapper
   stacking; pro.css already positions it. Ensure the footer container never clips it. */
.elementor-location-footer,
.elementor-location-footer .e-con {
	overflow: visible;
}

/* ------------------------------------------------------------------ */
/* Kit token bridge: Site Settings globals drive the whole design      */
/* system. The kit CSS defines --e-global-* on body.elementor-kit-N;   */
/* re-pointing the theme tokens here (body-level beats the :root        */
/* fallbacks in frc.css) means one Site Settings color/font change      */
/* recolors every widget, custom and native alike. Derived alpha tokens */
/* (rgba hairlines) stay literal; retune by hand on a full palette swap.*/
/* ------------------------------------------------------------------ */
body[class*="elementor-kit-"] {
	--paper:      var(--e-global-color-paper, #FFFFFF);
	--white:      var(--e-global-color-paper, #FFFFFF);
	--card:       var(--e-global-color-card, #FFFFFF);
	--sand:       var(--e-global-color-sand, #E9EDF2);
	--sand-soft:  var(--e-global-color-sand_soft, #F0F3F7);
	--ink:        var(--e-global-color-text, #141922);
	--slate:      var(--e-global-color-secondary, #5B6472);
	--brass:      var(--e-global-color-primary, #B08D57);
	--gold:       var(--e-global-color-primary, #B08D57);
	--ember:      var(--e-global-color-primary, #B08D57);
	--brass-lt:   var(--e-global-color-clay_deep, #C6A06A);
	--gold-lt:    var(--e-global-color-green_lite, #C6A06A);
	--hairline:   var(--e-global-color-hairline, #D8DEE6);
	--line:       var(--e-global-color-hairline, #D8DEE6);
	--forest:     var(--e-global-color-forest, #0B1F3A);
	--navy:       var(--e-global-color-forest, #0B1F3A);
	--navy-deep:  var(--e-global-color-frc_navy, #081831);
	--navy-panel: var(--e-global-color-lav, #13294A);
	--frc-navy:   var(--e-global-color-frc_navy, #0B1F3A);
	--frc-gold:   var(--e-global-color-frc_gold, #C6A06A);
	--f-display:  var(--e-global-typography-primary-font-family, "Schibsted Grotesk"), "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
	--f-body:     var(--e-global-typography-text-font-family, "Inter"), system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}
