/* assets/css/style.css */

/* Custom styling for a smooth, modern feel */
body {
    font-family: 'Inter', sans-serif;
    background-color: #f7f9fb; /* Light background for contrast */
    /* Transisi untuk padding-top */
    transition: padding-top 0.3s ease-in-out; 
}

/* Padding TOP untuk fixed header (Semua Ukuran Layar) */
/* Header height: h-16 = 4rem */
body {
    padding-top: 4rem; 
}

/* OVERRIDE Padding TOP untuk Mobile/Tablet */
@media (max-width: 1023px) { 
    body {
        /* Header h-16 (4rem) + New Search Section (3rem) + Extra Gap (1rem) = 8rem */
        padding-top: 8rem; 
    }
}

/* Padding bawah untuk fixed bottom navigation (AKTIF HINGGA TABLET) */
@media (max-width: 1023px) { 
    body {
        /* h-16 = 4rem */
        padding-bottom: 4rem; 
    }
}
@media (min-width: 1024px) {
    body {
        padding-bottom: 0;
    }
}

/* Primary Color: Deep Blue (GENERAL UTILITIES) */
.text-primary { color: #1e3a8a; }
.bg-primary { background-color: #1e3a8a; }
.bg-primary-hover:hover { background-color: #3b82f6; }

/* HEADER & TRANSITION */
.header-transition {
     transition: all 0.5s ease-in-out;
     width: 100%;
     z-index: 50; 
}

/* Styling for Scrollable Bottom Nav */
#scrollable-menu-wrapper::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Webkit browsers */
}
#scrollable-menu-wrapper {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}


/* --- CSS untuk Preloader (GENERAL) --- */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Opacity 85% */
    background-color: rgba(247, 249, 251, 0.85); 
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Pastikan selalu di atas elemen lain */
    opacity: 1;
    transition: opacity 0.5s ease-out, visibility 0.5s;
    visibility: visible;
}

#preloader.hidden {
    opacity: 0;
    visibility: hidden;
}

/* Styling untuk logo (agar bisa diposisikan) */
.loading-container {
    position: relative;
}

/* Efek Lingkaran Loading (Spinner) */
/* Ukuran Tetap 200px */
.loading-wrapper, .spinner {
    width: 200px; 
    height: 200px;
}
.spinner {
    border: 4px solid rgba(13, 62, 102, 0.1); 
    border-top: 4px solid #0D3E66; 
    border-radius: 50%;
    animation: spin 1s linear infinite; 
}

/* Animasi berputar */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* assets/css/style.css */

/* Custom styling for a smooth, modern feel */
body {
    font-family: 'Inter', sans-serif;
    background-color: #f7f9fb; /* Light background for contrast */
    /* Transisi untuk padding-top */
    transition: padding-top 0.3s ease-in-out; 
}

/* Padding TOP untuk fixed header (Semua Ukuran Layar) */
/* Header height: h-16 = 4rem */
body {
    padding-top: 4rem; 
}

/* OVERRIDE Padding TOP untuk Mobile/Tablet */
@media (max-width: 1023px) { 
    body {
        /* Header h-16 (4rem) + New Search Section (3rem) + Extra Gap (1rem) = 8rem */
        padding-top: 8rem; 
    }
}

/* Padding bawah untuk fixed bottom navigation (AKTIF HINGGA TABLET) */
@media (max-width: 1023px) { 
    body {
        /* h-16 = 4rem */
        padding-bottom: 4rem; 
    }
}
@media (min-width: 1024px) {
    body {
        padding-bottom: 0;
    }
}

/* Primary Color: Deep Blue (GENERAL UTILITIES) */
.text-primary { color: #1e3a8a; }
.bg-primary { background-color: #1e3a8a; }
.bg-primary-hover:hover { background-color: #3b82f6; }

/* HEADER & TRANSITION */
.header-transition {
     transition: all 0.5s ease-in-out;
     width: 100%;
     z-index: 50; 
}

/* Styling for Scrollable Bottom Nav */
#scrollable-menu-wrapper::-webkit-scrollbar {
    display: none; /* Hide scrollbar for Webkit browsers */
}
#scrollable-menu-wrapper {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
}


/* --- CSS untuk Preloader (GENERAL) --- */
#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Opacity 85% */
    background-color: rgba(247, 249, 251, 0.85); 
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999; /* Pastikan selalu di atas elemen lain */
    opacity: 1;
    transition: opacity 0.5s ease-out, visibility 0.5s;
    visibility: visible;
}

#preloader.hidden {
    opacity: 0;
    visibility: hidden;
}

/* Styling untuk logo (agar bisa diposisikan) */
.loading-container {
    position: relative;
}

/* Efek Lingkaran Loading (Spinner) */
/* Ukuran Tetap 200px */
.loading-wrapper, .spinner {
    width: 200px; 
    height: 200px;
}
.spinner {
    border: 4px solid rgba(13, 62, 102, 0.1); 
    border-top: 4px solid #0D3E66; 
    border-radius: 50%;
    animation: spin 1s linear infinite; 
}

/* Animasi berputar */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* --- FIX: HEADER SOLID UNTUK HALAMAN TANPA SLIDER (e.g., visimisi.php) --- */
/* Target body dengan class 'no-slider-page' dan paksa #header menjadi solid blue (bg-primary) */

@media (min-width: 1024px) {
    /* Menimpa lg:bg-transparent */
    body.no-slider-page #header {
        /* Warna #1e3a8a adalah warna bg-primary Anda */
        background-color: #1e3a8a !important; 
        /* Menimpa lg:shadow-none */
        box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important; 
    }
}

/* Tambahkan kode CSS ini ke file styling Anda */

/* Menyembunyikan elemen pencarian jika body memiliki class 'hide-search' */
body.hide-search #search-desktop {
    display: none !important;
}

/* Menyembunyikan elemen pengumuman jika body memiliki class 'hide-pengumuman' */
body.hide-pengumuman #announcement-bar {
    display: none !important;
}

/* Jika Anda menggunakan pengumuman mobile, tambahkan ini juga */
body.hide-pengumuman #pengumuman-mobile {
    display: none !important;
}

