/*
Theme Name: hrbdplus
Author: Drix
Description: Tema bersih dan elegan untuk program loyalitas BD+.
Version: 1.1
*/

:root {
    --primary-color: #f39200; /* Warna Oranye BD+ */
    --dark-bg: #222222;
    --text-color: #333;
    --light-grey: #f9f9f9;
}

/* Pastikan semua elemen menghitung lebar dengan benar */
* {
    box-sizing: border-box;
}

/* Pastikan gambar dan video tidak pernah lebih lebar dari container-nya */
img, video, iframe, canvas {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Mencegah link atau teks panjang merusak layout */
p, a, span, h1, h2, h3, h4, h5, h6 {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}

body {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color: var(--text-color);
    line-height: 1.6;
    margin: 0;
    padding: 0;
}

.container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 20px;
}

/*
header::after, 
header::before,
.site-header::after,
.site-header::before {
    display: none !important;
    content: none !important;
}*/


/* Header */
header {
        border-bottom:2px solid #cccccc;
    padding: 15px 0 15px 0;

}

/* Pastikan header selalu di paling depan */
header, 
.site-header, 
#masthead, 
.mobile-menu-container { 
    position: relative; /* atau fixed/sticky tergantung desainmu */
    z-index: 9999 !important; 
}

/* Jika kamu menggunakan overlay untuk menu mobile */
.menu-mobile-overlay {
    z-index: 9998 !important;
}

/* Reset & Basic Header */
.header-container {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 40px;
    padding: 15px 0;
    
}

/* Sembunyikan tombol toggle di desktop */
.menu-toggle {
    display: none;
    background: #fff;
    border: 1px solid #ddd;
    width: 100%;
    padding: 10px;
    cursor: pointer;
    font-weight: bold;
    color: #444;
    text-transform: uppercase;
    font-size: 14px;
}


/* --- HEADER & MENU MOBILE (Max 768px) --- */
@media (max-width: 768px) {
    /* Container Header tetap full width di tengah */
    .header-container {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        padding: 10px 0;
    }

    .logo {
        margin: 0 auto;
    }

    /* Styling Tombol Menu - Berada dalam kotak kecil */
    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        background: #fff;
        border: 1px solid #ddd;
        border-radius: 4px; /* Sedikit rounded agar elegan */
        width: auto; /* Tidak full width */
        min-width: 150px; /* Lebar minimal */
        padding: 10px 20px;
        margin: 0 auto; /* Tengah */
        cursor: pointer;
        font-weight: 600;
        color: #444;
        text-transform: uppercase;
        font-size: 14px;
        transition: all 0.3s ease;
    }

    .menu-toggle:hover {
        background-color: #f9f9f9;
        border-color: #ccc;
    }

    /* Container Navigasi - Kotak Menu Dropdown */
    .main-navigation {
        width: 100%;
        max-width: 300px; /* Batasi lebar kotak menu, sesuaikan jika perlu */
        margin: 0 auto; /* Tengah */
        
        /* Persiapan Animasi Smooth */
        display: block !important; /* Harus block agar max-height bekerja */
        max-height: 0; /* Sembunyikan secara default */
        overflow: hidden; /* Potong konten yang keluar */
        transition: max-height 0.5s ease-in-out, opacity 0.3s ease; /* Animasi smooth */
        opacity: 0; /* Transparan secara default */
        
        /* Styling Kotak Menu */
        border: 1px solid #ddd;
        border-radius: 4px;
        background-color: #fff;
        box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Bayangan halus agar elegan */
        margin-top: 10px; /* Jarak dari tombol MENU */
    }

    /* Saat Menu Aktif (Ditampilkan) */
    .main-navigation.toggled {
        max-height: 500px; /* Beri nilai tinggi maksimal yang cukup untuk menampung menu */
        opacity: 1; /* Tampilkan penuh */
        padding: 5px 0; /* Beri padding sedikit saat terbuka */
    }

    /* Styling List Menu di dalam Kotak */
    .main-navigation ul {
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
        border: none; /* Hilangkan border ul karena sudah ada di container */
    }

    .main-navigation li {
        width: 100%;
        border-bottom: 1px solid #eee; /* Border tipis antar menu */
        list-style: none;
    }

    .main-navigation li:last-child {
        border-bottom: none; /* Hilangkan border di menu terakhir */
    }

    .main-navigation li a {
        display: block;
        padding: 12px 20px;
        text-align: center; /* Teks menu di tengah */
        text-decoration: none;
        color: #333;
        font-size: 14px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        transition: background-color 0.2s ease;
    }
    
    .main-navigation li a:hover {
        background-color: #f9f9f9;
        color: var(--primary-color); /* Gunakan warna utama saat hover */
    }
}


nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

nav ul li a, .footer-links a {
    text-decoration: none;
    color: #444;
    font-weight: 600;
    padding: 10px 15px;
    text-transform: uppercase;
    font-size: 16px;
    transition: 0.3s;
}

nav ul li a:hover, nav ul li.current-menu-item a {
    color: var(--primary-color);
}

/* Footer */
footer {
    background: var(--dark-bg);
    color: #fff;
    padding: 50px 0 20px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 40px;
    margin-bottom: 30px;
}

.footer-logo {
    display:flex;
    align-items: center;
}

.footer-logo h2 {
    color: var(--primary-color);
    margin: 0;
}

/* Menghilangkan bullet point dan merapikan list */
.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin-bottom: 8px; /* Jarak antar baris menu di footer */
}


/* Efek HOVER: Samakan dengan Header */
.footer-links a:hover {
    color: var(--primary-color);
}

