@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
/* header */
@import url("https://fonts.googleapis.com/css2?family=Protest+Strike&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Passion+One:wght@400;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Tapestry&display=swap");

:root {
    --white: #ffffff;
    --light: #f6f6f6;
    --dark: #233446;
    --hijau: #073e29;
    --hijau-muda: #92e3a9;
    --hitam: #1e293b;
    --primary: #0d6efd;
    --red: #dc3545;
    --orange: #fd7e14;
    --warning: #ffc107;
    --coklat: #8a4524;
    --blue: #364d65;
    --bs-success: #71dd37;
    --text-success: #71dd37;
    --text-primary: #696cff;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    font-family: "Poppins", sans-serif;
}

/* -------------------------------------------------------------------------------------------------- */
.bg-hijau {
    background-color: var(--hijau);
}
.text-hijau {
    color: var(--hijau);
}

.container .navbar-brand div.namaSekolah {
    font-family: "Protest Strike", sans-serif;
    font-weight: 400;
}

/* ? ----------------------------- START HEADER-------------------------------------------------------- */
/* nama */
.namaLogo .nama {
    font-family: "Poppins", serif;
    font-size: 0.7rem;
    font-weight: 500;
}
/* logo sekolah */
.logoSekolah {
    width: 35px;
    height: 35px;
    position: relative;
    top: 0px;
}
/* ---------------------------------------------------------------------------------------------------- */
/* dropdown header */
.offcanvas-body .navbar-nav .dropdown-menu {
    padding-left: 5px;
    padding-right: 5px;
}
.offcanvas-body .navbar-nav .dropdown-menu .dropdown-item:hover {
    background-color: rgb(7, 62, 41, 0.5);
    border-radius: 5px !important;
}
.offcanvas-body .navbar-nav .nav-item .nav-link,
.offcanvas-body .navbar-nav .nav-item .dropdown-menu .dropdown-item,
.offcanvas-body .login {
    font-size: 12px;
}

.offcanvas-body .navbar-nav .nav-item .dropdown-menu .dropdown-item {
    color: var(--dark);
}

.offcanvas-body .navbar-nav .nav-item .dropdown-menu .dropdown-item:hover {
    color: var(--white) !important;
}

.offcanvas-body .navbar-nav .dropdown-menu li a:active {
    color: white !important;
}

.login {
    border-radius: 25px;
    margin-right: 5px;
}

/* ---------------------------------------------------------------------------------------------------- */
/* STYLE ACTIVE UNTUK SEMUA UKURAN - DILUAR MEDIA QUERY */
/* Matikan semua transisi */
.nav-link,
.nav-link.active,
.nav-link:active,
.nav-link:focus,
.active,
.dropdown-item,
.navbar-brand {
    transition: none !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -o-transition: none !important;
}

/* Style default active untuk DESKTOP (dengan background) */
.nav-link.active {
    background-color: var(--dark) !important;
    color: var(--white) !important;
    border-radius: 30px !important;
    font-weight: 500 !important;
}

/* Hapus style .nav-link.active:active yang bermasalah */
/* .nav-link.active:active {
    border-radius: 30px !important;
} */

/* ---------------------------------------------------------------------------------------------------- */
/* ? UKURAN DESKTOP ----------------------------------------------------------------------------------- */
@media only screen and (min-width: 1024px) {
    /* Gaya untuk desktop besar */
    .link-active {
        color: var(--white) !important;
        background-color: var(--dark) !important;
        border-radius: 5px;
        margin-top: 2px;
        margin-bottom: 2px;
    }

    /* Dropdown */
    .dropdown > .dropdown-menu {
        display: block;
        transform: translateY(10px);
        transition: all 0.3s ease;
        opacity: 0;
        visibility: hidden;
        color: white !important;
        margin-top: 0;
    }

    .dropend > .dropdown-menu {
        display: block;
        transform: translateY(10px);
        transition: all 0.3s ease;
        opacity: 0;
        visibility: hidden;
        color: white !important;
        margin-top: 0;
        position: absolute;
        top: 0;
        left: 100%;
    }

    .dropdown:hover > .dropdown-menu,
    .dropend:hover > .dropdown-menu {
        display: block;
        opacity: 1;
        transform: translateY(0px);
        visibility: visible;
    }

    .dropend:hover > .dropdown-menu {
        position: absolute;
        top: 0;
        left: 100%;
        margin-left: 0.125em;
    }
    /* ---------------------END DROPDOWN---------------------- */
}

/* ? UKURAN TABLET ----------------------------------------------------------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1023px) {
    /* RESET: Hapus background, border-radius, dan warna putih untuk tablet */
    .nav-link.active,
    .active {
        background-color: transparent !important;
        color: var(--dark) !important;
        border-radius: 0 !important;
        font-weight: 500 !important;
    }

    /* Gaya untuk tablet */
    .link-active {
        color: var(--bs-success) !important;
        background-color: transparent !important;
    }
}

/* ? UKURAN HP --------------------------------------------------------------------------------------- */
@media only screen and (max-width: 767px) {
    /* RESET: Hapus background, border-radius, dan warna putih untuk HP */
    .nav-link.active,
    .active {
        background-color: transparent !important;
        color: var(--dark) !important;
        border-radius: 0 !important;
        font-weight: 500 !important;
    }

    /* Gaya untuk ponsel */
    .link-active {
        color: var(--bs-success) !important;
        background-color: transparent !important;
    }
}

/* ? FIX untuk offcanvas/mobile menu (navbar collapse) ----------------------------- */
@media only screen and (max-width: 991px) {
    /* Untuk mobile menu, active style tanpa background */
    .offcanvas-body .nav-link.active,
    .offcanvas-body .active {
        background-color: transparent !important;
        color: var(--dark) !important;
        border-radius: 0 !important;
    }

    /* Pastikan hover di mobile menu juga tidak pakai background */
    .offcanvas-body .nav-link:hover:not(.active) {
        background-color: rgba(35, 52, 70, 0.05);
        border-radius: 5px;
    }
}

/* ? Hover effect untuk desktop (tetap ada) --------------------------------------- */
@media only screen and (min-width: 1024px) {
    .nav-link:hover:not(.active) {
        background-color: rgba(35, 52, 70, 0.1);
        border-radius: 30px;
        transition: none;
    }
}

/* ? Hover effect untuk tablet/hp (lebih subtle) ---------------------------------- */
@media only screen and (max-width: 1023px) {
    .nav-link:hover:not(.active) {
        background-color: rgba(35, 52, 70, 0.05);
        border-radius: 5px;
        transition: none;
    }
}
