
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


:root{
    --white: #f9f9f9;
    --grisoscuro:#00003;
    --oscuro: #042608;
    --claro: #FAEDD9;
    --medio:#808F12;
    --intermedio: #2A5C0B;
    --naranja:#EA2A15;
    --font: "Montserrat", sans-serif;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font);
}

/* Header al 100% con color #042608 */
.header-full {
    width: 100%;
    background-color:var(--oscuro);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Contenedor al 90% dentro del header */
.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Barra de navegación */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px; /* Altura fija para el navbar */
}

/* Logo */
.logo img {
    height: 50px;
    width: auto;
}

/* Links del menú - OCUPAN TODO EL ALTO DEL NAVBAR */
.nav-links {
    display: flex;
    list-style: none;
    height: 100%; /* Hereda la altura del navbar (80px) */
}

.nav-links li {
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-links a {
    color: var(--claro);
    text-decoration: none;
    font-size: 18px;
    padding: 0 20px;
    height: 100%;
    display: flex;
    align-items: center;
    transition: background 0.3s ease;
}

/* Hover que cubre toda la altura del navbar */
.nav-links a:hover {
    background: var(--intermedio);
}

/* Menú hamburguesa (oculto en desktop) */
.hamburger {
    display: none;
    cursor: pointer;
    color: #FAEDD9;
    font-size: 25px;
}


.dos_columnas{
    margin-top:7rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.dos_columnas .text{
    width: 50%;
}

.dos_columnas .imagen{
    text-align: center;
    width: 50%;
}

.dos_columnas .text .titulo_01{
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--oscuro);
    letter-spacing: 0.2px;
}

.dos_columnas .text .parrafo_01{
    font-size:1rem;
    color:var(--grisoscuro);
    line-height: 1.5rem;
    letter-spacing: 0.5px;
    margin-top: 1rem;
    color:var(--intermedio);
    text-align: justify;
}

.dos_columnas .imagen .imagen_01{
    width: 70%;
    margin: 2.5rem 0;
}


.dos_columnas .imagen .sub_titulo_01{
    font-size: 1.5rem;
    font-weight: 600;
    color:var(--oscuro);    
    letter-spacing: 0.2px;
}

.barra_verde{
    margin-top: 5rem;
    background-color: var(--intermedio);
    height: 12rem;
}

.titulo_barra{
    padding-top:3rem;
    font-size: 1.5rem;
    color:var(--claro);
    font-weight: 700;
    line-height: 1.5rem;
    Letter-spacing: 0.5px;
}

.subtitu_barra{
    padding-top:0.5rem;
    font-size: 1rem;
    color:var(--claro);
    font-weight: 400;
    line-height: 1.5rem;
    letter-spacing: 0.5px;
}

.mision_vision{
    margin-top: 5rem;
    text-align: center;
}

.titulo_principal{
    font-size: 3rem;
    color:var(--oscuro);
    font-weight: 700;    
}

/* Contenedor de Cards */
.cards-container {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px; /* Ajusta según necesidad */
    width: 100%;
}

/* Estilos de cada Card */
.card {
    background: white;
    border: 1px solid #e0e0e0; 
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    width: 50%; 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sutil sombra */
    transition: transform 0.3s ease;
}

.card:hover {
    transform: translateY(-5px); /* Efecto levitar */
}

/* Icono */
.card-icon {
    width: 50px;
    height: 50px;
    margin: 0 auto 15px;
    display: block;
}

/* Textos */
.card-title {
    color: var(--intermedio);
    font-size: 1.6rem;
    margin-bottom: 10px;
}

.card-text {
    color: #666;
    font-size: 0.9rem;
    line-height: 1.4;
    Letter-spacing: 0.5px;
}



/* Título e Imagen en línea */
.title-image-section {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
    margin-top: 3rem;
}

.title-image-section h2 {
    color: var(--intermedio);
    font-size: 2.2rem;
    margin: 0;
}

.title-icon {
    width: 40px;
    height: 40px;
}

/* Lista de Items con Checks */
.checklist-section {
    margin-left: 4rem;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
}

.check-item i {
    color: var(--intermedio);
    font-size: 1.5rem;
    margin-top: 3px;
}

.check-item p {
    color: #333;
    margin: 0;
    line-height: 1.6;
    letter-spacing: 0.5px;
}
.hero-ultrawide {
            position: relative;
            width: 100vw;
            min-height: 400px;
            margin-left: calc(-50vw + 50%);
            left: 0;
            background: #000; /* Fallback color */
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 3rem;
        }
        
        /* Imagen de fondo SIN RESTRICCIONES */
        .hero-ultrawide img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            z-index: 1;
        }
        
        /* Overlay oscuro */
        .hero-ultrawide::after {
            content: '';
            position: absolute;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            z-index: 2;
        }
        
        /* Texto centrado */
        .hero-ultrawide-content {
            position: relative;
            z-index: 3;
            color: #FAEDD9;
            text-align: center;
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }
        
        .hero-ultrawide h1 {
            font-size: 3rem;
            letter-spacing: 4px;
            text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.8);
        }
