/* ==========================================
   ACCESSIBILITY TOOLBAR
========================================== */

#accessibility-toolbar{
    position:relative;
    width:100%;
    background:#003366;
    z-index:999;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:5px;
    padding:6px 8px;
    box-sizing:border-box;
}

#accessibility-toolbar button{
    background:#ffffff;
    color:#003366;
    border:none;
    padding:6px 10px;
    border-radius:4px;
    cursor:pointer;
    font-weight:600;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    transition:.3s;
}

#accessibility-toolbar button:hover,
#accessibility-toolbar button:focus-visible{
    background:#ffcc00;
    color:#000;
}

/* ==========================================
   MOBILE
========================================== */

@media (max-width:991px){

    #accessibility-toolbar{
        justify-content:flex-start;
        flex-wrap:nowrap;
        overflow-x:auto;
        overflow-y:hidden;
        padding:6px;
        gap:6px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    #accessibility-toolbar::-webkit-scrollbar{
        display:none;
    }

    #accessibility-toolbar button{
        flex:0 0 auto;
        min-width:max-content;
        padding:8px 12px;
        font-size:12px;
    }

}

@media (max-width:576px){

    #accessibility-toolbar{
        padding:5px;
        gap:5px;
    }

    #accessibility-toolbar button{
        padding:7px 10px;
        font-size:11px;
    }

}

/* ==========================================
   CONTRAST MODE
========================================== */

.contrast-mode,
.contrast-mode *{
    background:#000 !important;
    color:#fff !important;
    border-color:#ffff00 !important;
}

.contrast-mode a{
    color:#00ffff !important;
}

/* ==========================================
   DARK MODE
========================================== */

.dark-mode,
.dark-mode *{
    background:#222 !important;
    color:#eee !important;
}

.dark-mode a{
    color:#4fc3f7 !important;
}

/* ==========================================
   SKIP LINK
========================================== */

.skip-link{
    position:absolute;
    left:-9999px;
    top:10px;
    background:#0056d6;
    color:#fff;
    padding:12px 20px;
    font-size:16px;
    font-weight:bold;
    text-decoration:none;
    border-radius:6px;
    z-index:999999999;
}

.skip-link:focus{
    left:20px;
}

/* ==========================================
   KEYBOARD FOCUS
========================================== */

*:focus{
    outline:none;
}

*:focus-visible{
    outline:3px solid #ffbf00 !important;
    outline-offset:3px;
    border-radius:4px;
    box-shadow:0 0 0 3px rgba(255,191,0,.35);
}

a:focus-visible{
    background:#ffeb3b;
    color:#000 !important;
    text-decoration:underline;
}

nav a:focus-visible{
    background:#0056b3;
    color:#fff !important;
}

input[type="text"]:focus-visible,
input[type="search"]:focus-visible,
textarea:focus-visible,
select:focus-visible{
    background:#fffce8;
}

/* ==========================================
   HIGHLIGHT LINKS
========================================== */

.highlight-links a:not(:has(img)){
    background:#ffff00 !important;
    color:#000 !important;
    text-decoration:underline !important;
    font-weight:bold !important;
    padding:2px 4px;
    border-radius:3px;
}

/* ==========================================
   HIGHLIGHT HEADINGS
========================================== */

.highlight-headings h1,
.highlight-headings h2,
.highlight-headings h3,
.highlight-headings h4,
.highlight-headings h5,
.highlight-headings h6{
    background:#ffeb3b !important;
    color:#000 !important;
    display:inline-block;
    padding:4px 8px;
    border-radius:4px;
    font-weight:bold !important;
}