/*
Theme Name: RTC Network
Theme URI: https://yarmouthrtc.com/
Description: Shared design layer for the Cape Cod & Islands Republican Town Committee network (Yarmouth, Falmouth, Mashpee, Sandwich, ...). Kadence child theme. Ported verbatim from the production yarmouthrtc.com Additional-CSS (post 27, 2026-03-31 final) so every RTC site is visually identical. Town-specific values (page-title logo) are parameterized via the --rtc-title-logo CSS variable set in functions.php from each site's Customizer logo.
Author: BK INC / claude_code
Template: kadence
Version: 1.0.1
*/

/* ============================================================
   PORTED FROM yarmouthrtc.com custom_css (post 27) 2026-03-31 final.
   HTML entities decoded (&gt; -> >, &amp; -> &).
   Page-title logo hardcode -> var(--rtc-title-logo) (set per-site in functions.php).
   page-id-NN rules near the bottom are YARMOUTH-specific reference overrides;
   they are inert on other sites (IDs won't match). Re-map per site as needed.
   ============================================================ */


/* === SITE-WIDE FONT (FOX NEWS STACK) === */
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,400;1,700&display=swap');

body, p, li, td, th, span, div, a, input, select, textarea,
.entry-content, .entry-content p, .entry-content li,
.site-header, .site-footer,
.kadence-page-title .entry-title,
.entry-header .entry-title,
h1, h2, h3, h4, h5, h6,
.wp-block-heading,
.header-navigation a,
#mobile-drawer a,
.wp-block-button__link {
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
/* === END SITE-WIDE FONT === */

/* === MASTER STYLES v2 === */

/* ---- HEADER ---- */
#masthead,
#masthead .site-header-row-container-inner,
#main-header,
.site-main-header-wrap,
.site-header-upper-inner-wrap,
.site-header-inner-wrap {
    background: #0a1628 !important;
}
.kadence-sticky-header.item-is-fixed .site-header-row-container-inner,
.kadence-sticky-header.item-is-stuck {
    background: #0a1628 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
}

/* ---- FOOTER ---- */
#colophon, .site-footer, .site-bottom-footer-wrap,
.site-bottom-footer-inner-wrap, .footer-widget-area {
    background: #0a1628 !important;
    color: #8899aa !important;
}
#colophon a { color: #8899aa !important; }
#colophon a:hover { color: #c0392b !important; }
.site-bottom-footer-wrap { border-top: 2px solid #c0392b !important; }

/* ---- EDGE-TO-EDGE DARK SECTIONS ---- */
.entry-content > .wp-block-group.has-background {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box;
}

/* ---- TIGHTEN VERTICAL SPACING ---- */
.entry-content > .wp-block-group + .wp-block-group {
    margin-top: 0 !important;
}
.entry-content > .wp-block-group {
    margin-bottom: 0 !important;
}

/* ---- PAGE TITLE BAR ---- */
body:not(.home) .kadence-page-title,
body:not(.home) .wp-site-blocks > .entry-header {
    background: #0a1628 !important;
    padding: 24px 20px !important;
}
body:not(.home) .kadence-page-title .entry-title,
body:not(.home) .entry-header .entry-title {
    color: #ffffff !important;
    font-size: 28px !important;
    font-weight: 700 !important;
}
/* Logo before page titles */
body:not(.home) .entry-header .entry-title::before,
body:not(.home) .wp-block-post-title::before,
body:not(.home) .kadence-page-title .entry-title::before {
    content: "";
    display: inline-block;
    width: 36px;
    height: 36px;
    background-image: var(--rtc-title-logo, none);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    margin-right: 12px;
    position: relative;
    top: -2px;
}

/* ---- BUTTONS ---- */
.wp-block-button__link {
    border-radius: 4px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    padding: 12px 28px !important;
    transition: all 0.2s ease !important;
}
.wp-block-button__link:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
}

/* ---- LINKS ---- */
.entry-content a {
    color: #c0392b;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}
.entry-content a:hover { border-bottom-color: #c0392b; }

/* ---- SEPARATOR ---- */
.wp-block-separator {
    border-color: #c0392b !important;
    opacity: 1 !important;
}

/* ---- HIDE HOMEPAGE ENTRY HEADER ---- */
.home .entry-header { display: none !important; }

/* ---- SMOOTH SCROLL ---- */
html { scroll-behavior: smooth; }

/* ---- NAV ACTIVE STATE ---- */
.header-navigation .current-menu-item > a { color: #c0392b !important; }

/* ---- FORM STYLING (CiviCRM) ---- */
.crm-container input[type="text"],
.crm-container input[type="email"],
.crm-container input[type="tel"],
.crm-container select,
.crm-container textarea {
    background: #ffffff !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    color: #333 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.crm-container input:focus,
.crm-container select:focus,
.crm-container textarea:focus {
    border-color: #c0392b !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(192,57,43,0.15) !important;
}
.crm-container .crm-submit-buttons input[type="submit"],
.crm-container .crm-button {
    background: #c0392b !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 12px 28px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}
.crm-container .crm-submit-buttons input[type="submit"]:hover { background: #a93226 !important; }

/* ---- CONTENT WIDTH ---- */
.site-container .site-inner-wrap,
.content-container { max-width: 100% !important; padding: 0 !important; }

/* ---- MOBILE ---- */
@media (max-width: 768px) {
    .entry-content > .wp-block-group { padding-left: 16px !important; padding-right: 16px !important; }
    body:not(.home) .kadence-page-title .entry-title,
    body:not(.home) .entry-header .entry-title { font-size: 22px !important; }
    body:not(.home) .entry-header .entry-title::before,
    body:not(.home) .kadence-page-title .entry-title::before { width: 28px; height: 28px; margin-right: 8px; }
}

/* === END MASTER STYLES v2 === */

/* === NAV DROPDOWN FIX === */
/* Opaque background, shadow, clean separation from page content */
.header-navigation .sub-menu,
.header-navigation ul ul,
.primary-menu-container .sub-menu,
.navigation .sub-menu {
    background: #1a2a42 !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-top: 2px solid #c0392b !important;
    border-radius: 0 0 6px 6px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important;
    padding: 8px 0 !important;
    min-width: 220px !important;
    z-index: 9999 !important;
}
.header-navigation .sub-menu li a,
.header-navigation ul ul li a,
.primary-menu-container .sub-menu li a {
    color: #ffffff !important;
    padding: 10px 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.5px !important;
    transition: background 0.15s, color 0.15s !important;
    display: block !important;
}
.header-navigation .sub-menu li a:hover,
.header-navigation ul ul li a:hover,
.primary-menu-container .sub-menu li a:hover {
    background: rgba(192,57,43,0.15) !important;
    color: #c0392b !important;
}
/* === END NAV DROPDOWN FIX === */

/* === PAGE LAYOUT FIX === */
/* Kadence uses body.footer-on-bottom #wrapper { min-height:100vh } */
/* This creates empty whitespace on short pages */
/* Fix: let wrapper shrink to content, let footer follow naturally */
body.footer-on-bottom:not(.home) #wrapper {
    min-height: auto !important;
}
/* === END PAGE LAYOUT FIX === */

/* === INNER PAGE STYLES === */

/* Body background — navy so footer area looks clean */
body {
    background-color: #0a1628 !important;
}
/* But content area stays light */
.content-container.site-container,
.site-main,
.content-area,
.content-wrap,
article.entry {
    background-color: #f5f5f5;
}

/* Inner page content text styling */
body:not(.home) .entry-content h2 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0a1628 !important;
    border-bottom: 2px solid #c0392b;
    padding-bottom: 8px;
    margin-top: 32px !important;
    margin-bottom: 16px !important;
}
body:not(.home) .entry-content h3 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0a1628 !important;
}

/* Inner page paragraphs */
body:not(.home) .entry-content > p,
body:not(.home) .single-content > p {
    font-size: 15px;
    line-height: 1.7;
    color: #444444;
}

/* Cards on inner pages — light bg blocks get card treatment */
body:not(.home) .entry-content .wp-block-group.has-background {
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

/* Inner page columns get spacing */
body:not(.home) .entry-content .wp-block-columns {
    gap: 24px;
}

/* Page title bar — consistent navy with red accent header text */
body:not(.home) .kadence-page-title,
body:not(.home) .wp-site-blocks > .entry-header,
body:not(.home) .entry-hero-container-inner {
    background: #0a1628 !important;
    padding: 32px 20px 24px !important;
    border-bottom: 3px solid #c0392b !important;
}

/* Override h2 styling inside styled groups (dont add red border there) */
body:not(.home) .entry-content .wp-block-group h2,
body:not(.home) .entry-content .wp-block-group.has-background h2 {
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 0 !important;
}

/* Buttons on inner pages — consistent with homepage */
body:not(.home) .entry-content a.wp-block-button__link {
    background: #c0392b !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-size: 13px !important;
    padding: 12px 28px !important;
}
body:not(.home) .entry-content a.wp-block-button__link:hover {
    background: #a93226 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Separator styling on all pages */
.wp-block-separator {
    border-color: #c0392b !important;
    opacity: 1 !important;
}

/* === END INNER PAGE STYLES === */
/* === SPACING FIX v5 === */

/* Override Kadence .single-content .wp-block-group margin — ALL pages */
.single-content .wp-block-group.has-background {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}
.single-content .wp-block-group {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

/* All pages: content wrapper gapless */
.entry-content.single-content {
    display: flex;
    flex-direction: column;
    gap: 0 !important;
}

/* All top-level blocks go edge-to-edge */
.entry-content.single-content > .wp-block-group {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
}

/* But NOT inner groups (cards, columns) — only direct children */
.entry-content.single-content > .wp-block-group .wp-block-group {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: auto !important;
    max-width: none !important;
}

/* Prevent horizontal scrollbar */
.entry-content-wrap,
.entry-content,
body { overflow-x: hidden !important; }

/* Logo in header */
.site-branding .site-logo-image,
.custom-logo-link img,
.site-branding img {
    max-height: 60px !important;
    width: auto !important;
    display: block !important;
}
.header-logo-wrap, .site-branding {
    display: flex !important;
    align-items: center !important;
}

/* === END SPACING FIX v5 === */
/* === DESIGN POLISH v1 === */

/* --- HERO GRADIENT (not flat) --- */
body.home .entry-content > .wp-block-group:first-child {
    background: linear-gradient(175deg, #0a1628 0%, #132744 60%, #1a3358 100%) !important;
}

/* Inner page heroes also get gradient */
.entry-content > .wp-block-group:first-child[style*="background-color:#0a1628"] {
    background: linear-gradient(175deg, #0a1628 0%, #132744 60%, #1a3358 100%) !important;
}

/* --- CARD HOVER EFFECTS --- */
.entry-content .wp-block-column[style*="border-top-color:#c0392b"],
.entry-content .wp-block-column[style*="border-left-color:#c0392b"] {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
}
.entry-content .wp-block-column[style*="border-top-color:#c0392b"]:hover,
.entry-content .wp-block-column[style*="border-left-color:#c0392b"]:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
}

/* --- BUTTON HOVER STATES --- */
.entry-content .wp-block-button__link {
    transition: all 0.2s ease !important;
}
.entry-content .wp-block-button__link:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    filter: brightness(1.1) !important;
}

/* --- LINK HOVER --- */
.entry-content a:not(.wp-block-button__link) {
    transition: color 0.15s ease !important;
}
.entry-content a:not(.wp-block-button__link):hover {
    color: #e74c3c !important;
}

/* --- STAT BAR ENHANCEMENT --- */
.entry-content > .wp-block-group[style*="background-color:#c0392b"] {
    background: linear-gradient(90deg, #a93226 0%, #c0392b 30%, #e74c3c 70%, #c0392b 100%) !important;
}

/* --- SECTION HEADERS (red uppercase) --- */
.entry-content h2[style*="text-transform:uppercase"][style*="color:#c0392b"] {
    position: relative !important;
    padding-bottom: 12px !important;
}
.entry-content h2[style*="text-transform:uppercase"][style*="color:#c0392b"]::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 40px !important;
    height: 2px !important;
    background: #c0392b !important;
}

/* --- TYPOGRAPHY REFINEMENTS --- */
.entry-content h1 {
    letter-spacing: -0.5px !important;
}
.entry-content h3 {
    letter-spacing: -0.3px !important;
}
.entry-content p {
    letter-spacing: 0.01em !important;
}

/* --- DARK SECTION (1776 quote, CTA) TEXT GLOW --- */
.wp-block-group[style*="background-color:#0a1628"] h2,
.wp-block-group[style*="background-color:#0a1628"] h1 {
    text-shadow: 0 0 40px rgba(255,255,255,0.1) !important;
}

/* --- NAV STICKY SHADOW --- */
.site-header {
    box-shadow: 0 2px 12px rgba(0,0,0,0.3) !important;
}

/* --- SMOOTH SCROLL --- */
html {
    scroll-behavior: smooth !important;
}

/* --- FOOTER ENHANCEMENT --- */
.site-footer {
    border-top: 3px solid #c0392b !important;
}
.site-footer .footer-widget-area {
    background: #0a1628 !important;
}

/* --- INNER PAGE STYLES (carried forward) --- */
body:not(.home) .entry-content h2:not([style*="text-transform"]) {
    border-bottom: 2px solid #c0392b !important;
    padding-bottom: 16px !important;
    margin-bottom: 28px !important;
    margin-top: 36px !important;
}

/* Inner page body bg */
body:not(.home) .content-area,
body:not(.home) .entry-content-wrap {
    background-color: #f5f5f5 !important;
}

/* === END DESIGN POLISH v1 === */

/* === MOBILE NAV FIX v4 === */

/* Mobile header bar background */
@media (max-width: 1024px) {
    .site-header-wrap,
    .site-header-inner-wrap,
    #masthead,
    .site-header .site-header-upper-wrap,
    .site-header .site-header-lower-wrap,
    .site-header .site-main-header-wrap {
        background-color: #0a1628 !important;
    }
}

/* Drawer popup background */
#mobile-drawer,
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content,
#mobile-drawer .drawer-header,
.popup-drawer,
.popup-drawer .drawer-inner,
.popup-drawer .drawer-content {
    background-color: #0a1628 !important;
    background: #0a1628 !important;
}

/* Nav links inside drawer — NO wildcard * selector */
#mobile-drawer .menu-item > a,
#mobile-drawer .mobile-navigation .menu-item > a,
.popup-drawer .menu-item > a,
.popup-drawer .mobile-navigation .menu-item > a {
    color: #ffffff !important;
    font-size: 17px !important;
    padding: 16px 24px !important;
    display: block !important;
    border-bottom: 1px solid rgba(255,255,255,0.1) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Nav link hover */
#mobile-drawer .menu-item > a:hover,
#mobile-drawer .menu-item > a:active,
.popup-drawer .menu-item > a:hover,
.popup-drawer .menu-item > a:active {
    background-color: rgba(192,57,43,0.2) !important;
}

/* Submenu links */
#mobile-drawer .sub-menu .menu-item > a,
.popup-drawer .sub-menu .menu-item > a {
    padding-left: 48px !important;
    font-size: 15px !important;
    color: #ccddee !important;
}

/* Dropdown toggle arrow/button */
#mobile-drawer .drawer-nav-drop-wrap,
.popup-drawer .drawer-nav-drop-wrap {
    color: #ffffff !important;
}

/* Close button */
#mobile-drawer .drawer-header button,
#mobile-drawer .drawer-toggle,
.popup-drawer .drawer-header button,
.popup-drawer .drawer-toggle {
    color: #ffffff !important;
}

/* DO NOT use * selector — it breaks SVG hamburger icon */

/* Overlay */
.drawer-overlay {
    background-color: rgba(0,0,0,0.5) !important;
}

/* Desktop dropdown */
@media (min-width: 1025px) {
    .header-navigation .menu-item .sub-menu {
        background-color: #1a2a42 !important;
        border-top: 3px solid #c0392b !important;
        box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
        min-width: 220px !important;
        z-index: 99999 !important;
    }
    .header-navigation .menu-item .sub-menu a {
        color: #ffffff !important;
        padding: 10px 20px !important;
        font-size: 13px !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
        transition: background 0.15s ease !important;
    }
    .header-navigation .menu-item .sub-menu a:hover {
        background-color: rgba(192,57,43,0.2) !important;
    }
}

/* === END MOBILE NAV FIX v4 === */
/* === OFFICERS TABLE STYLE === */
.entry-content table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: none !important;
    width: 100% !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
.entry-content table thead th,
.entry-content table tr:first-child td {
    background-color: #0a1628 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 14px 24px !important;
    border: none !important;
}
.entry-content table td {
    padding: 14px 24px !important;
    border: none !important;
    border-bottom: 1px solid #e8e8e8 !important;
    font-size: 15px !important;
}
.entry-content table tr:last-child td {
    border-bottom: none !important;
}
/* === END OFFICERS TABLE STYLE === */
/* === NAVY TEXT FIX === */
/* Force all text white inside navy background sections */
.wp-block-group[style*="background-color:#0a1628"] p,
.wp-block-group[style*="background-color:#0a1628"] li,
.wp-block-group[style*="background-color:#0a1628"] span,
.wp-block-group[style*="background-color:#0a1628"] blockquote,
.wp-block-group[style*="background-color:#0a1628"] blockquote p,
.wp-block-group[style*="background-color:#0a1628"] cite {
    color: #dde4ee !important;
}
.wp-block-group[style*="background-color:#0a1628"] strong {
    color: #ffffff !important;
}
.wp-block-group[style*="background-color:#0a1628"] a {
    color: #c0392b !important;
}
.wp-block-group[style*="background-color:#0a1628"] a:hover {
    color: #e74c3c !important;
}
/* Blockquote inside navy — make it pop */
.wp-block-group[style*="background-color:#0a1628"] .wp-block-quote,
.wp-block-group[style*="background-color:#0a1628"] blockquote {
    border-left-color: #c0392b !important;
    background-color: rgba(255,255,255,0.05) !important;
    padding: 20px 24px !important;
    border-radius: 4px !important;
}
.wp-block-group[style*="background-color:#0a1628"] .wp-block-quote p,
.wp-block-group[style*="background-color:#0a1628"] blockquote p {
    color: #bbccdd !important;
    font-style: italic !important;
}
/* Section headers in navy — the red uppercase h2 */
.wp-block-group[style*="background-color:#0a1628"] h2[style*="text-transform:uppercase"] {
    color: #c0392b !important;
}
/* Sub-headers in navy */
.wp-block-group[style*="background-color:#0a1628"] h3 {
    color: #ffffff !important;
}
/* === END NAVY TEXT FIX === */
/* === NAVY H3 SPECIFICITY FIX === */
/* Override inner page h3 color (#0a1628) inside navy sections — was invisible */
body:not(.home) .entry-content .wp-block-group[style*="background-color:#0a1628"] h3,
body:not(.home) .entry-content .wp-block-group[style*="background-color:#0a1628"] h2:not([style*="text-transform"]) {
    color: #ffffff !important;
    border-bottom: none !important;
}
/* Same for #111d33 darker variant sections */
body:not(.home) .entry-content .wp-block-group[style*="background-color:#111d33"] h3,
body:not(.home) .entry-content .wp-block-group[style*="background-color:#111d33"] p {
    color: #dde4ee !important;
}
/* === END NAVY H3 SPECIFICITY FIX === */
/* === BUTTON FIX === */
/* Restore button text colors inside navy sections */
.wp-block-group[style*="background-color:#0a1628"] .wp-block-button__link {
    color: #ffffff !important;
}
.wp-block-group[style*="background-color:#0a1628"] .wp-block-button__link.has-background {
    color: #ffffff !important;
    background-color: #c0392b !important;
}
/* Outlined buttons on navy */
.wp-block-group[style*="background-color:#0a1628"] .wp-block-button__link:not(.has-background) {
    color: #ffffff !important;
    background-color: transparent !important;
    border: 2px solid #ffffff !important;
}
.wp-block-group[style*="background-color:#0a1628"] .wp-block-button__link:hover {
    opacity: 0.85;
}
/* === END BUTTON FIX === */
/* === LOCAL RACES TEXT FIX === */
/* Fix dark text inside navy sections on all pages */
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group p,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group li {
    color: #dde4ee !important;
}
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group h2,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group h3,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group h4 {
    color: #ffffff !important;
}
/* Ensure nested groups with light bg inside navy still show dark text */
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#f5f7fa"] p,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] p,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#f5f5f5"] p {
    color: #444444 !important;
}
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#f5f7fa"] h2,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#f5f7fa"] h3,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] h2,
.wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] h3 {
    color: #0a1628 !important;
}
/* === END LOCAL RACES TEXT FIX === */

/* === NEWS EDITORIAL STYLE === */
/* White content area on news page — override dark inner page bg */
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] {
    background-color: #ffffff !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] p {
    color: inherit !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] h2 {
    color: inherit !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: inherit !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] h3 {
    color: inherit !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] strong[style*="color:#c0392b"] {
    color: #c0392b !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#ffffff"] strong[style*="color: #c0392b"] {
    color: #c0392b !important;
}
/* Pull quote borders */
body.page-id-19 .entry-content .wp-block-group[style*="border-left-color:#c0392b"] {
    background-color: transparent !important;
    box-shadow: none !important;
}
/* By the numbers box — keep light gray bg */
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#f8f8f8"] {
    background-color: #f8f8f8 !important;
    box-shadow: none !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#f8f8f8"] p {
    color: inherit !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#f8f8f8"] strong[style*="color:#c0392b"] {
    color: #c0392b !important;
}
/* Separators — thin red line */
body.page-id-19 .wp-block-separator {
    border-color: #e0e0e0 !important;
    border-width: 1px !important;
}
/* Hide redundant Kadence page title — News has its own hero */
body.page-id-19 .kadence-page-title,
body.page-id-19 .entry-hero-container-inner,
body.page-id-19 .entry-header {
    display: none !important;
}
@media (max-width: 768px) {
    body.page-id-19 .kadence-page-title,
    body.page-id-19 .entry-hero-container-inner,
    body.page-id-19 .entry-header {
        display: none !important;
    }
}
/* === END NEWS EDITORIAL STYLE === */
/* === NEWS HEADLINE SIZE FIX === */
body.page-id-19 .entry-content h2[style*="font-size:30px"] {
    font-size: 30px !important;
    line-height: 1.15 !important;
    letter-spacing: -0.3px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-bottom: 10px !important;
    margin-top: 12px !important;
}
body.page-id-19 .entry-content h2[style*="font-size:28px"] {
    font-size: 28px !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
body.page-id-19 .entry-content h3[style*="font-size:26px"] {
    font-size: 26px !important;
}
/* Pull quote bg override */
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#fafafa"] {
    background-color: #fafafa !important;
    box-shadow: none !important;
}
body.page-id-19 .entry-content .wp-block-group[style*="background-color:#fafafa"] p {
    color: inherit !important;
}
/* Red inline spans */
body.page-id-19 .entry-content span[style*="color:#c0392b"] {
    color: #c0392b !important;
}
/* Category tag border groups — no card shadow */
body.page-id-19 .entry-content .wp-block-group[style*="border-bottom-color:#c0392b"] {
    box-shadow: none !important;
    background-color: transparent !important;
}
/* === END NEWS HEADLINE SIZE FIX === */
/* === NEWS CARD LAYOUT === */
body.page-id-19 .entry-content > .wp-block-group:not(:first-child) > .wp-block-group {
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
}
body.page-id-19 .entry-content > .wp-block-group:not(:first-child) > .wp-block-group:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
/* === END NEWS CARD LAYOUT === */
/* === FULL STORY PAGE FIX (ID 214) === */
/* Same pattern as News page — override global inner-page heading colors */
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#0a1628"] h1,
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#0a1628"] h2,
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#0a1628"] h3 {
    color: #ffffff !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#0a1628"] p {
    color: inherit !important;
}
/* Content area headings — respect inline colors */
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#ffffff"] h2,
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#ffffff"] h3 {
    color: inherit !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
    margin-top: inherit !important;
    margin-bottom: inherit !important;
}
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#ffffff"] p {
    color: inherit !important;
}
/* Stat boxes and quote blocks — preserve their styling */
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#f7f7f7"] p,
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#f0f2f5"] p,
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#fafafa"] p {
    color: inherit !important;
}
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#f7f7f7"] strong[style*="color:#c0392b"],
body.page-id-214 .entry-content .wp-block-group[style*="background-color:#f0f2f5"] strong[style*="color:#c0392b"] {
    color: #c0392b !important;
}
/* Red highlighted spans */
body.page-id-214 .entry-content span[style*="color:#c0392b"] {
    color: #c0392b !important;
}
/* Hide redundant Kadence page title — page has its own hero */
body.page-id-214 .kadence-page-title,
body.page-id-214 .entry-hero-container-inner,
body.page-id-214 .wp-site-blocks > .entry-header {
    display: none !important;
}
/* === END FULL STORY PAGE FIX === */
/* === HOMEPAGE HERO TIGHTEN === */
/* Reduce dead space above logo, make logo bigger */
body.home .entry-content > .wp-block-group:first-child {
    padding-top: 28px !important;
}
body.home .entry-content > .wp-block-group:first-child img {
    max-height: 180px !important;
    width: auto !important;
}
@media (max-width: 768px) {
    body.home .entry-content > .wp-block-group:first-child {
        padding-top: 20px !important;
    }
    body.home .entry-content > .wp-block-group:first-child img {
        max-height: 140px !important;
    }
}
/* === END HOMEPAGE HERO TIGHTEN === */
/* === FONT NORMALIZATION === */
/* Body text baseline — 17px everywhere for readability */
body:not(.home) .entry-content > p,
body:not(.home) .entry-content .wp-block-group p:not([style*="font-size"]) {
    font-size: 17px !important;
    line-height: 1.75 !important;
}

