/* ---------------------------------------------------- */
/* ESTILOS CSS GENERALES Y VARIABLES (PERSONALIZADOS)   */
/* ---------------------------------------------------- */

/* PALETA DE COLORES ALBEC (Nuevos valores) */
:root {
    /* Colores Base ALBEC:
        Azul: #002e54 | Amarillo: #ffb000 | Celeste: #009fb5 | Blanco: #f2f2f2 */
    --color-azul: #002e54;
    --color-amarillo: #ffb000;
    --color-celeste: #009fb5;
    --color-blanco-albec: #f2f2f2; /* Blanco de la paleta */
    
    /* Mapeo de variables originales a la nueva paleta ALBEC: */
    
    /* COLOR BASE TURQUESA (Mapeado a Celeste) */
    --color-turquesa-fondo: var(--color-celeste); 
    
    /* Colores secundarios (ajustados a la paleta) */
    --color-turquesa-claro: var(--color-celeste); /* Usamos Celeste como acento */
    --color-naranja-boton: var(--color-amarillo); /* Mapeado a Amarillo */
    --color-azul-oscuro-titulo: var(--color-azul); /* Mapeado a Azul */
    --color-blanco: var(--color-blanco-albec); /* Mapeado a Blanco ALBEC */
    --color-gris-claro: var(--color-blanco-albec); /* Usamos Blanco ALBEC */
    --color-resalte-texto: rgba(242, 242, 242, 0.2); /* Resalte basado en el nuevo Blanco (#f2f2f2) */
    --color-texto-principal: var(--color-azul); /* Mapeado a Azul */
    --color-fondo-testimonios: var(--color-blanco-albec); /* Mapeado a Blanco ALBEC */
    --color-resalte-texto-rosa: var(--color-celeste); /* Mapeado a Celeste para resaltar */
    --color-burbuja-comentario: var(--color-blanco-albec); /* Mapeado a Blanco ALBEC */
    --color-burbuja-comentario-blanco: var(--color-blanco-albec); /* Mapeado a Blanco ALBEC */
}

body {
    margin: 0;
    padding: 0;
    
    /* ---------------------------------------------------- */
    /* 🔥 ARREGLO CLAVE PARA LA SUPERPOSICIÓN 🔥             */
    /* Este padding empuja todo el contenido del <body> hacia 
       abajo, liberando el espacio para el menú fijo.
       80px es un valor seguro para la mayoría de los menús fijos. */
    padding-top: 80px; 
    /* ---------------------------------------------------- */
    
    /* Se cambia la fuente a Montserrat */
    font-family: 'Montserrat', sans-serif;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: var(--color-texto-principal); /* Se asegura el color de texto base */
}

a {
    text-decoration: none;
    color: inherit;
}

/* ---------------------------------------------------- */
/* SECCIÓN 1: MENÚ DE NAVEGACIÓN FIJO (HEADER)          */
/* ---------------------------------------------------- */
/* Asumo que tienes una clase con position: fixed para el menú,
   ya que es lo que causa la superposición. Ejemplo:
.header-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    padding: 10px 0;
    background-color: var(--color-blanco);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
*/

/* ---------------------------------------------------- */
/* TIPOGRAFÍA - PESOS DE FUENTE (Según documento Word)  */
/* ---------------------------------------------------- */

/* 1. SECCIÓN CARRUSEL DE TESTIMONIOS (CLIENTES) */
.testimonials-section h2 {
    font-weight: 800; /* titulo - extrabold */
}
.testimonials-section h2 span {
    /* Mantener el color de fondo Celeste y el texto en Blanco */
    color: var(--color-blanco-albec); 
}
.testimonial-card .client-name {
    font-weight: 700; /* nombre de cliente - bold */
    color: var(--color-azul-oscuro-titulo); 
}
.testimonial-card .client-comment {
    font-weight: 500; /* texto de cliente - medium */
}
.testimonial-card .client-origin {
    font-style: italic; 
    font-weight: 600; /* nombre de cliente - semibold italic */
    color: var(--color-azul); /* Usamos el color azul para dar más consistencia */
}

/* 2. SECCIÓN CALL TO ACTION (ANUNCIO) */
.cta-section .title-container h2 {
    font-weight: 800; /* titulo - extrabold (lo aplicamos al h2/span principal) */
}
.cta-section .title-container span {
    font-weight: 800; /* titulo - extrabold */
}
.cta-section h3 {
    font-weight: 600; /* subtitulo - semibold */
    color: var(--color-azul-oscuro-titulo);
}
.cta-section ul li {
    font-weight: 500; /* interior- medium */
    color: var(--color-texto-principal);
}
.cta-section .solicitar-btn {
    font-weight: 800; /* boton - extrabold */
}

/* 3. FOOTER (TEXTO FINAL) */
.titulo-descuentos {
    font-weight: 800; /* titulos - extrabold */
    color: var(--color-celeste); /* Usamos Celeste como color principal de este elemento */
}
.footer-nav a {
    font-weight: 600; /* Semibold para los enlaces de navegación */
}

.footer-nav-col a {
    color: white;
    text-decoration: none;
    font-weight: 600; /* Semibold */
    font-size: 0.95rem;
    padding: 5px 10px;
    background-color: #009fb5; /* Fondo sutil para enlaces */
    border-radius: 5px;
    transition: background-color 0.3s ease;
    width: fit-content; /* Se ajusta al ancho del texto */
}
.oficina-central h3 {
    font-weight: 700; /* Bold para el subtítulo "OFICINA CENTRAL" */
}
.oficina-central ul, .oficina-central li {
    font-weight: 400; /* interior - regular */
}
.ubicacion {
    font-style: italic;
    font-weight: 600; /* lugar o direccion - semibold italic */
    background-color: var(--color-amarillo); /* Cambiado a Amarillo para mayor contraste */
    color: var(--color-azul); /* Texto oscuro sobre amarillo */
}
.footer-bottom > div {
    font-weight: 500; /* texto inferior - medium */
}


/* Contenido principal */
.main-content {
    flex-grow: 1;
    background-color: var(--color-blanco);
    padding: 20px;
    text-align: center;
}

/* ---------------------------------------------------- */
/* SECCIÓN 1: MENÚ DE NAVEGACIÓN FIJO (HEADER)          */
/* ---------------------------------------------------- */
.header-nav {
    position: fixed; /* 🔥 CLAVE para que flote sobre el contenido */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* Asegura que esté por encima de todo */
    padding: 10px 0;
    background-color: var(--color-blanco);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px; /* Asegura que el contenido esté centrado */
    margin: 0 auto;
    padding: 0 20px;
}

.nav-list {
    list-style: none;
    display: flex;
    margin: 0;
    padding: 0;
}

.nav-item a {
    color: var(--color-azul);
    font-weight: 500;
    padding: 10px 15px;
    display: block;
    transition: color 0.3s;
}

.btn-contacto {
    background-color: var(--color-amarillo);
    color: var(--color-azul);
    padding: 8px 15px;
    border-radius: 5px;
    font-weight: 700;
    text-transform: uppercase;
}
/* Agrega aquí los media queries para el menú si es necesario */
/* ---------------------------------------------------- */
/* SECCIÓN 1.1: CARRUSEL PRINCIPAL (HERO)               */






























/* ---------------------------------------------------- */
/* ---------------------------------------------------- */
/* ---------------------------------------------------- */
/* SECCIÓN 1.1: CARRUSEL PRINCIPAL (HERO) - CON IMAGEN DIRECTA */
/* ---------------------------------------------------- */
.carrusel-section {
    max-width: 100%;
  
}

/* Contenedor principal con altura y fondo */
.hero-carousel-container {
    position: relative;
    width: 100%;
    height: 500px; /* CLAVE */
    background-color: var(--color-azul); /* Fondo de reserva */
    overflow: hidden;
}

/* Estilo base para cada slide */
.carousel-item.hero-slide {
    width: 100%;
    height: 500px; /* CLAVE */
    /* background-size y background-image ya no se usan aquí */
}

/* Los estilos .hero-slide-1 y .hero-slide-2 ya NO se necesitan */
/* Ya no necesitamos: .carousel-item.hero-slide-1 { background-image: url(...); } */
/* Ya no necesitamos: .carousel-item.hero-slide-2 { background-image: url(...); } */

