@charset "utf-8";

/* ==========================================================================
   MOBILE RESPONSIVE (Skrin < 768px)
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 1. NAVBAR (Fix Separuh & Ikut Skrol) */
    .sticky-navbar, .story-navbar {
        width: 100% !important;
        left: 0 !important;
        right: 0 !important;
        
        /* Jangan letak 'top: 0' secara paksa supaya tak timbul awal */
        /* Biar script hero page awak yang kawal position */
        
        height: 70px !important; 
        padding: 0 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background-color: rgba(254, 250, 222, 0.98) !important;
        backdrop-filter: blur(10px);
        box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
        z-index: 9999 !important; 
        box-sizing: border-box !important;
    }

    /* 2. FIX WARNA GOLD (HIGHLIGHT) */
    .nav-menu .nav-btn.active {
        color: #f5d34b !important; /* Kuning Gold */
        -webkit-text-fill-color: #f5d34b !important;
        text-shadow: 0 0 10px rgba(245, 211, 75, 0.3);
    }

    .nav-menu .nav-btn.active::after {
        width: 100% !important;
        background-color: #f5d34b !important;
    }

    /* 3. LOGO TENGAH */
    .nav-logo-container {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        display: flex !important;
        align-items: center !important;
    }

    .nav-logo {
        height: 45px !important;
        width: auto !important;
    }

    /* 4. HAMBURGER KANAN */
    .hamburger {
        position: absolute !important;
        right: 20px !important;
        display: block !important;
        z-index: 10001 !important;
    }

    .hamburger .bar {
        display: block;
        width: 25px;
        height: 3px;
        margin: 5px auto;
        background-color: #c32c53;
        border-radius: 3px;
        transition: all 0.3s ease;
    }

    /* 5. MENU FULL SCREEN (DESIGN MINIMALIST) */
    .nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(254, 250, 222, 0.98); 
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 40px;
        opacity: 0;
        visibility: hidden;
        transition: all 0.4s ease;
        z-index: 998;
    }

    .nav-menu.active {
        opacity: 1;
        visibility: visible;
    }

    /* 6. STYLE TULISAN MENU */
    .nav-btn {
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        width: auto !important;
        padding: 0 !important;
        font-family: 'Lexend Deca', sans-serif;
        font-size: 32px;
        font-weight: 800;
        color: #c32c53;
        text-transform: uppercase;
        letter-spacing: 2px;
        position: relative;
    }

    .nav-btn::after {
        content: '';
        display: block;
        width: 0;
        height: 6px;
        background: #f5d34b;
        transition: width 0.3s;
        margin: 5px auto 0;
        border-radius: 4px;
    }

    .nav-btn:hover::after, .nav-btn.active::after {
        width: 100%;
    }
    
    .nav-menu li {
        list-style: none;
    }

    /* 7. ANIMASI HAMBURGER */
    .hamburger.active .bar { background-color: #c32c53; } 
    .hamburger.active .bar:nth-child(2) { opacity: 0; }
    .hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

} /* <--- PENUTUP MEDIA QUERY (PASTIKAN ADA) */

