/* =======================================================
   THEME: TRAVELOKA STYLE (BLACK & YELLOW EDITION)
======================================================= */

/* Setup Font (Nunito - Bulat dan Modern ala App) */
body {
    font-family: 'Nunito', sans-serif;
    background-color: #f4f5f7; /* Background abu-abu sangat muda khas App */
    color: #121212;
    overflow-x: hidden;
}

/* --- VARIABEL WARNA BLACK & YELLOW --- */
:root {
    --tvlk-yellow: #fec80b;
    --tvlk-black: #121212;
    --tvlk-gray: #f4f5f7;
    --tvlk-white: #ffffff;
    --shadow-app: 0 4px 20px rgba(0, 0, 0, 0.08);
    --shadow-hover: 0 10px 30px rgba(0, 0, 0, 0.12);
}

/* Utilities */
.bg-app-light { background-color: var(--tvlk-gray); }
.bg-yellow-light { background-color: rgba(254, 200, 11, 0.15); }
.text-dark { color: var(--tvlk-black) !important; }
.shadow-app { box-shadow: var(--shadow-app) !important; }

/* ----------------------------------
   1. NAVBAR RAPI ALA KORPORAT
----------------------------------- */
.neat-navbar {
    background-color: var(--tvlk-white);
    padding: 12px 0;
    transition: all 0.3s ease;
}

.neat-navbar .nav-link {
    color: var(--tvlk-black);
    font-size: 15px;
    padding: 8px 16px;
    border-radius: 8px;
    transition: 0.2s;
}

.neat-navbar .nav-link:hover {
    color: var(--tvlk-yellow);
    background-color: #fafafa;
}

.btn-primary-yellow {
    background-color: var(--tvlk-yellow);
    color: var(--tvlk-black);
    border: none;
    transition: 0.3s;
}

.btn-primary-yellow:hover {
    background-color: #e6b409;
    color: var(--tvlk-black);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(254, 200, 11, 0.4);
}

/* ----------------------------------
   2. HERO SECTION
----------------------------------- */
/* Karena navbar fixed dan solid white, kita beri padding top pada hero */
.app-hero {
    height: 500px;
    margin-top: 70px; /* Jarak sebesar tinggi navbar */
    background: url('../assets/img/galitravel.png') center/cover no-repeat;
    position: relative;
}

.app-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    /* Overlay Gradient Hitam Elegan */
    background: linear-gradient(to right, rgba(18, 18, 18, 0.9) 0%, rgba(18, 18, 18, 0.4) 100%);
}

.hero-title {
    font-size: 2.8rem;
    font-weight: 800;
    line-height: 1.3;
    margin-bottom: 1rem;
}

.hero-subtitle {
    font-size: 1.1rem;
    font-weight: 400;
    opacity: 0.9;
}

/* ----------------------------------
   3. OVERLAPPING MENU (KUNCI DESAIN TRAVELOKA)
----------------------------------- */
.tvlk-overlap-menu {
    margin-top: -80px; /* Tarik ke atas agar menimpa hero */
    position: relative;
    z-index: 10;
}

.app-menu-item {
    cursor: pointer;
    padding: 10px;
    border-radius: 16px;
    transition: 0.3s ease;
}

.app-menu-item:hover {
    background-color: var(--tvlk-gray);
    transform: translateY(-5px);
}

.icon-circle {
    width: 60px;
    height: 60px;
    background-color: var(--tvlk-yellow);
    color: var(--tvlk-black);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin: 0 auto;
    box-shadow: 0 4px 10px rgba(254, 200, 11, 0.3);
    transition: 0.3s ease;
}

.app-menu-item:hover .icon-circle {
    background-color: var(--tvlk-black);
    color: var(--tvlk-yellow);
}

/* ----------------------------------
   4. CARDS (BENEFIT / MENGAPA KAMI)
----------------------------------- */
.app-card {
    transition: all 0.3s ease;
    border: 1px solid rgba(0,0,0,0.03) !important;
}

.app-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: rgba(254, 200, 11, 0.3) !important; /* Border kuning tipis pas hover */
}

.number-badge {
    width: 40px;
    height: 40px;
    background-color: var(--tvlk-black);
    color: var(--tvlk-yellow);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: 800;
}

/* ----------------------------------
   5. LIST TRANSPORTASI
----------------------------------- */
.checklist-item {
    background-color: var(--tvlk-gray);
    padding: 12px 20px;
    border-radius: 12px;
    font-weight: 700;
    color: var(--tvlk-black);
    display: flex;
    align-items: center;
    gap: 10px;
    transition: 0.3s;
}

.checklist-item i {
    color: var(--tvlk-yellow);
    font-size: 1.2rem;
}

.checklist-item:hover {
    background-color: var(--tvlk-black);
    color: var(--tvlk-white);
}

/* ----------------------------------
   6. KLIEN SLIDER (CLEAN)
----------------------------------- */
.slider-row {
    overflow: hidden;
    white-space: nowrap;
    border: 1px solid rgba(0,0,0,0.05);
}

.slide-track {
    display: inline-flex;
    animation: scroll 30s linear infinite;
}

.slide {
    width: 150px;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slide img {
    max-width: 100%;
    max-height: 50px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.6;
    transition: 0.3s;
}

.slide:hover img {
    filter: grayscale(0%);
    opacity: 1;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ----------------------------------
   7. LIST GROUP (PERIZINAN)
----------------------------------- */
.list-group-item {
    border-color: rgba(0,0,0,0.05);
}

/* ----------------------------------
   8. FOOTER
----------------------------------- */
.bg-black {
    background-color: #121212 !important;
}

.social-icon {
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.1);
    color: var(--tvlk-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}

.social-icon:hover {
    background-color: var(--tvlk-yellow);
    color: var(--tvlk-black);
}

/* ----------------------------------
   9. RESPONSIVE MOBILE
----------------------------------- */
@media (max-width: 768px) {
    .hero-title { font-size: 2rem; }
    .app-hero { height: 400px; }
    .tvlk-overlap-menu { margin-top: -40px; }
    
    .neat-navbar .btn-primary-yellow {
        display: block;
        text-align: center;
        margin-top: 10px;
    }
}