/* ========== VARIABLES / ROOT ========== */
:root {
    /* Warna Utama: Hijau Tosca Gelap */
    --main-color: #008080; /* Teal / Hijau Tosca Gelap */
    --main-dark: #005A5A; 
    --main-light: #50C8C8; 
    --main-soft: #F0FFFF; /* Azure Pucat / Hampir Putih */

    /* Warna Aksen: Kuning Mustard / Emas Pucat */
    --accent-color: #FFD700; /* Gold */
    --accent-dark: #CCAD00; 
    --accent-light: #FFFACD; /* Lemon Chiffon (Kuning Sangat Pucat) */
    
    /* Warna Dasar */
    --black: #212529;
    --dark: #343a40;
    --light-bg: #FFFFFF; /* Putih Bersih */
    --white: #fff;
    --muted: #6c757d;

    /* Gradien */
    --main-gradient: linear-gradient(135deg, var(--main-color) 0%, var(--main-dark) 100%);
    --accent-gradient: linear-gradient(135deg, var(--accent-color) 0%, var(--accent-dark) 100%);

    /* Styling */
    --radius-lg: 12px; /* Lebih kotak/terstruktur */
    --radius-md: 8px;
    
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.08); /* Shadow yang lebih halus */
    --shadow-md: 0 8px 25px rgba(0,0,0,0.1);
    --shadow-strong: 0 12px 35px rgba(0,0,0,0.15);

    --trans-fast: .3s ease-in-out;
}

/* ========== GLOBAL & CUSTOM BOOTSTRAP CLASSES ========== */
* {margin:0;padding:0;box-sizing:border-box;}
body {
    font-family: 'Poppins', sans-serif;
    background: var(--light-bg); 
    color: var(--dark);
    line-height: 1.6;
    overflow-x: hidden;
}

.bg-light-custom {
    background-color: var(--main-soft) !important; /* Latar belakang section menggunakan warna lembut */
}

.text-primary-custom {
    color: var(--main-color) !important;
}

.section-padding {
    padding: 5rem 0;
}

/* ========== BUTTONS ========== */
.btn-primary-custom {
    background: var(--main-color);
    border-color: var(--main-color);
    color: var(--white);
    border-radius: var(--radius-md); /* Tombol lebih kotak */
    padding: 12px 30px;
    font-weight: 600;
    transition: var(--trans-fast);
}
.btn-primary-custom:hover {
    background: var(--main-dark);
    border-color: var(--main-dark);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm) !important;
}

.btn-outline-primary-custom {
    border: 2px solid var(--main-color);
    color: var(--main-color);
    border-radius: var(--radius-md);
    padding: 12px 30px;
    font-weight: 600;
    transition: var(--trans-fast);
}
.btn-outline-primary-custom:hover {
    background: var(--main-color);
    color: var(--white);
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.btn-warning-custom { /* Tombol aksen Kuning Mustard */
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: var(--dark); 
    border-radius: var(--radius-md);
    padding: 12px 30px;
    font-weight: 700;
    transition: var(--trans-fast);
}
.btn-warning-custom:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    transform: translateY(-2px);
}

/* ========== NAVBAR ========== */
.navbar {
    position: sticky;
    top: 0;
    z-index: 2000;
    background: var(--white); 
    box-shadow: var(--shadow-sm);
    transition: background var(--trans-fast);
}
.navbar-brand {
    color: var(--main-color) !important;
}
.nav-link.active, .nav-link:hover {
    color: var(--main-color) !important;
}

/* ========== HERO SECTION FULLSCREEN VIDEO ========== */
.hero-cinematic {
    position: relative;
    height: 100vh; /* FULL TINGGI LAYAR */
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding-top: 120px; /* ruang navbar */
    padding-bottom: 60px;
}

/* Background video wrapper */
.hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 0;
}

.hero-bg iframe {
    position: absolute;
    top: 50%;
    left: 50%;

    width: 177.78vh;   /* 16:9 cover berdasarkan tinggi layar */
    height: 100vh;

    min-width: 100%;
    min-height: 100%;

    transform: translate(-50%, -50%);
    pointer-events: none;
}

/* Overlay biar teks kebaca */
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.45) 0%,
        rgba(0,0,0,0.25) 40%,
        rgba(255,255,255,0.9) 100%
    );
    z-index: 1;
}

/* Konten di atas video */
.hero-content {
    position: relative;
    z-index: 2;
}

@keyframes heroZoom {
    0% { transform: scale(1.15); filter: brightness(0.9); }
    100% { transform: scale(1.05); filter: brightness(0.95); }
}

.hero-cinematic h1 {
    font-size: 3.2rem;
    font-weight: 800;
    color: var(--main-dark); 
    text-shadow: 0 4px 10px rgba(255, 255, 255, 0.9); 
}

.hero-cinematic p.lead {
    color: var(--dark); 
    font-size: 1.15rem;
    max-width: 650px;
}

/* ========== STATISTIK (Gaya Kartu Khas) ========== */
.stats-section {
    position: relative;
    margin-top: -5rem; /* Lebih sedikit overlap */
    z-index: 10;
}

