/* ===================================================================
   TALENTO
   Hoja por asunto: seccion de talento en la home + paginas de detalle.
   Mobile primero. Breakpoints alineados a la escala del tema: 768 / 992.
   No escribir aqui reglas de otro asunto (formularios, header, footer).
=================================================================== */

:root {
    --talento-plate-color: var(--accent-color);
    --talento-plate-text: #0a0a0a;
    --talento-panel-bg: #d9d9d9;
    --talento-gap: 20px;
}

/* ===================================================================
   1. SECCION EN LA HOME  (#talento)
=================================================================== */

#talento {
    padding: var(--section-padding);
    position: relative;
    overflow: hidden;

    /* Fondo propio para que la seccion se lea como una banda aparte.
       Medido en produccion: #el-equipo (arriba) es rgb(0,0,0) y #highlights
       (abajo) es transparente sobre el body, #121212. Al heredar tambien
       #121212, esta seccion se fundia con la de abajo.
       El punto medio real seria #090909: 9 niveles, invisible. Se sube a
       #1a1a1a, que sigue en la paleta oscura del tema y si marca el corte
       contra ambas vecinas. Solo afecta a #talento. */
    background-color: #1a1a1a;
}

/* Trama quieta: #el-equipo la lleva anclada al viewport y #highlights la
   lleva desplazandose sola. Dejar esta seccion tambien en movimiento ponia
   dos secciones animadas seguidas. Se hereda texture-secondary-animated
   (repeticion y opacidad) y se le quita solo la animacion. */
#talento::before {
    animation: none;
}

#talento .section-title {
    color: var(--accent-color);
    letter-spacing: 0.02em;
}

#talento .section-title::after {
    background: var(--accent-color);
}

.talento-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 36px var(--talento-gap);
    margin-top: 40px;
    list-style: none;
    padding: 0;
}

/* --- Tarjeta de talento (opcion 2 del diseno: placa lima + recorte) --- */

.talento-card {
    position: relative;
    display: block;
    /* La placa ocupa la base; el recorte sobresale por arriba. */
    aspect-ratio: 4 / 3;
    text-decoration: none;
    color: inherit;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    isolation: isolate;
}

/* Hover: el naipe sube, la figura crece y se despega, la placa se ensancha y
   recibe un halo lima. Antes solo subia 8px y apenas se notaba. */
.talento-card:hover,
.talento-card:focus-visible {
    transform: translateY(-12px);
}

.talento-card:hover .talento-card__figura,
.talento-card:focus-visible .talento-card__figura {
    transform: scale(1.07) translateY(-8px);
    filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.6));
}

.talento-card:hover .talento-card__nombre,
.talento-card:focus-visible .talento-card__nombre {
    transform: translateX(5px);
}

.talento-card:focus-visible {
    outline: 3px solid var(--accent-color);
    outline-offset: 6px;
}

/* Placa lima con el nombre */
.talento-card__placa {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 72%;
    min-height: 44%;
    display: flex;
    align-items: center;
    background-color: var(--talento-plate-color);
    padding: 14px 16px;
    transition: width 0.45s cubic-bezier(0.25, 0.8, 0.25, 1),
                box-shadow 0.45s ease;
}

.talento-card:hover .talento-card__placa,
.talento-card:focus-visible .talento-card__placa {
    width: 82%;
    box-shadow: 0 12px 34px rgba(218, 253, 37, 0.3);
}

.talento-card__nombre {
    font-family: var(--font-family-hero-title);
    font-weight: 700;
    text-transform: uppercase;
    line-height: 0.95;
    margin: 0;
    color: var(--talento-plate-text);
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1);
    /* MOVIL: el naipe es apaisado (4/3) y la figura, a altura completa, solo
       ocupa ~42% del ancho. Queda sitio de sobra a la izquierda, asi que el
       nombre va grande. El limite estrecho se aplica desde 768px, que es
       cuando la parrilla pasa a tres columnas y los naipes se estrechan. */
    max-width: 76%;
    /* Se fuerza por encima de la regla global de h3 del tema. */
    font-size: clamp(1.75rem, 7vw, 2.6rem) !important;
}

/* Recorte de la persona, alineado a la derecha y mas alto que la placa */
.talento-card__figura {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    height: 100%;
    width: auto;
    /* Sin tope real: la altura manda, para que las tres cabezas queden
       arriba. El ancho resultante depende del encuadre de cada recorte. */
    max-width: 85%;
    object-fit: contain;
    object-position: bottom right;
    filter: drop-shadow(0 12px 24px rgba(0, 0, 0, 0.45));
    pointer-events: none;
    transform-origin: bottom right;
    transition: transform 0.45s cubic-bezier(0.25, 0.8, 0.25, 1),
                filter 0.45s ease;
}

