

body {
  font-family: 'Segoe UI', Arial;
  margin: 0;
  background: #d3f3dc radial-gradient(circle farthest-corner at 15% 15%, #ffffff 0%, #d3f3dc 100%);
   overflow-x: hidden;
   min-height: 100vh;
}
/* ==========================================
   CONFIGURACIÓN GENERAL Y HERO
   ========================================== */


.main-content {
    padding-bottom: 60px;
    padding-top: 0 !important;
}

.quienes-hero {
    width: 100%;
    height: 480px;  
   background: linear-gradient(rgba(255, 255, 255, 0.077), rgba(255, 255, 255, 0.088)), url('../images/quienes-hero.webp');
    background-size: 100%;
    background-position: center -0px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white;
}

.quienes-hero h1 { 
    font-size: 48px; 
    margin-bottom: 10px; 
    font-weight: 700; 
    font-family: 'Segoe UI', Arial;
}
.quienes-hero p { font-size: 20px; opacity: 0.9; }

/* ==========================================
   SECCIÓN 1: TRAYECTORIA (DESKTOP)
   ========================================== */
.about-section { 
    padding: 60px 20px;
}

.about-container { max-width: 900px; margin: 0 auto; }

.about-text-full h2 { 
    color: #1b4332; 
    font-size: 32px; 
    margin-bottom: 25px; 
    text-align: center; 
}

.about-text-full p { 
    font-size: 18px; 
    line-height: 1.8; 
    color: #444 !important; /* Gris unificado */
    margin-bottom: 25px; 
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
    text-align: justify;
    hyphens: auto;
}

/* ==========================================
   SECCIÓN 2: FILOSOFÍA (UNIFICADA)
   ========================================== */
.filosofia-section {
    padding: 60px 20px;
    background-color: transparent !important; /* Eliminamos fondo para evitar cortes visuales */
}

.filosofia-container { max-width: 1100px; margin: 0 auto; }

.mision-vision-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    margin-bottom: 60px;
}

.filosofia-item h3, .valores-box h3 {
    color: #1b4332;
    font-size: 26px;
    margin-bottom: 20px;
    border-left: 5px solid #0bce52;
    padding-left: 15px;
}

/* Párrafos de Misión y Visión con el mismo estilo que Trayectoria */
.filosofia-item p {
    font-size: 18px;
    line-height: 1.8;
    color: #444 !important;
    text-align: justify;
}

/* ==========================================
   SECCIÓN 3: VALORES (ESTILO PREMIUM)
   ========================================== */
.valores-box {
    margin-top: 40px;
    width: 100%;
}

