/* Pengaturan Dasar */
        :root {
            --gold: #c5a059;
            --dark-bg: #0a0a0a;
            --text-light: #eaeaea;
        }

        body {
            margin: 0;
            padding: 0;
            font-family: 'Montserrat', sans-serif;
            background-color: var(--dark-bg);
            color: var(--text-light);
            text-align: center;
            overflow-x: hidden;
        }

        /* Tipografi Elegan */
        h3, .quran-quote, .arabic {
            font-family: 'Montserrat', serif;
            font-weight: 400;
        }
        h1, h2 {
            font-family: 'Luxurious Script', serif;
        
        }
        
        /* Tampilan Halaman Loading / Cover */
    #loading-screen {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #050505; /* Warna hitam pekat untuk kontras tinggi */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        z-index: 99999; /* Memastikan cover menutupi seluruh website */
        transition: opacity 1s ease-in-out, visibility 1s ease-in-out;
    }

    .cover-content {
        text-align: center;
        animation: muncul-pelan 2s ease-out;
    }

    .cover-kepada {
        font-size: 1rem;
        letter-spacing: 5px;
        text-transform: uppercase;
        color: #888;
        margin-bottom: 10px;
    }

    .cover-title {
        font-family: 'Luxurious Script', serif; /* Atau 'Great Vibes' jika Anda sudah mengubahnya */
        font-size: 3.5rem;
        color: var(--gold);
        margin: 0 0 40px 0;
        text-shadow: 0px 4px 20px rgba(197, 160, 89, 0.3);
    }

    .btn-buka {
        padding: 12px 35px;
        background-color: transparent;
        color: var(--gold);
        border: 1px solid var(--gold);
        font-family: 'Montserrat', sans-serif;
        font-size: 0.9rem;
        letter-spacing: 2px;
        text-transform: uppercase;
        cursor: pointer;
        transition: all 0.4s ease;
    }

    .btn-buka:hover {
        background-color: var(--gold);
        color: #050505;
        box-shadow: 0 0 20px rgba(197, 160, 89, 0.5);
    }

    /* Class untuk menghilangkan cover dengan efek fade out (memudar) */
    .hilang {
        opacity: 0;
        visibility: hidden;
    }

    @keyframes muncul-pelan {
        0% { opacity: 0; transform: translateY(20px); }
        100% { opacity: 1; transform: translateY(0); }
    }

        /* Bagian Hero */
        .hero {
            position: relative;
            height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background-image: url('https://images.unsplash.com/photo-1606800052052-a08af7148866?q=80&w=1170&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D');
            background-size: cover;
            background-position: center;
        }

        .hero-overlay {
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
            background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6) 40%, rgba(255, 255, 255, 1) 90%);
            z-index: 1;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            padding: 20px;
            max-width: 800px;
        }

        .hero h1 {
            font-size: 10rem;
            margin: 0 0 20px 0;
            color: #fff;
            text-shadow: 2px 4px 15px rgba(0,0,0,0.8);
            letter-spacing: 0px;
        }

        /* Kotak Nama Tamu Dinamis */
        .guest-box {
            margin-top: 40px;
            padding: 25px;
        }

        .guest-box p {
            margin: 0 0 10px 0;
            font-size: 0.9rem;
            letter-spacing: 0px;
            color: #fff;
        }

        #guest-name {
            font-size: 2rem;
            margin: 0 0 15px 0;
            color: #fff;
            text-shadow: 1px 2px 7px rgba(0,0,0,0.8);
            text-transform: capitalize;
        }

        .guest-box .small-text {
            font-size: 0.9rem;
            line-height: 1.5;
            color: #fff;
        }

        /* Bagian Teks & Doa */
        .doa-section {
            padding: 120px 20px;
            background-color: #fff;
            position: relative;
        }

        .arabic {
            font-size: 2rem;
            margin-bottom: 30px;
            color: var(--gold);
        }

        .quran-quote {
            font-size: 0.9rem;
            line-height: 1.8;
            max-width: 350px;
            margin: 0 auto;
            font-style: italic;
            color: #000;
        }

        .quran-surah {
            margin-top: 15px;
            font-size: 0.9rem;
            color: var(--gold);
            letter-spacing: 1px;
            margin-bottom: 120px;
        }

        .greeting {
            max-width: 350px;
            margin: 0 auto;
            font-size: 0.9rem;
            line-height: 1.9;
            color: #000;
        }

        .greeting p {
            margin-bottom: 20px;
        }

        /* --- BAGIAN BARU: PROFIL MEMPELAI --- */
            .couple-section {
                padding: 40px 20px 80px;
                background-color: var(--dark-bg);
            }

            .couple-container {
                display: flex;
                justify-content: center;
                align-items: center;
                gap: 40px;
                max-width: 900px;
                margin: 0 auto;
                flex-wrap: wrap;
            }

            .couple-profile {
                flex: 1;
                min-width: 250px;
                text-align: center;
            }

            .couple-img {
                max-width: 250px;
                max-height: 500px;
                object-fit: cover;
                border-radius: 50%;
                border: 3px solid var(--gold);
                padding: 3px;
                margin-bottom: 25px;
                box-shadow: 0 10px 25px rgba(0,0,0,0.6);
            }

            .couple-name {
                font-size: 2rem;
                color: var(--gold);
                margin: 0 0 15px 0;
            }

            .couple-parents {
                font-size: 0.9rem;
                line-height: 1.6;
                color: #bbb;
                margin-bottom: 40px;
            }

         

        /* Detail Acara, Countdown & RSVP */
        .event-section {
            padding: 80px 20px;
            background-color: #f8f8f8;
            
        }

        .section-title {
            font-size: 4rem;
            color: var(--gold);
            margin-bottom: 50px;
            letter-spacing: 0px;
            
        }

        .event-details {
            margin-bottom: 40px;
            font-size: 0.9rem;
            line-height: 1.8;
            color: #000;
        }

        .event-details strong {
            color: var(--gold);
            font-size: 0.9rem;
            font-family: 'Montserrat', serif;
            letter-spacing: 1px;
            display: inline-block;
            margin-top: 20px;
        }

        .countdown-container {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin: 50px 0;
            flex-wrap: wrap;
        }

        .countdown-box {
            background-color: rgba(255, 255, 255, 0.03);
            border: 1px solid var(--gold);
            padding: 20px;
            min-width: 70px;
            border-radius: 4px;
        }

        .countdown-number {
            font-family: 'Times New Roman', serif;
            font-size: 2.2rem;
            color: #000;
            display: block;
            margin-bottom: 5px;
        }

        .countdown-label {
            font-size: 0.75rem;
            text-transform: uppercase;
            letter-spacing: 2px;
            color: #000;
        }

        .btn-rsvp {
            display: inline-block;
            margin-top: 20px;
            padding: 15px 40px;
            background-color: var(--gold);
            color: #fff;
            text-decoration: none;
            font-weight: 600;
            letter-spacing: 2px;
            text-transform: uppercase;
            border-radius: 3px;
            transition: all 0.3s ease;
        }

        .btn-rsvp:hover {
            background-color: #dfb96e;
            transform: translateY(-3px);
            box-shadow: 0 5px 15px rgba(197, 160, 89, 0.3);
        }

        /* Bagian Kolase Gambar */
        .gallery-section {
            padding: 80px 20px 100px;
            background-color: var(--dark-bg);
        }

        .grid-gallery {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 15px;
            max-width: 1000px;
            margin: 0 auto;
        }

        .grid-item {
            width: 100%;
            height: 350px;
            object-fit: cover;
            border-radius: 2px;
            transition: transform 0.4s ease, filter 0.4s ease;
            filter: brightness(0.7) contrast(1.2) grayscale(30%);
        }

        .grid-item:hover {
            transform: scale(1.02);
            filter: brightness(1) contrast(1.1) grayscale(0%);
            z-index: 10;
        }

        /* Responsif */
        @media (max-width: 600px) {
            .hero h1 { font-size: 4rem; }
            #guest-name { font-size: 1.5rem; }
            .arabic { font-size: 2rem; }
            .quran-quote { font-size: 1.1rem; }
            .countdown-box { min-width: 60px; padding: 15px; }
            .countdown-number { font-size: 1.8rem; }
            .section-title { font-size: 2rem; }
            .grid-item { height: 250px; }
        }
        /* Garis Pembatas Elegan */
        hr.section-divider {
            border: 1;
            height: 1px;
            max-width: 300px;
            margin-top: 100px;
            margin-bottom: 100px;
        }

        /* Tombol Musik Melayang */
    #music-btn {
        position: fixed;
        bottom: 30px;
        right: 30px;
        width: 55px;
        height: 55px;
        background-color: var(--gold);
        color: #111;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 24px;
        cursor: pointer;
        z-index: 9999; /* Memastikan tombol selalu ada di paling depan */
        box-shadow: 0 4px 15px rgba(197, 160, 89, 0.5);
        transition: transform 0.3s;
    }

    #music-btn:hover {
        transform: scale(1.1);
    }

    /* Animasi berputar lambat saat musik menyala */
    .berputar {
        animation: putar-animasi 5s linear infinite;
    }

    @keyframes putar-animasi {
        100% { transform: rotate(360deg); }
    }