/* ===== Site-specific overrides ===== */

/* Navigation header */
body > header {
    background: linear-gradient(90deg, #102040 0%, #1E3A70 60%, #2854C5 100%);
    color: #F8FAFC;
    position: relative;
    z-index: 1000;
}
body > header a, body > header button { color: #F8FAFC; }
body > header a:hover { color: #F4C85D; }
body > header .mobile-menu {
    background: linear-gradient(90deg, #102040 0%, #1E3A70 60%, #2854C5 100%);
    z-index: 9999;
}
body > header .mobile-menu a:hover { color: #F4C85D; }

/* Footer */
footer {
    background: linear-gradient(90deg, #08101F 0%, #14213D 100%) !important;
    color: #F8FAFC;
}
footer a, footer p, footer div { color: #F8FAFC; }
footer a:hover { color: #F4C85D; }

/* Buttons */
.btn-primary {
    --btn-bg: #F4C85D;
    --btn-bg-hover: #d89b00;
    --btn-text: #102040;
    --btn-text-hover: #102040;
    --btn-border: #F4C85D;
    --btn-border-hover: #d89b00;
}

/* Scroll-to-top */
[data-scroll-top] { background-color: #F4C85D !important; color: #102040 !important; }
[data-scroll-top]:hover { background-color: #d89b00 !important; }

/* Header: move nav breakpoint from 768px → 992px */
/* Mobile header size (0 → 991px) */
@media (max-width: 991.98px) {
    body > header {
        min-height: 3rem;
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}
/* Undo md: (768px) styles in the 768–991px gap */
@media (min-width: 768px) and (max-width: 991.98px) {
    body > header nav:not(.mobile-menu) {
        display: none;
    }
    body > header .btn-primary {
        display: none;
    }
    body > header .menu-icon {
        display: inline-flex;
    }
}
/* Apply desktop styles at 992px+ */
@media (min-width: 992px) {
    body > header {
        min-height: 5rem;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }
    body > header nav:not(.mobile-menu) {
        display: flex;
    }
    body > header .btn-primary {
        display: inline-flex;
    }
    body > header [data-menu-icon] {
        display: none;
    }
}