.valores-grid-nuevo {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.valor-item-top {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    transition: 0.3s;
}

.valor-item-top i {
    font-size: 20px;
    color: #0bce52;
    background: rgba(11, 206, 82, 0.1);
    padding: 12px;
    border-radius: 8px;
}

.valor-item-top strong { 
    display: block; 
    color: #1b4332; 
    font-size: 17px; 
    margin-bottom: 4px; 
}

.valor-item-top p { 
    font-size: 15px; 
    color: #444 !important; /* Gris unificado */
    margin: 0; 
    line-height: 1.6;
    text-align: left;
}

/* ==========================================
   SECCIÓN 3: CERTIFICACIONES (LAS 3 CARDS)
   ========================================== */
.certificaciones-section { padding: 80px 20px; }
.certificaciones-container {
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.cert-card {
    background: white;
    padding: 40px 25px;
    border-radius: 15px;
    text-align: center;
    border: 1px solid rgba(11, 206, 82, 0.15);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: 0.3s;
}

.cert-card:hover { transform: translateY(-10px); }
.cert-card i { 
display: flex;
align-items: center;
justify-content: center;
width: 60px;
height: 60px;
margin: 0 auto 20px auto;
font-size: 35px; 
color: #0bce52; 
margin-bottom: 20px; 


}
.cert-card h4 { color: #1b4332; font-size: 19px; margin-bottom: 12px; }
.cert-card p { font-size: 14px; color: #666; line-height: 1.6; }



/* ==========================================
   RESPONSIVE PARA QUIENES SOMOS (CORREGIDO)
   ========================================== */

/* 1. Ajuste general para evitar el desplazamiento lateral en toda la web */
html, body {
    overflow-x: hidden; /* Corta cualquier cosa que intente salirse por la derecha */
    width: 100%;
    margin: 0;
    padding: 0;
}

@media (max-width: 1024px) {
    .quienes-hero-text h1 { font-size: 34px; }
    .certificaciones-container { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    /* 1. HERO: Compacto */
    .quienes-hero { 
      height: 200px !important; /* Le damos un poco más de aire para que se vea mejor */
        background-position: center 20% !important; /* El 20% "empuja" la imagen hacia abajo */
        margin-bottom: 10px;
       
    }
    .quienes-hero-text h1 { 
        font-size: 24px !important; 
        margin-bottom: 5px;
        color: white !important;
    }
    .quienes-hero-text p { font-size: 15px !important; }

    /* 2. TEXTOS: Justificados y Unificados */
    .about-text-full p, 
    .filosofia-item p, 
    .mvv-item p,
    .valor-item-top p { 
        font-size: 15px !important; 
        line-height: 1.6 !important; 
        color: #444 !important; /* Gris profesional unificado */
        padding: 0 20px;
        margin-bottom: 15px !important;
        max-width: 100%;
        text-align: start;
      
    }

    /* 3. TÍTULOS: Verdes y Alineados */
    .about-text-full h2, 
    .filosofia-item h3, 
    .valores-box h3 { 
        font-size: 22px !important; 
        color: #1b4332 !important; /* Verde Biofont */
        padding: 0 20px;
        margin-top: 20px !important;
        margin-bottom: 15px !important;
        text-align: left; /* Los títulos siempre mejor a la izquierda */
    }

    /* 4. SECCIONES: Sin saltos de fondo */
    .filosofia-section {
        padding-top: 0 !important;
        padding-bottom: 30px !important;
        background: transparent !important;
    }

    .mision-vision-grid, 
    .valores-grid-nuevo, 
    .certificaciones-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px;
        margin-top: 0 !important;
        padding: 0 5px;
    }

    /* 5. VALORES Y CARDS */
    .valor-item-top {
        padding: 10px 20px;
        gap: 12px;
    }
    .valor-item-top strong { 
        font-size: 16px; 
        color: #1b4332 !important; 
    }
    .cert-card {
        margin: 0 15px;
        padding: 25px 20px;
    }
    .cert-card h4 { color: #1b4332 !important; }
}


/* ==========================================
   ESTILOS ESPECÍFICOS PARA PÁGINAS LEGALES
   ========================================== */
.legal-container {
    max-width: 1000px;
    margin: 80px auto;        /* Más aire arriba para que respire del header */
    padding: 80px 100px;      /* Espaciado interno generoso tipo editorial */
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(27, 67, 50, 0.08); /* Sombra muy suave y verdosa */
    position: relative;
    overflow: hidden;
}

/* Detalle decorativo: una línea sutil en el borde superior */
.legal-container::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 6px;
    background: linear-gradient(90deg, #1b4332, #0bce52);
}

.legal-container h1 {
    font-family: 'Segoe UI', Arial;
    color: #1b4332;
    font-size: 42px;
    font-weight: 800;
    margin-bottom: 50px;
    text-align: center;
    letter-spacing: -1px;
}

.legal-container h2 {
    color: #1b4332;
    font-size: 24px;
    margin-top: 45px;
    margin-bottom: 20px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 15px;
}

/* El detalle del número o el icono en el H2 */
.legal-container h2::after {
    content: "";
    flex-grow: 1;
    height: 1px;
    background: rgba(11, 206, 82, 0.2);
}

.legal-container p, 
.legal-container li {
    font-size: 17px;
    line-height: 1.9;         /* Lectura muy descansada */
    color: #4a4a4a;
    margin-bottom: 20px;
    text-align: justify;
}

/* Estilo para los datos identificativos (la lista del punto 1) */
.legal-container ul {
    background: #f8fdf9;      /* Un fondo verde muy sutil para destacar datos */
    padding: 30px 40px;
    border-radius: 12px;
    list-style: none;
    border: 1px dashed rgba(11, 206, 82, 0.3);
    margin-bottom: 30px;
}

.legal-container ul li {
    margin-bottom: 10px;
    display: flex;
    gap: 10px;
}

.legal-container strong {
    color: #1b4332;
    min-width: 140px;         /* Alinea los textos de la lista */
}

/* --- AJUSTE RESPONSIVE PARA LEGALES --- */
@media (max-width: 768px) {
    .legal-container {
        margin: 40px 15px !important; 
        padding: 30px 20px !important; 
    }

    .legal-container h1 {
        font-size: 1.8rem;
        margin-bottom: 20px;
    }

    .legal-container h2 {
        font-size: 1.3rem;
        margin-top: 25px;
        gap: 10px;
    }

    .legal-container p {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 12px;
        color: #555;
        text-align: left !important;
        word-break: break-word; /* Para que correos largos no se salgan */
    }

    /* 1. CAJA DE DATOS (Sin puntos y sin roturas) */
    .legal-container ul:first-of-type {
        padding: 20px !important;
        margin-left: 0;
        list-style: none !important; /* Quitamos puntos solo aquí */
    }

    .legal-container ul:first-of-type li {
        display: block !important; /* Evita que el correo se monte en el punto */
        margin-bottom: 12px;
        list-style-type: none !important;
    }

    .legal-container ul:first-of-type strong {
        display: block; /* Título arriba y dato abajo para que el correo quepa bien */
        margin-bottom: 2px;
        color: #1b4332;
    }

    /* 2. RESTO DE LISTAS (Con puntos/bullets) */
    /* Esto aplica a cookies y finalidades del tratamiento */
    .legal-container section ul, 
    .legal-container ul:not(:first-of-type) {
        list-style: disc inside !important; /* Aquí sí puntea */
        padding: 15px 20px !important;
    }

    .legal-container section ul li,
    .legal-container ul:not(:first-of-type) li {
        display: list-item !important;
        list-style-type: disc !important;
        margin-bottom: 10px;
        text-align: left;
    }
}