/*
 * GB Packers · Roster Sync — Calendario de temporada [gbrs_schedule]
 * Archivo: assets/season-schedule.css
 *
 * Mantiene la estética del [event_blocks] de SportsPress al que sustituye
 * —cartelas claras apiladas, fecha arriba, escudos a los lados, hora o
 * marcador en el centro y estadio debajo— y añade la fila de botones de
 * previa / box score / crónica.
 *
 * Paleta: verde #10301f · dorado #f9b45b · texto #212121 · apagado #797e87
 */

.gbrs-schedule {
    --gbrs-sch-green: #10301f;
    --gbrs-sch-gold:  #f9b45b;
    --gbrs-sch-text:  #212121;
    --gbrs-sch-muted: #797e87;
    --gbrs-sch-line:  #e6e6e6;

    /* Tamaños en variables: la base es la de escritorio y las media queries
       de abajo solo las redefinen. Así se ajusta el cuerpo de un vistazo sin
       perseguir el mismo valor por tres sitios. La hora de kickoff va aparte
       del marcador a propósito: al agrandar los textos en 1.9.1 el marcador
       creció y la hora se quedó como estaba. */
    --gbrs-sch-logo:    96px;
    --gbrs-sch-meta:    0.95rem;   /* fecha y estadio */
    --gbrs-sch-name:    0.9rem;    /* nombre del equipo bajo el escudo */
    --gbrs-sch-time:    2.6rem;
    --gbrs-sch-score:   3.1rem;
    --gbrs-sch-btn:     0.86rem;
    --gbrs-sch-btn-pad: 0.72rem 1.5rem;

    max-width: 1110px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    font-family: "Poppins", sans-serif;
    color: var(--gbrs-sch-text);
}

/* ── Cartela de partido ──────────────────────────────────────────────── */

.gbrs-schedule__game {
    position: relative;
    padding: 20px 25px 22px;
    border-bottom: 1px solid var(--gbrs-sch-line);
}

.gbrs-schedule__game:last-child {
    border-bottom: 0;
}

/* Próximo partido: franja dorada a la izquierda y fondo apenas teñido */
.gbrs-schedule__game--next {
    background: rgba(249, 180, 91, 0.07);
    box-shadow: inset 3px 0 0 var(--gbrs-sch-gold);
}

.gbrs-schedule__date {
    margin: 0 0 10px;
    text-align: center;
    font-size: var(--gbrs-sch-meta);
    line-height: 1.4;
    color: var(--gbrs-sch-text);
}

.gbrs-schedule__week {
    font-family: "UltimatumBold", "Poppins", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gbrs-sch-green);
}

.gbrs-schedule__sep {
    margin: 0 0.4em;
    color: var(--gbrs-sch-muted);
}

/* Fecha larga en escritorio, corta (10/06/2026) en móvil: el HTML lleva las
   dos y aquí se elige, para que funcione también con la página cacheada. */
.gbrs-schedule__date-short {
    display: none;
}

/* ── Fila escudo · centro · escudo ───────────────────────────────────── */

.gbrs-schedule__match {
    display: grid;
    grid-template-columns: 1fr minmax(0, 2fr) 1fr;
    align-items: center;
    gap: 16px;
}

.gbrs-schedule__team {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;
}

.gbrs-schedule__logo {
    width: var(--gbrs-sch-logo);
    height: var(--gbrs-sch-logo);
    object-fit: contain;
}

.gbrs-schedule__abbr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--gbrs-sch-logo);
    height: var(--gbrs-sch-logo);
    font-family: "UltimatumBold", "Poppins", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    color: var(--gbrs-sch-green);
}

/* El nombre corto bajo el escudo ayuda a identificar al rival de un vistazo;
   en el bloque de SportsPress solo estaba en el title del logo. */
.gbrs-schedule__team-name {
    font-size: var(--gbrs-sch-name);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gbrs-sch-muted);
    text-align: center;
}

.gbrs-schedule__team--gb .gbrs-schedule__team-name {
    color: var(--gbrs-sch-green);
    font-weight: 600;
}

.gbrs-schedule__center {
    text-align: center;
    min-width: 0;
}

.gbrs-schedule__time,
.gbrs-schedule__score {
    margin: 0;
    font-family: "UltimatumBold", "Poppins", sans-serif;
    font-weight: normal;
    line-height: 1.1;
    color: var(--gbrs-sch-green);
    font-variant-numeric: tabular-nums;
}