/* Contenido superpuesto en el carrusel (Mantiene la clase para aplicar estilos) */
.carrusel-info {
    /* ... Mantiene todos los estilos de texto, posición y color ... */
    position: absolute;
    top: 50%;
    right: 15%; 
    transform: translateY(-50%); 
    text-align: right;
    z-index: 50;
    max-width: 450px;
    padding: 10px; 
    pointer-events: all; 
}

/* (El resto del CSS para .carrusel-info p, h2, a, flechas, y puntos se mantiene sin cambios) */------------------------------------- */

/* Contenido superpuesto en el carrusel (Mantiene la clase para aplicar estilos) */
.carrusel-info {
    position: absolute;
    top: 50%;
    right: 15%; 
    transform: translateY(-50%); /* Centrado vertical */
    text-align: right;
    z-index: 50;
    max-width: 450px;
    padding: 10px; 
    pointer-events: all; 
}

/* Estilo para el texto de proyecto (Etiqueta superior) */
.carrusel-info p:first-child {
    color: var(--color-blanco);
    background-color: var(--color-amarillo); 
    padding: 5px 10px;
    display: inline-block;
    margin-bottom: 5px;
    font-weight: 600; /* Semi-bold */
    text-transform: uppercase;
}

/* Estilo para el título principal (carrusel-info h2) */
.carrusel-info h2 {
    background-color: var(--color-celeste); 
    color: var(--color-azul); 
    padding: 10px 15px;
    margin: 0;
    font-size: 2.2em; 
    font-weight: 800; /* Extra-bold */
    line-height: 1.1;
    display: inline-block; 
}

/* Botón de Proyecto */
.carrusel-info a.btn-proyecto {
    background-color: var(--color-amarillo);
    color: var(--color-azul); 
    padding: 15px 30px;
    border-radius: 5px;
    font-weight: 800; /* Extra-bold */
    margin-top: 15px;
    display: inline-block;
    text-transform: uppercase;
    transition: background-color 0.3s;
}

.carrusel-info a.btn-proyecto:hover {
    background-color: #e69d00; 
}

/* -------------------------------------- */
/* ESTILOS DE NAVEGACIÓN (Flechas Únicas) */
/* -------------------------------------- */

/* Estilo base para las flechas del Hero */
.hero-nav-arrow {
    width: 50px;
    opacity: 0.8;
}

/* Ocultar el icono de Bootstrap y usar nuestro estilo personalizado */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    display: none;
}

/* Estilo del círculo y flecha personalizados */
.hero-nav-arrow::before {
    content: '❮'; 
    background-color: rgba(255, 255, 255, 0.5); 
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    color: var(--color-azul);
    font-size: 28px;
    font-weight: 700;
    display: block;
}

.hero-nav-arrow.arrow-right::before { 
    content: '❯'; 
}

/* -------------------------------------- */
/* ESTILOS DE INDICADORES (Puntos Únicos) */
/* -------------------------------------- */

/* Posicionar el contenedor de indicadores */
.hero-indicators {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 15px;
    z-index: 50;
    margin: 0; /* Anula el margin por defecto de Bootstrap */
    padding: 0;
}

.hero-dot {
    width: 10px;
    height: 10px;
    background-color: rgba(255, 255, 255, 0.6);
    border-radius: 50%;
    cursor: pointer;
    border: none; /* Eliminar el borde de Bootstrap */
    opacity: 1; 
    transition: background-color 0.3s;
    /* Asegurar que el punto sea un botón válido para Bootstrap */
    box-sizing: content-box; 
    flex: 0 1 auto;
    padding: 0;
    margin: 0 3px;
    /* Remover el padding/margin extra de Bootstrap */
}

.hero-dot.active {
    background-color: var(--color-blanco);
}

/* Media Query para el contenido del carrusel en móviles (Se mantiene) */
@media (max-width: 767.98px) {
    .hero-carousel-container {
        height: 400px; 
    }
    .carousel-item.hero-slide {
        height: 400px;
    }
    .carrusel-info {
        right: 50%;
        transform: translate(50%, -50%);
        text-align: center;
        width: 90%;
        max-width: none;
    }
    .carrusel-info h2 {
        font-size: 1.8em;
    }
    .carrusel-info p:first-child {
        margin-left: auto;
        margin-right: auto;
    }
}


/* ---------------------------------------------------- */
/* SECCIÓN 1.2: FRASE DEBAJO DEL CARRUSEL (INTRO TEXT)  */
/* ---------------------------------------------------- */
.intro-text-section {
    /* Se asegura un buen margen superior para separarse del carrusel */
    max-width: 1200px;
    margin: 40px auto; 
    padding: 0 20px;
    text-align: center; 
}

.intro-text {
    font-size: 2em; 
    line-height: 1.2;
    color: var(--color-azul); 
}

/* Frase debajo de imagen, mezcla - extrabold y semibold */
.intro-text .extra-bold {
    font-weight: 800; /* Extra-bold */
    background-color: var(--color-celeste);
    color: var(--color-azul); /* Texto Azul sobre Celeste */
    padding: 5px 10px;
    display: inline-block;
}

.intro-text .semi-bold {
    font-weight: 600; /* Semi-bold */
}

.intro-text .blue-text {
    color: var(--color-azul); 
}

@media (max-width: 767.98px) {
    .intro-text {
        font-size: 1.5em; 
    }
}


/* ---------------------------------------------------- */
/* SECCIÓN CARRUSEL DE TESTIMONIOS (testimonials-section)*/
/* ---------------------------------------------------- */
.testimonials-section {
    background-color: var(--color-fondo-testimonios);
    padding: 60px 0 100px; /* Más padding abajo para los indicadores */
    text-align: center;
    position: relative; 
}

.testimonials-section h2 {
    font-size: 2.5em;
    font-weight: 800; /* Extra Bold para título de clientes */
    color: var(--color-azul-oscuro-titulo);
    margin-bottom: 5px;
}

.testimonials-section h2 span {
    background-color: var(--color-resalte-texto-rosa); /* Usualmente Celeste */
    padding: 5px 15px;
    border-radius: 5px;
    display: inline-block;
    color: var(--color-blanco); 
}

.testimonials-section h3 {
    font-size: 2em;
    color: var(--color-resalte-texto-rosa); /* Usualmente Celeste */
    margin-bottom: 40px;
}

/* Contenedor dentro del ítem del carrusel */
.carousel-item .row {
    padding: 0 50px; 
    justify-content: center;
    align-items: stretch; 
}

/* Estilo para las tarjetas de testimonio */
.testimonial-card {
    background-color: var(--color-blanco);
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    position: relative; 
    margin: 20px 0; 
    overflow: hidden; 
    display: flex; 
    flex-direction: column;
    height: 450px; 
}

.testimonial-card .client-photo-container {
    width: 100%;
    height: 100%; 
    background-size: cover; 
    background-position: center; 
    border-radius: 15px; 
    flex-shrink: 0; 
    display: flex;
    align-items: flex-end; 
}

.testimonial-card .comment-bubble {
    background-color: var(--color-burbuja-comentario-blanco); 
    border-radius: 10px;
    padding: 15px 20px; 
    position: relative; 
    width: 90%; 
    margin: 0 auto 20px auto; 
    text-align: left;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
}

/* Punta de la burbuja de comentario */
.testimonial-card .comment-bubble::before {
    content: '';
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid var(--color-burbuja-comentario-blanco); 
    position: absolute;
    top: -10px; 
    left: 50%;
    transform: translateX(-50%);
}

.testimonial-card .client-name {
    font-weight: 700; /* Bold para nombre de cliente */
    color: var(--color-azul-oscuro-titulo);
    margin-bottom: 5px; 
    font-size: 1.1em;
    text-align: center;
}

.testimonial-card .client-comment {
    font-size: 0.9em;
    color: var(--color-texto-principal);
    margin-bottom: 10px; 
    line-height: 1.4; 
}

.testimonial-card .client-origin {
    font-size: 0.8em;
    text-align: center;
    margin-top: 5px; 
    margin-bottom: 0; 
}

/* Flechas de navegación del carrusel */
.carousel-control-prev,
.carousel-control-next {
    width: 50px; 
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none; 
}
.carousel-control-prev-icon::before,
.carousel-control-next-icon::before {
    font-size: 2.5rem;
    color: var(--color-turquesa-fondo); /* Usualmente Celeste */
    background-color: var(--color-blanco); 
    border-radius: 50%;
    padding: 5px 10px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    display: inline-block;
}
.carousel-control-prev-icon::before {
    content: "❮"; 
}
.carousel-control-next-icon::before {
    content: "❯"; 
}

