/**
 * Coach Profile Styles
 *
 * Complemento de player-profile.css para las fichas del cuerpo técnico.
 * Solo contiene lo específico del entrenador: los cargos secundarios de la
 * cabecera, el bloque de récord de ESPN y el cargo en las tarjetas de unidad.
 * Todo lo demás (cabecera, meta, selector, rejilla) reutiliza las clases del
 * módulo de jugadores, que se carga como dependencia.
 *
 * Las variables --gbrs-pp-* se declaran en player-profile.css.
 */

/* ============================================
   CABECERA — cargos secundarios
   ============================================ */

.gbrs-coach-header__roles {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
}

.gbrs-coach-header__roles li {
    margin: 0;
    padding: 4px 12px;
    border: 1px solid var(--gbrs-pp-border);
    border-radius: 999px;
    background: #fff;
    color: var(--gbrs-pp-text-soft);
    font-size: 0.85rem;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ============================================
   CABECERA — bloque verde a sangre
   ============================================
   A diferencia de la del jugador (fondo claro y caja de 1200 px centrada), la
   del entrenador va sobre verde de marca y ocupa todo el ancho, para enlazar
   con la cabecera del sitio arriba y con la barra dorada del meta abajo.
   El contenido se sigue limitando a 1200 px con padding lateral calculado.
   Sin padding superior: la foto toca el borde de arriba y, al ser el elemento
   más alto del grid, ocupa el 100% del alto del bloque. */

.gbrs-coach-header {
    grid-template-columns: auto 1fr;  /* el entrenador no lleva dorsal */
    background: var(--gbrs-pp-green);
    max-width: none;
    padding-top: 0;
    padding-left: max(40px, calc((100% - 1200px) / 2));
    padding-right: max(40px, calc((100% - 1200px) / 2));
}

.gbrs-coach-header .gbrs-player-header__photo img {
    width: 300px;
}

.gbrs-coach-header .gbrs-player-header__name {
    color: #fff;
}

/* ============================================
   RÉCORD — datos de ESPN (solo entrenador principal)
   ============================================ */

.gbrs-coach-record {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px;
    box-sizing: border-box;
    background: var(--gbrs-pp-green);
}

.gbrs-coach-record .gbrs-coach-record__title {
    margin: 0 0 28px;
    font-family: "UltimatumBold", sans-serif;
    font-size: 2rem;
    font-weight: normal;
    color: var(--gbrs-pp-gold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-align: center;
}

.gbrs-coach-record__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.gbrs-coach-record__item {
    text-align: center;
    padding: 20px 12px;
    border: 1px solid rgba(249, 180, 91, 0.25);
    border-radius: 6px;
}

.gbrs-coach-record__value {
    font-family: "UltimatumBold", sans-serif;
    font-size: 2.75rem;
    font-weight: normal;
    line-height: 1;
    color: var(--gbrs-pp-gold);
    letter-spacing: 0.5px;
}

.gbrs-coach-record__label {
    margin-top: 10px;
    font-size: 0.85rem;
    line-height: 1.35;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.gbrs-coach-record__source {
    margin: 24px 0 0;
    text-align: center;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
}

/* ============================================
   UNIDAD — cargo bajo el nombre en cada tarjeta
   ============================================ */

.gbrs-teammate-card__role {
    margin-top: 6px;
    font-size: 0.95rem;
    line-height: 1.3;
    color: var(--gbrs-pp-gold);
    font-weight: 700;
}

/* ============================================
   CONTENIDO DE SPORTSPRESS
   ============================================
   El widget «Contenido de la entrada» arrastra los bloques que SportsPress
   inyecta en `the_content` de `sp_staff`. Nos quedamos con el extracto y el
   texto de la biografía; el selector, la foto y la tabla de detalles los
   ocultamos porque ya los pintan [gbrs_coach_header] y [gbrs_coach_meta],
   y contactos y tweets están vacíos en todas las fichas.
   Se ocultan los envoltorios `.sp-section-content-*` completos, no solo las
   tablas: cada uno lleva su propio título y sus márgenes. */

.single-sp_staff .sp-section-content-selector,
.single-sp_staff .sp-section-content-photo,
.single-sp_staff .sp-section-content-details,
.single-sp_staff .sp-section-content-contacts,
.single-sp_staff .sp-section-content-tweets {
    display: none;
}

/* ============================================
   TEXTO DE LA BIOGRAFÍA
   ============================================
   Dos peleas con el CSS del sitio, las dos solo dentro del widget de contenido:

   1. En las fichas `sp_staff` el tema hereda color blanco al contenido, así que
      el extracto y la biografía salían en blanco sobre fondo claro. Ninguna
      regla apunta al `li`: el blanco viene heredado de muy arriba, y basta con
      declarar el color en un ancestro más cercano.
   2. El CSS adicional del sitio lleva `.single-sp_staff strong { color: #fcb215
      !important }`, pensado para el diseño anterior de la ficha, que tenía fondo
      oscuro. Sobre fondo claro ese dorado no se lee, de ahí el !important aquí.
      Fuera del bloque de biografía esa regla sigue aplicándose tal cual. */

.single-sp_staff .elementor-widget-theme-post-content,
.single-sp_staff .sp-section-content-excerpt,
.single-sp_staff .sp-section-content-content {
    color: var(--gbrs-pp-text);
}

.single-sp_staff .elementor-widget-theme-post-content strong,
.single-sp_staff .elementor-widget-theme-post-content b {
    color: var(--gbrs-pp-green) !important;
}

/* Título del bloque de unidad: el tema lo deja en gris; lo devolvemos al verde
   de marca sin tocar el de las fichas de jugador. */
.gbrs-coach-unit .gbrs-player-teammates__title {
    color: var(--gbrs-pp-green);
}

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

@media (max-width: 900px) {
    .gbrs-coach-header {
        grid-template-columns: 1fr;
        padding-left: 24px;
        padding-right: 24px;
    }

    /* La regla de 300 px es más específica que la del módulo de jugador y se
       llevaría por delante los tamaños de móvil: hay que repetirlos aquí. */
    .gbrs-coach-header .gbrs-player-header__photo img {
        width: 220px;
    }

    .gbrs-coach-record {
        padding: 28px 24px;
    }

    .gbrs-coach-record .gbrs-coach-record__title {
        font-size: 1.6rem;
        margin-bottom: 22px;
    }

    .gbrs-coach-record__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .gbrs-coach-record__value {
        font-size: 2.25rem;
    }

    .gbrs-teammate-card__role {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    .gbrs-coach-header {
        padding-left: 20px;
        padding-right: 20px;
    }

    .gbrs-coach-header .gbrs-player-header__photo img {
        width: 200px;
    }

    .gbrs-coach-header__roles {
        justify-content: center;
    }

    .gbrs-coach-record {
        padding: 24px 16px;
    }

    .gbrs-coach-record .gbrs-coach-record__title {
        font-size: 1.35rem;
    }

    .gbrs-coach-record__grid {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }

    .gbrs-coach-record__item {
        padding: 16px 8px;
    }

    .gbrs-coach-record__value {
        font-size: 1.9rem;
    }

    .gbrs-coach-record__label {
        font-size: 0.75rem;
    }

    .gbrs-teammate-card__role {
        font-size: 0.85rem;
    }
}
