/* Footer Contrast Improvements */
#footer {
    /* Solid dark background for better contrast */
    background: #1a1a1a !important;
    color: #ffffff !important;
}

#footer h5 {
    color: #ffffff !important; /* Bright white for headings */
    font-weight: 600 !important;
}

#footer p, 
#footer small {
    color: #f0f0f0 !important; /* Slightly off-white for paragraphs */
}

#footer a {
    color: #93c5fd !important; /* Light blue for links */
    text-decoration: underline !important;
    transition: color 0.3s ease !important;
}

#footer a:hover,
#footer a:focus {
    color: #dbeafe !important; /* Even lighter blue for hover/focus */
    text-decoration: underline !important;
}

#footer ul.list-unstyled li {
    margin-bottom: 10px !important; /* Better spacing between list items */
}

#footer hr {
    border-color: #444 !important; /* Darker horizontal rule */
    opacity: 1 !important;
}

/* High Contrast Mode Support */
@media (prefers-contrast: high) {
    #footer {
        background: #000000 !important;
    }
    
    #footer h5 {
        color: #ffffff !important;
    }
    
    #footer p, 
    #footer small {
        color: #ffffff !important;
    }
    
    #footer a {
        color: #ffffff !important;
        text-decoration: underline !important;
        font-weight: bold !important;
    }
    
    #footer a:hover,
    #footer a:focus {
        background-color: #ffffff !important;
        color: #000000 !important;
    }
}

/* JavaScript Fallback for ensuring contrast */
.js-footer-high-contrast {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

.js-footer-high-contrast h5 {
    color: #ffffff !important;
    font-weight: 600 !important;
}

.js-footer-high-contrast p,
.js-footer-high-contrast small {
    color: #f0f0f0 !important;
}

.js-footer-high-contrast a {
    color: #93c5fd !important;
    text-decoration: underline !important;
}

.js-footer-high-contrast a:hover,
.js-footer-high-contrast a:focus {
    color: #dbeafe !important;
}
