/* Primary navigation styling */
.primary-navigation {
    font-size: 28px;
}

/* Dropdown (submenu) styling */
#menu-buttons .sub-menu {
    position: absolute;
    z-index: 999;
    background-color: #ffffff;
    text-align: left;
}

#menu-buttons .sub-menu .menu-item {
    display: block;
}

@media (max-width: 398px) {
    #menu-buttons .sub-menu {
        left: -30%;
        min-width: 320px;
    }
    #menu-buttons .sub-menu .menu-item a {
        font-size: 14px;
    }
}

/* Cookie notice button styling */
#cookie-notice .cn-button:not(.cn-button-custom) {
    font-weight: 700;
    color: #333333;
    background-color: #ffde00;
    border: 2px solid #aaaaaa;
    border-radius: 4px;
    transition: all 0.3s ease;
}

#cookie-notice .cn-button:not(.cn-button-custom):hover,
#cookie-notice .cn-button:not(.cn-button-custom):focus {
    color: #004a7c;
    background-color: #ffffff;
    outline: 2px solid #004a7c;
}

/* Accessibility button position */
.asw-menu-btn {
    left: auto !important;
    right: 20px !important;
}

/* Accessibility widget button styling */
.asw-menu-btn,
.asw-menu-btn:focus,
.asw-menu-btn:active,
a.asw-menu-btn {
    background: #ffde00 !important;
    background-color: #ffde00 !important;
    background-image: none !important;
    outline: 5px solid #aaaaaa !important;
    border: 3px solid #aaaaaa !important;
    transition: background-color 300ms ease !important;
}

.asw-menu-btn:hover {
    background: #ffcc00 !important;
    background-color: #ffcc00 !important;
    background-image: none !important;
    transform: scale(1.05);
}

.asw-menu-btn svg {
    fill: #333333 !important;
}

/* Social icon and ARIA link accessibility fix */
.fl-icon a i,
.fl-icon a span {
    color: #004a7c !important;
    background-color: #ffffff !important;
}

.fl-icon a:hover span,
.fl-icon a:focus span {
    color: #ffffff !important;
    background-color: #004a7c !important;
    outline: 2px solid #004a7c;
}

/* Footer text styling */
footer,
footer p,
.site-footer,
.site-footer p {
    color: #ffffff !important;
}

footer a,
.site-footer a {
    color: #ffffff !important;
    text-decoration: none;
}

footer a:hover,
.site-footer a:hover {
    color: #ffde00 !important;
    text-decoration: underline;
}

.fl-icon a .sr-only {
    color: #004a7c !important;
    background-color: #ffffff !important;
    opacity: 1 !important;
}

/* Force override for Skip to Content link injected inline styles */
a.screen-reader-text.skip-link[style] {
    color: #004a7c !important;
    background-color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

/* Improve visibility for keyboard users */
a.screen-reader-text.skip-link[style]:focus,
a.screen-reader-text.skip-link[style]:active {
    color: #ffffff !important;
    background-color: #004a7c !important;
    outline: 2px solid #004a7c !important;
    position: absolute !important;
    top: 10px !important;
    left: 10px !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    z-index: 9999 !important;
}

/* FAQ Accordion contrast fix - WCAG AA compliant - Override inline styles */
.fl-accordion .fl-accordion-button .fl-accordion-button-label {
    color: #004A7C !important; /* FIXED */
}

.fl-accordion-button .fl-accordion-button-label[style] {
    color: #004A7C !important; /* FIXED */
}

a.fl-accordion-button .fl-accordion-button-label {
    color: #004A7C !important; /* FIXED */
}

.fl-accordion .fl-accordion-button:hover .fl-accordion-button-label,
.fl-accordion .fl-accordion-button:focus .fl-accordion-button-label {
    color: #005580 !important;
}

/* Accordion icon (plus sign) contrast */
.fl-accordion .fl-accordion-button-icon {
    color: #004A7C !important; /* FIXED */
}

.fl-accordion-button-icon[style] {
    color: #004A7C !important; /* FIXED */
}

.fl-accordion .fl-accordion-button:hover .fl-accordion-button-icon,
.fl-accordion .fl-accordion-button:focus .fl-accordion-button-icon {
    color: #005580 !important;
}

/* Ensure accordion content has proper contrast */
.fl-accordion .fl-accordion-content {
    color: #333333 !important;
    background-color: #ffffff !important;
}

/* Additional specificity to override Beaver Builder inline styles */
.fl-accordion-item .fl-accordion-button .fl-accordion-button-label {
    color: #004A7C !important; /* FIXED */
}

.fl-module-accordion .fl-accordion .fl-accordion-button .fl-accordion-button-label {
    color: #004A7C !important; /* FIXED */
}

/* Content link contrast fix - WCAG AA compliant - Override ALL inline styles */
/* Target all links in content areas */

.fl-rich-text a,
.fl-module-content a,
.fl-html a,
.fl-module-rich-text a,
p a,
li a,
div a {
    color: #004A7C !important; /* FIXED: Increased contrast from #0077AA */
    text-decoration: underline !important;
}

/* Specifically target links with inline styles */
a[style],
a[style*="color"],
a[style*="rgb(59, 169, 210)"],
a[data-asw-org-font-size] {
    color: #004A7C !important; /* FIXED: Increased contrast from #0077AA */
    text-decoration: underline !important;
}

/* Hover states */
.fl-rich-text a:hover,
.fl-module-content a:hover,
.fl-html a:hover,
.fl-module-rich-text a:hover,
p a:hover,
li a:hover,
div a:hover,
a[style]:hover {
    color: #005580 !important;
    text-decoration: underline !important;
}

/* Focus states for keyboard navigation */
.fl-rich-text a:focus,
.fl-module-content a:focus,
.fl-html a:focus,
.fl-module-rich-text a:focus,
p a:focus,
li a:focus,
div a:focus,
a[style]:focus {
    color: #005580 !important;
    outline: 2px solid #005580 !important;
    text-decoration: underline !important;
}

/* Photo carousel caption heading fix */
.jp-carousel-photo-caption h2,
.jp-carousel-photo-title-container h2 {
    color: #004A7C !important; /* FIXED */
}
/* Hide any empty jp-carousel titles as backup */
.jp-carousel-photo-caption:empty,
.jp-carousel-photo-title:empty,
.jp-carousel-caption:empty {
    display: none;
}

h1:empty, h2:empty, h3:empty, h4:empty, h5:empty, h6:empty {
    display: none;
}
h3[data-asw-org-font-size="24"]:empty {
    display: none;
}
/* Exclude footer and navigation links from content link styling */
footer a,
.site-footer a,
nav a,
.menu a {
    color: inherit !important;
}

footer a:hover,
.site-footer a:hover {
    color: #ffde00 !important;
}
