/*** Dashboard Theme for Competition Pages ***/
@font-face {
	font-family: "Plus Jakarta Sans SemiBold";
	src: url("../fonts/PlusJakartaSans-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Solomon Sans';
	src: url("../fonts/Solomon Sans Normal.otf");
}

body {
	--bs-primary: #4C41A9;
	--bs-secondary: #160840;
	--bs-dark: #160840;
	--bs-light: #FFFFFF;
	--bs-info: #4C41A9;
	--bs-danger: #4C41A9;
	--bs-warning: #4C41A9;
	--dashboard-surface: #FFFFFF;
	--dashboard-dark: #160840;
	--dashboard-gradient-start: #160840;
	--dashboard-gradient-stop: #4C41A9;
	--dashboard-nav-height: 96px;
	--dashboard-nav-padding: 1.25rem;
	font-family: "Plus Jakarta Sans SemiBold", "Plus Jakarta Sans", "Rubik", sans-serif;
	font-weight: 600;
	background: linear-gradient(180deg, #160840 43%, #4C41A9 100%);
	color: var(--dashboard-dark);
	min-height: 100vh;
	position: relative;
	overflow-x: hidden;
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	opacity: 0.25;
	pointer-events: none;
	z-index: 0;
}

@media (max-width: 992px) {
	body {
		--dashboard-nav-height: 80px;
		--dashboard-nav-padding: 0.9rem;
	}
}

/* Competition specific fonts */
h1,
h2,
h3 {
	font-family: 'Solomon Sans', "Plus Jakarta Sans SemiBold", "Plus Jakarta Sans", sans-serif;
}

h4,
h5,
h6,
p,
a,
label,
button {
	font-family: "Plus Jakarta Sans SemiBold", "DM Sans", sans-serif;
}

#compe-title {
	font-family: 'Solomon Sans';
	font-weight: bold;
}

/* Update navbar styling */
.navbar {
	background: #FFFFFF !important;
	box-shadow: 0 20px 60px rgba(8, 5, 41, 0.25);
	z-index: 10;
	position: relative;
	min-height: var(--dashboard-nav-height);
	padding-top: var(--dashboard-nav-padding) !important;
	padding-bottom: var(--dashboard-nav-padding) !important;
}

.navbar::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: #FFFFFF;
	z-index: -1;
}

.navbar .navbar-brand img {
	display: block;
}

.navbar .navbar-nav .nav-link {
	color: var(--dashboard-dark) !important;
	font-weight: 600;
	padding: 0.5rem 1.25rem;
	border-radius: 999px;
	transition: background-color .3s ease, color .3s ease;
}

.navbar .navbar-nav .nav-link.active,
.navbar .navbar-nav .nav-link:focus,
.navbar .navbar-nav .nav-link:hover {
	color: #FFFFFF !important;
	background-color: var(--bs-primary);
}

/* Competition specific button styles */
#hero-register {
	border-color: var(--bs-primary);
	color: var(--bs-primary) !important;
	font-weight: 600;
	background-color: transparent;
	box-shadow: 0 10px 20px rgba(76, 65, 169, 0.15);
	border-radius: 999px;
	transition: all 0.3s ease;
}

#hero-register:hover {
	background-color: var(--bs-primary) !important;
	color: #FFFFFF !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 25px rgba(76, 65, 169, 0.25);
}

#hero-guide-book {
	background: linear-gradient(135deg, var(--dashboard-gradient-start), var(--dashboard-gradient-stop));
	border-color: var(--dashboard-gradient-stop);
	color: #FFFFFF !important;
	font-weight: 600;
	box-shadow: 0 12px 30px rgba(76, 65, 169, 0.25);
	border-radius: 999px;
	transition: all 0.3s ease;
}

#hero-guide-book:hover {
	transform: translateY(-2px);
	box-shadow: 0 15px 35px rgba(76, 65, 169, 0.35);
}

.hero {
	position: relative;
	/* container untuk pseudo-element */
	z-index: 1;
}

.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	opacity: 0.25;
	pointer-events: none;
	z-index: 0;
}

/* Fix blockquote footer */
body:not(.dashboard-theme) .blockquote-footer {
	color: rgba(255, 255, 255, 0.7) !important;
}

