/* Paleta de colores: 
   Verde: #2d5a27 | Arena: #f4f1ea | Terracota: #b35a38 
*/

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin: 0;
    background-color: #f4f1ea;
    color: #333;
}

/* Header: Logo - Nombre - Menú */
header {
    background-color: #2d5a27;
    color: white;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 5%;
    position: sticky;
    top: 0;
    z-index: 1000;
}

header img { height: 50px; }

header ul {
    list-style: none;
    display: flex;
    gap: 20px;
}

header a { color: white; text-decoration: none; font-weight: bold; }

/* Secciones generales */
section { padding: 40px 10%; text-align: center; }

.intro h2 { color: #b35a38; }

/* Galería: 3 columnas, 2 filas */

.grid-fotos {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* Cambio a 4 columnas */
    gap: 15px;
    max-width: 1200px; /* Centra la galería en pantallas muy grandes */
    margin: 0 auto;
}
.foto img {
    width: 100%;
    height: 180px; /* Ajusté un poco la altura para que mantengan buena proporción */
    object-fit: cover;
    border-radius: 8px;
    transition: transform 0.3s;
}

.foto img:hover {
    transform: scale(1.05);
}

/* Reseñas */
.testimonios blockquote {
    font-style: italic;
    background: #e0ddd5;
    padding: 20px;
    margin: 10px 0;
    border-left: 5px solid #b35a38;
}

/* Footer y Redes */
footer {
    background-color: #2d5a27;
    color: white;
    padding: 20px;
    text-align: center;
}

.redes a {
    color: white;
    font-size: 24px;
    margin: 0 10px;
}

/* WhatsApp Flotante */
.whatsapp-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #25d366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 30px;
    box-shadow: 2px 2px 10px rgba(0,0,0,0.3);
    text-decoration: none;
    z-index: 1000;
}

/* Configuración de la Galería en 4 columnas */
.grid-fotos {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    max-width: 1200px;
    margin: 0 auto;
}

.foto img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
    cursor: pointer;
    transition: 0.3s;
}

/* Estilos del efecto "Ampliación" (Lightbox) */
.lightbox {
    display: none; /* Oculto por defecto */
    position: fixed;
    z-index: 2000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9); /* Fondo oscuro */
    text-align: center;
}

.lightbox img {
    max-width: 90%;
    max-height: 80%;
    margin-top: 5%;
    border: 3px solid white;
}

/* Mostrar cuando se hace clic */
.lightbox:target {
    display: block;
}

/* Botón de cerrar (X) */
.close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: white;
    font-size: 50px;
    text-decoration: none;
}

/* Responsivo para celulares */
@media (max-width: 768px) {
    header { flex-direction: column; }
    .grid-fotos { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
    .grid-fotos {
        grid-template-columns: repeat(2, 1fr); /* En tablets y móviles grandes muestra 2 */
    }
}

@media (max-width: 480px) {
    .grid-fotos {
        grid-template-columns: 1fr; /* En celulares pequeños muestra 1 sola columna */
    }
}