/* All inner page h2 inside content groups — 28px consistent */
body:not(.home) .entry-content .wp-block-group h2:not([style*="font-size"]) {
    font-size: 28px !important;
}

/* All inner page h3 inside content groups — 22px consistent */
body:not(.home) .entry-content .wp-block-group h3:not([style*="font-size"]) {
    font-size: 22px !important;
}

/* Caption/small text normalization */
body:not(.home) .entry-content .wp-block-group p[style*="font-size:12px"] {
    font-size: 13px !important;
}

/* Button text — always 13px uppercase */
.entry-content .wp-block-button__link,
body:not(.home) .entry-content .wp-block-button__link {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
}

/* Hero page titles — 36px on all inner pages */
body:not(.home) .entry-content > .wp-block-group:first-child h1 {
    font-size: 36px !important;
    font-weight: 800 !important;
}

/* Privacy Policy h2s — 20px is too small for body headings, bump to match */
body.page-id-70 .entry-content h2[style*="font-size:20px"] {
    font-size: 22px !important;
}
/* === END FONT NORMALIZATION === */

/* === FOOTER CLEANUP === */
.site-footer, #colophon,
.site-bottom-footer-wrap,
.site-bottom-footer-inner-wrap {
    background: #0a1628 !important;
    font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
.site-bottom-footer-wrap {
    border-top: 3px solid #c0392b !important;
}
#colophon a, .site-footer a {
    color: #8899aa !important;
    text-decoration: none !important;
    transition: color 0.15s ease !important;
}
#colophon a:hover, .site-footer a:hover {
    color: #c0392b !important;
}
#colophon a[href*="mailto"], .site-footer a[href*="mailto"] {
    color: #c0392b !important;
    font-weight: 700 !important;
}
#colophon a[href*="mailto"]:hover, .site-footer a[href*="mailto"]:hover {
    color: #e74c3c !important;
}
/* === END FOOTER CLEANUP === */

