:root {
            /* PRIMARY: Warna Identitas (Soft Blue) - Dipakai untuk Header, Judul aktif */
            --color-primary: #64b5f6; 
            --color-primary-hover: #42a5f5; /* Sedikit lebih gelap untuk efek hover */
            
            /* SECONDARY: Warna Gelap/Kuat - Dipakai untuk Footer, Navbar, Teks Penting */
            --color-secondary: #1e3a8a; /* Navy Blue modern */
            
            /* ACCENT: Warna Pemanis/Kontras - Dipakai untuk Tombol CTA (Daftar/Login) agar mencolok */
            --color-accent: #ffb74d; /* Soft Orange (Warna komplementer biru) */
            
            /* NEUTRAL/BACKGROUND: Warna Dasar Halaman */
            --color-bg-body: #f8fbff; /* Putih dengan tint biru sangat tipis (Cool White) */
            --color-bg-surface: #ffffff; /* Putih murni untuk kartu/kotak konten */
            
            /* TEXT: Warna Tulisan (Jangan pakai hitam pekat #000) */
            --color-text-main: #334155; /* Slate Grey gelap */
            --color-text-muted: #64748b; /* Abu-abu untuk teks deskripsi */
            
        }

/* Styling Top Header */
.top-header {
  background-color: #1e3a8a; /* Ganti warna sesuai tema (misal biru tua/hitam) */
  font-size: 13px; /* Ukuran font lebih kecil dari menu utama */
  z-index: 997;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.top-header a {
  color: #fff; /* Warna teks putih */
  text-decoration: none;
  transition: 0.3s;
}

.top-header a:hover {
  color: #3498db; /* Warna saat di-hover (misal biru muda) */
}

/* Membuat Pemisah (Separator) Garis Tegak */
.top-menu li {
  padding: 0 10px; /* Jarak antar teks */
  border-right: 1px solid rgba(255, 255, 255, 0.3); /* Garis pemisah */
  line-height: 1; /* Supaya tinggi garis pas */
}

/* Hilangkan garis pada item terakhir supaya rapi */
.top-menu li:last-child {
  border-right: none;
  padding-right: 0;
}

 /* --- CSS KHUSUS PAGE TITLE --- */
        .page-title-banner {
            /* Atur tinggi banner di sini */
            height: 350px; 
            
            /* Pengaturan Gambar Background */
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            
            /* Penting untuk positioning elemen anak */
            position: relative; 
            
            /* Memberi jarak margin bawah agar kotak merah tidak menutupi konten dibawahnya */
            margin-bottom: 60px; 
        }

        /* Overlay gelap (opsional, agar text breadcrumb terbaca jika ada) */
        .page-title-banner::before {
            content: "";
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            background: rgba(0, 0, 0, 0.3); /* Hitam transparan 30% */
        }

        /* Container untuk elemen yang menggantung */
        .page-title-floating-wrapper {
            position: absolute;
            bottom: -30px; /* Mengatur seberapa jauh 'turun' ke bawah (setengah tinggi kotak) */
            left: 0;
            width: 100%;
            display: flex;
            justify-content: center; /* Posisi Tengah */
            z-index: 10;
        }

        /* Style Kotak Merah */
        .custom-title-box {
            background-color: #1e3a8a; /* Warna Merah seperti di gambar */
            color: white;
            padding: 15px 60px; /* Padding atas-bawah 15px, kiri-kanan 60px */
            border-radius: 8px; /* Lengkungan sudut */
            min-width: 50%;
            text-align: center;
        }

        .custom-title-box h1 {
            margin: 0;
            font-size: 2rem;
            font-weight: 700;
            text-transform: capitalize;
            color: #fff;
        }
    /* Style untuk Tombol */
    .btn-load-more {
        background-color: var(--accent-color); 
        color: var(--contrast-color);
        border: 2px solid var(--accent-color);
        padding: 12px 30px;
        border-radius: 50px;
        font-weight: 600;
        transition: 0.3s;
        cursor: pointer;
        display: inline-block;
    }
    .btn-load-more:hover {
        background-color: transparent;
        color: var(--accent-color); 
    }

    /* Style Tambahan untuk Gambar & Caption */
    .gallery-img-wrapper {
        position: relative;
        overflow: hidden;
        border-radius: 10px; /* Opsional: memberi lengkungan pada gambar */
    }
    
    /* Agar hover effect icon tetap jalan di dalam wrapper */
    .gallery-links {
        /* Pastikan posisi absolut ini relatif terhadap .gallery-img-wrapper, bukan .gallery-item */
        position: absolute; 
        inset: 0;
        opacity: 0;
        transition: all 0.3s ease-in-out;
        background: rgba(0, 0, 0, 0.6);
        z-index: 3;
    }
    
    .gallery-img-wrapper:hover .gallery-links {
        opacity: 1;
    }

    /* Styling Caption */
    .gallery-info h4 {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--heading-color);
    }
    .gallery-info p {
        margin: 0;
    }
    
     .ekskul-card {
        background: var(--surface-color);
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        height: 100%;
        transition: transform 0.3s ease;
        margin: 15px; /* Memberi jarak antar slide */
    }

    .ekskul-card:hover {
        transform: translateY(-10px);
    }

    .ekskul-img {
        height: 200px;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .ekskul-img::before {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.7));
    }

    .ekskul-icon {
        position: absolute;
        bottom: -20px;
        right: 20px;
        width: 50px;
        height: 50px;
        background: var(--accent-color); /* Soft Blue */
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5rem;
        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    }

    .ekskul-content {
        padding: 30px 20px 20px 20px;
        background: #fff;
    }

    .ekskul-content h3 {
        font-size: 1.25rem;
        font-weight: 700;
        color: var(--color-text-main);
        margin-bottom: 10px;
    }

    .ekskul-content p {
        font-size: 0.9rem;
        color: var(--color-text-muted);
        line-height: 1.5;
        margin-bottom: 0;
    }

    /* Style Pagination (Dots) Swiper agar terlihat di background gelap */
    .swiper-pagination-bullet {
        background: rgba(255,255,255,0.5);
        width: 10px;
        height: 10px;
        opacity: 1;
    }
    .swiper-pagination-bullet-active {
        background: var(--accent-color); /* Soft Blue */
        width: 25px;
        border-radius: 5px;
    }
    
     /* Styling Container Showcase */
    .showcase-carousel {
        overflow: hidden;
        position: relative;
    }

    /* Pengaturan Tinggi & Gambar */
    .showcase-image-container {
        width: 100%;
        height: 500px;
        position: relative;
        background-color: #000;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .showcase-image-container img {
        width: 100%;
        height: 100%;
        object-fit: cover; 
        object-position: center;
    }

    /* Custom Indicators (Dots) */
    .showcase-carousel .carousel-indicators {
        bottom: 20px;
    }
    .showcase-carousel .carousel-indicators button {
        width: 12px !important;
        height: 12px !important;
        border-radius: 50%;
        margin: 0 6px !important;
        background-color: rgba(255,255,255,0.4) !important;
        border: 2px solid transparent !important;
        transition: all 0.3s;
    }
    .showcase-carousel .carousel-indicators button.active {
        background-color: var(--accent-color) !important; 
        border-color: #fff !important;
        transform: scale(1.3);
        opacity: 1;
    }

    /* --- NAVIGASI PANAH BOLD --- */
    
    /* Area Klik Tombol Navigasi */
    .showcase-carousel .carousel-control-prev,
    .showcase-carousel .carousel-control-next {
        width: 8%; /* Area klik jangan terlalu lebar */
        opacity: 0.8; /* Default agak transparan dikit */
        transition: opacity 0.3s;
    }
    
    .showcase-carousel .carousel-control-prev:hover,
    .showcase-carousel .carousel-control-next:hover {
        opacity: 1; /* Saat hover jadi jelas total */
        background: none; /* Pastikan tidak ada background abu-abu muncul */
    }

    /* Icon Panah Custom */
    .showcase-nav-icon {
        font-size: 2.5rem; /* Ukuran besar */
        color: #fff;
        
        /* Trik menebalkan Font Icon */
        -webkit-text-stroke: 3px #fff; /* Stroke tebal agar sangat bold */
        font-weight: 900; 
        
        /* Drop shadow agar icon "pop out" dari background gambar */
        filter: drop-shadow(0 2px 5px rgba(0,0,0,0.5));
        
        transition: transform 0.2s;
    }

    /* Efek saat panah di-hover */
    .showcase-carousel .carousel-control-prev:hover .showcase-nav-icon {
        transform: translateX(-5px); /* Gerak dikit ke kiri */
        color: var(--accent-color); /* Berubah jadi warna tema */
        -webkit-text-stroke: 3px var(--accent-color);
    }
    
    .showcase-carousel .carousel-control-next:hover .showcase-nav-icon {
        transform: translateX(5px); /* Gerak dikit ke kanan */
        color: var(--accent-color);
        -webkit-text-stroke: 3px var(--accent-color);
    }
    
    
    /* --- CONFIG UMUM --- */
    .video-separator, 
    .image-separator {
        position: relative;
        width: 100%;
        height: 500px; /* Tinggi Section, bisa diubah */
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .separator-overlay {
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        /*background: rgba(0,0,0,0.1);*/
        z-index: 1;
    }

    /* --- 1. CSS VIDEO BACKGROUND (YOUTUBE TRICK) --- */
    .video-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none; /* PENTING: Agar user gabisa klik/pause video */
        z-index: 0;
        overflow: hidden;
    }

    .video-background iframe {
        /* Trik agar video YouTube jadi "Cover" (tidak ada black bars) */
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100vw; /* Lebar viewport */
        height: 100vh; /* Tinggi viewport */
        
        /* Scaling besar agar kontrol YouTube terpotong keluar layar */
        transform: translate(-50%, -50%) scale(1.3); 
        
        /* Rasio aspek video (biasanya 16:9) */
        aspect-ratio: 16/9; 
    }

    /* Responsif untuk Video di HP */
    @media (max-width: 768px) {
        .video-background iframe {
            width: 300%; /* Perbesar width di HP agar cover area vertikal */
            height: 100%;
        }
    }


    /* --- 2. CSS IMAGE PARALLAX --- */
    .image-separator {
        /* Ganti URL gambar background di sini */
        background-image: url('https://images.unsplash.com/photo-1523050854058-8df90110c9f1?q=80&w=1500&auto=format&fit=crop');
        
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        
        /* INI KUNCINYA: Membuat efek parallax (gambar diam saat scroll) */
        background-attachment: fixed; 
    }
    
    /* Fix Parallax di Mobile (iOS sering bermasalah dengan fixed, jadi dimatikan di HP) */
    @media (max-width: 768px) {
        .image-separator {
            background-attachment: scroll;
            height: 300px; /* Tinggi lebih kecil di HP */
        }
    }
    
    /* Styling Dasar Section */
    .news-updates {
        background-color: var(--background-color);
        padding: 60px 0;
    }

    /* Kartu Berita */
    .news-card {
        background: var(--surface-color);
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0,0,0,0.05);
        border: 1px solid rgba(0,0,0,0.05);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        position: relative;
    }

    .news-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    }

    /* Gambar Berita */
    .news-img {
        position: relative;
        height: 220px;
        overflow: hidden;
    }

    .news-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.5s ease;
    }

    .news-card:hover .news-img img {
        transform: scale(1.1); /* Efek zoom saat hover */
    }

    /* Badge Tanggal */
    .date-badge {
        position: absolute;
        top: 15px;
        right: 15px;
        background: var(--accent-color); /* Soft Blue */
        color: #fff;
        padding: 8px 12px;
        border-radius: 8px;
        text-align: center;
        box-shadow: 0 4px 10px rgba(0,0,0,0.2);
        z-index: 2;
    }

    .date-badge .day {
        display: block;
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1;
    }

    .date-badge .month {
        display: block;
        font-size: 0.75rem;
        text-transform: uppercase;
        margin-top: 2px;
    }

    /* Konten Berita */
    .news-content {
        padding: 25px;
    }

    .news-meta {
        font-size: 0.85rem;
        color: var(--accent-color);
        margin-bottom: 10px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .news-content h3 {
        font-size: 1.25rem;
        font-weight: 700;
        margin-bottom: 15px;
        line-height: 1.4;
    }

    .news-content h3 a {
        color: var(--heading-color);
        text-decoration: none;
        transition: 0.3s;
    }

    .news-content h3 a:hover {
        color: var(--accent-color);
    }

    .news-content p {
        font-size: 0.95rem;
        color: var(--default-color);
        margin-bottom: 20px;
        line-height: 1.6;
        /* Membatasi teks hanya 3 baris */
        display: -webkit-box;
        -webkit-line-clamp: 3;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .read-more {
        font-size: 0.9rem;
        font-weight: 600;
        color: var(--accent-color);
        display: flex;
        align-items: center;
        gap: 5px;
        transition: 0.3s;
    }
    
    .news-card:hover .read-more {
        gap: 10px; /* Panah bergerak sedikit saat hover */
    }
    
    .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
        bottom: -7px;
    }

    /* Responsif */
    @media (max-width: 768px) {
        .showcase-image-container {
            height: 350px; 
        }
        /* Perkecil dikit panah di HP biar gak menuhin layar */
        .showcase-nav-icon {
            font-size: 1.5rem;
            -webkit-text-stroke: 2px #fff;
        }
    }
    
    @media (min-width: 768px) {
      .showcase{
          margin-top: 84px;
      }
    }
    
    @media(max-width: 768px){
      .showcase{
          margin-top: 24px;
      }
    }
    
    @media (min-width: 1400px) {
        .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
            max-width: 1440px;
        }
    }