/* Indicadores del carrusel */
.carousel-indicators {
    bottom: -30px; /* Lo bajamos aún más */
    margin-bottom: 0; 
}
.carousel-indicators [data-bs-target] {
    background-color: var(--color-azul-oscuro-titulo); 
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin: 0 7px;
    opacity: 0.5;
}

.carousel-indicators .active {
    opacity: 1;
    background-color: var(--color-turquesa-claro); /* Usualmente Celeste */
}

/* Media Queries para responsividad (Se mantienen los tuyos) */
@media (max-width: 991.98px) { 
    .testimonials-section {
        padding-bottom: 80px; 
    }
    .carousel-item .col-md-6:nth-child(2),
    .carousel-item .col-sm-12:nth-child(2),
    .carousel-item .col-md-6:nth-child(3),
    .carousel-item .col-sm-12:nth-child(3) {
        display: none; 
    }
    .carousel-item .col-lg-4, .carousel-item .col-md-6 {
        flex: 0 0 100%;
        max-width: 100%;
    }
    .carousel-item .row {
        padding: 0 20px;
    }
    .testimonial-card {
        height: 400px; 
    }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Opcional: Mostrar 2 en tablet si se desea */
}


/* ---------------------------------------------------- */
/* SECCIÓN CALL TO ACTION (CTA)                       */
/* ---------------------------------------------------- */
.cta-section {
    /* 🔥 AJUSTE CLAVE: Margen superior para separarse de la sección de testimonios */
    margin-top: 60px; 
    /* Margen inferior para separarse del footer */
    margin-bottom: 0; /* Lo dejo en 0, el footer podría manejar su propio padding/margin superior si es necesario */
    
    background-color: var(--color-turquesa-fondo); /* Usualmente Celeste */
    padding: 0; 
    overflow: hidden; 
}

.cta-container {
    display: flex;
    align-items: flex-end; 
    padding: 0 15px;
}

.cta-section .modelo-imagen {
    flex-shrink: 0; 
    max-width: 450px; 
    height: auto;
    position: relative;
    left: calc(-15px); 
}

.cta-section .modelo-imagen img {
    width: 100%;
    height: auto;
    display: block;
}

.cta-section .content-bubble {
    background-color: var(--color-blanco); 
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    position: relative;
    max-width: 550px;
    color: var(--color-texto-principal);
    margin: 50px 0 50px 20px; 
    flex-grow: 1;
}

.cta-section .content-bubble::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-right: 25px solid var(--color-blanco); 
    position: absolute;
    left: -25px; 
    top: 50%;
    transform: translateY(-50%);
}

.cta-section .title-container {
    background-color: var(--color-azul-oscuro-titulo); 
    color: var(--color-blanco); 
    padding: 15px;
    margin: -25px -25px 25px -25px; 
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    text-align: center;
}

.cta-section .title-container h2 {
    font-size: 1.5em;
    margin: 0;
    font-weight: 600; /* Semi-bold */
}

.cta-section .title-container span {
    background-color: rgba(242, 242, 242, 0.8); 
    color: var(--color-azul-oscuro-titulo); 
    padding: 2px 10px;
    display: inline-block;
    font-weight: 800; /* Extra Bold para título de anuncio */
}

.cta-section h3 {
    font-size: 1.2em;
    color: var(--color-azul-oscuro-titulo); 
    margin: 0 0 15px 0;
    font-weight: 600; /* Semi-bold para subtítulo de anuncio */
}