.gbrs-schedule__time  { font-size: var(--gbrs-sch-time); }
.gbrs-schedule__score { font-size: var(--gbrs-sch-score); }

.gbrs-schedule__score-dash {
    margin: 0 0.25em;
    color: var(--gbrs-sch-muted);
}

/* El marcador del perdedor se atenúa: dice quién ganó sin añadir etiquetas */
.gbrs-schedule__score-num.is-loser {
    color: var(--gbrs-sch-muted);
}

.gbrs-schedule__venue {
    margin: 6px 0 0;
    font-size: var(--gbrs-sch-meta);
    line-height: 1.3;
    color: var(--gbrs-sch-muted);
}

/* ── Botones de contenido ────────────────────────────────────────────── */

.gbrs-schedule__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

.gbrs-schedule .gbrs-schedule__btn,
.gbrs-schedule .gbrs-schedule__btn:link,
.gbrs-schedule .gbrs-schedule__btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* border-box es imprescindible por el width:100% de móvil: con
       content-box el padding lateral sacaba los botones fuera de la cartela. */
    box-sizing: border-box;
    padding: var(--gbrs-sch-btn-pad);
    font-family: "UltimatumBold", "Poppins", sans-serif;
    font-weight: normal;
    font-size: var(--gbrs-sch-btn);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    border: 1px solid var(--gbrs-sch-green);
    background: transparent;
    color: var(--gbrs-sch-green);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.gbrs-schedule .gbrs-schedule__btn:hover,
.gbrs-schedule .gbrs-schedule__btn:focus-visible {
    background: var(--gbrs-sch-green);
    color: #ffffff;
    transform: translateY(-1px);
}

/* La crónica es el contenido final del partido: botón sólido, como en
   [gbrs_last_game], para que sea el que más pesa de los tres. */
.gbrs-schedule .gbrs-schedule__btn--chronicle,
.gbrs-schedule .gbrs-schedule__btn--chronicle:link,
.gbrs-schedule .gbrs-schedule__btn--chronicle:visited {
    background: var(--gbrs-sch-green);
    color: #ffffff;
}

.gbrs-schedule .gbrs-schedule__btn--chronicle:hover,
.gbrs-schedule .gbrs-schedule__btn--chronicle:focus-visible {
    background: var(--gbrs-sch-gold);
    color: var(--gbrs-sch-green);
}

@media (prefers-reduced-motion: reduce) {
    .gbrs-schedule .gbrs-schedule__btn:hover,
    .gbrs-schedule .gbrs-schedule__btn:focus-visible {
        transform: none;
    }
}

/* ── Responsive ──────────────────────────────────────────────────────── */

/* Móvil y tablet se quedan con los tamaños de 1.9.0: el encargo era agrandar
   solo escritorio. */
@media (max-width: 782px) {
    .gbrs-schedule {
        --gbrs-sch-logo:    58px;
        --gbrs-sch-meta:    0.82rem;
        --gbrs-sch-name:    0.78rem;
        --gbrs-sch-time:    2rem;
        --gbrs-sch-score:   2rem;
        --gbrs-sch-btn:     0.78rem;
        --gbrs-sch-btn-pad: 0.6rem 1.3rem;
    }

    .gbrs-schedule__game {
        padding: 18px 16px 20px;
    }

    .gbrs-schedule__abbr {
        font-size: 1.4rem;
    }
}

/* Fecha corta: por debajo de este ancho, "13 de septiembre de 2026" empuja el
   rótulo de la jornada a una segunda línea. Si quieres el cambio antes o
   después, este es el único número que hay que mover. */
@media (max-width: 600px) {
    .gbrs-schedule__date-long  { display: none; }
    .gbrs-schedule__date-short { display: inline; }
}

@media (max-width: 520px) {
    .gbrs-schedule {
        --gbrs-sch-logo:  46px;
        --gbrs-sch-meta:  0.74rem;
        --gbrs-sch-name:  0.68rem;
        --gbrs-sch-time:  1.6rem;
        --gbrs-sch-score: 1.6rem;
    }

    .gbrs-schedule__match {
        gap: 8px;
    }

    .gbrs-schedule__team-name {
        letter-spacing: 0.03em;
    }

    /* Botones a ancho completo en columna: a esta anchura tres pastillas
       en fila quedan ilegibles. */
    .gbrs-schedule__actions {
        flex-direction: column;
        gap: 8px;
    }

    .gbrs-schedule .gbrs-schedule__btn {
        width: 100%;
    }
}

