/* ===========================
   TOPBAR DROPDOWN Z-INDEX FIX
=========================== */

/* Only fix the dropdown z-index issue without changing original styles */
#header-nav li ul {
    z-index: 99999 !important;
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    margin-top: 0 !important;
}

/* Show dropdown on parent hover */
#header-nav li:hover ul {
    z-index: 99999 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Keep dropdown visible when hovering over it */
#header-nav li ul:hover {
    z-index: 99999 !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* CRITICAL: Bridge the gap between parent and dropdown */
#header-nav li:hover::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 5px;
    background: transparent;
    z-index: 99998;
}

/* ===========================
   THEME COLORS (Backgrounds)
=========================== */

/* Base backgrounds */
body.theme-red {
    background-color: #fff0f0;
}

body.theme-green {
    background-color: #f0fff0;
}

body.theme-black {
    background-color: #1c1c1c; /* darker for contrast */
}

/* Section overrides */
body.theme-red .bg-light {
    background-color: #ffdddd !important;
}

body.theme-green .bg-light {
    background-color: #ddffdd !important;
}

body.theme-black .bg-light {
    background-color: #222 !important;
    color: #fff;
}

/* ===========================
   MESSAGE SECTION
=========================== */
body.theme-red #message {
    background-color: #ffdddd !important;
}

body.theme-green #message {
    background-color: #ddffdd !important;
}

body.theme-black #message {
    background-color: #333 !important;
    color: #fff;
}

/* ===========================
   FORECOLORS (Text only – NOT links, NOT images)
=========================== */

/* Red */
body.theme-red h1,
body.theme-red h2,
body.theme-red h4,
body.theme-red p,
body.theme-red span {
    color: #990000;
}

/* Green */
body.theme-green h1,
body.theme-green h2,
body.theme-green h4,
body.theme-green p,
body.theme-green span {
    color: #006600;
}

/* Black */
body.theme-black h1,
body.theme-black h2,
body.theme-black h4,
body.theme-black p,
body.theme-black span {
    color: #ffffff;
}

/* IMPORTANT: safeguard – do not override links */
body.theme-red a,
body.theme-green a,
body.theme-black a {
    color: inherit; /* let your site's original CSS decide */
}

/* ===========================
   FOOTER (fixed)
=========================== */
.footer {
    background-color: #002147 !important;
    color: #ffffff;
}

    .footer a {
        color: #ffffff !important;
    }

.copyright {
    background-color: #002147 !important;
    color: #ffffff;
}
/* ===
========================
   TEXT ZOOM ACCESSIBILITY
=========================== */
/* Only affects text elements, not the entire page layout */

/* Base text elements that should be affected by zoom */
.text-zoom-80 p,
.text-zoom-80 h1, .text-zoom-80 h2, .text-zoom-80 h3, .text-zoom-80 h4, .text-zoom-80 h5, .text-zoom-80 h6,
.text-zoom-80 span, .text-zoom-80 div, .text-zoom-80 a, .text-zoom-80 li,
.text-zoom-80 td, .text-zoom-80 th, .text-zoom-80 label,
.text-zoom-80 input, .text-zoom-80 textarea, .text-zoom-80 button,
.text-zoom-80 .content, .text-zoom-80 .text, .text-zoom-80 .description {
    font-size: 0.8em !important;
}

.text-zoom-90 p,
.text-zoom-90 h1, .text-zoom-90 h2, .text-zoom-90 h3, .text-zoom-90 h4, .text-zoom-90 h5, .text-zoom-90 h6,
.text-zoom-90 span, .text-zoom-90 div, .text-zoom-90 a, .text-zoom-90 li,
.text-zoom-90 td, .text-zoom-90 th, .text-zoom-90 label,
.text-zoom-90 input, .text-zoom-90 textarea, .text-zoom-90 button,
.text-zoom-90 .content, .text-zoom-90 .text, .text-zoom-90 .description {
    font-size: 0.9em !important;
}