/* === PHOTO BLOCK SPACING FIX === */
/* Eliminate white gaps between full-width sections */
.entry-content > .wp-block-cover,
.entry-content > .wp-block-image,
.entry-content > .wp-block-columns {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Cover blocks inside content should be flush */
.entry-content .wp-block-cover + .wp-block-group,
.entry-content .wp-block-group + .wp-block-cover {
    margin-top: 0 !important;
}
/* === END PHOTO BLOCK SPACING FIX === */
/* === GLOBAL SPACING FIX — KILL WHITE GAPS === */
/* Remove Kadence default content padding that shows white background */
.site .entry-content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.site .content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
/* Remove default WordPress block gap */
.entry-content > * + * {
    margin-top: 0 !important;
}
/* Content area should have no background showing */
.site-main .entry-content {
    padding: 0 !important;
}
/* Remove gap between last content block and footer */
.entry-content > .wp-block-group:last-child {
    margin-bottom: 0 !important;
}
/* Cover blocks flush with surroundings */
.entry-content > .wp-block-cover {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* === END GLOBAL SPACING FIX === */
/* === CLEAN SPACING FIX === */
/* Remove Kadence content area padding — our pages are edge-to-edge */
.site .entry-content-wrap {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.content-wrap.container {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
/* Kill default block margins that create gaps */
.entry-content > .wp-block-group + .wp-block-group,
.entry-content > .wp-block-group + .wp-block-cover,
.entry-content > .wp-block-cover + .wp-block-group {
    margin-top: 0 !important;
}
/* === END CLEAN SPACING FIX === */
/* === HOMEPAGE EDGE-TO-EDGE === */
body.home .entry-content-wrap {
    padding: 0 !important;
    margin: 0 !important;
}
body.home .content-wrap {
    padding: 0 !important;
}
body.home .site-main {
    padding: 0 !important;
    margin: 0 !important;
}
body.home .entry-content > .wp-block-group {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body.home .entry-content > .wp-block-group > .wp-block-group,
body.home .entry-content > .wp-block-group > .wp-block-cover {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Footer area — no gap between content and footer */
body.home .site-footer {
    margin-top: 0 !important;
}
/* === END HOMEPAGE EDGE-TO-EDGE === */
/* === HOMEPAGE NEWS-TO-COVER GAP FIX === */
body.home .entry-content .wp-block-cover {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
body.home .entry-content > .wp-block-group > .wp-block-group:last-of-type {
    margin-bottom: 0 !important;
}
body.home .entry-content > .wp-block-group > *:not(:first-child) {
    margin-top: 0 !important;
}
body.home .entry-content > .wp-block-group > * {
    margin-bottom: 0 !important;
}
/* === END HOMEPAGE NEWS-TO-COVER GAP FIX === */

/* === FULL-WIDTH SECTION BORDER-RADIUS FIX v2 === */
/* Kadence adds border-radius:8px to .wp-block-group -- zero it on navy/gray full-width sections */
/* These are hero bars, content sections, CTA bars -- never cards (cards use wp-block-column) */
.entry-content .wp-block-group.has-background[style*="background-color:#0a1628"],
.entry-content .wp-block-group.has-background[style*="background-color: rgb(10, 22, 40)"],
.entry-content .wp-block-group.has-background[style*="background-color:#f5f5f5"],
.entry-content .wp-block-group.has-background[style*="background-color:#f4f5f7"],
.entry-content .wp-block-group.has-background[style*="background-color:#0d1f38"],
.entry-content .wp-block-group.has-background[style*="background:linear-gradient"] {
    border-radius: 0 !important;
}
.entry-content .wp-block-cover {
    border-radius: 0 !important;
}
/* === END FULL-WIDTH SECTION BORDER-RADIUS FIX v2 === */
/* === WHITE CARD TEXT FIX (inside navy sections) v3 === */
/* White cards inside navy sections: restore dark text colors */
/* Match both hex (#ffffff) and rgb(255,255,255) background formats */
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] h2,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] h3,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] h2,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] h3 {
    color: #0a1628 !important;
}
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] strong,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] strong {
    color: #0a1628 !important;
}
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] p,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] p,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] p.has-text-color,
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] p.has-text-color {
    color: #444444 !important;
}
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color:#ffffff"] p[style*="color:#c0392b"],
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] p[style*="color:#c0392b"],
body .entry-content .wp-block-group[style*="background-color:#0a1628"] .wp-block-group[style*="background-color: rgb(255"] p[style*="color: rgb(192, 57, 43)"] {
    color: #c0392b !important;
}
/* === END WHITE CARD TEXT FIX v3 === */