/* ── Overrides del tema Gridiron ─────────────────────────────────────── */

/* El tema pinta los enlaces del contenido con su propio color y subrayado
   en hover; los botones tienen que mandar sobre eso. */
.gbrs-schedule a.gbrs-schedule__btn {
    text-decoration: none !important;
    box-shadow: none !important;
}

.gbrs-schedule p {
    margin-bottom: 0;
}


/* ── Variante verde: variant="green" ─────────────────────────────────────
   Cada partido en su propia tarjeta verde, con el mismo lenguaje visual que
   [gbrs_player_card variant="green"] y el roster: franja dorada a la
   izquierda, esquinas redondeadas y sombra suave.

   Los colores se redefinen en la propia cartela (no en el contenedor) para
   que las variables de tamaño de arriba sigan valiendo tal cual y no haya
   que duplicar las media queries. --gbrs-sch-green pasa a blanco porque es
   la variable que usan hora, marcador y abreviatura del equipo.

   Los escudos van sueltos sobre el verde, sin disco ni contorno (decisión de
   diseño del 17-09-2026). Los escudos oscuros — Jets sobre todo, y en menor
   medida Cowboys y Panthers — pierden contraste; si algún día molesta, la
   solución probada es `filter: drop-shadow(0 0 1px #fff)` repetido tres
   veces sobre .gbrs-schedule__logo.
────────────────────────────────────────────────────────────────────────── */

.gbrs-schedule--green {
    background: transparent;
    overflow: visible;
}

.gbrs-schedule--green .gbrs-schedule__game {
    --gbrs-sch-green: #ffffff;              /* hora, marcador y abreviatura */
    --gbrs-sch-text:  #ffffff;
    --gbrs-sch-muted: rgba(255, 255, 255, 0.62);

    margin: 0 0 14px;
    padding: 22px 26px 24px;
    background: #10301f;
    color: #ffffff;
    border: 0;
    border-left: 5px solid var(--gbrs-sch-gold);
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(16, 48, 31, 0.18);
}

.gbrs-schedule--green .gbrs-schedule__game:last-child {
    margin-bottom: 0;
}

/* Próximo partido: verde algo más claro y sombra mayor, en vez de la franja
   dorada + fondo teñido de la variante clara (aquí la franja ya es dorada). */
.gbrs-schedule--green .gbrs-schedule__game--next {
    background: #15412a;
    box-shadow: 0 6px 20px rgba(16, 48, 31, 0.28);
}

.gbrs-schedule--green .gbrs-schedule__week {
    color: var(--gbrs-sch-gold);
}

.gbrs-schedule--green .gbrs-schedule__date {
    color: rgba(255, 255, 255, 0.85);
}

.gbrs-schedule--green .gbrs-schedule__team--gb .gbrs-schedule__team-name {
    color: var(--gbrs-sch-gold);
}

.gbrs-schedule--green .gbrs-schedule__score-num.is-loser,
.gbrs-schedule--green .gbrs-schedule__score-dash {
    color: rgba(255, 255, 255, 0.45);
}

/* Botones: dorado sobre verde */
.gbrs-schedule--green .gbrs-schedule__btn,
.gbrs-schedule--green .gbrs-schedule__btn:link,
.gbrs-schedule--green .gbrs-schedule__btn:visited {
    background: transparent;
    border-color: rgba(249, 180, 91, 0.8);
    color: var(--gbrs-sch-gold);
}

.gbrs-schedule--green .gbrs-schedule__btn:hover,
.gbrs-schedule--green .gbrs-schedule__btn:focus-visible {
    background: var(--gbrs-sch-gold);
    color: #10301f;
}

.gbrs-schedule--green .gbrs-schedule__btn--chronicle,
.gbrs-schedule--green .gbrs-schedule__btn--chronicle:link,
.gbrs-schedule--green .gbrs-schedule__btn--chronicle:visited {
    background: var(--gbrs-sch-gold);
    border-color: var(--gbrs-sch-gold);
    color: #10301f;
}

.gbrs-schedule--green .gbrs-schedule__btn--chronicle:hover,
.gbrs-schedule--green .gbrs-schedule__btn--chronicle:focus-visible {
    background: #ffffff;
    border-color: #ffffff;
    color: #10301f;
}

@media (max-width: 782px) {
    .gbrs-schedule--green .gbrs-schedule__game {
        margin-bottom: 10px;
        padding: 18px 16px 20px;
    }
}
