/*
======================================================================
    THEME STYLE: ADHISLIMS008
    AUTHOR: TIM IT SD MUHAMMADIYAH PRAMBANAN & AI ASSISTANT
    VERSION: FINAL COMPLETE V2 (TERMASUK SEMUA PERBAIKAN MENU)
======================================================================
*/

/* ------------------------------------------------------------------
   1. IMPORT FONT & VARIABEL WARNA
-------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Fredoka+One&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css');

:root {
    --primary-color: #4A90E2;    /* Biru Langit Ceria */
    --secondary-color: #50E3C2;  /* Hijau Mint Segar */
    --accent-color: #F8D648;     /* Kuning Matahari */
    --dark-blue: #0d5ab8;        /* Biru Tua untuk Teks & Hover */
    --text-color: #4A4A4A;
    --light-bg: #F7F9FC;         /* Background bersih agak kebiruan */
    --white: #FFFFFF;
    --shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
    --header-font: 'Fredoka One', cursive;
    --body-font: 'Poppins', sans-serif;
}

/* ------------------------------------------------------------------
   2. RESET & GAYA DASAR GLOBAL
-------------------------------------------------------------------*/
body {
    font-family: var(--body-font);
    background-color: var(--light-bg);
    color: var(--text-color);
    overflow-x: hidden;
}

a {
    color: var(--primary-color);
    transition: all 0.3s ease;
}

a:hover {
    color: var(--dark-blue);
    text-decoration: none;
}

