
body {
    font-family: 'Josefin Sans', sans-serif;
    background-color: #fff;
    margin: 0;
    padding: 0;
}

.team-section {
    text-align: center;
    padding: 10px 80px;

}

.team-section h2 {
    font-size: 1.9em;
    color: #333;
    margin-top: -35px;
    padding-top: -45px;
}

.subtitle {
    font-size: 1.1em;
    color: #777;
    margin-bottom: 15px;
    margin-top: -10px;
}

.team-container {
    display: flex;
    justify-content: center; /* Centrar elementos en la pantalla */
    gap: 50px; /* Espaciado uniforme entre tarjetas */
    flex-wrap: nowrap; /* Evitar que se rompan en otra línea */
    align-items: flex-start;
    padding: 20px;
    max-width: 1400px; /* Limita el ancho total */
    margin: 0 auto; /* Centrar en la pantalla */
    
}


.team-member {
    background: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    width: 320px; /* Tamaño uniforme */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: -15px;
}


.team-member img {
    width: 250px;
    height: 280px;
    border-radius: 50%;
    margin-bottom: 5px;
    margin-top: -35px;
}

.team-member h3 {
    font-size: 1.5em;
    margin-bottom: 5px;
    text-align: center;
    line-height: 1;
}

.role {
    font-size: 1.1em;
    color: #0073e6;
    font-weight: bold;
    margin-top: -2px;
}

.description {
    font-size: 1em;
    color: #555;
    margin-top: 10px;
}

.social-icons {
    margin-top: 10px;
}

.social-icons a {
    margin: 0 10px;
    display: inline-block;
}

.social-icons img {
    width: 25px;
    height: 25px;
    filter: brightness(0) saturate(100%) invert(75%) sepia(0%) saturate(7500%) hue-rotate(180deg) brightness(95%) contrast(85%);
}


.logo_sobre img {
    width: 10px; /* Ajuste de tamaño */
    height: auto;
    margin-top: -19px;
}
/* ============================
   📱 Tablet (1024px a 769px)
   ============================ */
/* =====================================
   📱 Tablet (1024px a 769px)
   ===================================== */
/* TABLET Y MÓVILES GRANDES (≤1024px) */
@media (max-width: 1024px) {

    /* LOGO más proporcional */
    .logo img {
        width: 150px !important;
    }

    /* Contenedor del título */
    .team-section {
        padding: 20px 30px !important;
    }

    .team-section h2 {
        font-size: 2em !important;
        margin-top: 5px !important;
    }

    .subtitle {
        font-size: 1.05em !important;
        margin-top: -5px !important;
        margin-bottom: 25px !important;
    }

    /* GRID RESPONSIVE */
    .team-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        justify-items: center !important;
        gap: 35px !important;
        width: 100% !important;
        padding: 0 40px !important;
    }

    /* TARJETAS */
    .team-member {
        width: 100% !important;
        max-width: 420px !important;
        padding: 35px !important;
        margin: 0 auto !important;
    }

    .team-member img {
        width: 190px !important;
        height: 200px !important;
        margin-top: 0 !important;
    }

    .team-member h3 {
        font-size: 1.6em !important;
        margin-top: 15px !important;
    }

    .role {
        font-size: 1.15em !important;
        margin-top: 4px !important;
    }

    /* ÍCONOS SOCIALES */
    .social-icons {
        display: flex !important;
        justify-content: center !important;
        gap: 20px !important;
        margin-top: 15px !important;
    }

    .social-icons img {
        width: 30px !important;
        height: 30px !important;
    }
}
@media (max-width: 1024px) {

    .team-section {
        padding: 20px 30px;
    }

    .team-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 40px !important;
        width: 100% !important;
        padding: 0 30px !important;
    }

    .team-member {
        max-width: 430px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }

    .team-member img {
        width: 200px;
        height: 220px;
    }
        .social-icons img {
        width: 26px;
        height: 26px;
    }
}


/* =====================================
   📱 Celulares grandes (768px a 481px)
   ===================================== */
@media (max-width: 768px) {

    .team-section {
        padding: 15px 20px;
    }

    .team-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 35px !important;

        width: 100% !important;
        padding: 0 15px !important;  /* centrado real */
        margin: 0 auto !important;
    }

    .team-member {
        width: 100% !important;
        max-width: 380px !important; /* tamaño ideal en móvil */
        margin: 0 auto !important;   /* centrado horizontal */
        padding: 25px !important;
        box-sizing: border-box;
    }
    .team-member img {
        width: 170px;
        height: 180px;
    }

    .team-member h3 {
        font-size: 1.4em;
    }

    .role {
        font-size: 1.1em;
    }
        .social-icons img {
        width: 24px;
        height: 24px;
    }
    
}


/* =====================================
   📱 Celulares pequeños (480px o menos)
   ===================================== */
@media (max-width: 480px) {

    .team-member {
        max-width: 330px !important;
        padding: 22px !important;
    }

    .team-member img {
        width: 140px !important;
        height: 150px !important;
    }

    .team-member h3 {
        font-size: 1.2em !important;
    }

    .role {
        font-size: 0.95em !important;
    }

    .social-icons img {
        width: 24px !important;
        height: 24px !important;
    }
}


.footer {     /* Gris ultra suave */
    padding: 70px 8%;             /* Mucho aire */
    font-family: 'Inter', sans-serif;
    color: #444;
}

/* TOP: Logo izquierda + texto derecha */
.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    flex-wrap: wrap;
}
.footer-bottom {
    display: flex;
    justify-content: space-between;   /* 🔥 Izquierda / Derecha */
    align-items: center;
    margin-top: 20px;
    width: 100%;
}
/* Logo */
.footer-left {
    flex: 1;
    display: flex;
    justify-content: flex-start;
}

.footer-left img{
    width: 175px;  
    padding-left: 35px;               
}

/* Texto descriptivo */
.footer-text {
    flex: 2;
    text-align: left;
    max-width: 700px;
}

.footer-text p {
    font-size: 16px;
    line-height: 1.7;
    color: #444;
}

/* Línea separadora */
.footer-separator {
    width: 100%;
    border-top: 1px solid #ccc;
    margin: 50px 0 25px 0;
}


.footer-bottom p {
    font-size: 12px;              /* 🔥 Texto más pequeño */
    color: #555;
    margin: 0;
    width: 100%;                  /* Forzar salto de línea natural */
    max-width: 330px;             /* Ajusta para 4 líneas */
}

.left-text {
    text-align: left;
}

.right-text {
    text-align: right;
}
/* Responsivo */
@media (max-width: 1024px) {

    /* Centra todo el footer-top */
    .footer-top {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 25px;
    }

    .footer-left {
        justify-content: center;
    }

    .footer-text {
        text-align: center;
        max-width: 100%;
        margin: 0 auto;
    }

    /* Centrar completamente el footer-bottom */
    .footer-bottom {
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        width: 100%;
        gap: 5px;
    }

    .footer-bottom p {
        text-align: center !important;
        width: 100%;
        margin: 0;
    }
}