/* Enlace accesible que cubre la tarjeta entera */
.talento-card__enlace {
    position: absolute;
    inset: 0;
    z-index: 3;
}

/* Estado vacio de la seccion */
.talento-vacio {
    grid-column: 1 / -1;
    text-align: center;
    color: var(--secondary-text-color);
    padding: 40px 20px;
}

@media (min-width: 768px) {
    .talento-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: var(--talento-gap);
    }

    .talento-card {
        aspect-ratio: 3 / 4;
    }

    .talento-card__placa {
        min-height: 38%;
    }

    .talento-card__figura {
        max-width: 85%;
    }

    /* Tres columnas: los naipes se estrechan y la figura de Jorge, que es la
       mas ancha, ocupa ~75% del naipe. El nombre se repliega a la franja
       libre para que las tres sigan a altura completa. */
    .talento-card__nombre {
        max-width: 30%;
        font-size: clamp(0.95rem, 2vw, 1.35rem) !important;
    }
}

@media (min-width: 992px) {
    .talento-card__nombre {
        font-size: clamp(1.3rem, 1.9vw, 1.75rem) !important;
    }
}

/* ===================================================================
   2. PAGINA DE DETALLE DE TALENTO
=================================================================== */

.talento-detalle {
    padding: calc(var(--header-height) + 40px) 20px 60px;
}

/* Movil: una columna y colocacion automatica, que ya da el orden del DOM
   (cabecera -> retrato -> bio -> media -> galeria).
   OJO: los nombres de area NO se asignan aqui. Si se nombran sin que exista
   un grid-template-areas que los recoja, los cinco hijos caen en la misma
   celda y se superponen. Se nombran solo dentro del breakpoint que define
   la plantilla de areas. */
.talento-detalle__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: start;
}

/* --- Cabecera: nombre + redes --- */

.talento-detalle__nombre {
    margin: 0 0 18px;
    color: #fff;
    line-height: 0.9;
    letter-spacing: 0.01em;
}

.talento-redes {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
}

.talento-redes__enlace {
    /* Area tactil minima de 44x44 segun la norma de mobile. */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 6px;
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.talento-redes__enlace:hover,
.talento-redes__enlace:focus-visible {
    transform: translateY(-3px);
    background-color: rgba(218, 253, 37, 0.12);
}

.talento-redes__icono {
    width: 28px;
    height: 28px;
    object-fit: contain;
    display: block;
}

/* --- Biografia --- */

.talento-detalle__bio p {
    color: var(--primary-text-color);
    font-size: 1rem;
    line-height: 1.7;
    margin: 0 0 18px;
    text-align: justify;
    text-wrap: pretty;
}

/* --- Retrato --- */

.talento-detalle__retrato {
    margin: 0;
    background-color: var(--talento-panel-bg);
    overflow: hidden;
    aspect-ratio: 3 / 4;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.talento-detalle__retrato img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* El retrato recortado (PNG con alfa) se apoya en el panel claro. */
.talento-detalle__retrato--recorte img {
    object-fit: contain;
    object-position: bottom center;
}

/* ===================================================================
   3. VIDEO DESTACADO + PROYECTOS + GALERIA

   El aspecto lo ponen los componentes del tema:
     - video     -> .highlights-grid / .highlight-item  (style4.css)
     - proyectos y galeria -> .gallery-grid / .gallery-item (style4.css,
       selector ampliado a .talento-galeria-tema)
   Aqui solo queda la colocacion y las correcciones de proporcion.
=================================================================== */

.talento-video-destacado,
.talento-proyectos,
.talento-galeria {
    min-width: 0;
    margin-top: 40px;
}

/* El componente de video del tema pasa a 2 columnas desde 768px porque en la
   home son seis tarjetas. Aqui hay una sola: se devuelve a 1 columna para
   que ocupe todo el ancho de la banda y gane presencia. */
.talento-video-destacado .highlights-grid {
    grid-template-columns: 1fr;
}

.talento-media__titulo {
    font-family: var(--font-family-hero-title);
    font-size: 1.25rem !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--primary-text-color);
    margin: 0 0 16px;
}

/* ===================================================================
   4. BALDOSAS DE PROYECTOS Y GALERIA

   La baldosa del tema trae "height: 200px; object-fit: cover", un encuadre
   apaisado pensado para las fotos de la galeria de la home. El material de
   las fichas es vertical —portadas, carteles, retratos— y con esa altura
   fija se recortaba por la mitad: las portadas quedaban partidas y a las
   fotos les cortaba la cabeza. Se mantiene el componente y solo se cambia
   la proporcion de la baldosa.
=================================================================== */

.talento-galeria-tema {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 14px;
    margin-bottom: 0 !important;
}

.talento-galeria-tema .gallery-item img {
    height: auto;
    aspect-ratio: 2 / 3;
}

/* ===================================================================
   6. NAVEGACION ENTRE TALENTOS (pie de la pagina de detalle)
=================================================================== */

.talento-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
    align-items: center;
    margin-top: 56px;
    padding-top: 28px;
    border-top: 1px solid var(--border-color);
}

