/* =========================================
   GALERÍA (CARRUSEL INFINITO)
   ========================================= */
#galeria {
    padding: 60px 0;
    overflow: hidden; /* Oculta lo que sale de la pantalla */
    background-color: #fdfdfd;
}

.galeria-container {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 20px 0;
}

.galeria-track {
    display: flex;
    width: calc(300px * 10); /* Ancho imagen + gap multiplicado por total fotos (originales + duplicadas) */
    animation: scrollInfinito 40s linear infinite; /* Movimiento constante */
}

/* Pausar al pasar el mouse para que los invitados vean bien la foto */
.galeria-track:hover {
    animation-play-state: paused;
}

.galeria-track img {
    width: 280px;
    height: 400px;
    object-fit: cover;
    border-radius: 15px;
    margin: 0 10px; /* Espaciado lateral (gap) */
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    border: 3px solid white;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.galeria-track img:hover {
    transform: scale(1.05);
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
}

/* --- ANIMACIÓN MÁGICA --- */
@keyframes scrollInfinito {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Se desplaza exactamente la mitad del track (las fotos originales) */
        transform: translateX(calc(-300px * 5)); 
    }
}

/* --- AJUSTE MÓVIL --- */
@media (max-width: 768px) {
    .galeria-track img {
        width: 200px;
        height: 300px;
    }
    
    .galeria-track {
        width: calc(220px * 10);
        animation: scrollInfinito 25s linear infinite; /* Un poco más rápido en móvil */
    }

    @keyframes scrollInfinito {
        0% { transform: translateX(0); }
        100% { transform: translateX(calc(-220px * 5)); }
    }
}