/* Footer - gaya umum untuk halaman competition (dark background) */
body:not(.dashboard-theme) footer {
	background-color: #10053C !important;
	position: relative;
	z-index: 1;
}

/* Pastikan hampir semua teks footer berwarna putih untuk kontras */
body:not(.dashboard-theme) footer,
body:not(.dashboard-theme) footer h1,
body:not(.dashboard-theme) footer h2,
body:not(.dashboard-theme) footer h3,
body:not(.dashboard-theme) footer h4,
body:not(.dashboard-theme) footer h5,
body:not(.dashboard-theme) footer h6,
body:not(.dashboard-theme) footer p,
body:not(.dashboard-theme) footer span,
body:not(.dashboard-theme) footer .lead,
body:not(.dashboard-theme) footer .fs-6,
body:not(.dashboard-theme) footer li,
body:not(.dashboard-theme) footer [style*="color"] {
	color: #FFFFFF !important;
}

/* Override agresif untuk elemen non-link (bi = icon, link-info = warna link khusus) */
body:not(.dashboard-theme) footer *:not(a):not(.bi):not(.link-info) {
	color: #FFFFFF !important;
}

/* Spesifik untuk header/h5 di kolom kontak/email */
body:not(.dashboard-theme) footer .col-md-12 h5,
body:not(.dashboard-theme) footer ul li h5,
body:not(.dashboard-theme) footer .col-md-12 ul li h5.fs-6 {
	color: #FFFFFF !important;
}

/* Kembalikan warna link dan link-info */
body:not(.dashboard-theme) footer a {
	color: #FFFFFF !important;
}

body:not(.dashboard-theme) footer .link-info {
	color: #A0D2EB !important;
}

body:not(.dashboard-theme) footer .link-info:hover {
	color: #FFFFFF !important;
}

/* Ikon sosial - warna dan efek hover */
body:not(.dashboard-theme) footer .bi-instagram,
body:not(.dashboard-theme) footer .bi-tiktok,
body:not(.dashboard-theme) footer .bi-line,
body:not(.dashboard-theme) footer .bi-linkedin {
	color: #FFFFFF !important;
	font-size: 1.2rem;
	transition: color 0.3s ease;
}

body:not(.dashboard-theme) footer .bi-instagram:hover,
body:not(.dashboard-theme) footer .bi-tiktok:hover,
body:not(.dashboard-theme) footer .bi-line:hover,
body:not(.dashboard-theme) footer .bi-linkedin:hover {
	color: rgba(255, 255, 255, 0.8) !important;
}

/* Border dan logo di footer */
body:not(.dashboard-theme) footer .border-top {
	border-color: rgba(255, 255, 255, 0.2) !important;
}

body:not(.dashboard-theme) footer img {
	filter: brightness(0) invert(1);
	transition: opacity 0.3s ease;
}

body:not(.dashboard-theme) footer img:hover {
	opacity: 0.8;
}

/* Styling untuk kotak latar belakang teks transparan */
.text-background-box {
	/* Menggunakan RGBA untuk transparansi. (0.9 = 90% opacity) */
	background-color: rgba(255, 255, 255, 0.9);
	/* Efek blur untuk latar belakang di baliknya */
	backdrop-filter: blur(8px);
	padding: 30px;
	border-radius: 15px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	color: var(--bs-dark);
	position: relative;
	z-index: 2;
	/* Border tipis agar tetap terlihat jelas */
	border: 1px solid rgba(255, 255, 255, 0.18);
}

/* Pastikan elemen di dalam kotak putih memiliki warna teks gelap */
.text-background-box h1,
.text-background-box p {
	color: var(--bs-dark) !important;
}

/* Khusus untuk span IPFEST 2025 agar warnanya sesuai */
.text-background-box h1 span {
	color: var(--bs-primary) !important;
}

/* --- PERBAIKAN TIMELINE (LEBIH KUAT) --- */
/* 1. Netralkan background item timeline */
.text-background-box .timeline-text {
	background: rgba(255, 255, 255, 0.1) !important;
	/* Hapus gradient */
	backdrop-filter: blur(2px) !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
}