/* === MOBILE NAV FIX v5 (Kadence 1.5.x markup hardening) === */
@media (max-width: 1024px) {
  .site-header, .site-header-wrap, .site-header-inner-wrap, #masthead,
  .site-header-row-container, .site-header-row-container-inner,
  .site-top-header-wrap, .site-main-header-wrap, .site-bottom-header-wrap {
    background-color: #0a1628 !important;
  }
  .menu-toggle-open, .menu-toggle-open .menu-toggle-label, .mobile-toggle-open {
    color: #ffffff !important;
  }
  .menu-toggle-open .menu-toggle-icon,
  .menu-toggle-open .menu-toggle-icon::before,
  .menu-toggle-open .menu-toggle-icon::after {
    background-color: #ffffff !important;
  }
}
#mobile-drawer, .popup-drawer,
#mobile-drawer .drawer-inner, .popup-drawer .drawer-inner,
#mobile-drawer .drawer-content, .popup-drawer .drawer-content {
  background-color: #0a1628 !important;
}
#mobile-drawer .menu-toggle-close, .popup-drawer .menu-toggle-close {
  color: #ffffff !important;
}
#mobile-drawer .menu-toggle-close .menu-toggle-icon::before,
#mobile-drawer .menu-toggle-close .menu-toggle-icon::after,
.popup-drawer .menu-toggle-close .menu-toggle-icon::before,
.popup-drawer .menu-toggle-close .menu-toggle-icon::after {
  background-color: #ffffff !important;
}
/* === END MOBILE NAV FIX v5 === */
