 /* ===== SPLASH SCREEN (PAGE 1) ===== */
    #page-1 {
        position: fixed;
        align-items: flex-start;
        background-image: 
        linear-gradient(135deg, rgba(41, 41, 41, 0.7) 0%, rgba(41, 41, 41, 0.7) 100%),
        url('../background-splash.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        z-index: 9999;
        animation: gradientShift 15s ease infinite;
        width: 100%;
        height: 100%;
        margin: 0;
        padding-top: 20px;
        overflow: hidden; /* Tambahkan ini */
        touch-action: none; /* Tambahkan ini */
        overscroll-behavior: none; /* Tambahkan ini */
    }
    
    #page-1.hidden {
        display: none;
        visibility: hidden;
        pointer-events: none;
    }

    @keyframes gradientShift {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }

    /* Partikel hati yang berjatuhan */
    .hearts-container {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            overflow: hidden;
        }

    .heart {
            position: absolute;
            font-size: 20px;
            opacity: 0;
            animation: fall linear infinite;
        }

    @keyframes fall {
            0% {
                top: -10%;
                opacity: 0;
            }
            10% {
                opacity: 1;
            }
            90% {
                opacity: 0.8;
            }
            100% {
                top: 110%;
                opacity: 0;
            }
        }

    /* Bunga-bunga dekoratif di sudut */
        .flower-decoration {
            position: absolute;
            opacity: 0.3;
            pointer-events: none;
        }

        .flower-top-left {
            top: -50px;
            left: -50px;
            width: 200px;
            height: 200px;
            background: radial-gradient(circle, rgba(255,182,193,0.8) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }

        .flower-top-right {
            top: -30px;
            right: -120px;
            width: 350px;
            height: 350px;
            background-image: url('../catin/decor_right.png');
            background-size: contain;
            background-repeat: no-repeat;
            background-position: center;
            animation: float 5s ease-in-out infinite reverse;
        }

        .flower-bottom-left {
            bottom: -40px;
            left: -40px;
            width: 280px;
            height: 280px;
            background-image: url('../catin/decor_left.png');
            background-size: contain; /* atau cover */
            background-repeat: no-repeat;
            background-position: center;
            animation: float 7s ease-in-out infinite;
        }

        .flower-bottom-right {
            bottom: -60px;
            right: -60px;
            width: 220px;
            height: 220px;
            background: radial-gradient(circle, rgba(255,192,203,0.8) 0%, transparent 70%);
            border-radius: 50%;
            animation: float 6s ease-in-out infinite reverse;
        }

        @keyframes float {
            0%, 100% {
                transform: translateY(0) scale(1);
            }
            50% {
                transform: translateY(-20px) scale(1.05);
            }
        }

    .sparkle {
        position: absolute;
        width: 100px;
        height: 100px;
        background-image: url('../bungasplash.svg');  
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0;
        animation: 
            sparkleFloat 10s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite,
            sparkleRotate 15s linear infinite,
            sparkleOpacity 10s ease-in-out infinite;
    }
    
    .sparkle:nth-child(2n) {
        animation-duration: 12s, 18s, 12s;
        animation-delay: 1s, 0.5s, 1s;
    }
    
    .sparkle:nth-child(3n) {
        animation-duration: 11s, 16s, 11s;
        animation-delay: 2s, 1s, 2s;
    }
    
    /* Animasi floating naik turun */
    @keyframes sparkleFloat {
        0%, 100% {
            transform: translateY(0px) scale(0.8);
        }
        25% {
            transform: translateY(-15px) scale(0.95);
        }
        50% {
            transform: translateY(-8px) scale(1.05);
        }
        75% {
            transform: translateY(-12px) scale(0.98);
        }
    }
    
    /* Animasi rotasi smooth */
    @keyframes sparkleRotate {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }
    
    /* Animasi opacity smooth */
    @keyframes sparkleOpacity {
        0% {
            opacity: 0;
            filter: blur(3px);
        }
        15% {
            opacity: 0.7;
            filter: blur(1px);
        }
        50% {
            opacity: 1;
            filter: blur(0px);
        }
        85% {
            opacity: 0.6;
            filter: blur(1.5px);
        }
        100% {
            opacity: 0;
            filter: blur(3px);
        }
    }

    .splash-content {
        text-align: center;
        padding: clamp(20px, 5vw, 30px);
        max-width: 90%;
        margin: 0 auto;
        animation: fadeInUp 3s ease-out;
    }

    @keyframes fadeInUp {
        from { opacity: 0; transform: translateY(30px); }
        to { opacity: 1; transform: translateY(0); }
    }

    .splash-icon {
        font-size: clamp(30px, 8vw, 40px);
        margin-bottom: clamp(15px, 3vw, 20px);
        margin-left: clamp(20px, 5vw, 40px);
        animation: float 3s ease-in-out infinite;
    }

    @keyframes float {
        0%, 100% { transform: translateY(0px); }
        50% { transform: translateY(-10px); }
    }

    .splash-title {
        font-family: "Playfair Display", serif;
        /*font-family: "Poiret One", sans-serif;*/
        font-size: clamp(11px, 2.5vw, 14px);
        letter-spacing: clamp(1.5px, 0.5vw, 3px);
        text-transform: uppercase;
        color: #ffffff;
        margin-bottom: clamp(15px, 3vw, 20px);
    }

    .splash-names {
        font-family: "Zeyada", cursive;
        font-size: clamp(28px, 8vw, 42px);
        color: #ffffff;
        margin: clamp(10px, 2vw, 15px) 0;
        line-height: 1.3;
    }
    

    .splash-ampersand {
        font-family: "Zeyada", cursive;
        font-size: clamp(20px, 5vw, 28px);
        color: #ffffff;
        display: block;
        margin: clamp(8px, 2vw, 10px) 0;
    }

    .splash-date {
        font-family: "Playfair Display", serif;
        /*font-family: "Poiret One", sans-serif;*/
        font-size: clamp(14px, 3vw, 17px);
        letter-spacing: clamp(1px, 0.3vw, 2px);
        color: #ffffff;
        margin: clamp(10px, 3vw, 15px) 0;
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
    }

    .open-invitation-btn {
        margin-top: 10px;
        padding: clamp(12px, 3vw, 15px) clamp(25px, 6vw, 40px);
        background: #424242;
        border: 1px solid #ffffff;
        border-radius: 50px;
        color: #ffffff;
        font-family: "Poiret One", sans-serif;
        font-size: clamp(11px, 2.5vw, 14px);
        letter-spacing: clamp(1px, 0.3vw, 2px);
        text-transform: uppercase;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
        animation: pulseGlow 2s ease-in-out infinite;
        white-space: nowrap;
    }

    @keyframes pulseGlow {
        0%, 100% {
            transform: scale(1);
        }
        50% {
            transform: scale(1.05);
        }
    }

    .open-invitation-btn:active { transform: scale(0.95); }

    /* Media query untuk layar sangat kecil */
    @media (max-width: 360px) {
        .splash-icon {
            margin-right: 15px;
            transform: rotateY(180deg);
        }
        
        .open-invitation-btn {
            font-size: 10px;
            padding: 10px 20px;
            letter-spacing: 1px;
        }
    }
    
    .event-card-to {
        background: rgba(0, 0, 0,0.5);
        border-radius: 15px;
        padding: 10px 10px;
        margin-top: 20px;
        margin-left: 40px;
        margin-right: 40px;
        border: 1px solid rgba(255,255,255,0.1);
    }
    
    .title-guest {
        font-family: "Playfair Display", serif;
        font-size: 8px;
    }
    
    .guest-name {
        font-family: "Playfair Display", serif;
        font-size: 12px;
        margin-top: 10px;
        margin-bottom: 10px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
        
        /* Fallback kalau -webkit-line-clamp ga support */
        max-height: calc(1.4em * 2); /* line-height × jumlah baris */
        line-height: 1.4em;
    }