/* 2. Paksa *semua* teks di dalam item timeline jadi gelap (agar terbaca) */
.text-background-box .timeline-text,
.text-background-box .timeline-text * {
	color: var(--bs-dark) !important;
	opacity: 1 !important;
	/* Hapus semua efek transparan/fade */
}

/* 3. KEMBALIKAN warna merah HANYA untuk judul item */
.text-background-box .timeline-text .lead {
	color: #bc2300 !important;
	/* Warna merah */
	font-weight: 600 !important;
	/* Buat lebih tebal */
}

/* 4. Atur ulang warna tanggal agar sedikit berbeda */
.text-background-box .timeline-date {
	color: var(--bs-primary) !important;
	/* Warna ungu */
	font-weight: 500 !important;
	opacity: 0.8 !important;
}

/* --- Perbaikan hero bar --- */
@media (max-width: 991px) {

    /* 1. BERSIHKAN DEKORASI LAMA */
    .rotate-img, .rotate-sty-2, img[src*="sty-1.png"],
    .hero-header::before, .hero-header::after {
        display: none !important;
    }

    /* 2. BACKGROUND GRADIENT (MIDNIGHT BLUE -> DEEP VIOLET) */
    .hero-header {
        /* Gradasi:
           0% (Atas)   = #05081c (Biru Sangat Gelap/Hampir Hitam)
           100% (Bawah)= #160840 (Ungu Pilihan Anda) 
        */
        background: linear-gradient(180deg, #05081c 0%, #160840 60%) !important;
        
        padding-top: 140px !important;
        padding-bottom: 80px !important;
        min-height: 100vh;
    }

    /* 3. JUDUL & TEKS (PUTIH BERSIH) */
	.hero-header h1 {
        /* JURUS ANTI GAGAL: Flexbox Vertical */
        display: flex !important;
        flex-direction: column !important; /* Susun atas-bawah */
        align-items: center !important;    /* Rata tengah horizontal */
        justify-content: center !important;
        
        color: #ffffff !important;
        font-weight: 800 !important;
        margin-bottom: 20px !important;
        font-size: 30px; /* Sesuaikan ukuran jika masih terlalu besar di layar 325px */
        line-height: 1.2 !important;
        
        /* Pastikan tidak ada wrapping aneh */
        white-space: normal !important; 
    }
    
    .hero-header h1 span {
        color: #ff5ca0 !important;
        font-size: 30px;
        
        /* Pastikan span dianggap sebagai item flex yang utuh */
        display: block !important; 
        margin-top: 5px !important; /* Jarak sedikit biar tidak terlalu nempel */
    }

    .hero-header p {
        color: #ffffff !important;
        opacity: 0.9;
        font-weight: 400 !important;
        text-align: center !important;
        line-height: 1.6 !important;
        margin-bottom: 30px !important;
    }

	#hero-paragraph {
		font-size: 16px !important;
	}

    /* 4. TOMBOL (SOLID PUTIH) */
    .hero-header .btn {
        background-color: #ffffff !important;
        color: #160840 !important; /* Teks tombol ikut warna ungu bawah biar serasi */
        border: none !important;
        font-weight: 700 !important;
        margin: 20px auto 50px auto !important;
        display: inline-block !important;
        padding: 12px 35px !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.3);
    }

    /* 5. LAYOUT & LOGO */
    .hero-header .row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .hero-header img.ms-5 {
        margin: 0 auto !important;
        width: 140px !important;
        display: block !important;
    }
}


/* animasi cricle khusu mobile */
	
.circles {
    display: none;
}

