/* ========================================
   DOCENTES — HERO (reutiliza qs-eyebrow/qs-title
   ya definidos en quienes-somos.css; si esta página
   no los tiene disponibles, están duplicados abajo
   como fallback)
   ======================================== */

.docentes-hero {
    position: relative;
    min-height: 32vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    overflow: hidden;
    background: radial-gradient(120% 120% at 0% 0%, #f6faf6 0%, #eef4ef 45%, #e3ece4 100%);
}

.docentes-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.docentes-hero__bg svg { width: 100%; height: 100%; display: block; }

.docentes-hero .container { position: relative; z-index: 2; padding: 60px 20px 40px; }

.qs-eyebrow {
    display: inline-block;
    font-family: var(--font-texto);
    letter-spacing: .22em;
    text-transform: uppercase;
    font-size: 0.72rem;
    color: var(--verde-claro);
    border: 1px solid rgba(77, 140, 103, .4);
    padding: 0.4rem 1rem;
    border-radius: 999px;
    margin-bottom: 1.2rem;
    background: rgba(255, 255, 255, .5);
}

.qs-title {
    font-family: var(--font-titulos);
    font-size: clamp(2.4rem, 5vw, 3.5rem);
    color: var(--verde-oscuro);
    line-height: 1.1;
}

.qs-title .accent { color: var(--verde-claro); font-style: italic; }

.docentes-hero-desc {
    font-family: var(--font-texto);
    font-size: 0.95rem;
    color: var(--verde-medio, var(--verde-claro));
    max-width: 56ch;
    margin: 16px auto 0;
    line-height: 1.6;
}

/* ========================================
   GRID DE DOCENTES
   ======================================== */

.docentes-grid-section {
    position: relative;
    overflow: hidden;
    background: var(--fondo-principal);
    padding: 80px 0 90px;
}

.docentes-grid-section__bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.docentes-grid-section__bg svg { width: 100%; height: 100%; display: block; }
.docentes-grid-section > .container { position: relative; z-index: 1; }

.docentes-full-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}

.docente-full-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: var(--blanco);
    border: 1px solid rgba(8, 64, 32, 0.08);
    border-radius: 18px;
    padding: 34px 24px 28px;
    text-decoration: none;
    transition: var(--transition);
}

.docente-full-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-md);
    border-color: rgba(232, 212, 160, 0.5);
}

/* El círculo ahora lo recorta el CONTENEDOR (.docente-full-foto),
   no un <span> interno — así funciona tanto si adentro hay un
   <img> real como si todavía hay iniciales de placeholder. */
.docente-full-foto {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: var(--fondo-secundario);
    border: 3px solid rgba(232, 212, 160, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 18px;
    flex-shrink: 0;
}

.docente-full-foto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Por si en algún momento se vuelve a usar el <span> de iniciales
   en vez de una foto real */
.docente-full-placeholder {
    font-family: var(--font-titulos);
    font-size: 1.6rem;
    color: var(--verde-oscuro);
}

.docente-full-card h3 {
    font-family: var(--font-titulos);
    font-size: 1.2rem;
    color: var(--verde-oscuro);
    margin-bottom: 4px;
}

.docente-full-rol {
    font-family: var(--font-texto);
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--verde-claro);
    margin-bottom: 14px;
}

.docente-full-desc {
    font-family: var(--font-texto);
    font-size: 0.85rem;
    color: var(--texto-secundario);
    line-height: 1.7;
    margin-bottom: 18px;
}

.docente-full-link {
    margin-top: auto;
    font-family: var(--font-texto);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--verde-oscuro);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap 0.25s ease, color 0.25s ease;
}

.docente-full-card:hover .docente-full-link {
    gap: 10px;
    color: var(--dorado);
}

/* ========================================
   PÁGINA DE DETALLE INDIVIDUAL
   ======================================== */

.docente-detalle {
    position: relative;
    overflow: hidden;
    background: var(--verde-oscuro);
    padding: 70px 0 90px;
}

.docente-detalle__bg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; }
.docente-detalle__bg svg { width: 100%; height: 100%; display: block; }
.docente-detalle > .container { position: relative; z-index: 1; }

.docente-volver {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-texto);
    font-size: 0.85rem;
    color: rgba(248, 250, 248, 0.6);
    margin-bottom: 40px;
    transition: color 0.25s ease;
}

.docente-volver:hover { color: var(--dorado); }

.docente-detalle-grid {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 60px;
    align-items: start;
}

.docente-detalle-foto {
    display: flex;
    justify-content: center;
}

/* Mismo criterio que arriba: el círculo lo recorta el contenedor */
.docente-detalle-placeholder {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    border: 3px solid rgba(232, 212, 160, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    font-family: var(--font-titulos);
    font-size: 3.6rem;
    color: var(--dorado);
}

.docente-detalle-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.qs-section-label {
    font-family: var(--font-texto);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--verde-claro);
    display: block;
    margin-bottom: 12px;
}

.docente-detalle-nombre {
    font-family: var(--font-titulos);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    color: var(--dorado);
    margin-bottom: 6px;
}

.docente-detalle-rol {
    font-family: var(--font-texto);
    font-size: 0.85rem;
    color: var(--verde-claro);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 24px;
}

.docente-detalle-bio p {
    font-family: var(--font-texto);
    font-size: 0.95rem;
    color: rgba(248, 250, 248, 0.82);
    line-height: 1.85;
    margin-bottom: 16px;
}

.docente-detalle-cursos {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid rgba(232, 212, 160, 0.18);
}

.docente-detalle-cursos-label {
    display: block;
    font-family: var(--font-texto);
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(248, 250, 248, 0.45);
    margin-bottom: 14px;
}

.docente-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.docente-chip {
    display: inline-block;
    padding: 9px 18px;
    border: 1.5px solid rgba(232, 212, 160, 0.4);
    border-radius: 50px;
    font-family: var(--font-texto);
    font-size: 0.82rem;
    color: var(--crema);
    text-decoration: none;
    transition: var(--transition);
}

.docente-chip:hover {
    background: var(--dorado);
    color: var(--verde-oscuro);
    border-color: var(--dorado);
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media (max-width: 1024px) {
    .docentes-full-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .docente-detalle-grid { grid-template-columns: 1fr; text-align: center; }
    .docente-detalle-foto { justify-content: center; }
    .docente-detalle-cursos-label { text-align: center; }
    .docente-chips { justify-content: center; }
}

@media (max-width: 480px) {
    .docentes-full-grid { grid-template-columns: 1fr; }
    .docente-detalle-placeholder { width: 160px; height: 160px; font-size: 2.6rem; }
}