.stat-item {
    background: var(--white);
    padding: 2.2rem;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-strong);
    transition: var(--trans-fast);
    text-align: center;
    /* Hapus border-top, ganti dengan shadow/hover yang lebih solid */
    border: 1px solid rgba(0, 0, 0, 0.08); 
}

.stat-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--accent-color); /* Aksen Mustard saat hover */
}

.stat-item i {
    color: var(--main-color);
    opacity: 1;
    font-size: 2.5rem;
}

.counter {
    font-size: 2.3rem;
    font-weight: 800;
    color: var(--main-dark);
    margin: .6rem 0;
}

/* ========== PROGRAM CARDS (Gaya Kartu) ========== */
.program-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    transition: var(--trans-fast);
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(0,0,0,0.05);
}

.program-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--main-color);
}

.icon-circle {
    width: 70px; /* Ukuran lebih kecil */
    height: 70px;
    background: var(--main-soft); 
    border-radius: var(--radius-md); /* Kotak, bukan lingkaran */
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon-circle i {
    font-size: 2.5rem;
}

/* ========== NEWS CARD (Gaya Kartu) ========== */
.news-section {
    padding-top: 4rem;
    padding-bottom: 6rem;
    background: var(--main-soft); /* Latar belakang section lebih lembut */
}

.news-card {
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--trans-fast);
    border: 1px solid rgba(0,0,0,0.08);
}

.news-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.news-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.news-card h5 {
    font-size: 1.1rem;
    font-weight: 700;
}

/* SWIPER Pagination Customization */
.swiper-pagination-bullet-active {
    background: var(--main-color) !important;
}

/* ========== CTA SECTION ========== */
.cta-section {
    background: var(--main-color); 
    padding: 6rem 0;
    color: var(--white);
    text-align: center;
}

/* --- PROFIL.PHP --- */
/* ==========================================================
 * CUSTOM STYLE UNTUK PROFIL.PHP
 * ========================================================== */

/* Latar Belakang */
.bg-light-soft-custom {
    background-color: var(--light-gray); /* Menggunakan warna abu-abu lembut untuk pemisah bagian */
}

/* Card Misi */
.list-misi-modern {
    padding-left: 0;
}
.list-misi-modern li {
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: var(--radius-sm);
    padding: 0.7rem 1rem;
    margin-bottom: 0.8rem;
    border-left: 4px solid var(--accent-color);
    transition: all 0.3s ease;
    font-size: 0.95rem;
}
.list-misi-modern li:hover {
    background-color: var(--white);
    transform: translateX(3px);
}

/* Card Fasilitas (Feature Icon Card) */
.feature-icon-card {
    transition: all 0.3s ease;
    border: 1px solid var(--light-gray);
}
.feature-icon-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md) !important;
    border-color: var(--primary-color);
}

/* Struktur Organisasi Card */
.organizer-card {
    padding: 1.5rem;
    border-radius: var(--radius-lg);
    text-align: center;
    margin-bottom: 1.5rem;
    border: 1px solid var(--light-gray);
    transition: all 0.3s ease;
}

.organizer-card.main-leader {
    padding: 2rem;
    box-shadow: var(--shadow-lg) !important;
}

.organizer-card:not(.main-leader):hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-md) !important;
}


/* Responsive */
/* ... (Bagian media query yang Anda berikan tetap sama) ... */
@media (max-width: 767px) {
    .hero-cinematic {
        /* Mengurangi tinggi agar lebih kompak dan sesuai dengan rasio video mobile */
        min-height: 60vh; 
        padding-bottom: 30px; /* Padding bawah dikurangi sedikit */
    }
    
    .hero-bg {
        /* Pastikan kontainer video mengisi 100% dari Hero Section */
        width: 100%;
        height: 100%;
    }

.hero-bg iframe {
  position: absolute;
  top: 50%;
  left: 50%;

  /* true cover behavior */
  width: 100vw;
  height: 56.25vw;        /* 9/16 */

  min-width: 177.78vh;    /* 16/9 */
  min-height: 100vh;

  transform: translate(-50%, -50%);
  border: 0;
  pointer-events: none;
}

        
        
        /* Reposisi */
        /* top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
         */
    
    /* Ukuran Teks (tetap sama agar mudah dibaca) */
    .hero-cinematic h1 {
        font-size: 2rem;
    }
    
    .hero-cinematic p.lead {
        font-size: 1rem;
    }
    
    .hero-content .min-vh-60 {
        /* Konten menyesuaikan dengan min-height Hero Section yang baru */
        min-height: unset !important; 
    }
}

@media (max-width: 767px) {
    .section-padding { padding: 3rem 0; }
    .hero-cinematic h1 { font-size: 2rem; text-align: center; }
    .hero-cinematic p.lead { font-size: 1rem; text-align: center; max-width: 90%; margin: 0.5rem auto; }
    .stats-section { margin-top: -3rem; }
    .stat-item { padding: 1rem; margin-bottom: 1.5rem !important; }
    .counter { font-size: 1.8rem; }
    .cta-section h3 { font-size: 2rem; }
}

@media (max-aspect-ratio: 16/9) {
  .hero-bg iframe {
    width: 100vw;
    height: 56.25vw; /* 9/16 */
  }
}