@media (max-width: 991px) {

    /* 1. CONTAINER HERO */
    .hero-header {
        position: relative; 
        overflow: hidden !important;
        /* Gradasi Background Tetap Gelap & Elegan */
        background: linear-gradient(180deg, #05081c 0%, #160840 100%) !important;
        padding-top: 140px !important;
        padding-bottom: 80px !important;
        min-height: 100vh;
    }

    /* Hapus elemen lama */
    .rotate-img, .rotate-sty-2, img[src*="sty-1.png"],
    .hero-header::before, .hero-header::after {
        display: none !important;
    }

    /* 2. BASE CIRCLES */
    .circles {
        display: block !important;
        position: absolute;
        top: 0; left: 0; width: 100%; height: 100%;
        overflow: hidden; margin: 0; padding: 0;
        z-index: 0; pointer-events: none;
    }

    .circles li {
        position: absolute; display: block; list-style: none;
        bottom: -150px; border-radius: 50%;
        
        /* REVISI PENTING: WARNA LEBIH TIPIS (SOFT) */
        /* Opasitas warna diturunkan ke 0.3 (30%) agar seperti kaca tipis */
        background: linear-gradient(135deg, 
            rgba(243, 144, 111, 0.3) 0%,   
            rgba(233, 78, 119, 0.3) 33%,
            rgba(112, 0, 255, 0.3) 66%,
            rgba(0, 242, 255, 0.3) 100%
        );
        
        filter: blur(3px); /* Blur ditambah dikit biar makin smooth */
        /* Animasi default (akan di-override di bawah) */
        animation: riseUpSlow 25s linear infinite; 
    }

    /* --- PENGATURAN GRUP (VARIAN UKURAN & KEJELASAN) --- */

    /* KELOMPOK 1: BESAR & REDUP (Background filler) */
    /* Kita pakai animasi 'riseUpSlow' yang max opacity-nya cuma 0.3 */
    .circles li:nth-child(1) { left: 25%; width: 80px; height: 80px; animation-duration: 25s; animation-name: riseUpSlow; }
    .circles li:nth-child(2) { left: 10%; width: 90px; height: 90px; animation-duration: 22s; animation-delay: 4s; animation-name: riseUpSlow; }
    .circles li:nth-child(3) { left: 70%; width: 70px; height: 70px; animation-duration: 28s; animation-delay: 8s; animation-name: riseUpSlow; }
    .circles li:nth-child(4) { left: 85%; width: 100px; height: 100px; animation-duration: 24s; animation-delay: 2s; animation-name: riseUpSlow; }
    .circles li:nth-child(5) { left: 45%; width: 60px; height: 60px; animation-duration: 30s; animation-delay: 10s; animation-name: riseUpSlow; }

    /* KELOMPOK 2: SEDANG (Agak terlihat) */
    /* Animasi 'riseUpMedium' max opacity 0.5 */
    .circles li:nth-child(6) { left: 5%; width: 40px; height: 40px; animation-duration: 15s; animation-delay: 1s; animation-name: riseUpMedium; }
    .circles li:nth-child(7) { left: 35%; width: 50px; height: 50px; animation-duration: 18s; animation-delay: 5s; animation-name: riseUpMedium; }
    .circles li:nth-child(8) { left: 55%; width: 35px; height: 35px; animation-duration: 16s; animation-delay: 9s; animation-name: riseUpMedium; }
    .circles li:nth-child(9) { left: 75%; width: 45px; height: 45px; animation-duration: 14s; animation-delay: 3s; animation-name: riseUpMedium; }
    .circles li:nth-child(10){ left: 95%; width: 30px; height: 30px; animation-duration: 19s; animation-delay: 7s; animation-name: riseUpMedium; }

    /* KELOMPOK 3: KECIL & TERANG (Sparkle/Fizz effect) */
    /* Animasi 'riseUpFast' max opacity 0.8 (Paling jelas tapi kecil) */
    .circles li:nth-child(11){ left: 15%; width: 15px; height: 15px; animation-duration: 10s; animation-delay: 0s; animation-name: riseUpFast; }
    .circles li:nth-child(12){ left: 30%; width: 20px; height: 20px; animation-duration: 12s; animation-delay: 2s; animation-name: riseUpFast; }
    .circles li:nth-child(13){ left: 50%; width: 10px; height: 10px; animation-duration: 8s; animation-delay: 4s; animation-name: riseUpFast; }
    .circles li:nth-child(14){ left: 65%; width: 25px; height: 25px; animation-duration: 11s; animation-delay: 1s; animation-name: riseUpFast; }
    .circles li:nth-child(15){ left: 80%; width: 15px; height: 15px; animation-duration: 9s; animation-delay: 3s; animation-name: riseUpFast; }

    /* KELOMPOK 4: LONJONG (Medium) */
    .circles li:nth-child(16){ left: 20%; width: 20px; height: 40px; animation-duration: 14s; animation-delay: 5s; animation-name: riseUpMedium; }
    .circles li:nth-child(17){ left: 40%; width: 30px; height: 50px; animation-duration: 16s; animation-delay: 1s; animation-name: riseUpMedium; }
    .circles li:nth-child(18){ left: 60%; width: 25px; height: 45px; animation-duration: 13s; animation-delay: 6s; animation-name: riseUpMedium; }
    .circles li:nth-child(19){ left: 90%; width: 15px; height: 30px; animation-duration: 11s; animation-delay: 2s; animation-name: riseUpMedium; }
    .circles li:nth-child(20){ left: 50%; width: 40px; height: 60px; animation-duration: 20s; animation-delay: 8s; animation-name: riseUpSlow; }


    /* --- 3 LEVEL ANIMASI UNTUK KEDALAMAN VISUAL --- */

    /* 1. Slow & Faint (Untuk gelembung besar background) */
    @keyframes riseUpSlow {
        0% { transform: translateY(0) scale(1); opacity: 0; border-radius: 50%; }
        20% { opacity: 0.3; } /* Muncul dikit aja */
        80% { opacity: 0.2; }
        100% { transform: translateY(-1300px) scale(0.5); opacity: 0; border-radius: 50%; }
    }

    /* 2. Medium (Normal) */
    @keyframes riseUpMedium {
        0% { transform: translateY(0) scale(1); opacity: 0; border-radius: 50%; }
        15% { opacity: 0.5; } /* Setengah jelas */
        80% { opacity: 0.4; }
        100% { transform: translateY(-1300px) scale(0.5); opacity: 0; border-radius: 50%; }
    }

    /* 3. Fast & Bright (Untuk gelembung kecil biar 'pop') */
    @keyframes riseUpFast {
        0% { transform: translateY(0) scale(1); opacity: 0; border-radius: 50%; }
        10% { opacity: 0.8; } /* Cukup terang */
        80% { opacity: 0.6; }
        100% { transform: translateY(-1300px) scale(0.5); opacity: 0; border-radius: 50%; }
    }


    /* 3. KONTEN & TEKS (Tetap di atas) */
    .hero-header h1 {
        color: #ffffff !important; font-weight: 800 !important; text-align: center !important;
        margin-bottom: 20px !important; position: relative; z-index: 10;
    }
    .hero-header h1 span { color: #ff5ca0 !important; }
    .hero-header p {
        color: #ffffff !important; opacity: 0.95; font-weight: 400 !important;
        text-align: center !important; margin-bottom: 30px !important; position: relative; z-index: 10;
    }
    .hero-header .btn {
        background-color: #ffffff !important; color: #160840 !important;
        border: none !important; font-weight: 700 !important;
        margin: 20px auto 50px auto !important; display: inline-block !important;
        padding: 12px 35px !important; box-shadow: 0 4px 20px rgba(0,0,0,0.3);
        position: relative; z-index: 11;
    }
    .hero-header .d-flex { display: block !important; text-align: center !important; }
    .hero-header .row {
        display: flex !important; flex-direction: column !important; align-items: center !important; position: relative; z-index: 10;
    }
    .hero-header img.ms-5 {
        margin: 0 auto !important; width: 140px !important; display: block !important;
    }
}

/* Styling Judul */
.organized-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;          /* Ukuran pas, tidak terlalu besar */
    text-transform: uppercase;   /* Huruf kapital semua */
    letter-spacing: 4px;         /* Spasi antar huruf lebar */
    color: rgba(255, 255, 255, 0.8); 
    font-weight: 600;
    position: relative;
    display: inline-block;       /* Agar garis di sampingnya nempel pas */
    margin-bottom: 10px;         /* Jarak ke logo di bawahnya */
}

/* Garis Hiasan Kiri-Kanan (Opsional, kalau mau polos hapus bagian ini) */
.organized-title::before,
.organized-title::after {
    content: "";
    display: inline-block;
    width: 40px;                 /* Panjang garis */
    height: 1px;                 /* Ketebalan garis */
    background: rgba(255, 255, 255, 0.4);
    vertical-align: middle;
    margin: 0 15px;              /* Jarak garis ke teks */
}

/* Styling Kapsul Logo */
.logo-capsule {
    background: #ffffff;
    border-radius: 50px;
    padding: 15px 50px;          /* Padding proporsional */
    
    display: flex;               /* Pastikan flex agar logo sejajar */
    align-items: center;
    justify-content: center;
    gap: 35px;                   /* Jarak antar logo */
    
    box-shadow: 0 5px 25px rgba(255, 255, 255, 0.15); /* Glow halus */
    transition: transform 0.3s ease;
}

.logo-capsule:hover {
    transform: translateY(-5px);
}

.logo-capsule img {
    height: 60px;                /* Ukuran logo diperkecil dikit biar balance sama teks */
    width: auto;
    object-fit: contain;
}

@media (max-width: 576px) {

    /* 1. KECILKAN WADAH KAPSUL */
    .logo-capsule {
        padding: 8px 20px !important;   /* Padding tipis */
        gap: 15px !important;           /* Jarak antar logo rapat */
        border-radius: 50px !important;
        
        display: inline-flex !important;
        width: auto !important;         /* Lebar menyesuaikan isi */
        max-width: 90% !important;      /* Jaga-jaga biar ga bablas */
        
        box-shadow: 0 3px 15px rgba(255, 255, 255, 0.1) !important;
    }

    /* 2. KECILKAN LOGO PANITIA (SPE, PATRA, IATMI) */
    .logo-capsule img {
        height: 35px !important;        /* UKURAN FIX KECIL */
        width: auto !important;
        object-fit: contain !important;
    }

    /* 3. KECILKAN JUDUL "Organized By" */
    .organized-title {
        font-size: 0.8rem !important;   /* Huruf kecil */
        margin-bottom: 8px !important;  /* Jarak ke kapsul dekat */
        letter-spacing: 2px !important;
    }
}

/* =================================
    SPONSOR
   =================================*/
/* --- RESPONSIF KHUSUS MOBILE UNTUK SPONSORED BY (GAMBAR BESAR) --- */
@media (max-width: 768px) {
    
    /* Targetkan gambar HANYA di dalam section sponsored */
    #sponsored-section img {
        /* Agar gambar tidak keluar layar (responsive) */
        width: 100%; 
        
        /* Batasi lebar maksimalnya biar terlihat 'kecil' dan rapi */
        /* Lord bisa mainkan angka ini (misal 300px atau 80%) */
        max-width: 350px; 
        
        height: auto; /* Jaga proporsi agar tidak gepeng */
        
        /* Opsional: Sesuaikan radius di HP biar tidak terlalu bulat */
        border-radius: 20px !important; 
    }
    
    /* Opsional: Kecilkan judul "Sponsored By" di HP */
    #sponsored-section .organized-title {
        font-size: 1.2rem;
        margin-bottom: 15px;
    }
}