/* ( ... Kode CSS lainnya dari bagian 3 sampai 14 sama seperti yang Anda berikan ... ) */
.preloader{position:fixed;top:0;left:0;width:100%;height:100%;z-index:99999;background:var(--light-bg);display:flex;justify-content:center;align-items:center;transition:opacity .5s ease,visibility .5s ease;visibility:visible}.preloader .spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.top-bar{background-color:#f8f9fa;color:var(--dark-blue);padding:8px 0;font-size:14px;border-bottom:1px solid #e9ecef}.top-bar a{color:var(--dark-blue)}.top-header .brand{font-family:var(--header-font);color:var(--primary-color);font-size:1.75rem}.menu-bar{background-color:var(--white);transition:all .3s ease;border-bottom:1px solid #e9ecef}@media (min-width:992px){.menu-bar.is-sticky{position:fixed;top:0;left:0;right:0;z-index:1001;background-color:rgba(255,255,255,.95);backdrop-filter:blur(5px);box-shadow:var(--shadow)}}.sm-clean{background:0 0}.sm-clean a,.sm-clean a:active,.sm-clean a:focus,.sm-clean a:hover{color:#333;font-weight:600}.sm-clean a.active,.sm-clean a.current{color:var(--primary-color)}.sm-clean a span{padding:0 5px}.sm-clean a .fa{display:none}.sm-clean ul{background:var(--white);border-radius:10px;border:none;box-shadow:var(--shadow)}.sm-clean ul a{color:var(--dark-blue)!important}.sm-clean ul a:active,.sm-clean ul a:focus,.sm-clean ul a:hover{background:var(--primary-color)!important;color:var(--white)!important}@media (max-width:991.98px){.menu-bar.is-sticky{position:static!important}.menu-bar{position:fixed;bottom:0;left:0;right:0;width:100%;background-color:var(--white);z-index:1000;margin-bottom:0!important;border-top:1px solid #e0e0e0;box-shadow:0 -4px 15px rgba(0,0,0,.05)}.menu-bar .container{max-width:100%}#main-menu{display:flex;justify-content:space-around;width:100%;margin:0;padding:5px 0}#main-menu>li{text-align:center;flex-grow:1}#main-menu>li>a{display:flex;flex-direction:column;align-items:center;font-size:10px;padding:8px 5px!important;color:var(--text-color)}#main-menu>li>a .fa{display:block;font-size:20px;margin-bottom:4px}#main-menu>li>a span{display:block;padding:0}.navbar-toggler{display:none!important}.navbar-collapse{display:block!important}}#hero-slider{border-radius:20px;box-shadow:var(--shadow);overflow:hidden;position:relative;padding-top:56.25%}#hero-slider .carousel-inner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:20px}#hero-slider .carousel-item{width:100%;height:100%}#hero-slider .carousel-item img{width:100%;height:100%;object-fit:cover}#hero-slider .modern-caption{background:linear-gradient(to top,rgba(0,0,0,.7) 0,rgba(0,0,0,0) 100%);bottom:0;left:0;right:0;padding:40px 20px 20px;text-align:left}#hero-slider .modern-caption h5{font-family:var(--header-font);font-size:1.5rem;color:var(--white);text-shadow:1px 1px 3px rgba(0,0,0,.5)}#hero-slider .carousel-indicators{margin-bottom:.5rem}#hero-slider .carousel-indicators li{width:12px;height:12px;border-radius:50%;background-color:rgba(255,255,255,.5);border:none;margin:0 5px}#hero-slider .carousel-indicators .active{background-color:var(--white)}@media (min-width:992px){#hero-slider{padding-top:45%}}.quote-section{display:flex;align-items:stretch;background-color:var(--white);border-radius:15px;margin-bottom:2rem;overflow:hidden;box-shadow:var(--shadow);min-height:80px}.quote-title{font-family:var(--header-font);font-size:1rem;text-transform:uppercase;color:var(--white);background-color:var(--primary-color);padding:0 25px;white-space:nowrap;display:flex;align-items:center;justify-content:center}.quote-title .fa{margin-right:10px}.quote-marquee-wrapper{flex-grow:1;display:flex;align-items:center;padding:0 15px}marquee{font-size:1rem;color:var(--text-color)}.quote-marquee-wrapper .author{color:var(--dark-blue);font-weight:600}.quote-marquee-wrapper .quote-separator{margin:0 30px;color:var(--primary-color);font-weight:700}.page-title{font-family:var(--header-font);color:var(--dark-blue);font-size:2.2rem;position:relative;padding-bottom:15px;margin-bottom:30px!important;border-bottom:none}.page-title::after{content:'';position:absolute;bottom:0;left:0;width:80px;height:5px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:5px}footer .page-title{color:var(--white)}footer .page-title::after{background:linear-gradient(90deg,var(--accent-color),var(--white))}.card{border:none;border-radius:15px!important;box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease;background:var(--white);overflow:hidden}.card:hover{transform:translateY(-8px);box-shadow:0 12px 25px rgba(0,0,0,.12)}.card-title{font-family:var(--header-font);font-size:1.2rem}.card-title a{color:var(--dark-blue)}.card-title a:hover{color:var(--primary-color)}.card-img,.card-img-top{border-top-left-radius:15px!important;border-top-right-radius:15px!important}.btn.action-button{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));color:var(--white)!important;border:none;border-radius:50px!important;padding:10px 25px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 10px rgba(74,144,226,.4)}.btn.action-button:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(74,144,226,.6)}.news-card-v2 .news-card-image-wrapper{position:relative;overflow:hidden}.news-card-v2 .card-img-top{height:180px;object-fit:cover;transition:transform .3s ease}.news-card-v2:hover .card-img-top{transform:scale(1.05)}.news-card-v2 .news-card-date{position:absolute;top:15px;right:15px;background-color:var(--white);color:var(--primary-color);border-radius:8px;padding:5px 10px;text-align:center;font-weight:700;line-height:1;font-family:var(--header-font);box-shadow:0 2px 5px rgba(0,0,0,.2);border:2px solid var(--primary-color);z-index:10}.news-card-v2 .news-card-date span{display:block;font-size:1.5rem;margin-bottom:2px}.news-card-v2 .card-body{padding:15px}.news-card-v2 .news-card-title{font-family:var(--body-font);font-weight:600;font-size:1rem;line-height:1.4;height:45px;overflow:hidden;margin-bottom:0}.news-card-v2 .news-card-footer{background-color:var(--white);border-top:1px solid #f0f0f0;padding:10px 15px}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:25px}.book-card{text-align:center;background:0 0;transition:all .3s ease;box-shadow:none}.book-card:hover{transform:translateY(-5px)}.book-card img{width:100%;height:180px;object-fit:cover;border-radius:10px;margin-bottom:10px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.book-card .book-title{font-size:14px;font-weight:600;color:var(--text-color);line-height:1.4;height:40px;overflow:hidden}#tts-button-container{display:flex;align-items:center;gap:15px}#play-speech-btn{background-color:var(--accent-color);color:var(--text-color);font-weight:700;border-radius:50px;border:none;padding:10px 20px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .3s ease;font-size:14px}#play-speech-btn:hover{background-color:#ffc107;transform:scale(1.05)}#play-speech-btn.playing{background-color:#dc3545;color:var(--white)}#tts-status{font-style:italic;color:var(--text-color)}.album-card .card-body{padding:15px}.album-image-wrapper{position:relative;overflow:hidden;cursor:pointer;border-top-left-radius:15px;border-top-right-radius:15px}.album-image-wrapper .card-img-top{transition:transform .4s ease;height:250px;object-fit:cover}.album-card:hover .album-image-wrapper .card-img-top{transform:scale(1.1)}.album-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .4s ease}.album-card:hover .album-overlay{opacity:1}.album-overlay .btn{transform:translateY(20px);opacity:0;transition:all .4s ease}.album-card:hover .album-overlay .btn{transform:translateY(0);opacity:1}.video-card .embed-responsive{border-top-left-radius:15px;border-top-right-radius:15px;overflow:hidden}.video-card .card-body{padding:15px}.profile-card .card-img-top{height:300px;object-fit:cover;object-position:center top}.profile-card .card-body{padding:20px}.profile-card .profile-name{font-family:var(--header-font);color:var(--dark-blue);margin-bottom:5px;font-size:1.3rem}.profile-card .profile-type{color:var(--primary-color);font-weight:600;margin-bottom:10px}.profile-card .profile-nik{font-size:.9rem;color:#6c757d}.form-control,.custom-select{border-radius:8px;border:1px solid #ced4da;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus,.custom-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem rgba(74,144,226,.25)}.form-section-title{font-family:var(--header-font);color:var(--primary-color);font-size:1.4rem}#admission-form .form-group.row{margin-bottom:1rem}#admission-form .col-form-label{font-weight:600}.sidebar .card .card-body .page-title,.sidebar>.mb-4 .page-title{font-size:1.5rem;margin-bottom:20px!important}.sidebar .list-group-item{transition:all .3s ease}.sidebar .list-group-item:hover{background-color:var(--primary-color);color:var(--white);transform:translateX(5px)}.sidebar .list-group-item:hover .badge{background-color:var(--white);color:var(--primary-color)}footer .primary-footer{background-color:#343a40;color:#f8f9fa;padding:50px 0}footer .primary-footer a{color:var(--secondary-color)}footer .primary-footer a:hover{color:var(--white)}footer .secondary-footer{background-color:#212529;padding:15px 0;color:#adb5bd}footer .secondary-footer a{color:var(--accent-color)}#return-to-top{opacity:.8;z-index:1000;position:fixed;bottom:85px;right:15px;background:var(--primary-color);color:var(--white);width:40px;height:40px;display:none;text-decoration:none;text-align:center;line-height:40px;border-radius:50%!important;transition:all .3s ease}#return-to-top i{font-size:20px;position:relative;top:2px}#return-to-top:hover{background:var(--dark-blue);opacity:1}@media (min-width:992px){#return-to-top{bottom:20px}}.article-content img{max-width:100%;height:auto;border-radius:10px;margin:10px 0}#search_form{z-index:999999;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(30,30,30,.95);transition:all .5s ease-in-out;transform:translate(0,-100%) scale(0,0);opacity:0}#search_form.open{transform:translate(0) scale(1,1);opacity:1}#search_form input[type=search]{position:absolute;top:50%;left:5%;width:90%;color:#fff;background:0 0;font-size:4vw;font-weight:300;text-align:center;border:0;border-bottom:2px solid #fff;margin-top:-51px;outline:none}#search_form input[type=search]::placeholder{color:rgba(255,255,255,.5)}.map-container iframe{width:100%!important;height:100%!important;border:none}


/* ------------------------------------------------------------------
   15. PERBAIKAN KUSTOM (CUSTOM FIXES)
-------------------------------------------------------------------*/

/* FIX 1: POPUP GALERI TAMPIL DI TENGAH (UNTUK MAGNIFIC POPUP) */
.mfp-zoom-out-cur {
    cursor: -moz-zoom-out; 
    cursor: -webkit-zoom-out; 
    cursor: zoom-out;
}

/* FIX 2: PERBAIKAN FINAL MENU NAVIGASI MOBILE */
@media (max-width: 991.98px) {
    body {
        padding-bottom: 70px !important; 
    }
    
    .menu-bar {
        position: fixed !important;
        bottom: 0 !important;
        left: 0;
        right: 0;
        width: 100%;
        background-color: var(--white);
        z-index: 1000;
        border-top: 1px solid #e0e0e0;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.05);
    }
    
    .menu-bar.is-sticky {
        position: fixed !important;
    }

    #main-menu > li {
    text-align:center;
    flex-grow:1; /* <- Ini penyebabnya */
    }

    #main-menu ul {
        display: none;
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 180px;
        background-color: var(--white);
        border: 1px solid #eee;
        border-radius: 10px;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.1);
        padding: 5px 0;
        margin-bottom: 10px;
        z-index: 1001;
    }

    #main-menu ul li a {
        padding: 10px 15px;
        font-size: 14px;
        text-align: left;
        color: var(--dark-blue) !important;
    }

    #main-menu ul li a:hover {
        background-color: var(--primary-color);
        color: var(--white) !important;
    }

    #main-menu > li.has-submenu > a::before {
        content: '';
        display: none;
    }
}