.talento-nav__enlace {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 10px 18px;
    color: var(--accent-color);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9rem;
    transition: color 0.25s ease;
}

.talento-nav__enlace:hover,
.talento-nav__enlace:focus-visible {
    color: #fff;
}

/* ===================================================================
   7. LISTADO /talento/
=================================================================== */

.talento-indice {
    padding: calc(var(--header-height) + 40px) 20px 60px;
}

/* style4.css deja .animate-on-scroll en opacity:0 y es
   section-scroll-navigation6.js quien le pone .element-is-shown. Ese script
   solo se carga en la home, asi que aqui el contenido quedaria invisible
   para siempre. En el indice se muestran sin animacion de entrada. */
.talento-indice .animate-on-scroll {
    opacity: 1;
}

/* ===================================================================
   8. ESCRITORIO
=================================================================== */

@media (min-width: 992px) {
    .talento-detalle {
        padding: calc(var(--header-height) + 60px) 20px 80px;
    }

    /* Dos columnas: texto a la izquierda, imagen a la derecha (diseno).
       El retrato ocupa el alto de cabecera + biografia. */
    .talento-detalle__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.9fr);
        /* El video va a ancho completo: es la pieza principal de la ficha.
           Debajo, proyectos y galeria reparten las dos columnas. */
        grid-template-areas:
            "cabecera  retrato"
            "bio       retrato"
            "video     video"
            "proyectos galeria";
        /* Filas por contenido. El retrato ocupa las dos primeras y se estira
           a lo que midan (ver align-self abajo), en vez de imponer su propia
           altura, que es lo que abria el hueco bajo la biografia. */
        grid-template-rows: auto auto auto auto;
        gap: 40px 48px;
    }

    /* Los nombres de area solo valen con la plantilla de arriba cargada. */
    .talento-detalle__cabecera  { grid-area: cabecera; }
    .talento-detalle__retrato   { grid-area: retrato; }
    .talento-detalle__bio       { grid-area: bio; }
    .talento-video-destacado    { grid-area: video; }
    .talento-proyectos          { grid-area: proyectos; }
    .talento-galeria            { grid-area: galeria; }

    /* Jorge y Zague no tienen galeria de fotos. Sin ella la columna derecha
       de la ultima fila queda vacia y los proyectos se apretujan a la
       izquierda: en ese caso ocupan el ancho completo. Va despues de las
       asignaciones de area para poder sobrescribir la columna. */
    .talento-detalle__layout:not(:has(.talento-galeria)) .talento-proyectos {
        grid-column: 1 / -1;
    }

    /* Y al reves: galeria sin proyectos. */
    .talento-detalle__layout:not(:has(.talento-proyectos)) .talento-galeria {
        grid-column: 1 / -1;
    }

    /* Proporcion FIJA, no derivada del contenido. Los recortes vienen con
       relaciones muy distintas —Zague es de cuerpo entero, 470x1400— y
       dejar que la imagen dictara la altura estiraba la fila a mas de
       1400px, dejando la biografia flotando en medio de un hueco enorme.
       Con 3/4 las tres fichas miden igual y la pagina queda proporcionada.
       Los recortes PNG ya usan object-fit:contain, asi que la figura entra
       entera dentro del panel claro. */
    .talento-detalle__retrato {
        aspect-ratio: 3 / 4;
        align-self: start;
        height: auto;
        min-height: 0;
        max-height: none;
    }

    .talento-video-destacado,
    .talento-proyectos,
    .talento-galeria {
        margin-top: 0;
        align-self: start;
    }

    .talento-detalle__nombre {
        margin-bottom: 22px;
    }

    .talento-redes__enlace {
        width: 48px;
        height: 48px;
    }

    .talento-redes__icono {
        width: 32px;
        height: 32px;
    }

    .talento-detalle__bio p {
        font-size: 1.05rem;
    }
}

/* ===================================================================
   9. MOVIMIENTO REDUCIDO
=================================================================== */

@media (prefers-reduced-motion: reduce) {
    .talento-card,
    .talento-card__placa,
    .talento-card__figura,
    .talento-card__nombre {
        transition: none;
    }

    .talento-card:hover .talento-card__figura,
    .talento-card:hover .talento-card__nombre {
        transform: none;
    }
}
