  :root {
            --burgundy: #6B1A3A;
            --cream-bg: #FAF6F0;
        }

        body {
            font-family: 'Montserrat', sans-serif;
            background-color: #1a0812;
            color: var(--burgundy);
            overflow-x: hidden;
        }

        .font-script {
            font-family: 'Great Vibes', cursive;
        }

        .font-serif-title {
            font-family: 'Cormorant Garamond', serif;
        }

        /* Ambient background glow */
        .ambient-glow {
            background: radial-gradient(circle at center, rgba(107, 26, 58, 0.4) 0%, rgba(26, 8, 18, 0.95) 75%);
        }

        /* Sparkle twinkle animation */
        @keyframes twinkle {
            0%, 100% { opacity: 0.2; transform: scale(0.8); }
            50% { opacity: 1; transform: scale(1.2); filter: drop-shadow(0 0 6px rgba(255,215,0,0.8)); }
        }

        .sparkle {
            animation: twinkle 2.5s infinite ease-in-out;
        }

        /* Floating effect for envelope */
        @keyframes floatSlow {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-8px) rotate(0.5deg); }
        }

        .envelope-float {
            animation: floatSlow 4s infinite ease-in-out;
        }

        /* Floating effect for envelope */
        @keyframes floatSlow {
            0%, 100% { transform: translateY(0px) rotate(0deg); }
            50% { transform: translateY(-7px) rotate(0.5deg); }
        }

        .envelope-float {
            animation: floatSlow 4s infinite ease-in-out;
        }

        /* Polygon shape for envelope fold flap */
        .envelope-flap-closed {
            clip-path: polygon(0 0, 100% 0, 50% 100%);
        }

        .open-flap {
            transform: rotateX(180deg);
        }
        @keyframes pulseLocation {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(107,26,58,.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 18px rgba(107,26,58,0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(107,26,58,0);
    }
}

.location-btn{
    animation:pulseLocation 2.5s infinite;
}

@keyframes pinBounce{
    0%,100%{
        transform:translateY(0);
    }
    50%{
        transform:translateY(-6px);
    }
}

.location-btn i{
    animation:pinBounce 1.2s infinite;
}

/* Animación botón calendario igual que ubicación */

.calendar-btn {
    animation: pulseLocation 2.5s infinite;
}


/* Animación del icono calendario */

@keyframes calendarBounce {
    0%,100%{
        transform: translateY(0);
    }
    50%{
        transform: translateY(-6px);
    }
}

.calendar-btn i {
    animation: calendarBounce 1.2s infinite;
}

