/*
======================================================================
    THEME STYLE: ADHISLIMS008
    VERSION: FINAL COMPLETE V12 (FIX SHARE BUTTON SIZE)
======================================================================
*/

/* ( ... Kode CSS dari bagian 1 sampai 14 sama seperti sebelumnya ... ) */
@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;--secondary-color:#50E3C2;--accent-color:#F8D648;--dark-blue:#0d5ab8;--text-color:#4A4A4A;--light-bg:#F7F9FC;--white:#FFF;--shadow:0 4px 15px rgba(0,0,0,.08);--header-font:'Fredoka One',cursive;--body-font:'Poppins',sans-serif}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 .3s ease}a:hover{color:var(--dark-blue);text-decoration:none}.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}.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 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}#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 */
.mfp-zoom-out-cur { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; }

/* 
======================================================================
    FIX FINAL MENU: DESKTOP (TEKS) & MOBILE (HAMBURGER)
======================================================================
*/

/* --- A. PENGATURAN UNTUK DESKTOP (Layar > 991px) --- */
@media (min-width: 992px) {
    .menu-bar.is-sticky {
        position: fixed !important; top: 0; left: 0; right: 0; z-index: 1020;
        background-color: rgba(255, 255, 255, 0.95);
        backdrop-filter: blur(5px); box-shadow: var(--shadow);
    }
    .navbar-toggler { display: none !important; }
    #main-menu > li > a { 
        padding: 18px 15px; 
        position: relative;
    }
    #main-menu > li.has-submenu > a {
        padding-right: 30px !important;
    }
    #main-menu > li > a > span { display: inline !important; }
    #main-menu > li > a > i.fa { display: none !important; }
    .sm-clean a .sub-arrow {
        display: block !important; 
        position: absolute;
        top: 50%;
        right: 12px;
        width: 10px;
        height: 10px;
        transform: translateY(-50%);
        font-size: 0; 
        text-indent: -9999px; 
    }
    .sm-clean a .sub-arrow::before {
        content: '\f0da'; font-family: FontAwesome; font-size: 14px; 
        color: var(--primary-color); position: absolute; top: 0; left: 0;
    }
}

/* --- B. PENGATURAN UNTUK MOBILE (Layar <= 991px) --- */
@media (max-width: 991.98px) {
    body { padding-bottom: 60px !important; }
    .menu-bar { 
        position: fixed !important; bottom: 0 !important; top: auto !important;
        height: 60px;
        z-index: 1021;
        border-top: 1px solid #e0e0e0; box-shadow: 0 -4px 15px rgba(0,0,0,0.05);
    }
    .menu-bar .container, .menu-bar .navbar {
        height: 100%;
        position: relative;
    }
    
    .navbar-toggler {
        display: flex !important; flex-direction: column; align-items: center;
        border: none; background: transparent; color: var(--text-color);
        position: absolute; left: 50%; top: 50%;
        transform: translate(-50%, -50%);
        padding: 8px 15px;
    }
    .navbar-toggler:focus { outline: none; }
    .navbar-toggler i { font-size: 24px; }
    .navbar-toggler span { font-size: 10px; font-weight: 600; }
    .navbar-toggler[aria-expanded="true"] i, .navbar-toggler[aria-expanded="true"] span { color: var(--primary-color); }

    .navbar-collapse {
        position: fixed;
        bottom: 60px;
        left: 0; right: 0;
        z-index: 1020;
        background-color: var(--white);
        border-top: 1px solid #ddd;
        box-shadow: 0 -5px 15px rgba(0,0,0,0.1);
        padding: 15px;
        max-height: 70vh;
        overflow-y: auto;
    }

    #main-menu { display: block; }
    #main-menu > li { text-align: left; }
    #main-menu > li > a {
        display: flex; flex-direction: row; align-items: center;
        font-size: 16px; padding: 12px 10px !important;
        border-bottom: 1px solid #f0f0f0;
    }
    #main-menu > li:last-child > a { border-bottom: none; }
    #main-menu > li > a > i.fa {
        display: inline-block !important;
        font-size: 16px; margin-bottom: 0; margin-right: 15px;
        width: 20px; text-align: center;
    }
    #main-menu > li > a > span { display: inline !important; }

    #main-menu ul {
        display: none;
        position: static;
        background-color: #f7f9fc;
        border: none; box-shadow: none; border-radius: 0;
        padding-left: 35px;
    }
     #main-menu ul a { padding: 10px 15px !important; font-size: 15px; }

    .sm-clean a .sub-arrow {
        display: block !important;
        position: absolute; right: 10px; top: 0;
        width: 44px; height: 44px;
        font-size: 0; text-indent: -9999px;
    }
    .sm-clean a .sub-arrow::before {
        content: '\f078';
        font-family: FontAwesome; font-size: 14px;
        position: absolute; top: 50%; left: 50%;
        transform: translate(-50%, -50%);
        transition: transform 0.3s ease;
    }
    .sm-clean a.highlighted .sub-arrow::before {
        transform: translate(-50%, -50%) rotate(180deg);
    }
}


/* ( ... Kode CSS untuk widget arsip dan share buttons sama seperti sebelumnya ... ) */
.archive-tags{display:flex;flex-wrap:wrap;gap:8px}.archive-tag{display:inline-flex;align-items:center;background-color:#f1f3f5;color:var(--text-color);padding:6px 12px;border-radius:6px;border:1px solid #dee2e6;font-size:13px;font-weight:500;text-decoration:none;transition:all .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:700;padding:2px 6px;border-radius:50%;margin-left:8px}.archive-tag:hover .archive-count{background-color:var(--white);color:var(--primary-color)}
.share-buttons-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.share-buttons-container a{display:inline-flex;align-items:center;justify-content:center;width:45px;height:45px;border-radius:50%;color:#fff!important;font-size:20px;text-decoration:none;transition:transform .3s ease}.share-buttons-container a:hover{transform:translateY(-3px)}.share-buttons-container a.facebook{background-color:#3b5998}.share-buttons-container a.twitter{background-color:#1da1f2}.share-buttons-container a.whatsapp{background-color:#25d366}.share-buttons-container a.telegram{background-color:#0088cc}