/*=========================================================
            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: #17652f;

    color: #ffffff;

    padding: 12px 18px;

    border-radius: 8px;

    cursor: pointer;

    font-size: 14px;

    font-weight: 600;

    border: 1px solid #0f4d23;

    box-shadow:
        0 6px 18px rgba(15, 77, 35, 0.20);

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;

}


.accessibility-launcher:hover {

    background: #f58220;

    color: #ffffff;

    border-color: #dc680b;

    transform: translateY(-1px);

    box-shadow:
        0 8px 22px rgba(245, 130, 32, 0.25);

}


/* Icon */

.accessibility-launcher i {

    font-size: 15px;

}


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

.accessibility-bar {

    margin-top: 10px;

    width: 320px;

    background: #ffffff;

    border-radius: 10px;

    padding: 15px;

    border: 1px solid #dfe7df;

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.16);

    display: none;

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

    gap: 10px;

}


/* Show / Hide */

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

    display: grid;

}


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

.accessibility-title {

    grid-column: 1 / -1;

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 15px;

    font-weight: 700;

    color: #0f4d23;

    padding-bottom: 10px;

    border-bottom: 1px solid #e1e9e1;

}


/* Title icon */

.accessibility-title i {

    color: #f58220;

    font-size: 15px;

}


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

.accessibility-bar button {

    height: 42px;

    border: 1px solid #dce7dd;

    border-radius: 7px;

    background: #eaf5ed;

    color: #17652f;

    cursor: pointer;

    font-size: 13px;

    font-weight: 600;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;

}


.accessibility-bar button:hover {

    background: #17652f;

    color: #ffffff;

    border-color: #17652f;

    transform: translateY(-1px);

    box-shadow:
        0 4px 10px rgba(23, 101, 47, 0.15);

}


/*=========================================================
            ACTIVE BUTTON
=========================================================*/

.accessibility-bar button.active {

    background: #f58220;

    color: #ffffff;

    border-color: #dc680b;

    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.35);

}


/*=========================================================
            RESET BUTTON
=========================================================*/

.reset-btn {

    grid-column: 1 / -1;

    background: #6c757d !important;

    color: #ffffff !important;

    border-color: #6c757d !important;

}


.reset-btn:hover {

    background: #dc680b !important;

    color: #ffffff !important;

    border-color: #dc680b !important;

}


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


/*---------------------------------------------------------
            HIGH CONTRAST
---------------------------------------------------------*/

body.high-contrast {

    background: #000000 !important;

    color: #ffffff !important;

}


body.high-contrast * {

    color: #ffffff !important;

    border-color: #f5d84a !important;

}


/*---------------------------------------------------------
            GRAYSCALE
---------------------------------------------------------*/

body.grayscale {

    filter: grayscale(100%);

}


/*---------------------------------------------------------
            DARK MODE
---------------------------------------------------------*/

body.dark-mode {

    background: #1f2922 !important;

    color: #f1f1f1 !important;

}


body.dark-mode .card,
body.dark-mode .section,
body.dark-mode .feature-card,
body.dark-mode .stat-card,
body.dark-mode .about-content,
body.dark-mode .rate-table-wrapper {

    background: #29352d !important;

    color: #f1f1f1 !important;

}


body.dark-mode .accessibility-bar {

    background: #29352d;

    border-color: #405247;

}


body.dark-mode .accessibility-title {

    color: #f5d84a;

    border-color: #405247;

}


body.dark-mode .accessibility-bar button {

    background: #34443a;

    color: #ffffff;

    border-color: #4a5b4f;

}


/*---------------------------------------------------------
            UNDERLINE LINKS
---------------------------------------------------------*/

body.underline-links a {

    text-decoration: underline !important;

}


/*---------------------------------------------------------
            LARGE CURSOR
---------------------------------------------------------*/

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

    cursor: pointer !important;

}


/*=========================================================
            RESPONSIVE - TABLET
=========================================================*/

@media (max-width: 768px) {

    .accessibility-wrapper {

        top: auto;

        bottom: 20px;

        right: 15px;

    }


    .accessibility-bar {

        width: 280px;

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

    }

}


/*=========================================================
            RESPONSIVE - MOBILE
=========================================================*/

@media (max-width: 480px) {

    .accessibility-wrapper {

        right: 12px;

        bottom: 15px;

    }


    .accessibility-bar {

        width: 260px;

        padding: 12px;

        gap: 8px;

    }


    .accessibility-launcher {

        padding: 10px 14px;

        font-size: 13px;

    }


    .accessibility-bar button {

        height: 40px;

        font-size: 12px;

    }


    .accessibility-title {

        font-size: 14px;

    }

}