/* Sponsor Pop-up Modal */
    
/* 1. Atur Ukuran Box Modal */
#sponsorModal .modal-dialog {
    margin: 1.5rem auto;       /* Beri jarak lebih lega dari tepi layar */
    max-width: 75% !important; /* Paksa lebar cuma 85% layar HP */
    display: flex;
    align-items: center;
    min-height: calc(100% - 3rem);
}

/* 2. Atur Tinggi Maksimal Konten */
#sponsorModal .modal-content {
    max-height: 60vh; /* Tinggi mentok 75% layar (sisanya buat background gelap) */
    border-radius: 15px !important; /* Radius diperhalus */
}

/* 3. Kecilkan Padding di dalam */
#sponsorModal .modal-body {
    padding: 20px !important; /* Padding dikurangi biar space lebih luas */
}

/* 4. Kecilkan Ukuran Logo di dalam Modal */
#sponsorModal #modalImage {
    max-height: 60px !important; /* Logo jangan kegedean */
}

/* 5. Kecilkan Ukuran Font Judul & Deskripsi */
#sponsorModal h3#modalTitle {
    font-size: 1.2rem; /* Judul lebih kecil */
    margin-bottom: 10px !important;
}

#sponsorModal p#modalDesc {
    font-size: 0.85rem; /* Teks paragraf lebih kecil & enak dibaca */
    line-height: 1.5;   /* Spasi antar baris dirapatkan sedikit */
}