/* ==========================================================================
   FIX LAYOUT: ANTI-OVERFLOW & TEXT SPACING (MOBILE ONLY)
   ========================================================================== *

    /* 1. Universal Box Sizing & Overflow Fix */
    /* Ini memastikan padding tidak menambah lebar elemen */
    *, *::before, *::after {
        box-sizing: border-box !important;
    }

    html, body {
        overflow-x: hidden; /* Potong sebarang elemen yang cuba keluar ke tepi */
        width: 100%;
        margin: 0;
        padding: 0;
    }

    /* 2. Intro Text & Paragraph Fix */
    /* Supaya ayat tak melekat di dinding skrin */
    .intro-text, p {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 25px !important;  /* Ruang udara kiri */
        padding-right: 25px !important; /* Ruang udara kanan */
        text-align: center !important;  /* Center untuk mobile lebih kemas */
        word-wrap: break-word;          /* Patahkan perkataan yang terlalu panjang */
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* 3. Header & Image Constraints */
    /* Supaya gambar tajuk tak terlebih besar */
    .custom-header {
        width: 100% !important;
        padding: 20px !important;
    }

    .headline-img {
        width: 100% !important;
        max-width: 300px !important; /* Hadkan saiz tajuk di phone */
        height: auto !important;
        margin: 0 auto !important;
    }

    /* 4. D.I.V.E Grid Vertical Alignment */
    .dive-grid {
        display: flex !important;
        flex-direction: column !important; /* Susun menegak */
        align-items: center !important;
        gap: 40px !important;
        padding: 20px 0 !important;
    }
@media screen and (max-width: 768px) {
    /* 1. The Outer Container */
    .info-box-container {
        display: flex !important;
        justify-content: center !important; /* Centers the card horizontally */
        align-items: center !important;
        width: 100% !important;
        padding: 40px 0 !important; /* Vertical spacing from other elements */
        box-sizing: border-box;
		margin-right: 50px;
    }

    /* 2. The Pink Information Card */
    .info-card {
        width: 90% !important;      /* Makes it responsive but not touching edges */
        max-width: 380px !important; /* Prevents it from getting too wide */
        margin: 0 auto !important;   /* Fallback centering */
        
        /* Matching the style from your image */
        background-color: #c42754 !important;
        padding: 35px 25px !important;
        border-radius: 30px !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        
        /* Text alignment */
        text-align: center !important;
    }

    .info-card p {
        color: white !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin: 0 !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Stack the grid vertically */
    .co-sponsors-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
        padding: 20px 0 !important;
        width: 100% !important;
    }

    /* 2. Fix the Card dimensions */
    .co-card {
        width: 85% !important;
        max-width: 350px !important;
        height: auto !important; /* Forces height to grow with text */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 20px !important;
        background-color: white !important;
        border-radius: 15px !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
    }

    /* 3. Fix the Image Box */
    .co-img-box {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 15px !important;
    }

    .co-img-box img {
        max-width: 120px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* 4. Fix the Text (No more vertical text) */
    .co-text {
        text-align: center !important;
        width: 100% !important;
    }

    .co-text h4 {
        margin: 5px 0 !important;
        font-size: 1.2rem !important;
        color: #333 !important;
    }

    .co-text p {
        font-size: 14px !important;
        line-height: 1.4 !important;
        color: #666 !important;
        white-space: normal !important; /* Ensures text wraps horizontally */
    }
}


@media screen and (max-width: 768px) {
    /* 1. Reset Container Utama */
    .collaboration-section {
        padding: 30px 15px !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    /* 2. Pink Card Container */
    .collab-box {
        width: 100% !important; 
        max-width: 100% !important;
        height: auto !important; 
        display: flex;
        flex-direction: column; 
        align-items: center;
        padding: 25px 15px;
        border-radius: 20px;
        background-color: #c42754; 
        box-shadow: 0 10px 25px rgba(196, 39, 84, 0.3);
        margin: 0 auto;
    }

    /* 3. Layout Wrapper */
    .footer-content-wrapper {
        display: flex;
        flex-direction: column; 
        align-items: center;
        width: 100%;
        gap: 30px; /* Space between the social row and collaboration info */
    }

    /* --- SOCIAL ICONS (Forces them into one row) --- */
    .social-icons {
        display: flex !important;
        flex-direction: row !important; /* This ensures they stay side-by-side */
        justify-content: center !important;
        align-items: center !important;
        gap: 25px !important; /* Space between TikTok and Instagram icons */
        width: 100% !important;
        padding-bottom: 25px;
        border-bottom: 1px solid rgba(255,255,255,0.2); /* Creates a clean divider line */
    }

    .social-icons img {
        width: 48px !important;
        height: 48px !important;
        object-fit: contain;
        transition: transform 0.2s ease;
    }

    .social-icons img:active {
        transform: scale(0.9);
    }

    /* --- PARTNER SECTION --- */
    .collab-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .collab-title-img {
        width: 190px !important;
        height: auto;
        margin-bottom: 20px;
    }

    .partner-logos {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap; 
        justify-content: center;
        gap: 15px;
    }

    .partner-logos img {
        height: 52px !important;
        width: 52px !important;
        background-color: white;
        border-radius: 50%;
        padding: 8px;
        object-fit: contain;
        box-shadow: 0 4px 8px rgba(0,0,0,0.15);
    }

    /* Footer Copyright */
    .site-footer p {
        color: #c42754;
        font-size: 11px;
        text-align: center;
        margin-top: 20px;
    }
}