/*Footer */

      .footer {
            background-color: var(--oscuro);
            color: var(--claro);
            width: 100vw;
            position: relative;
            left: 50%;
            right: 50%;
            margin-left: -50vw;
            margin-right: -50vw;
            padding: 40px 0;
            margin-top: 5rem;
        }

        /* CONTENEDOR INTERNO (para organizar el contenido) */
        .footer-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* ESTILOS DE LAS SECCIONES */
        .footer-section {
            flex: 1;
            min-width: 250px;
            margin-bottom: 30px;
        }

        /* Sección 1: Logo y descripción */
        .footer-logo img {
            max-width: 100px;
            margin-bottom: 15px;

        }

        .footer-logo p {
            color:var(--claro);
            opacity: 0.9;
            line-height: 1.6;
            max-width: 250px;
            text-align: justify;
        }

        /* Sección 2: Links del menú */
        .footer-links h3, 
        .footer-contact h3, 
        .footer-social h3 {
            font-size: 1.4rem;
            margin-bottom: 20px;
            position: relative;
            padding-bottom: 8px;
        }

        .footer-links h3::after,
        .footer-contact h3::after,
        .footer-social h3::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            width: 50px;
            height: 2px;
            background-color: var(--claro);
        }

        .footer-links ul {
            list-style: none;
        }

        .footer-links li {
            margin-bottom: 12px;
        }

        .footer-links a {
            color: var(--claro);
            text-decoration: none;
            transition: opacity 0.3s;
        }

        .footer-links a:hover {
            color:var(--naranja);
        }

        /* Sección 3: Contacto */
        .contact-info {
            display: flex;
            flex-direction: column;
            gap: 15px;
        }

        .contact-link {
            display: flex;
            align-items: center;
            gap: 12px;
            color:var(--claro);
            text-decoration: none;
        }

        .contact-link i {
            font-size: 1.2rem;
            width: 20px;
            text-align: center;
        }

        /* Sección 4: Redes sociales */
        .social-links {
            display: flex;
            gap: 15px;
            margin-top: 20px;
        }

        .social-links a {
            color: var(--claro);
            font-size: 1.5rem;
            transition: all 0.3s;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background-color: rgba(250, 237, 217, 0.1);
            text-decoration: none;
        }

        .social-links a:hover {
            background-color: var(--naranja);
            transform: translateY(-3px);
        }

        /* Pie inferior */
        .footer-bottom {
            text-align: center;
            padding-top: 30px;
            margin-top: 30px;
            border-top: 1px solid rgba(250, 237, 217, 0.2);
            width: 100%;
        }

        .footer-bottom span{
            color:var(--naranja);
        }

        .barra_gris{
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 2.3rem;
            background: #EA2A15;
            padding-bottom: 2.3rem;
        }

        .barra_gris .container{
            width: 50%;
        }
        .barra_gris .container .titulo_barra{
            margin-top: 15px;
            padding: 10px 1rem;
        }

         .barra_gris .container .subtitu_barra{
            padding: 10px 1rem;
    
         }

        .barra_gris .descarga{
            text-align: center;
            width: 50%;
        }

         .barra_gris .descarga .subtitu_barra{
            margin-bottom: 1.5rem;
         }

        .barra_gris .descarga .link{
            margin-top: 1.5rem;
            width:70px;
            padding: 10px 30px;
            background: var(--intermedio);
            border-radius: 10px;
            text-decoration: none;
            color: var(--white);
        }

        .barra_gris .descarga .link:hover{
            background-color: var(--oscuro);
        }


/* Responsive */
@media (max-width: 768px) {
    .cards-container {
        flex-direction: column;
        align-items: center;
    }

    .card {
        width: 80%;
        margin-bottom: 20px;
    }
}

/* Estilos responsivos */
@media(max-width: 768px) {
    .navbar {
        height:auto;
        padding:15px 0;
    }

    .nav-links {
        position: fixed;
        top: 80px;
        right: -100%;
        width: 70%;
        height: calc(100vh - 80px);
        background-color: #042608;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-top: 20px;
        transition: right 0.5s ease;
    }

    .nav-links.active {
        right: 0;
    }

    .nav-links li {
        width: 100%;
        height: auto;
        text-align: center;
    }

    .nav-links a {
        padding: 15px 0;
        width: 100%;
        justify-content: center;
    }

    .hamburger {
        display: block;
    }

    .dos_columnas{
        margin-top:3rem;
        flex-direction: column;

    }

    .dos_columnas .text{
        width: 100%;
        text-align: justify;
    }

    .dos_columnas .imagen{
        width: 100%;
    }

    .dos_columnas .imagen .imagen_01{
    width: 90%;

}
    .barra_verde{
    height: 17rem;
    }

    .subtitu_barra{
        text-align: justify;
    }

    .titulo_principal{
    font-size: 2.5rem;
    }

    .cards-container {
    flex-direction: column;
    }

    .card {
    width: 90%; 
    }

    .title-image-section {
        flex-direction: column;
        text-align: center;
    }

    .title-icon {
        margin-top: 10px;
    }

    .checklist-section {
    margin-left: 0.2rem;
    text-align: justify;
    }

    .hero-banner {
        height: 300px;
    }
    
    .hero-banner h1 {
        font-size: 2.5rem;
    }

    .barra_gris{
        flex-direction: column;
        width: 100%;
    }

    .barra_gris .container{
            width: 100%;
        }


    .barra_gris .descarga .subtitu_barra{
            text-align: center;
            width: 100%;
        }

}

    @media (max-width: 768px) {
            .footer-content {
                flex-direction: column;
                gap: 40px;
            }
            
            .footer-section {
                min-width: 100%;
            }
        }


         @media (max-width: 768px) {
            .footer-container {
                flex-direction: column;
            }
            
            .footer-section {
                min-width: 100%;
            }
            
            .footer-logo p {
                max-width: 100%;
            }

        }