.text-zoom-110 p,
.text-zoom-110 h1, .text-zoom-110 h2, .text-zoom-110 h3, .text-zoom-110 h4, .text-zoom-110 h5, .text-zoom-110 h6,
.text-zoom-110 span, .text-zoom-110 div, .text-zoom-110 a, .text-zoom-110 li,
.text-zoom-110 td, .text-zoom-110 th, .text-zoom-110 label,
.text-zoom-110 input, .text-zoom-110 textarea, .text-zoom-110 button,
.text-zoom-110 .content, .text-zoom-110 .text, .text-zoom-110 .description {
    font-size: 1.1em !important;
}

.text-zoom-120 p,
.text-zoom-120 h1, .text-zoom-120 h2, .text-zoom-120 h3, .text-zoom-120 h4, .text-zoom-120 h5, .text-zoom-120 h6,
.text-zoom-120 span, .text-zoom-120 div, .text-zoom-120 a, .text-zoom-120 li,
.text-zoom-120 td, .text-zoom-120 th, .text-zoom-120 label,
.text-zoom-120 input, .text-zoom-120 textarea, .text-zoom-120 button,
.text-zoom-120 .content, .text-zoom-120 .text, .text-zoom-120 .description {
    font-size: 1.2em !important;
}

.text-zoom-130 p,
.text-zoom-130 h1, .text-zoom-130 h2, .text-zoom-130 h3, .text-zoom-130 h4, .text-zoom-130 h5, .text-zoom-130 h6,
.text-zoom-130 span, .text-zoom-130 div, .text-zoom-130 a, .text-zoom-130 li,
.text-zoom-130 td, .text-zoom-130 th, .text-zoom-130 label,
.text-zoom-130 input, .text-zoom-130 textarea, .text-zoom-130 button,
.text-zoom-130 .content, .text-zoom-130 .text, .text-zoom-130 .description {
    font-size: 1.3em !important;
}

.text-zoom-140 p,
.text-zoom-140 h1, .text-zoom-140 h2, .text-zoom-140 h3, .text-zoom-140 h4, .text-zoom-140 h5, .text-zoom-140 h6,
.text-zoom-140 span, .text-zoom-140 div, .text-zoom-140 a, .text-zoom-140 li,
.text-zoom-140 td, .text-zoom-140 th, .text-zoom-140 label,
.text-zoom-140 input, .text-zoom-140 textarea, .text-zoom-140 button,
.text-zoom-140 .content, .text-zoom-140 .text, .text-zoom-140 .description {
    font-size: 1.4em !important;
}

.text-zoom-150 p,
.text-zoom-150 h1, .text-zoom-150 h2, .text-zoom-150 h3, .text-zoom-150 h4, .text-zoom-150 h5, .text-zoom-150 h6,
.text-zoom-150 span, .text-zoom-150 div, .text-zoom-150 a, .text-zoom-150 li,
.text-zoom-150 td, .text-zoom-150 th, .text-zoom-150 label,
.text-zoom-150 input, .text-zoom-150 textarea, .text-zoom-150 button,
.text-zoom-150 .content, .text-zoom-150 .text, .text-zoom-150 .description {
    font-size: 1.5em !important;
}

/* Ensure line height adjusts proportionally */
.text-zoom-80 p, .text-zoom-80 div { line-height: 1.4; }
.text-zoom-90 p, .text-zoom-90 div { line-height: 1.4; }
.text-zoom-110 p, .text-zoom-110 div { line-height: 1.4; }
.text-zoom-120 p, .text-zoom-120 div { line-height: 1.4; }
.text-zoom-130 p, .text-zoom-130 div { line-height: 1.4; }
.text-zoom-140 p, .text-zoom-140 div { line-height: 1.4; }
.text-zoom-150 p, .text-zoom-150 div { line-height: 1.4; }