/*
======================================================================
    FIX MENU MOBILE SCROLLABLE (BISA DIGESER)
======================================================================
*/
@media (max-width: 991.98px) {
    /* Paksa menu container untuk selalu terlihat */
    .navbar-collapse {
        display: block !important;
    }

    /* Menu selalu menempel di bawah */
    body {
        padding-bottom: 70px !important; 
    }
    
    .menu-bar {
        position: fixed !important;
        bottom: 0 !important;
        top: auto !important;
    }
    
    /* BUAT MENU BISA DI-SCROLL HORIZONTAL */
    /* BUAT MENU BISA DI-SCROLL HORIZONTAL */
#main-menu {
    display: flex;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    white-space: nowrap; /* <-- BARIS KRUSIAL YANG DITAMBAHKAN */
}

    /* Sembunyikan scrollbar di Chrome/Safari */
    #main-menu::-webkit-scrollbar {
        display: none;
    }

    /* Atur item menu agar tidak menyusut dan punya lebar minimal */
    #main-menu > li {
        flex-shrink: 0; /* Mencegah item menyusut */
        min-width: 80px; /* Beri lebar minimum pada setiap ikon */
    }

    /* Sembunyikan semua indikator panah di mobile */
    .sm-clean a .sub-arrow,
    #main-menu > li.has-submenu > a::before {
        display: none !important;
    }

    /* Atur tampilan sub-menu (tetap sama) */
    #main-menu > li {
        position: relative;
    }
    #main-menu ul {
        display: none;
        position: absolute;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 180px;
        background-color: var(--white);
        border: 1px solid #eee;
        border-radius: 10px;
        box-shadow: 0 -4px 15px rgba(0,0,0,0.1);
        padding: 5px 0;
        margin-bottom: 10px;
        z-index: 1001;
    }
    #main-menu ul li a {
        padding: 1px 15px;
        font-size: 5px;
        text-align: left;
        color: var(--dark-blue) !important;
    }
    #main-menu ul li a:hover {
        background-color: var(--primary-color);
        color: var(--white) !important;
    }
}

