html {
    font-size: 16px;
}

/* ============================
   WIDGET DISABILITY (DEFAULT)
============================ */

.content-disability {
    position: fixed;
    left: 0;
    top: 200px;
    z-index: 999999;
    font-family: Arial, sans-serif;
}

/* Button wheelchair */
.btn-disability {
    width: 85px;
    height: 85px;
    background: #0d3b66;
    border-radius: 50%;
    border: 3px solid #f4a261;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0px 6px 18px rgba(0,0,0,0.3);
    transition: 0.3s ease;
    margin-left: 15px;
}

.btn-disability i {
    color: #fff;
    font-size: 36px;
}

/* Panel menu (SLIDE) */
.content-disability-body {
    position: absolute;
    left: 0;
    top: 0;

    width: 240px;
    background: #ffffff;
    border-radius: 0px 8px 8px 0px;
    box-shadow: 0px 8px 20px rgba(0,0,0,0.2);
    overflow: hidden;

    /* Hidden state */
    transform: translateX(-260px);
    transition: 0.3s ease;
}

/* Panel open */
.content-disability.active .content-disability-body {
    transform: translateX(0px);
}

/* Saat panel aktif, tombol ikut geser */
.content-disability.active .btn-disability {
    transform: translateX(250px);
}

/* Menu item */
.content-disability-body a {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid #eee;
    text-decoration: none;
    font-size: 14px;
    color: #333;
    transition: 0.2s;
}

.content-disability-body a i {
    width: 18px;
    text-align: center;
    color: #0d3b66;
    font-size: 15px;
}

.content-disability-body a:hover {
    background: #f2f2f2;
}


/* =======================
   MODE AKSESIBILITAS
======================= */

.disability-grayscale {
    filter: grayscale(100%);
}

.disability-kontras {
    background: black !important;
    color: yellow !important;
}

.disability-kontras a {
    color: cyan !important;
}

.disability-garisbawah a {
    text-decoration: underline !important;
}

.disability-klise a {
    background: yellow !important;
    color: black !important;
    padding: 2px 4px;
    border-radius: 4px;
}

.disability-penerangan {
    filter: brightness(115%);
}

.disability-readable-font {
    font-family: Arial, Verdana, sans-serif !important;
    letter-spacing: 0.5px;
    line-height: 1.7;
}


/* ============================
   MODE FONT SIZE (TEXT ONLY)
============================ */

body.text-size-1,
body.text-size-1 p,
body.text-size-1 span,
body.text-size-1 a,
body.text-size-1 li,
body.text-size-1 td,
body.text-size-1 th,
body.text-size-1 label,
body.text-size-1 button,
body.text-size-1 input,
body.text-size-1 textarea,
body.text-size-1 h1,
body.text-size-1 h2,
body.text-size-1 h3,
body.text-size-1 h4,
body.text-size-1 h5,
body.text-size-1 h6 {
    font-size: 110% !important;
}

body.text-size-2,
body.text-size-2 p,
body.text-size-2 span,
body.text-size-2 a,
body.text-size-2 li,
body.text-size-2 td,
body.text-size-2 th,
body.text-size-2 label,
body.text-size-2 button,
body.text-size-2 input,
body.text-size-2 textarea,
body.text-size-2 h1,
body.text-size-2 h2,
body.text-size-2 h3,
body.text-size-2 h4,
body.text-size-2 h5,
body.text-size-2 h6 {
    font-size: 125% !important;
}

body.text-size-3,
body.text-size-3 p,
body.text-size-3 span,
body.text-size-3 a,
body.text-size-3 li,
body.text-size-3 td,
body.text-size-3 th,
body.text-size-3 label,
body.text-size-3 button,
body.text-size-3 input,
body.text-size-3 textarea,
body.text-size-3 h1,
body.text-size-3 h2,
body.text-size-3 h3,
body.text-size-3 h4,
body.text-size-3 h5,
body.text-size-3 h6 {
    font-size: 140% !important;
}


/* ==========================================
   EXCLUDE WIDGET (agar panel tidak ikut besar)
========================================== */

body.text-size-1 .content-disability *,
body.text-size-2 .content-disability *,
body.text-size-3 .content-disability * {
    font-size: 14px !important;
}

/* kembalikan icon wheelchair supaya tetap besar */
body.text-size-1 .btn-disability i,
body.text-size-2 .btn-disability i,
body.text-size-3 .btn-disability i {
    font-size: 36px !important;
}


/* ============================
   RESPONSIVE BREAKPOINTS
============================ */

/* Tablet / Laptop kecil (<=1024px) */
@media (max-width: 1024px) {

    .content-disability {
        top: 180px;
    }

    .btn-disability {
        width: 75px;
        height: 75px;
    }

    .btn-disability i {
        font-size: 32px;
    }

    .content-disability-body {
        width: 220px;
        transform: translateX(-240px);
    }

    .content-disability.active .btn-disability {
        transform: translateX(230px);
    }

    .content-disability-body a {
        font-size: 13px;
        padding: 9px 12px;
    }

    body.text-size-1 .btn-disability i,
    body.text-size-2 .btn-disability i,
    body.text-size-3 .btn-disability i {
        font-size: 32px !important;
    }
}


/* Tablet / Mobile besar (<=768px) */
@media (max-width: 768px) {

    .content-disability {
        top: 130px;
    }

    .btn-disability {
        width: 65px;
        height: 65px;
        margin-left: 10px;
    }

    .btn-disability i {
        font-size: 28px;
    }

    .content-disability-body {
        width: 200px;
        transform: translateX(-220px);
    }

    .content-disability.active .btn-disability {
        transform: translateX(210px);
    }

    .content-disability-body a {
        font-size: 12px;
        padding: 8px 10px;
        gap: 8px;
    }

    .content-disability-body a i {
        font-size: 13px;
    }

    body.text-size-1 .btn-disability i,
    body.text-size-2 .btn-disability i,
    body.text-size-3 .btn-disability i {
        font-size: 28px !important;
    }
}


/* Mobile kecil (<=480px) */
@media (max-width: 480px) {

    .content-disability {
        top: 140px;
    }

    .btn-disability {
        width: 55px;
        height: 55px;
        margin-left: 8px;
    }

    .btn-disability i {
        font-size: 24px;
    }

    .content-disability-body {
        width: 180px;
        transform: translateX(-200px);
    }

    .content-disability.active .btn-disability {
        transform: translateX(190px);
    }

    .content-disability-body a {
        font-size: 12px;
        padding: 8px 10px;
    }

    body.text-size-1 .btn-disability i,
    body.text-size-2 .btn-disability i,
    body.text-size-3 .btn-disability i {
        font-size: 24px !important;
    }
}