/* Estilos Generales */
body {
    font-family: 'Lato', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f5f2ff; /* Cambiado: Fondo lila muy pálido */
    color: #4a2c5a; /* Cambiado: Texto en tono ciruela oscuro */
    line-height: 1.6;
}

h1, h2, h3 {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
}

/* Encabezado */
.hero {
    /* Cambiado: Imagen de fondo con un filtro lila suave */
    background-image: linear-gradient(rgba(108, 91, 123, 0.6), rgba(53, 44, 73, 0.6)), url('https://via.placeholder.com/1200x800'); /* Cambia la imagen de fondo */
    height: 60vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
}

.hero-text h1 {
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

/* Secciones Principales */
main section {
    padding: 40px 20px;
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

h2 {
    font-size: 2.5rem;
    margin-bottom: 30px;
    color: #6c5b7b; /* Cambiado: Título en lila oscuro */
}

/* Cuenta Regresiva */
#countdown {
    background-color: #ede7f6; /* Cambiado: Fondo de sección lila claro */
}
#timer {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-bottom: 10px;
}
.time-box {
    background: white;
    padding: 10px 15px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.time-box span {
    display: block;
    font-size: 2rem;
    font-weight: bold;
    color: #6c5b7b; /* Cambiado: Números en lila oscuro */
}
.fecha-boda {
    font-style: italic;
    color: #555;
}


/* Historia */
.timeline-item {
    background: #fff;
    padding: 20px;
    margin-bottom: 20px;
    border-left: 4px solid #c8b6ff; /* Cambiado: Borde en lila brillante */
    text-align: left;
}

/* Galería de Fotos */
.photo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 columnas en móvil */
    gap: 15px;
}
.photo-grid img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease;
}
.photo-grid img:hover {
    transform: scale(1.05);
}

/* Footer */
footer {
    background-color: #4a2c5a; /* Cambiado: Footer en ciruela oscuro */
    color: white;
    text-align: center;
    padding: 20px;
}

/* --- Media Query para hacerla RESPONSIVE --- */
/* Para pantallas más grandes (tablets y computadoras) */
@media (min-width: 768px) {
    .hero-text h1 {
        font-size: 4.5rem;
    }
    .photo-grid {
        grid-template-columns: repeat(4, 1fr); /* 4 columnas en pantallas grandes */
    }
}

/* =================================== */
/* ==== Animación de Mariposas (CORREGIDO) ==== */
/* =================================== */

/* Contenedor principal que ocupa toda la pantalla */
.mariposas-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 999; /* Se asegura de que estén por encima de todo */
    pointer-events: none; /* MUY IMPORTANTE: Evita que las mariposas bloqueen los clics en la página */
    overflow: hidden;
}

/* Estilo y animación base para cada mariposa */
.mariposa {
    position: absolute;
    top: 110%; /* Empiezan desde abajo, fuera de la pantalla */
    left: 0; /* La animación se encarga de la posición horizontal */
    width: 40px;
    height: 40px;
    /* ESTA ES LA IMAGEN SVG DE LA MARIPOSA CORREGIDA */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c8b6ff' d='M12 4.2c2.6-2.9 6.2-3.4 8.8-1.4 3.1 2.4 3.7 7.1 1.4 10.3-2.2 3.1-6.2 4.2-9 2.5-0.6-0.4-1.2-0.8-1.7-1.4-0.5 0.6-1.1 1-1.7 1.4-2.8 1.7-6.8 0.6-9-2.5C-.6 13.9-1.2 9.2 2 6.1c2.6-2 6.2-1.5 8.8 1.4.5.5 1 1 1.2 1.7z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    animation: volar 20s linear infinite;
    opacity: 0; /* Empiezan invisibles */
}

/* Definición de la animación de vuelo */
@keyframes volar {
    0% {
        transform: translateX(0) translateY(0) rotateZ(0deg);
        opacity: 1;
    }
    50% {
        transform: translateX(calc(100vw - 150px)) translateY(-50vh) rotateZ(180deg);
        opacity: 0.8;
    }
    100% {
        transform: translateX(0) translateY(-100vh) rotateZ(360deg);
        opacity: 0;
    }
}

/* Para que cada mariposa sea diferente (posición, velocidad, tamaño) */
.mariposa:nth-child(1) {
    left: 10%;
    animation-delay: 0s;
    transform: scale(0.6);
}
.mariposa:nth-child(2) {
    left: 20%;
    animation-delay: -5s;
    animation-duration: 25s;
    transform: scale(0.8);
}