/* ===================================================== */
/* ACCESSIBILITY SIDEBAR */
/* ===================================================== */

.accessibility-sidebar {

    --accessibility-sidebar-width: 340px;
    --accessibility-trigger-size: 92px;

    position: fixed;

    top: 50%;

    right: 0;

    transform:
        translateY(-50%);

    width:
        var(--accessibility-trigger-size);

    display: flex;

    align-items: center;

    z-index: 9999;

    overflow: visible;

}

.accessibility-sidebar:hover {

    transform:
        translateY(-50%);

}

/* ===================================================== */
/* ACCESSIBILITY TRIGGER */
/* ===================================================== */

.accessibility-trigger {

    width:
        var(--accessibility-trigger-size);

    height:
        var(--accessibility-trigger-size);

    display: flex;

    justify-content: center;
    align-items: center;

    background:
        rgba(8, 35, 20, 0.95);

    backdrop-filter: blur(20px);

    border-radius:
        20px 0 0 20px;

    color: white;

    font-size: 2.3rem;

    cursor: pointer;

    box-shadow:
        -5px 5px 25px rgba(0,0,0,0.25);

}

.accessibility-trigger img {

    width:
        var(--accessibility-trigger-size);

    height:
        var(--accessibility-trigger-size);

    display: block;

    object-fit: contain;

}

/* ===================================================== */
/* ACCESSIBILITY CONTENT */
/* ===================================================== */

.accessibility-content {

    position: absolute;

    top: 50%;
    right:
        var(--accessibility-trigger-size);

    width:
        calc(var(--accessibility-sidebar-width) - var(--accessibility-trigger-size));

    max-width:
        calc(100vw - var(--accessibility-trigger-size));

    padding:
        2rem;

    background:
        rgba(8, 35, 20, 0.92);

    backdrop-filter: blur(24px);

    border-radius:
        28px 0 0 28px;

    border:
        1px solid rgba(255,255,255,0.08);

    color: white;

    box-shadow:
        -10px 10px 35px rgba(0,0,0,0.28);

    opacity: 0;

    pointer-events: none;

    transform:
        translate(1rem, -50%);

    transition:
        opacity 0.25s ease,
        transform 0.25s ease;

}

.accessibility-sidebar:hover .accessibility-content,
.accessibility-sidebar.active .accessibility-content {

    opacity: 1;

    pointer-events: auto;

    transform:
        translate(0, -50%);

}

.accessibility-content h3 {

    margin-bottom: 1.5rem;

    font-size:
        clamp(1.2rem, 1.1rem + 0.4vw, 1.6rem);

    font-weight: 900;

    line-height: 1.2;

}

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

.accessibility-option {

    width: 100%;

    border: none;

    margin-bottom: 1rem;

    padding:
        1.1rem
        1rem;

    border-radius: 18px;

    cursor: pointer;

    font-size: 1.05rem;

    font-weight: 800;

    background:
        rgba(255,255,255,0.10);

    color: white;

    transition:
        all 0.25s ease;

    text-align: left;

    backdrop-filter: blur(10px);

    min-height: 64px

}

.accessibility-option:hover {

    background:
        rgba(255,255,255,0.18);

    transform:
        translateX(-6px);

}

@media (max-width: 900px) {

    .accessibility-sidebar {

        right: 0;

    }

}