.cta-section ul {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.cta-section ul li {
    font-size: 1em;
    margin-bottom: 10px;
    padding-left: 30px;
    position: relative;
    color: var(--color-texto-principal);
    font-weight: 500; /* Medium para interior de anuncio */
}

.cta-section ul li::before {
    content: '✓';
    color: var(--color-turquesa-fondo); /* Usualmente Celeste */
    font-weight: bold;
    position: absolute;
    left: 0;
    font-size: 1.2em;
}

.cta-section .solicitar-btn {
    display: block;
    background-color: var(--color-naranja-boton); /* Usualmente Amarillo */
    color: var(--color-azul-oscuro-titulo); /* Texto Azul sobre botón Amarillo */
    padding: 15px 25px;
    text-align: center;
    text-decoration: none;
    border-radius: 5px;
    font-size: 1.2em;
    font-weight: 800; /* Extra Bold para botón de anuncio */
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.cta-section .solicitar-btn:hover {
    background-color: #e69d00; /* Tono más oscuro de Amarillo/Naranja */
}

/* Media Queries CTA (Se mantienen los tuyos) */
@media (max-width: 991.98px) { 
    .cta-container {
        flex-direction: column;
        align-items: center;
        padding: 40px 15px; 
    }
    .cta-section .modelo-imagen {
        max-width: 60%; 
        margin-left: 0; 
        position: static; 
        left: auto;
        align-self: center; 
    }
    .cta-section .content-bubble {
        margin: 20px 0 0 0; 
    }
    .cta-section .content-bubble::before {
        display: none; 
    }
}



/* ---------------------------------------------------- */
/* SECCIÓN 2: TEXTO INTRODUCTORIO Y FORMULARIO            */
/* ---------------------------------------------------- */
.intro-text-section {
    padding: 80px 0;
    background-color: var(--color-blanco);
    display: flex;
    justify-content: center;
}

.intro-container {
    display: flex; /* Habilita el diseño de dos columnas */
    max-width: 1200px;
    width: 90%;
    gap: 50px; /* Espacio entre el texto y el formulario */
    align-items: center; /* Centrado vertical */
}

/* Columna 1: Contenido de Texto */
.intro-content {
    flex: 1; /* Ocupa el espacio disponible */
    max-width: 600px;
}

/* -------------------------------------- */
/* ESTILOS DE TIPOGRAFÍA Y COLOR (Texto) */
/* -------------------------------------- */

/* Estilos de Color (usando variables) */
.text-azul { color: var(--color-azul); }
.text-amarillo { color: var(--color-amarillo); }

/* Estilos de Peso de Fuente */
.text-extra-bold { font-weight: 800; } /* Extra Bold */
.text-semi-bold { font-weight: 600; } /* Semi-bold */


/* Títulos */
.intro-title-line1,
.intro-title-line2 {
    font-size: 2.5em; 
    line-height: 1.1;
}

.intro-title-line1 { margin-bottom: 5px; }
.intro-title-line2 { margin-bottom: 25px; }

/* Párrafo descriptivo (interior - medium) */
.intro-text-description {
    font-size: 1.1em;
    font-weight: 500; /* Medium */
    line-height: 1.5;
    margin-bottom: 30px;
    color: #333;
}

/* Botón "CONOCE ALBEC" (botones - extrabold) */
.btn-intro {
    display: inline-block;
    background-color: var(--color-amarillo);
    color: var(--color-azul); 
    padding: 15px 35px;
    border-radius: 5px;
    font-weight: 800; /* Extra Bold */
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.3s;
}

.btn-intro:hover {
    background-color: #e69d00;
}

/* -------------------------------------- */
/* COLUMNA 2: FORMULARIO */
/* -------------------------------------- */
.intro-form-container {
    flex: 0 0 350px; /* Ancho fijo para el formulario, no se reduce */
    display: flex;
    justify-content: flex-end;
}

.intro-form {
    width: 100%;
    max-width: 350px; 
    background-color: var(--color-azul); /* Fondo Azul (Según la imagen) */
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.intro-form .form-header {
    background-color: var(--color-celeste); /* Título del formulario en Celeste */
    color: var(--color-azul);
    padding: 15px 20px;
    text-align: center;
}

.intro-form h4 {
    font-size: 1.2em;
    font-weight: 900; /* Black (según recurso) */
    margin: 0;
}

.intro-form form {
    padding: 20px;
}

.intro-form .form-control {
    border-radius: 5px;
    font-weight: 500; /* Medium */
}

/* Botón de envío (botones - extrabold) */
.intro-form .btn-form-submit-intro {
    background-color: var(--color-amarillo);
    color: var(--color-azul);
    font-weight: 800; /* Extra Bold */
    padding: 10px 20px;
    border: none;
    transition: background-color 0.3s;
}

.intro-form .btn-form-submit-intro:hover {
    background-color: #e69d00;
}

.intro-form .form-disclaimer-intro {
    font-size: 0.8em;
    color: var(--color-blanco); /* Texto de disclaimer en blanco sobre fondo azul */
    margin-top: 10px;
    text-align: center;
    font-weight: 500; /* Medium */
}


/* -------------------------------------- */
/* MEDIA QUERIES (Responsividad) */
/* -------------------------------------- */
@media (max-width: 991.98px) {
    .intro-container {
        flex-direction: column; /* Apila el contenido en móvil */
        gap: 40px;
    }
    
    .intro-content {
        text-align: center;
        max-width: 100%;
    }

    .intro-form-container {
        flex: 1 1 auto; /* Permite que el contenedor del formulario ocupe el ancho */
        justify-content: center; /* Centra el formulario */
    }

    .intro-title-line1,
    .intro-title-line2 {
        font-size: 2em;
    }
}






/* ---------------------------------------------------- */
/* SECCIÓN 3: BANNER CON FORMULARIO COMPLETO              */
/* ---------------------------------------------------- */
.banner-form-section {
    padding: 60px 0;
    /* Color de fondo del banner (Usaremos Azul Oscuro) */
    background-color: var(--color-azul); 
    display: flex;
    justify-content: center;
}

.banner-form-container {
    display: flex; /* Habilita el diseño de dos columnas */
    max-width: 1200px;
    width: 90%;
    gap: 40px; /* Espacio entre el texto y el formulario */
    align-items: center; /* Centrado vertical */
}

/* -------------------------------------- */
/* TEXTO DE LA IZQUIERDA */
/* -------------------------------------- */
.banner-text-content {
    flex: 1; /* Ocupa el espacio disponible */
}

.banner-text-content h2 {
    font-size: 3.5em; /* Tamaño grande para el título */
    line-height: 1;
    margin-bottom: 5px;
}

.banner-subtitle {
    font-size: 2em;
    line-height: 1;
}

/* -------------------------------------- */
/* FORMULARIO DE LA DERECHA */
/* -------------------------------------- */
.banner-form-wrapper {
    flex: 0 0 500px; /* Ancho fijo para el formulario (500px) */
    background-color: var(--color-blanco); /* Fondo Blanco */
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.form-title-bar {
    background-color: var(--color-celeste); /* Barra de título en Celeste */
    padding: 15px 20px;
    text-align: center;
}

.form-title-bar h4 {
    font-weight: 900; /* Black */
    font-size: 1.2em;
    color: var(--color-azul); /* Texto del título en Azul */
    margin: 0;
}

.banner-form {
    padding: 30px;
}

.banner-form .form-control,
.banner-form .form-select {
    height: 45px;
    border-radius: 5px;
    font-weight: 500; /* Medium */
    border: 1px solid #ccc;
    color: #333;
}

/* Botón de Envío */
.btn-banner-submit {
    /* Estilo del botón: extrabold, según recurso */
    background-color: var(--color-amarillo);
    color: var(--color-azul); 
    font-weight: 800; /* Extra Bold */
    padding: 10px 20px;
    border: none;
    transition: background-color 0.3s;
}

.btn-banner-submit:hover {
    background-color: #e69d00;
}


/* -------------------------------------- */
/* MEDIA QUERIES (Responsividad) */
/* -------------------------------------- */
@media (max-width: 991.98px) {
    .banner-form-section {
        padding: 40px 0;
    }
    .banner-form-container {
        flex-direction: column; /* Apila el contenido en móvil */
        gap: 30px;
    }
    
    .banner-text-content {
        text-align: center;
    }

    .banner-text-content h2 {
        font-size: 2.5em;
    }
    .banner-subtitle {
        font-size: 1.5em;
    }

    .banner-form-wrapper {
        flex: 1 1 100%; /* El formulario ocupa todo el ancho */
        max-width: 90%;
    }
    .banner-form {
        padding: 20px;
    }
}

/* -------------------------------------- */
/* ESTILOS ADICIONALES PARA EL FORMULARIO DE SECCIÓN 3 */
/* -------------------------------------- */

/* Estilo para los labels de los checkboxes */
.banner-form .form-check-label {
    font-size: 0.9em;
    font-weight: 500; /* Medium */
    color: var(--color-azul); /* Texto en Azul Oscuro */
}

/* Estilo para los enlaces de Términos y Políticas */
.banner-form .link-legal {
    color: var(--color-celeste); /* El enlace en color Celeste */
    font-weight: 600; /* Semi-bold para destacarlo */
    text-decoration: none;
    transition: color 0.3s;
}

.banner-form .link-legal:hover {
    color: var(--color-azul);
    text-decoration: underline;
}

/* Estilo para el ícono del checkbox de Bootstrap */
.banner-form .form-check-input:checked {
    background-color: var(--color-celeste); /* Checkbox marcado en Celeste */
    border-color: var(--color-celeste);
}

.banner-form .form-check-input:focus {
    box-shadow: 0 0 0 0.25rem rgba(0, 159, 181, 0.25); /* Sombra de foco en Celeste */
}



/* ---------------------------------------------------- */
/* ESTILOS DEL FOOTER                                 */
/* ---------------------------------------------------- */

.footer-albec {
    background-color: var(--color-turquesa-fondo); /* Ahora Celeste */
    color: var(--color-blanco); /* Ahora Blanco ALBEC */
    width: 100%;
    box-sizing: border-box;
    margin-top: auto; 
}

.footer-top {
    padding: 20px 0; 
    text-align: center;
    background-color: var(--color-gris-claro); /* Ahora Blanco ALBEC */
}

.titulo-descuentos {
    font-size: 1.5em;
    /* font-weight: bold; - Reemplazado por 800 */
    /* color: var(--color-turquesa-fondo); - Reemplazado en tipografía */
    letter-spacing: 1px;
    padding: 5px 0;
    display: inline-block;
}

.footer-main-content {
    padding: 40px 0;
    border-bottom: 1px solid var(--color-resalte-texto);
}

.logo-albec {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.logo-albec img {
    max-width: 280px; 
    height: auto;
}

.footer-nav a {
    color: var(--color-blanco);
    text-decoration: none;
    margin-bottom: 8px;
    font-size: 0.9em;
    padding: 2px 5px;
    background-color: var(--color-resalte-texto); 
    display: inline-block;
    width: fit-content;
    text-transform: uppercase;
}

.footer-nav a:hover {
    background-color: rgba(242, 242, 242, 0.4); /* Ajustado a Blanco ALBEC semi-transparente */
}

.oficina-central h3 {
    color: var(--color-blanco);
    font-size: 0.9em;
    padding: 2px 5px;
    background-color: var(--color-resalte-texto); 
    display: inline-block;
    text-transform: uppercase;
    /* font-weight: normal; - Reemplazado por 700 */
    margin-bottom: 10px;
}

.oficina-central ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.8em;
    line-height: 1.4;
}

.oficina-central li {
    margin-bottom: 5px;
    padding-left: 0;
    /* font-weight: 400; - Asignado en tipografía */
}

.ubicacion {
    font-size: 0.9em;
    padding: 5px 10px;
    /* background-color: var(--color-turquesa-claro); - Reemplazado en tipografía */
    /* color: var(--color-turquesa-fondo); - Reemplazado en tipografía */
    /* font-weight: bold; - Reemplazado en tipografía */
    margin-top: 10px;
}

.contacto-rrss {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 20px;
}

.telefono {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1em;
}

.telefono img {
    width: 30px; 
    height: 30px;
    vertical-align: middle;
}

.telefono .numero {
    padding: 5px 10px;
    background-color: var(--color-turquesa-claro); /* Ahora Celeste */
    color: var(--color-turquesa-fondo); /* Ahora Celeste (se mantiene el contraste con el fondo Celeste) */
    font-weight: bold;
}

.redes-sociales {
    display: flex;
    gap: 15px;
}

.redes-sociales img {
    width: 30px; 
    height: 30px; 
    vertical-align: middle; 
}

.footer-bottom {
    padding: 15px 0;
    font-size: 0.8em;
    border-top: 1px solid var(--color-resalte-texto);
}

.footer-bottom > div {
    color: var(--color-blanco);
    padding: 5px 10px;
    border: 1px solid var(--color-blanco); 
    text-transform: uppercase;
    margin: 5px 10px; 
    /* font-weight: 500; - Asignado en tipografía */
}

/* Media Queries Footer (no se modifica la funcionalidad, solo se mantienen) */
@media (max-width: 991.98px) { 
    /* Footer */
    .logo-albec img {
        max-width: 200px; 
    }
    .logo-albec, .footer-nav, .oficina-contacto {
         align-items: center !important; 
         text-align: center !important;
         margin-bottom: 30px;
    }
    .footer-nav a {
        margin: 5px auto;
    }
    .oficina-central h3, .ubicacion {
        margin-left: auto;
        margin-right: auto;
    }
    .contacto-rrss {
        align-items: center;
    }
    .telefono {
        justify-content: center;
    }
    .redes-sociales {
        justify-content: center;
    }
}

/* ---------------------------------------------------- */
/* 🔥 NUEVOS ESTILOS PARA SECCIÓN DE COTIZACIÓN (IMAGEN + FORMULARIO) 🔥 */
/* ---------------------------------------------------- */

.cotizacion-section {
    display: flex; 
    justify-content: center; 
    align-items: center; 
    padding: 60px 0; 
    background-color: var(--color-blanco); /* Usando el Blanco de la paleta */
    position: relative; 
    overflow: hidden; 
}

/* Contenedor de la Imagen */
.cotizacion-imagen {
    position: relative; 
  /*   width: 60%; 
    max-width: 900px;  */
    height: auto;
}

.cotizacion-imagen img {
    width: 100%;
    height: 100%;
    display: block; 
    object-fit: cover;
}

/* Contenedor del Formulario */
.cotizacion-formulario-container {
    background-color: #00bcd4; 
    color: var(--color-blanco); 
    padding: 30px;
    border-radius: 15px; 
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); 
    width: 38%; 
    max-width: 450px; 
    
    /* CLAVE DE SUPERPOSICIÓN */
    margin-left: -150px; 
    z-index: 10; 
}

.cotizacion-titulo {
    font-size: 1.8em;
    margin-bottom: 25px;
    text-align: left; 
    color: var(--color-blanco);
    font-weight: 700; 
    
    background-color: #00bcd4; /* Usando el resalte blanco semi-transparente */
    display: inline-block;
    padding: 5px 10px;
    border-radius: 3px;
}

/* Estructura de las Filas del Formulario */
.cotizacion-formulario .form-group {
    margin-bottom: 15px;
}

.cotizacion-formulario .form-group-row {
    display: flex;
    gap: 10px; 
    margin-bottom: 15px;
}

.cotizacion-formulario input[type="text"],
.cotizacion-formulario input[type="email"],
.cotizacion-formulario input[type="tel"],
.cotizacion-formulario .form-select-cotizacion {
    width: 100%; 
    padding: 15px 15px;
    border: none;
    border-radius: 8px; 
    background-color: var(--color-blanco); 
    color: var(--color-azul);
    font-size: 1em;
    outline: none; 
    font-weight: 500; 
    height: 55px; 
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* Estilos para el texto de relleno (placeholder) */
.cotizacion-formulario input::placeholder {
    color: #a0a0a0;
    font-weight: 500; 
    font-size: 0.9em;
}

/* Grupo de Teléfono (Prefijo + Teléfono) */
.cotizacion-formulario .telefono-group {
    display: flex;
    gap: 5px;
    width: 100%;
}

.cotizacion-formulario .form-select-prefix {
    width: 80px; 
    flex-shrink: 0; 
    padding: 15px 5px; 
    border: none;
    border-radius: 8px; 
    background-color: var(--color-blanco); 
    color: var(--color-azul);
    font-weight: 500;
    height: 55px;
}

.cotizacion-formulario .telefono-group input[type="tel"] {
    flex-grow: 1; 
}

/* Estilos de Checkboxes */
.form-checkbox-group {
    margin-top: 15px;
    margin-bottom: 25px;
    font-size: 0.8em;
}

.form-checkbox-group label {
    display: flex;
    align-items: flex-start;
    margin-bottom: 10px;
    line-height: 1.3;
    color: var(--color-blanco); 
    font-weight: 500; 
    
    background-color: var(--color-resalte-texto); /* Usando el resalte blanco semi-transparente */
    padding: 3px 5px;
    border-radius: 3px;
}

.form-checkbox-group input[type="checkbox"] {
    margin-right: 8px;
    width: 16px;
    height: 16px;
    accent-color: var(--color-celeste); 
    flex-shrink: 0; 
}

/* Botón de Envío */
.cotizacion-btn-submit {
    background-color: var(--color-amarillo); 
    color: var(--color-azul); 
    padding: 15px 30px;
    border: none;
    border-radius: 8px;
    font-size: 1.1em;
    font-weight: 800; /* Extra Bold */
    cursor: pointer;
    width: 100%;
    transition: background-color 0.3s ease;
    text-transform: uppercase;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}

.cotizacion-btn-submit:hover {
    background-color: #e69d00; 
}

/* -------------------------------------- */
/* MEDIA QUERIES (Responsividad) de la nueva sección */
/* -------------------------------------- */
@media (max-width: 991.98px) {
    .cotizacion-section {
        flex-direction: column; 
        padding: 30px 15px;
    }

    .cotizacion-imagen {
        width: 100%;
        max-width: 90%;
        margin-bottom: 10px; 
    }

    .cotizacion-formulario-container {
        width: 90%;
        max-width: 500px;
        margin-left: 0; 
        margin-top: -50px; 
    }
    
    .cotizacion-formulario input[type="text"],
    .cotizacion-formulario input[type="email"],
    .cotizacion-formulario input[type="tel"],
    .cotizacion-formulario .form-select-cotizacion {
        height: 50px; 
    }
}

@media (max-width: 576px) {
    .cotizacion-formulario .form-group-row {
        flex-direction: column;
        gap: 0;
    }
    .cotizacion-formulario .form-group-row input,
    .cotizacion-formulario .form-group-row .telefono-group {
        margin-bottom: 10px;
    }
    .cotizacion-formulario .telefono-group {
        flex-direction: row; 
        gap: 5px;
    }

/* ---------------------------------------------------- */
/* 🔥 NUEVOS ESTILOS PARA SECCIÓN BANNER AZUL CON FORMULARIO 🔥 */
/* ---------------------------------------------------- */

.banner-azul-form-section {
    padding: 80px 0;
    /* Fondo principal: Se utilizará el color del formulario de la imagen (Azul) */
    background-color: var(--color-azul); 
    display: flex;
    justify-content: center;
}

.banner-azul-container {
    display: flex; 
    max-width: 1200px;
    width: 90%;
    gap: 80px; /* Espacio entre el texto y el formulario */
    align-items: center; 
}

/* ------------------- */
/* Estilos de Texto */
/* ------------------- */
.banner-azul-text-content {
    flex: 1; 
    max-width: 60%;
    color: var(--color-blanco-albec);
}

.banner-azul-text-content h2 {
    font-size: 3.5em; 
    line-height: 1.1;
    margin-bottom: 10px;
    font-weight: 800; /* Extra Bold */
}

.subtitle-white-bold {
    font-size: 1.8em;
    font-weight: 700; /* Bold */
    margin-bottom: 30px;
}

.list-azul-check p {
    font-size: 1.2em;
    font-weight: 500; /* Medium */
    margin-bottom: 10px;
    padding-left: 30px;
    position: relative;
}

.list-azul-check p::before {
    content: '✓'; /* Icono de check */
    color: var(--color-amarillo); /* Color del check en Amarillo */
    font-weight: bold;
    position: absolute;
    left: 0;
    font-size: 1.2em;
}

/* ------------------- */
/* Estilos de Formulario */
/* ------------------- */
.banner-azul-form-wrapper {
    flex: 0 0 450px; /* Ancho fijo para el formulario */
    background-color: var(--color-blanco-albec); /* Fondo Blanco */
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.form-azul-header {
    background-color: var(--color-amarillo); /* Título del formulario en Amarillo */
    padding: 15px 20px;
    text-align: center;
}

.form-azul-header h4 {
    font-weight: 900; /* Black */
    font-size: 1.3em;
    color: var(--color-azul); /* Texto del título en Azul */
    margin: 0;
}

.banner-azul-form {
    padding: 30px;
}

/* Estilo para inputs y selects */
.banner-azul-form .form-control,
.banner-azul-form select {
    height: 50px;
    border-radius: 5px;
    font-weight: 500; /* Medium */
    border: 1px solid #ced4da;
    color: var(--color-azul); 
}

/* Estilo específico para el select de prefijo */
.form-select-prefix-azul {
    flex: 0 0 80px; /* Ancho fijo para el prefijo */
    text-align: center;
}

/* Botón de Envío (Amarillo) */
.btn-amarillo-submit {
    background-color: var(--color-amarillo);
    color: var(--color-azul); 
    font-weight: 800; /* Extra Bold */
    padding: 12px 20px;
    border: none;
    text-transform: uppercase;
    transition: background-color 0.3s;
}

.btn-amarillo-submit:hover {
    background-color: #e69d00; /* Tono más oscuro de Amarillo */
}

/* Disclaimer (Texto Legal) */
.form-disclaimer-azul {
    text-align: center;
    font-size: 0.85em;
    color: #6c757d; /* Gris para el texto pequeño */
}

.link-azul-legal {
    color: var(--color-azul); /* Enlace en Azul */
    font-weight: 600;
    text-decoration: underline;
}

/* ------------------- */
/* MEDIA QUERIES */
/* ------------------- */
@media (max-width: 991.98px) {
    .banner-azul-form-section {
        padding: 40px 0;
    }
    .banner-azul-container {
        flex-direction: column; /* Apila el contenido en móvil */
        gap: 30px;
    }
    
    .banner-azul-text-content {
        text-align: center;
        max-width: 100%;
    }

    .banner-azul-text-content h2 {
        font-size: 2.5em;
    }
    .subtitle-white-bold {
        font-size: 1.5em;
    }
    .list-azul-check {
        text-align: left; /* Mantener la lista justificada a la izquierda */
        margin: 0 auto;
        max-width: 450px;
    }
    .banner-azul-form-wrapper {
        flex: 1 1 100%; /* El formulario ocupa todo el ancho */
        max-width: 90%;
    }
}





/* ---------------------------------------------------- */
/* 🔥 NUEVOS ESTILOS PARA SECCIÓN BANNER AZUL CON FORMULARIO (Basado en q1.JPG) 🔥 */
/* ---------------------------------------------------- */

.banner-azul-form-section {
    padding: 80px 0;
    /* Fondo principal: Utilizamos el color Azul (Azul: #002e54) */
    background-color: var(--color-azul); 
    display: flex;
    justify-content: center;
}

.banner-azul-container {
    display: flex; 
    max-width: 1200px;
    width: 90%;
    gap: 80px; /* Espacio entre el texto y el formulario */
    align-items: center; 
}

/* ------------------- */
/* Estilos de Texto Izquierdo */
/* ------------------- */
.banner-azul-text-content {
    flex: 1; 
    max-width: 60%;
    color: var(--color-blanco-albec); /* Texto blanco sobre fondo azul */
}

.banner-azul-text-content h2 {
    font-size: 3.5em; 
    line-height: 1.1;
    margin-bottom: 10px;
    font-weight: 800; /* Extra Bold */
}

.subtitle-white-bold {
    font-size: 1.8em;
    font-weight: 700; /* Bold */
    margin-bottom: 30px;
}

.list-azul-check {
    /* Contenedor de la lista para organizar los checks */
}

.list-azul-check p {
    font-size: 1.2em;
    font-weight: 500; /* Medium */
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
}

.list-azul-check p::before {
    content: '✓'; /* Icono de check */
    color: var(--color-amarillo); /* Color del check en Amarillo */
    font-weight: 800; /* Más grueso para que se note */
    position: absolute;
    left: 0;
    font-size: 1.2em;
}

/* ------------------- */
/* Estilos de Formulario (Derecha) */
/* ------------------- */
.banner-azul-form-wrapper {
    flex: 0 0 450px; /* Ancho fijo para el formulario (ajustado a la imagen) */
    background-color: var(--color-blanco-albec); /* Fondo del formulario en Blanco */
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.form-azul-header {
    background-color: var(--color-amarillo); /* Título del formulario en Amarillo */
    padding: 15px 20px;
    text-align: center;
}

.form-azul-header h4 {
    font-weight: 900; /* Black */
    font-size: 1.3em;
    color: var(--color-azul); /* Texto del título en Azul */
    margin: 0;
}

.banner-azul-form {
    padding: 30px;
}

/* Reutilizando estilos de inputs existentes para consistencia */
.banner-azul-form .form-control,
.banner-azul-form select {
    height: 50px;
    border-radius: 5px;
    font-weight: 500; /* Medium */
    border: 1px solid #ced4da;
    color: var(--color-azul); 
}

/* Estilo específico para el select de prefijo */
.form-select-prefix-azul {
    flex: 0 0 80px; 
    text-align: center;
    padding: 0 5px; /* Ajuste para que se vea mejor */
}

/* Botón de Envío (Amarillo) */
.btn-amarillo-submit {
    /* Reutilizando la clase del botón ya definido en la respuesta anterior */
    background-color: var(--color-amarillo);
    color: var(--color-azul); 
    font-weight: 800; /* Extra Bold */
    padding: 15px 20px; /* Ajuste de padding para que se vea más grande */
    border: none;
    text-transform: uppercase;
    transition: background-color 0.3s;
    font-size: 1.1em; /* Para que el texto sea prominente */
}

.btn-amarillo-submit:hover {
    background-color: #e69d00; 
}

/* Disclaimer (Texto Legal) */
.form-disclaimer-azul {
    text-align: center;
    font-size: 0.85em;
    color: #6c757d; /* Gris para el texto pequeño */
}

.link-azul-legal {
    color: var(--color-azul); /* Enlace en Azul */
    font-weight: 600;
    text-decoration: underline;
}

/* ------------------- */
/* MEDIA QUERIES (Responsividad) */
/* ------------------- */
@media (max-width: 991.98px) {
    .banner-azul-form-section {
        padding: 40px 0;
    }
    .banner-azul-container {
        flex-direction: column; /* Apila el contenido en móvil */
        gap: 30px;
    }
    
    .banner-azul-text-content {
        text-align: center;
        max-width: 100%;
    }
    .banner-azul-text-content h2 {
        font-size: 2.5em;
    }
    .subtitle-white-bold {
        font-size: 1.5em;
    }
    .list-azul-check {
        text-align: left; 
        margin: 0 auto;
        max-width: 450px;
    }
    .banner-azul-form-wrapper {
        flex: 1 1 100%; 
        max-width: 90%;
    }
}



/* ---------------------------------------------------- */
/* 🔥 NUEVOS ESTILOS PARA SECCIÓN VISIÓN Y MISIÓN (Texto) 🔥 */
/* ---------------------------------------------------- */

.vision-mision-section {
    padding: 80px 0;
    /* Fondo principal: Utilizamos el color Azul */
    background-color: var(--color-azul); 
    display: flex;
    justify-content: center;
    color: var(--color-blanco-albec);
}

.vision-mision-container {
    max-width: 1200px;
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/* ------------------- */
/* Título Central */
/* ------------------- */
.vision-mision-header {
    margin-bottom: 50px;
}

.vision-mision-header .title-resalte {
    font-size: 3em; 
    font-weight: 800; /* Extra Bold */
    margin-bottom: 5px;
    line-height: 1.1;
}

/* Resalte de color en el título */
.vision-mision-header .title-resalte span {
    color: var(--color-amarillo); /* Texto en Amarillo */
}

.vision-mision-header .subtitle-text {
    font-size: 1.5em;
    font-weight: 600; /* Semi-bold */
    color: var(--color-celeste); /* Subtítulo en Celeste */
}

/* ------------------- */
/* Tarjetas de Contenido */
/* ------------------- */
.cards-container {
    display: flex;
    gap: 40px;
    width: 100%;
    justify-content: center;
}

.content-card {
    flex: 1;
    max-width: 500px;
    background-color: var(--color-blanco-albec); /* Fondo de la tarjeta en Blanco */
    color: var(--color-azul); /* Texto interno en Azul */
    padding: 30px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    text-align: left;
    height: auto; /* Altura dinámica */
}

.card-icon-title {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--color-celeste); /* Línea divisoria Celeste */
    padding-bottom: 15px;
}

.card-icon {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

.card-title {
    font-size: 1.8em;
    font-weight: 900; /* Black */
    margin: 0;
    color: var(--color-celeste); /* Título de tarjeta en Celeste */
}

.card-text {
    font-size: 1em;
    font-weight: 500; /* Medium */
    line-height: 1.5;
    margin: 0;
}


/* ------------------- */
/* MEDIA QUERIES (Responsividad) */
/* ------------------- */
@media (max-width: 991.98px) {
    .vision-mision-section {
        padding: 60px 0;
    }
    
    .vision-mision-header .title-resalte {
        font-size: 2.5em; 
    }
    
    .cards-container {
        flex-direction: column; /* Apila las tarjetas en móvil */
        gap: 30px;
    }

    .content-card {
        max-width: 90%;
        margin: 0 auto;
    }
}


/* ---------------------------------------------------- */
/* SECCIÓN NUEVA: ESTRUCTURA DE CONTENIDO EN 2 COLUMNAS */
/* ---------------------------------------------------- */

.info-columns-section {
    padding: 60px 20px;
    background-color: var(--color-blanco-albec); /* Fondo base de la sección, usa el Blanco de tu paleta */
}

.info-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    /* Define la cuadrícula principal: 40% para imagen, 60% para contenido */
    grid-template-columns: 0.4fr 0.6fr; 
    gap: 30px;
    align-items: stretch; /* Estira las columnas a la misma altura */
    min-height: 500px; /* Altura mínima para que la imagen se vea bien */
    background-color: var(--color-blanco); /* Fondo del contenedor principal */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 15px;
    overflow: hidden; /* Para que la imagen se adapte al borde redondeado */
}

/* --- Estilos de la Columna de Imagen (Izquierda) --- */
.info-image-wrapper {
    /* Fondo para rellenar si la imagen no cubre todo el espacio */
    background-color: var(--color-azul); /* Azul de tu paleta */
    display: flex;
    align-items: center;
    justify-content: center;
}

.info-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que la imagen cubra todo el contenedor sin distorsionarse */
    display: block;
}

/* --- Estilos de la Columna de Contenido (Derecha) --- */
.info-content-wrapper {
    padding: 40px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centra verticalmente el contenido dentro de la columna */
}

.info-title {
    font-size: 2.5em;
    margin-top: 0;
    margin-bottom: 30px;
    line-height: 1.1;
}

.title-bold-part {
    font-weight: 900; /* Puedes usar 800 (Extra-bold) o 900 (Black) */
    color: var(--color-celeste); /* Título principal en Celeste */
    display: block;
}

.title-normal-part {
    font-weight: 600; /* Semi-bold */
    color: var(--color-azul); /* Título secundario en Azul */
}

/* Contenedor Flex para las 2 columnas de texto internas */
.info-text-columns {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.text-column {
    flex: 1; /* Distribuye el espacio equitativamente entre las dos columnas de texto */
    font-size: 1em;
    font-weight: 500; /* Medium */
    color: var(--color-texto-principal); /* Azul */
}

.text-column ul {
    list-style: none;
    padding-left: 0;
}

.text-column li {
    padding-left: 25px;
    position: relative;
    margin-bottom: 8px;
}

.text-column li::before {
    content: '★'; /* O puedes usar un ícono de tu librería de íconos */
    color: var(--color-amarillo); /* Color Amarillo para el bullet point */
    font-size: 1.2em;
    position: absolute;
    left: 0;
    line-height: 1;
}

/* Botón de Llamada a la Acción */
.btn-info-action {
    align-self: flex-start; /* Alinea el botón a la izquierda */
    background-color: var(--color-amarillo);
    color: var(--color-azul);
    padding: 12px 25px;
    border-radius: 5px;
    font-weight: 800;
    text-transform: uppercase;
    transition: background-color 0.3s;
}

.btn-info-action:hover {
    background-color: #e69d00; /* Tono más oscuro de Amarillo para el hover */
}

/* --- Media Query para Diseño Responsivo (Móviles/Tablets) --- */
@media (max-width: 991px) {
    .info-container {
        /* Cambia a una sola columna para dispositivos pequeños: imagen arriba, contenido abajo */
        grid-template-columns: 1fr; 
        min-height: auto;
        gap: 0; /* Elimina el espacio entre las columnas cuando están apiladas */
    }
    
    .info-image-wrapper {
        height: 300px; /* Limita la altura de la imagen en móvil */
    }

    .info-content-wrapper {
        padding: 30px 20px;
    }

    .info-title {
        font-size: 2em;
        text-align: center;
        margin-bottom: 20px;
    }

    .info-text-columns {
        flex-direction: column; /* Apila las columnas de texto internas */
        gap: 15px;
    }
    
    .btn-info-action {
        align-self: center; /* Centra el botón en vista móvil */
    }
}


/* /* ---------------------------------------------------- */
/* SECCIÓN NUEVA: QUIÉNES SOMOS (CON MISIÓN Y VISIÓN)   */
/* ---------------------------------------------------- */

.quienes-somos-section {
    background-color: var(--color-blanco-albec); /* Fondo general de la sección (Blanco) */
    font-weight: 500;
}

/* --- ESTILOS SECCIÓN SUPERIOR (Fondo Blanco) --- */

.quienes-somos-top {
    padding: 60px 20px 0;
}

.qs-top-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    /* Divide en dos columnas: 40% para el título, 60% para el texto */
    grid-template-columns: 0.4fr 0.6fr; 
    gap: 40px;
    align-items: flex-start;
    padding-bottom: 60px;
}

.qs-title {
    font-size: 2.8em;
    font-weight: 800; /* Extra Bold */
    color: var(--color-azul);
    margin: 0 0 30px 0;
    line-height: 1.1;
}

/* Contenedor del Contador (+7) */
.qs-experience {
    display: inline-flex;
    align-items: flex-end;
    font-size: 5em;
    font-weight: 300; 
    line-height: 1;
    margin-bottom: 5px;
}

.exp-plus {
    color: var(--color-amarillo);
    font-weight: 300; /* Light */
}

.exp-number {
    color: var(--color-azul);
    font-weight: 300; /* Light */
    margin-left: 5px;
}

/* Línea amarilla debajo del contador */
.exp-line {
    width: 150px;
    height: 3px;
    background-color: var(--color-amarillo);
    margin-bottom: 10px;
}

.exp-label {
    font-size: 1.2em;
    font-weight: 600; /* Semi-bold */
    color: var(--color-celeste);
    margin: 0;
}

/* Párrafos descriptivos (derecha) */
.qs-text-right p {
    font-size: 1.1em;
    font-weight: 500; /* Medium */
    color: var(--color-azul); /* Usamos Azul para el texto principal */
    line-height: 1.6;
    margin-bottom: 20px;
}

/* --- ESTILOS SECCIÓN INFERIOR (Misión/Visión) --- */

.mision-vision-bottom {
    background-color: var(--color-celeste); /* Fondo Turquesa/Celeste */
    color: var(--color-blanco-albec); /* Texto blanco */
    padding: 60px 20px;
    position: relative;
    /* Crear el borde redondeado a la derecha, como en la imagen */
    border-top-right-radius: 200px; 
    border-bottom-right-radius: 200px;
    overflow: hidden; 
}

.mv-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.mv-card {
    flex: 1;
    max-width: 500px;
    text-align: center;
}

.mv-title {
    font-size: 2.5em;
    font-weight: 800; /* Extra Bold */
    color: var(--color-blanco-albec);
    margin-bottom: 20px;
    line-height: 1.1;
}

.mv-text {
    font-size: 1.1em;
    font-weight: 500; /* Medium */
    line-height: 1.5;
    margin: 0;
}

/* Separador vertical entre Misión y Visión */
.mv-separator {
    width: 2px;
    height: 150px; 
    background-color: var(--color-blanco-albec);
    opacity: 0.7;
    flex-shrink: 0;
}

/* --- MEDIA QUERIES (Responsividad para Móviles/Tablets) --- */

@media (max-width: 991.98px) {
    /* Top Section */
    .qs-top-container {
        grid-template-columns: 1fr; /* Columna única */
        gap: 30px;
        text-align: center;
    }
    
    .qs-text-left, .qs-text-right {
        text-align: center;
    }
    
    .qs-title {
        font-size: 2.2em;
    }
    
    .qs-experience {
        justify-content: center;
        font-size: 4em;
    }

    .exp-line {
        margin: 0 auto 10px auto; /* Centrar la línea */
    }
    
    /* Bottom Section (Misión/Visión) */
    .mision-vision-bottom {
        border-radius: 0; /* Quitar el redondeo en móvil */
    }

    .mv-container {
        flex-direction: column; /* Apilar Misión y Visión */
        gap: 30px;
    }

    .mv-separator {
        display: none; /* Ocultar el separador vertical */
    }
}


/* ---------------------------------------------------- */
/* SECCIÓN NUEVA: QUIÉNES SOMOS (CON MISIÓN Y VISIÓN)   */
/* ---------------------------------------------------- */

.quienes-somos-section {
    background-color: var(--color-blanco-albec); 
    font-weight: 500; 
}
.quienes-somos-top {
    padding: 60px 20px 0; 
}
.qs-top-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 0.4fr 0.6fr; 
    gap: 40px;
    align-items: flex-start;
    padding-bottom: 60px;
}
.qs-title {
    font-size: 2.8em;
    font-weight: 800; 
    color: var(--color-azul);
    margin: 0 0 30px 0;
    line-height: 1.1;
}
.qs-experience {
    display: inline-flex;
    align-items: flex-end;
    font-size: 5em;
    font-weight: 300; 
    line-height: 1;
    margin-bottom: 5px;
}
.exp-plus {
    color: var(--color-amarillo);
    font-weight: 300; 
}
.exp-number {
    color: var(--color-azul);
    font-weight: 300; 
    margin-left: 5px;
}
.exp-line {
    width: 150px;
    height: 3px;
    background-color: var(--color-amarillo);
    margin-bottom: 10px;
}
.exp-label {
    font-size: 1.2em;
    font-weight: 600; 
    color: var(--color-celeste);
    margin: 0;
}
.qs-text-right p {
    font-size: 1.1em;
    font-weight: 500; 
    color: var(--color-azul); 
    line-height: 1.6;
    margin-bottom: 20px;
}

/* --- ESTILOS SECCIÓN INFERIOR (Misión/Visión) --- */

.mision-vision-bottom {
    background-color: var(--color-celeste); 
    color: var(--color-blanco-albec); 
    padding: 60px 20px;
    position: relative;
    border-top-right-radius: 200px; /* CLAVE del redondeo */
    border-bottom-right-radius: 200px;
    overflow: hidden; 
}
.mv-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}
.mv-card {
    flex: 1;
    max-width: 500px;
    text-align: center;
}
.mv-title {
    font-size: 2.5em;
    font-weight: 800; 
    color: var(--color-blanco-albec);
    margin-bottom: 20px;
    line-height: 1.1;
}
.mv-text {
    font-size: 1.1em;
    font-weight: 500; 
    line-height: 1.5;
    margin: 0;
}
.mv-separator {
    width: 2px;
    height: 150px; 
    background-color: var(--color-blanco-albec);
    opacity: 0.7;
    flex-shrink: 0; 
}

/* --- MEDIA QUERIES (Responsividad) --- */
@media (max-width: 991.98px) {
    .qs-top-container {
        grid-template-columns: 1fr; 
        gap: 30px;
        text-align: center;
    }
    .qs-text-left, .qs-text-right {
        text-align: center;
    }
    .qs-experience {
        justify-content: center;
    }
    .exp-line {
        margin: 0 auto 10px auto; 
    }
    .mision-vision-bottom {
        border-radius: 0; 
    }
    .mv-container {
        flex-direction: column; 
        gap: 30px;
    }
    .mv-separator {
        display: none; 
    }
}

/* ---------------------------------------------------- */
/* SECCIÓN NUEVA: SERVICIOS EN 2 COLUMNAS DE COLOR      */
/* ---------------------------------------------------- */

.services-section {
    padding: 80px 20px;
    background-color: var(--color-blanco-albec); /* Fondo base blanco */
}

.services-container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
}

/* --- ESTILOS DEL TÍTULO PRINCIPAL --- */
.services-main-title {
    font-size: 3em;
    margin-bottom: 50px;
    line-height: 1.1;
    font-weight: 900; /* Black */
}

.services-main-title .title-bold {
    color: var(--color-azul); /* Parte "SERVICIOS" en Azul */
    display: block; /* Para que ocupe toda la línea */
}

.services-main-title .title-normal {
    font-weight: 600; /* Semi-bold */
    font-size: 0.7em; /* Un poco más pequeño que la parte bold */
    color: var(--color-celeste); /* Parte secundaria en Celeste */
    display: block;
}

/* --- CONTENEDOR DE LAS DOS COLUMNAS DE CONTENIDO --- */
.services-columns-wrapper {
    display: grid;
    /* Divide el espacio equitativamente */
    grid-template-columns: 1fr 1fr; 
    gap: 0; /* Sin espacio entre columnas para que se vean unidas */
    border-radius: 10px;
    overflow: hidden; /* Para que los bordes redondeados se apliquen correctamente */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

/* --- COLUMNA IZQUIERDA (AZUL) --- */
.column-left {
    background-color: var(--color-azul);
    color: var(--color-blanco-albec); /* Texto blanco */
    padding: 40px;
    text-align: left;
}

.column-title-left {
    font-size: 1.8em;
    font-weight: 900; /* Black */
    color: var(--color-amarillo); /* Título en Amarillo */
    margin-top: 0;
    margin-bottom: 25px;
    line-height: 1.3;
}

/* --- COLUMNA DERECHA (CELESTE) --- */
.column-right {
    background-color: var(--color-celeste);
    color: var(--color-blanco-albec); /* Texto blanco */
    padding: 40px;
    text-align: left;
}

.column-title-right {
    font-size: 1.8em;
    font-weight: 900; /* Black */
    color: var(--color-azul); /* Título en Azul */
    margin-top: 0;
    margin-bottom: 25px;
    line-height: 1.3;
}

/* --- ESTILOS DE PÁRRAFOS Y LISTAS (Comunes a ambas columnas) --- */
.column-left p,
.column-right p {
    font-size: 1.1em;
    font-weight: 500; /* Medium */
    margin-bottom: 30px;
    line-height: 1.6;
}

.column-left ul,
.column-right ul {
    list-style: none;
    padding-left: 0;
}

.column-left li,
.column-right li {
    padding-left: 30px;
    position: relative;
    font-size: 1.05em;
    font-weight: 500;
    margin-bottom: 12px;
}

/* Ícono de check/bullet point */
.column-left li::before,
.column-right li::before {
    content: '✓'; /* Puedes usar un checkmark, un ícono o un punto */
    font-family: sans-serif; /* Para asegurar que el símbolo se vea bien */
    position: absolute;
    left: 0;
    font-weight: 900;
}

.column-left li::before {
    color: var(--color-amarillo); /* Check en Amarillo para columna Azul */
}

.column-right li::before {
    color: var(--color-azul); /* Check en Azul para columna Celeste */
}

/* --- MEDIA QUERY para Móviles (Columna única) --- */
@media (max-width: 800px) {
    .services-columns-wrapper {
        grid-template-columns: 1fr; /* Una sola columna */
        gap: 0;
        border-radius: 10px; /* Borde redondeado al contenedor principal */
    }
    
    .services-main-title {
        font-size: 2.2em;
    }

    .column-left, .column-right {
        padding: 30px 25px; /* Reducir padding en móvil */
    }
}






/* Estilos para la nueva lista de proyectos en el footer */
.footer-projects-list {
    list-style: none; /* Elimina las viñetas */
    padding: 0; /* Elimina el padding por defecto de las listas */
    margin-top: 5px; /* Pequeño espacio debajo del título PROYECTOS */
    margin-bottom: 15px; /* Espacio antes de los siguientes enlaces */
}

.footer-projects-list a {
    /* Puedes aplicar estilos similares a tus enlaces <a> existentes */
    display: block; /* Asegura que cada enlace ocupe su propia línea */
    margin-bottom: 5px; /* Espacio entre cada proyecto */
    text-decoration: none;
    /* Asegúrate que el color de texto sea el mismo que los otros enlaces */
    /* Ejemplo: color: #FFFFFF; */ 
}

/* Oculta la lista de proyectos por defecto */
#listaProyectos {
    display: none;
    list-style: none;
    padding: 0;
    margin: 0;
}













/* ============================================== */
/* ESTILOS PARA LA LISTA DE PROYECTOS EN EL FOOTER */
/* ============================================== */

.footer-projects-list {
    list-style: none; /* Elimina las viñetas */
    padding: 0; 
    margin-top: 5px; 
    margin-bottom: 15px; 
}

.footer-projects-list li a {
    /* Aquí se debe replicar el estilo de color y fuente de los otros enlaces <a> del footer */
    display: block; 
    margin-bottom: 5px; 
    text-decoration: none;
    /* Ejemplo de color, ajusta según tu diseño */
    /* color: white; */ 
}








}