/* Supported by */

/* --- 1. TITLE & KAPSUL UMUM --- */
#supported-section .organized-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 4px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 600;
    position: relative;
    display: inline-block;
    margin-bottom: 25px;
}
#supported-section .organized-title::before,
#supported-section .organized-title::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background: rgba(255, 255, 255, 0.4);
    vertical-align: middle;
    margin: 0 15px;
}

#supported-section .logo-capsule {
    background: #ffffff;
    border-radius: 50px;
    /* Padding luar container */
    padding: 30px 40px; 
    box-shadow: 0 5px 25px rgba(255, 255, 255, 0.15);
    width: 100%;
    max-width: 900px;
    display: inline-block;
}

/* --- 2. FLEX CONTAINER (PENGGANTI ROW) --- */
.logo-flex-container {
    display: flex;
    align-items: center;
    /* Di Laptop: Logo Rata Tengah & Sejajar */
    justify-content: center; 
    gap: 40px; /* Jarak antar logo di Laptop */
    width: 100%;
}

/* --- 3. LOGO STYLE --- */
.supported-logo {
    height: 80px; /* Ukuran Besar di Laptop */
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
    display: block;
}
.supported-logo:hover {
    transform: scale(1.1);
}

/* --- 4. KHUSUS MOBILE (HP) --- */
/* --- CSS KHUSUS MOBILE (HP) - FORCE 1 BARIS (5 LOGO SEJAJAR) --- */
@media (max-width: 768px) {
    
    /* 1. Atur Jarak Section */
    #supported-section { 
        padding-top: 1rem; 
        padding-bottom: 3rem; 
    }
    
    #supported-section .organized-title {
        font-size: 0.8rem;
        letter-spacing: 2px;
        margin-bottom: 10px;
    }

    /* 2. Kapsul Pas Body */
    #supported-section .logo-capsule {
        width: 98% !important;         /* Hampir full layar */
        padding: 15px 5px !important;  /* Padding tipis kiri-kanan */
        border-radius: 25px;
        height: auto !important;
        display: inline-block;
    }

    /* 3. Container Logo (PAKSA 1 BARIS) */
    .logo-flex-container {
        display: flex !important;
        flex-wrap: nowrap !important;        /* DILARANG TURUN BARIS */
        justify-content: center !important;  /* Rata tengah */
        align-items: center !important;
        
        gap: 8px !important;                 /* Jarak antar logo RAPAT */
        width: 100% !important;
    }

    /* 4. Ukuran Logo (RESPONSIF 5 ITEM) */
    .supported-logo {
        height: auto !important;       /* Tinggi menyesuaikan lebar */
        max-height: 45px !important;   /* Batas tinggi agar tidak kegedean */
        
        /* INI KUNCINYA: */
        max-width: 18% !important;     /* Lebar max 18% (100% dibagi 5 logo dikurang gap) */
        
        object-fit: contain;
        margin: 0 !important;
        flex-shrink: 1;                /* Boleh menyusut jika layar sangat kecil */
    }
}

/* =========================================
   CSS MEDIA PARTNER (FINAL LOCK)
   ========================================= */

.medpar-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 1rem;           
    text-transform: uppercase;   
    letter-spacing: 4px;         
    color: rgba(255, 255, 255, 0.8); 
    font-weight: 600;
    /* Layout Posisi */
    position: relative;
    display: inline-block;       
    margin-bottom: 30px; 
}

/* Garis Hiasan Kiri-Kanan (Persis Sponsored By) */
.medpar-section-title::before,
.medpar-section-title::after {
    content: "";
    display: inline-block;
    width: 40px;                 
    height: 1px;                 
    background: rgba(255, 255, 255, 0.4); 
    vertical-align: middle;
    margin: 0 15px;              
}
/* --- RESPONSIF KHUSUS MOBILE UNTUK MEDIA PARTNER --- */
@media (max-width: 768px) {
    #media-partner-section img {
        width: 85%; 
        max-width: 350px; 
        height: auto; 
        border-radius: 20px !important; 
    }
    #media-partner-section .medpar-section-title {
        font-size: 1.2rem;
        margin-bottom: 15px;
    }
}