/*=========================================================
            ACCESSIBILITY WRAPPER
=========================================================*/

.accessibility-wrapper{

    position:fixed;

    top:90px;

    right:20px;

    z-index:999999;

}

/* Hide checkbox */

#accessibility-toggle{

    display:none;

}

/*=========================================================
            LAUNCHER BUTTON
=========================================================*/

.accessibility-launcher{

    display:inline-flex;

    align-items:center;

    gap:8px;

    background:#0B3D91;

    color:#fff;

    padding:12px 18px;

    border-radius:50px;

    cursor:pointer;

    font-size:14px;

    font-weight:600;

    box-shadow:0 8px 20px rgba(0,0,0,.15);

    transition:.3s;

}

.accessibility-launcher:hover{

    background:#FFD54F;

    color:#0B3D91;

}

/*=========================================================
            TOOLBAR PANEL
=========================================================*/

.accessibility-bar{

    margin-top:10px;

    width:320px;

    background:#fff;

    border-radius:14px;

    padding:14px;

    box-shadow:0 12px 28px rgba(0,0,0,.18);

    display:none;

    grid-template-columns:repeat(3,1fr);

    gap:10px;

}

/* Show / Hide using CSS only */

#accessibility-toggle:checked ~ .accessibility-bar{

    display:grid;

}

/*=========================================================
            TITLE
=========================================================*/

.accessibility-title{

    grid-column:1 / -1;

    font-size:15px;

    font-weight:700;

    color:#0B3D91;

    padding-bottom:8px;

    border-bottom:1px solid #E6EAF2;

}

/*=========================================================
            BUTTONS
=========================================================*/

.accessibility-bar button{

    height:42px;

    border:none;

    border-radius:8px;

    background:#0B3D91;

    color:#fff;

    cursor:pointer;

    font-size:13px;

    font-weight:600;

    transition:.25s;

}

.accessibility-bar button:hover{

    background:#FFD54F;

    color:#0B3D91;

    transform:translateY(-1px);

}

.accessibility-bar button.active{

    background:#FFD54F;

    color:#0B3D91;

    box-shadow:inset 0 0 0 2px #0B3D91;

}

/* Reset button spans full width */

.reset-btn{

    grid-column:1 / -1;

    background:#6c757d !important;

}

.reset-btn:hover{

    background:#d32f2f !important;

    color:#fff !important;

}

/*=========================================================
            ACCESSIBILITY MODES
=========================================================*/

body.high-contrast{

    background:#000 !important;

    color:#fff !important;

}

body.high-contrast *{

    color:#fff !important;

    border-color:#FFD54F !important;

}

body.grayscale{

    filter:grayscale(100%);

}

body.dark-mode{

    background:#1f1f1f !important;

    color:#f1f1f1 !important;

}

body.dark-mode .card,
body.dark-mode .section,
body.dark-mode .feature-card,
body.dark-mode .stat-card{

    background:#2b2b2b !important;

    color:#f1f1f1 !important;

}

body.underline-links a{

    text-decoration:underline !important;

}

body.large-cursor,
body.large-cursor *{

    cursor:pointer !important;

}

/*=========================================================
            RESPONSIVE
=========================================================*/

@media(max-width:768px){

.accessibility-wrapper{

    top:auto;

    bottom:20px;

    right:15px;

}

.accessibility-bar{

    width:280px;

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:480px){

.accessibility-bar{

    width:260px;

}

.accessibility-launcher{

    padding:10px 14px;

    font-size:13px;

}

}