:root {
    /* Style Warna */
    --main-color: #0d6efd;
    --main-accent-0: #e5f6ff;
    --main-accent-1: #e5f6ff;
    --main-accent-2: #e5f6ff;

    /* Style Warna light & dark*/
    --dark-color: #393c47;
    --dark-accent-1: #c0c0c0;
    --light-color: #f1f1f1;
    --light-accent-1: #c4c7cc;

    /* Style Font*/
    --inter: 'Inter', sans-serif;

    /* Shadwow */
    --smooth-shadow: 0 .5rem 1rem rgba(74, 75, 78, 0.07);

    /* Source Aset */
    --img-hero: url("https://cdn.siap.id/s3/simpkb/asset%20img/guru-praktik-baik/Hero-literasi-new.png");
}

/* biar item bisa 2–3 baris di mobile */
@media (max-width: 576px) {
    .navbar .dropdown-menu {
        min-width: 0;          /* jangan dipaksa lebar default */
        width: 100%;           /* atau 90vw sesuai selera */
    }
    .navbar .dropdown-item {
        white-space: normal;   /* penting: hilangkan nowrap */
        overflow: visible;
        text-overflow: clip;   /* jangan di-ellipsis */
        line-height: 1.3;
        padding-right: 1rem;   /* beri ruang badge/ikon */
        word-break: break-word;/* jaga-jaga untuk kata panjang */
    }
}



/* Global UI */
body {
    font-family: var(--inter);
}

li a {
    color: black;
}

ul li a:hover {
    color: var(--main-color) !important;
}

ul li a:active {
    background-color: var(--light-color) !important;
}

ul:not(nav ul) li,
li:not(nav li) {
    margin: .4rem auto;
}

p,
ul li {
    line-height: 1.8rem;
}

a {
    text-decoration: none;
    font-weight: 600;
}

.text-main {
    color: var(--main-color);
}

.btn-primary:hover {
    box-shadow: 0 .5rem .6rem rgba(55, 0, 255, 0.17);
    transform: translateY(-.2rem);
    transition: all 0.2s;
}

.btn-primary {
    --bs-btn-color: var(--light-color);
    --bs-btn-bg: var(--main-color);
    --bs-btn-border-color: var(--main-color);
    --bs-btn-hover-color: var(--light-color);
    --bs-btn-hover-bg: var(--main-color);
    --bs-btn-hover-border-color: var(--main-color);
    --bs-btn-active-color: var(--light-color);
    --bs-btn-active-bg: var(--main-accent-0);
    --bs-btn-active-border-color: var(--main-accent-0);
    --bs-btn-disabled-color: var(--dark-color);
    --bs-btn-disabled-bg: var(--light-accent-1);
    --bs-btn-disabled-border-color: var(--light-accent-1);
}

.btn-light {
    --bs-btn-color: var(--main-color);
    --bs-btn-bg: var(--main-accent-2);
    --bs-btn-border-color: none;
    --bs-btn-hover-color: var(--main-color);
    --bs-btn-hover-bg: var(--main-accent-1);
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-color: var(--main-color);
    --bs-btn-active-bg: var(--main-accent-1);
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.fw-semibold {
    font-weight: 500;
}

.resp-btn {
    width: auto;
}


/* Section UI */
header .navbar.scrolled {
    box-shadow: var(--smooth-shadow);
    transition: all 0.4s;
}

header .nav-item.dropdown:hover .dropdown-menu {
    display: block;
}

header .nav-item a.nav-link:hover {
    color: var(--main-color) !important;
}

header nav ul li {
    line-height: normal;
}

#home.bg-heroSec {
    background-image: var(--img-hero);
    background-color: #CBF5FF;
    background-position: right;
    background-repeat: no-repeat;
    background-size: contain;
    min-height: 80vh;
}

#syarat img {
    transform: translateX(-2.6rem);
}

#jadwal ul {
    padding: 0;
    list-style: none;
    display: block;
}

#jadwal ul li {
    margin-left: .5rem;
    height: 4.2rem;
    border-left: 1px dashed var(--dark-accent-1);
    padding: 0 0 0 20px;
    position: relative;
}

#jadwal ul li:last-child {
    border-left: 0;
}

#jadwal ul li::before {
    content: " ";
    position: absolute;
    left: -14px;
    top: 2px;
    border: 8px solid var(--main-accent-1);
    border-radius: 50%;
    background: var(--main-color);
    height: 24px;
    width: 24px;
    transition: all 500ms ease-in-out;
}

#jadwal ul li:hover::before {
    border-color: #fff;
    transition: all 600ms ease-in-out;
}

#jadwal ul li .timestamp {
    color: var(--main-color);
    position: relative;
}


@media (max-width: 575.98px) {
    #home.bg-heroSec {
        min-height: 120vh;
        background-position: bottom;
    }

    #capaian .card-body .w-50 {
        width: 100%!important;
    }

    /* #syarat img {
        transform: translateX(-2.6rem);
    } */

    .resp-btn {
        width: 100%;
        justify-content: center;
    }
 }

 @media (max-width: 991.98px) {
        #home.bg-heroSec {
            min-height: 50vh;
            background-size: 40vh;
            background-position: bottom right;
        }

        #syarat img {
            transform: translateX(0);
            margin-bottom: 1rem;
        }
    }