/*
============================================================
    PERBAIKAN FINAL TAMBAHAN
============================================================
*/

/* --- FIX: Mencegah menu desktop melebar jadi 2 baris --- */
@media (min-width: 992px) {
    #main-menu > li > a {
        padding-left: 5px;
        padding-right: 5px;
    }

    #main-menu {
        flex-wrap: nowrap; /* mencegah pindah baris */
        justify-content: space-between;
    }
}
/* HILANGKAN TOTAL INDIKATOR SUBMENU DI SEMUA MODE */
.sm-clean a .sub-arrow {
    display: none !important;
}
/*
======================================================================
    FIX 6: STYLE UNTUK WIDGET ARSIP (KOTAK-KOTAK KECIL)
======================================================================
*/

.archive-tags {
    display: flex;
    flex-wrap: wrap; /* Izinkan pindah baris jika tidak muat */
    gap: 8px; /* Jarak antar kotak */
}

.archive-tag {
    display: inline-flex;
    align-items: center;
    background-color: #f1f3f5; /* Warna latar sedikit lebih terang */
    color: var(--text-color);
    padding: 6px 12px;
    border-radius: 6px; /* <--- Diubah menjadi kotak dengan sudut sedikit melengkung */
    border: 1px solid #dee2e6; /* <--- Ditambahkan border agar terlihat seperti kotak */
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.archive-tag:hover {
    background-color: var(--primary-color);
    color: var(--white);
    border-color: var(--primary-color);
}

.archive-count {
    background-color: var(--primary-color);
    color: var(--white);
    font-size: 11px;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 50%;
    margin-left: 8px;
}

.archive-tag:hover .archive-count {
    background-color: var(--white);
    color: var(--primary-color);
}
