/*
Theme Name: HaramainKU - Vision Edition
Theme URI: https://haramainku.co.id
Author: HaramainKU Team
Description: Premium Family Umrah Theme. "Umroh Nyaman Bersama Keluarga".
Version: 2.7.0
Text Domain: haramainku
*/

/* --- FIX TOMBOL SEARCH BIAR BULAT SEMPURNA --- */
.widget_search .search-form button[type="submit"],
.widget_search form button,
.search-form .btn-warning,
button.btn-warning.rounded-circle {
    width: 45px !important;
    height: 45px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
}

.widget_search button i,
.search-form button i {
    margin: 0 !important;
    line-height: 0 !important;
}

/* --- CUSTOM SCROLLBAR --- */
::-webkit-scrollbar {
    width: 6px !important;
}

::-webkit-scrollbar-track {
    background: transparent !important;
}

::-webkit-scrollbar-thumb {
    background: rgba(26, 35, 126, 0.4) !important;
    /* Navy Semi-Transparent */
    border-radius: 10px !important;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(26, 35, 126, 0.6) !important;
}

/* Firefox */
* {
    scrollbar-width: thin !important;
    scrollbar-color: rgba(26, 35, 126, 0.4) transparent !important;
}

/* --- GLOBAL LAYOUT --- */
html,
body {
    width: 100%;
    max-width: 100%;
    /* overflow-x: hidden; -- Dihapus karena merusak position: sticky */
    margin: 0;
    padding: 0;
    position: relative;
}

body {
    /* UBAH FONT BODY */
    font-family: 'Google Sans Flex', sans-serif !important;
    background-color: #FFFFFF;
    color: #212121;
    padding-top: 0 !important;
}

section,
header,
footer,
main {
    width: 100%;
    position: relative;
}

.row {
    margin-right: 0 !important;
    margin-left: 0 !important;
    width: 100% !important;
}

.container,
.container-fluid {
    padding-right: 15px;
    padding-left: 15px;
}

@media (max-width: 767.98px) {

    .container,
    .container-fluid {
        padding-right: 10px;
        padding-left: 10px;
    }
}

img {
    max-width: 100%;
    height: auto;
}

i,
.bi,
svg {
    display: inline-block;
    flex-shrink: 0;
    line-height: 1;
    vertical-align: middle;
}

/* --- HEADER & NAVBAR --- */
.top-bar {
    background-color: #337ab7 !important;
    color: #ffffff !important;
    padding: 10px 0;
    font-size: 12px;
    position: relative;
    z-index: 1031;
    width: 100%;
}

.top-bar a,
.top-bar span,
.top-bar i {
    color: #ffffff !important;
}

.top-bar a.fw-bold {
    color: #FFB300 !important;
}

.navbar {
    background-color: #1A237E !important;
    width: 100%;
    padding: 10px 0;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* --- NAV LINK STYLE (MOBILE) --- */
.navbar-nav .nav-link {
    color: #ffffff !important;
    /* UBAH FONT MENU */
    font-family: 'Google Sans Flex', sans-serif !important;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 600;
    /* Sedikit ditebalkan untuk Open Sans */
    padding: 12px 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.navbar-nav .nav-link:hover {
    color: #FFB300 !important;
}

@media (max-width: 991.98px) {
    .navbar-collapse {
        background-color: #1A237E !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        padding: 15px;
        z-index: 9999;
        max-height: 80vh;
        overflow-y: auto !important;
    }
}

/* --- UTILITIES & COMPONENTS --- */
/* UBAH FONT HEADING */
h1,
h2,
h3,
h4,
h5,
h6,
.font-heading {
    font-family: 'Google Sans Flex', sans-serif !important;
    font-weight: 700;
    color: #1A237E;
}

.btn {
    border-radius: 50px;
    font-family: 'Google Sans Flex', sans-serif;
}

/* FIX JARAK PARAGRAF */
.entry-content p {
    margin-bottom: 2rem !important;
}

.text-navy {
    color: #1A237E !important;
}

.text-gold {
    color: #FFB300 !important;
}

/* FIX KARTU PEMBIMBING */
.card-pembimbing {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
}

.card-pembimbing img {
    width: 70px !important;
    height: 70px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin-right: 15px !important;
}

/* HOVER BUTTONS */
.btn-outline-primary:hover,
.btn-hku-outline:hover {
    background-color: #FFB300 !important;
    border-color: #FFB300 !important;
    color: #1A237E !important;
}

/* --- FIX MENU DESKTOP --- */
@media (min-width: 992px) {
    .navbar-nav .nav-link {
        font-size: 1.15rem !important;
        /* Disesuaikan untuk Open Sans */
        font-weight: 800 !important;
        /* Extra Bold */
        padding-left: 15px !important;
        padding-right: 15px !important;
        border-bottom: none !important;
        white-space: nowrap;
    }

    .navbar-nav {
        gap: 1rem !important;
        margin-left: 2rem !important;
    }

    .navbar-collapse {
        position: static !important;
        display: flex !important;
    }
}

/* --- FIX MENU RAKSASA --- */
@media (min-width: 992px) {
    .navbar-nav li.menu-item a {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #ffffff !important;
        text-transform: uppercase !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
        display: inline-block !important;
    }

    .navbar-nav {
        flex-direction: row !important;
        align-items: center !important;
        gap: 5px !important;
    }
}

/* --- FIX MENU MOBILE --- */
@media (max-width: 991.98px) {

    .navbar-nav .nav-link,
    .navbar-nav li.menu-item a {
        color: #ffffff !important;
        font-weight: 600 !important;
        font-size: 1.1rem !important;
        text-transform: uppercase;
        padding: 5px 15px !important;
        display: block !important;
    }

    .navbar-collapse {
        background-color: #1A237E !important;
    }
}

/* FIX LEBAR KONTEN MOBILE */
@media (max-width: 575.98px) {
    article.bg-white.p-4 {
        padding: 20px 15px !important;
    }

    .py-5 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
}

/* --- SIDEBAR STICKY UNTUK DESKTOP --- */
@media (min-width: 992px) {
    .hku-sticky-sidebar {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 0px !important;
        /* Diubah sesuai keinginan user */
        z-index: 100 !important;
        align-self: flex-start !important;
        height: auto !important;
        display: block !important;
    }

    /* KONTROL JARAK ANTAR KONTEN SIDEBAR */
    .hku-sticky-sidebar .widget,
    .hku-sticky-sidebar .card {
        margin-bottom: 0px !important;
        /* Diubah sesuai keinginan user */
    }

    /* MEMBUAT GAMBAR DI SIDEBAR ROUNDED */
    .hku-sticky-sidebar img {
        border-radius: 15px !important;
        object-fit: cover;
    }

    /* Override Bootstrap overflow agar tidak memotong sticky */
    .col-lg-3,
    .col-lg-4,
    .row,
    .container {
        overflow: visible !important;
    }
}