/* Theme icon toggles */
.theme-icon-dark {
    display: none;
}

html[data-bs-theme="dark"] .theme-icon-light {
    display: none;
}
html[data-bs-theme="dark"] .theme-icon-dark {
    display: inline-block;
}

/* Theme-aware body */
body {
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

/* Dark mode — ADA compliant 7:1+ */
/* Light mode — ADA compliant on white */
:root,
html[data-bs-theme="light"] {
    --bs-link-color: #0250C5;
    --bs-link-hover-color: #013A96;

    --bs-link-color-rgb: 2, 80, 197;
    --bs-link-hover-color-rgb: 1, 58, 150;
}


/* Dark mode — ADA compliant 7:1+ */
html[data-bs-theme="dark"] {
    --bs-link-color: #8fafff;
    --bs-link-hover-color: #3f73ff;

    --bs-link-color-rgb: 143, 175, 255;
    --bs-link-hover-color-rgb: 63, 115, 255;
}


/* Header placeholder for dynamic header */
.header-placeholder {
    height: 70px;
    background: var(--bs-body-bg);
}

/* Skip to main link */
.skip-link {
    position: absolute;
    top: -40px;
    left: 1rem;
    padding: 8px 12px;
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border-radius: 4px;
    text-decoration: none;
    z-index: 2000;
    transition: top 0.2s ease;
}

.skip-link:focus {
    top: 10px;
    outline: 2px solid var(--bs-link-color);
}

body.modal-open .skip-link {
    display: none !important;
}


/* Footer spacing fix */
@media (max-width: 576px) {
    footer .row > * {
        margin-top: .25rem !important;
    }
}

/* Main content bottom padding */
main {
    padding-bottom: 4rem;
}

/* Global fade animations */
.fade-in {
    opacity: 0;
    animation: fadeIn 0.35s ease-out forwards;
}

@keyframes fadeIn {
    to { opacity: 1; }
}

.fade-out {
    opacity: 1;
    animation: fadeOut 0.5s ease-out forwards;
}

@keyframes fadeOut {
    to { opacity: 0; }
}
