/* Estilos generales */
body {
    font-family: 'Roboto', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f0f4f8;
    color: #333;
}

/* Header */
header {
    background-color: #5d238a;
    padding: 15px 0; /* Aumento de la altura del header */
    text-align: center;
    box-sizing: border-box; /* Asegura que el padding no afecte el tamaño */
}

nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: left;
}

nav ul li {
    margin: 0 10px;
}

nav ul li a {
    color: #ecf0f1;
    text-decoration: none;
    font-size: 1em;
    padding: 10px 15px; /* Padding para los botones */
    border: 2px solid transparent; /* Borde invisible por defecto */
    position: relative;
    display: inline-block;
}

nav ul li a:hover {
    background-color: #6f349c;
    border-color: #fff; /* Borde visible al pasar el mouse */
    border-radius: 8px;
}

/* Sección 1 */
.inicio {
    position: relative;
    height: 600px;
    width: 100%;
    overflow: hidden;
}

.inicio-contenedor {
    position: relative;
    width: 100%;
    height: 100%;
}

.foto-contenido {
    position: relative;
    width: 100%;
    height: 100%;
}

.foto-contenido img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Mantener la proporción de la imagen */
}

.color-overlay {
    position: absolute;
    top: 0;
    left: -15rem;
    width: 65%; /* Ancho del div de color */
    height: 100%;
    background-color: rgba(87, 99, 89, 0.8) ; /* #408F4E Color de fondo */
    transform: skewX(-20deg); /* Aplicar el ángulo skew en el eje X */
    z-index: 1;
}

.logo-descripcion {
    position: absolute;
    top: 50%;
    left: 25%;
    width: 40%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 2;
}

.logo-descripcion img {
    width: 250px;
    height: auto;
    margin-bottom: 15px;
}

.descripcion {
    font-size: 1.2em;
}

/* Sección 2 */
.sobre-nosotros {
    background-color: #ffffff;
    padding: 40px 20px;
    text-align: center;
}

.slogan {
    font-size: 2.5em;
    margin-bottom: 20px;
}

.mision-vision {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
}

.mision, .vision {
    width: 45%;
    background-color: #f7f7f7;
    padding: 15px;
    border-radius: 300px;
    border: 2px solid black;
}

.mision h3, .vision h3 {
    font-size: 1.8em;
    color: #2c3e50;
}

/* Sección 3: Productos y Servicios */
.productos-servicios {
    /* background-color: #4CAF50; */
    background: linear-gradient(0deg, rgba(98, 105, 32,1) 0%, rgba(183, 190, 122,1) 100%);
    padding: 60px 20px;
    text-align: center;
}

.productos-servicios h2 {
    font-size: 2.5em;
    margin-bottom: 40px;
    color: white;
}

.galeria-productos {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

.producto {
    width: 30%;
    margin: 10px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
    text-align: center;
}

.producto img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.producto h3 {
    margin-top: 15px;
    color: #2c3e50;
}

.producto p {
    margin-top: 10px;
    color: #7f8c8d;
    font-size: 1em;
}

/* Footer */
footer {
    background-color: #603e7a;
    color: white;
    padding: 15px;
    text-align: center;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.footer-links p {
    margin: 0;
}

.footer-links a {
    color: white;
    text-decoration: none;
    font-size: 0.9em;
}

.footer-links a:hover {
    color: black;
}

footer p {
    font-size: 1em;
    margin-top: 5px;
}

/* Estilos responsivos */
@media (max-width: 768px) {
    /* Ajustar la altura de la sección en móviles */
    .inicio {
        height: 600px; /* Se reduce la altura para pantallas pequeñas */
    }

    .inicio-contenedor {
        flex-direction: column;
        align-items: center; /* Centrar el contenido */
    }

    .foto-contenido img {
        object-position: center; /* Asegura que la imagen se enfoque en el centro */
    }

    .color-overlay {
        /* Ajustar la posición y tamaño del color overlay en móviles */
        left: 0;
        width: 100%; /* Ancho completo en móviles */
        transform: skewX(0deg); /* Eliminar el skew en pantallas pequeñas */
        opacity: 0.8;
    }

    .logo-descripcion {
        /* Ajustar la posición y el tamaño del logo y la descripción en móviles */
        top: 15%; /* Mover hacia arriba para mejor alineación */
        left: 50%;
        width: 80%; /* Hacer que ocupe más espacio en pantallas pequeñas */
        transform: translateX(-50%); /* Centrar horizontalmente */
        text-align: center;
        position: absolute; /* Aseguramos que se mantenga centrado */
    }

    .logo-descripcion img {
        width: 120px; /* Reducir el tamaño del logo en móviles */
        height: auto;
    }

    .descripcion {
        font-size: 1em; /* Reducir el tamaño del texto en móviles */
    }

    .mision-vision {
        display: flex;
        flex-direction: column;
        gap: 10px;
        align-items: center;
    }

    .mision, .vision {
        width: 90%;
        margin-bottom: 20px;
        border-radius: 75px;
    }

    .galeria-productos {
        flex-direction: column;
    }

    .producto {
        width: 90%;
        margin: 10px 0;
    }
}