/* Gaya ACTIVE (Halaman yang sedang dibuka) */
.footer-links .current-menu-item > a {
    text-decoration: none;
    
    font-weight: bold;
    border-bottom: 2px solid #007bff; /* Garis bawah seperti di header */
}





/* Animations */
/* Pastikan hanya elemen yang benar-benar punya atribut data-aos yang diatur */
/*
[data-aos] {
    pointer-events: none;
}

/* Kembalikan fungsi klik HANYA jika animasi sudah selesai/berjalan */
/*
[data-aos].aos-animate {
    pointer-events: auto;
}

/* Pengecualian: Header jangan pernah kena pointer-events none */
/*
header [data-aos], 
.site-header [data-aos] {
    pointer-events: auto !important;
}*/



.video-container {
    position: relative;
    padding-bottom: 56.25%; /* Rasio 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    margin-bottom: 20px;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}



/* Pencegahan Overlap Global 
html, body {
    overflow-x: hidden;  Melarang scroll horizontal 
    width: 100%;
    margin: 0;
    padding: 0;
}*/


/* Jangan pasang overflow-x di html, cukup di body saja */
html {
    overflow-x: visible; 
}


body {
    overflow-x: hidden;
    /* Hilangkan position: relative jika menu mobile kamu menggunakan fixed position */
    width: 100%;
}


.container {
    width: 100%;
    max-width: var(--main-container-width) !important;
    margin: 0 auto;
    padding: 0 15px;
}

/* Penanganan Teks Panjang */
p, h1, h2, h3, h4, a {
    overflow-wrap: break-word;
    word-wrap: break-word;
    word-break: break-word;
}


/* --- Helper Classes untuk Editor --- */

/* Gunakan ini untuk mengubah warna teks */
.warna-utama {
    color: var(--primary-color) !important;
}

/* Gunakan ini untuk mengubah warna background */
.bg-utama {
    background-color: var(--primary-color) !important;
    color: #ffffff; /* Teks otomatis putih agar kontras */
}

/* Gunakan ini untuk memberi border dengan warna utama */
.border-utama {
    border: 2px solid var(--primary-color) !important;
}

/* Gunakan ini untuk membuat elemen mengikuti lebar container yang kamu atur */
.lebar-konten {
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
}


/* Container Video Responsif 16:9 */
.hrbdplus-video-wrapper {
    margin: 20px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Bingkai halus */
}
.hrbdplus-video-container {
    position: relative;
    padding-bottom: 56.25%; /* Rasio 16:9 */
    height: 0;
}
.hrbdplus-video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


.footer-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 30px;
    align-items: start;
}

/* Pastikan blok gambar atau logo di dalam widget tetap proporsional */
.footer-widget-column img {
    max-width: 100%;
    height: auto;
}


/* Link hover dan active tetap konsisten */
.footer-widget-column a {
    text-decoration: none;
    color: #FFF;
    font-weight: 600;
    padding: 10px 15px;
    text-transform: uppercase;
    font-size: 16px;
    transition: 0.3s;
}

.footer-widget-column a:hover {
    color: var(--primary-color);
}



/* 1. Hilangkan bullet point dan rapikan margin menu di widget footer */
.footer-widget-column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-widget-column li {
    margin-bottom: 1px; /* Jarak antar item menu */
}

/* 2. Style dasar link agar sama dengan header */
.footer-widget-column a {
    text-decoration: none;
    color: inherit; /* Mengikuti warna teks footer Anda */
    font-size: 14px;
    transition: all 0.3s ease;
    display: inline-block;
}

/* 3. Efek HOVER: Samakan dengan header */
.footer-widget-column a:hover {
    color: var(--primary-color);
}

/* 4. Style ACTIVE (Halaman yang sedang dibuka) */
.footer-widget-column .current-menu-item > a,
.footer-widget-column .current_page_item > a,
.footer-widget-column .current-menu-ancestor > a {
    color: var(--primary-color);
    font-weight: bold;
}





/****tab***/
/* Styling Tombol agar terlihat seperti Tab Sidebar */
.hrbd-tab-buttons .wp-block-button {
    width: 100%;
    margin-bottom: 0;
}

.hrbd-tab-buttons .wp-block-button__link {
    width: 100%;
    background-color: transparent !important;
    color: #f37021 !important; /* Warna Orange BDPLUS */
    border: none;
    border-radius: 0;
    text-align: left;
    border-bottom: 1px solid #eee;
    padding: 15px 20px;
}

/* State Aktif (Bisa disimulasikan dengan class .is-active) */
.hrbd-tab-buttons .is-active .wp-block-button__link {
    background-color: #e0e0e0 !important;
    font-weight: bold;
}

/* Kotak Konten di Sebelah Kanan */
.hrbd-tab-content-area {
    border: 1px solid #ddd;
    border-radius: 10px;
    padding: 20px;
}


.hrbd-slider-container {
    --swiper-theme-color: var(--primary-color) !important;
    --swiper-navigation-color: var(--primary-color) !important;
    --swiper-pagination-color: var(--primary-color) !important;
}

.swiper-button-next, 
.swiper-button-prev {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 30px 20px;
    border-radius: 8px;
    border: 2px solid var(--primary-color); /* Uses your border-utama style */
}

.swiper-pagination-bullet-active {
    transform: scale(1.3);
}

/* 1. Menetralkan double padding jika blok berada di dalam container lain */
.container .container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
}

/* 2. Memastikan area slider mengambil 100% lebar dari induknya */
.hrbd-slider-container {
    width: 100% !important;
}

/* 3. (Opsional) Menghilangkan jarak bawaan dari Swiper.js jika ada */
.swiper-slide {
    box-sizing: border-box;
}