/* ════════════════════════════════════════════════════════════════════════
   MUNDIAL 2026 — Dashboard page styles
   Sobrio + consistente con el home dashboard. Usa tokens SSSD pero
   contenido editorial. Press Start 2P sólo para títulos y números chic.
   ════════════════════════════════════════════════════════════════════════ */

.bd-mun {
    max-width: var(--container-max, 1400px);
    margin: 0 auto;
    padding: 1.2rem var(--container-pad, 1.5rem) 3rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* ════════ HERO compacto cobalt + tabs unidos como una sola card ════════ */
/* Countdown — variantes según faltan días */
.bd-mun-countdown-num-word {
    font-family: var(--display, 'Press Start 2P');
    font-size: 1.4rem;
    color: var(--sss-yellow, #FFDC1F);
    text-shadow: 3px 3px 0 var(--sss-pink-d, #C7137A);
    letter-spacing: 2px;
    align-self: stretch;
    display: flex;
    align-items: center;
    padding: 0.4rem 1rem;
    background: linear-gradient(135deg, var(--sss-cobalt-d), var(--sss-cobalt));
    border-right: 3px solid var(--sss-yellow, #FFDC1F);
}
.bd-mun-countdown-today,
.bd-mun-countdown-soon {
    border-color: var(--sss-yellow, #FFDC1F);
    box-shadow: 0 0 0 3px rgba(255,220,31,0.3);
}
.bd-mun-countdown-today .bd-mun-countdown-num-word {
    animation: bd-pulse 2s infinite;
}
@keyframes bd-pulse {
    0%, 100% { background: linear-gradient(135deg, var(--sss-cobalt-d), var(--sss-cobalt)); }
    50%      { background: linear-gradient(135deg, var(--sss-pink-d), var(--sss-pink)); }
}

.bd-mun-hero {
    background:
        radial-gradient(ellipse at 20% 0%, rgba(255, 220, 31, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 100%, rgba(255, 79, 203, 0.18) 0%, transparent 50%),
        linear-gradient(135deg, var(--sss-cobalt-d, #0D1F6B) 0%, var(--sss-cobalt, #1939B7) 100%);
    border: 3px solid var(--line);
    border-bottom: none;                          /* unido a la nav */
    border-radius: var(--radius-sm, 6px) var(--radius-sm, 6px) 0 0;
    /* SIN sombras laterales feas. Sombra solo abajo, sutil. */
    box-shadow: none;
    padding: 0.7rem 1.2rem;                       /* aún más bajo */
    position: relative;
    overflow: hidden;
}
/* Tabs pegados al hero como una sola card */
.bd-mun-hero + .bd-mun-tabs {
    margin-top: -1rem;                /* anula el gap del flex parent */
    border: 3px solid var(--line);
    border-radius: 0 0 var(--radius-sm, 6px) var(--radius-sm, 6px);
    /* Sombra única envuelve hero+tabs */
    box-shadow: 3px 3px 0 var(--line);
}
.bd-mun-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(0deg,
            transparent 0, transparent 35px,
            rgba(255, 255, 255, 0.025) 35px, rgba(255, 255, 255, 0.025) 36px);
    pointer-events: none;
}
.bd-mun-hero-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1.2rem;
    align-items: center;
    position: relative;
    z-index: 1;
}
.bd-mun-hero-eyebrow {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-yellow, #FFDC1F);
    letter-spacing: 0.15em;
    margin-bottom: 0.35rem;
    display: inline-block;
}
.bd-mun-hero-title {
    font-family: var(--display);
    font-size: clamp(1.2rem, 2.8vw, 1.7rem);
    color: #fff;
    margin: 0 0 0.4rem;
    letter-spacing: 0.04em;
    line-height: 1;
    text-shadow:
        2px 2px 0 var(--sss-pink-d, #C7137A),
        4px 4px 0 var(--line);
}
.bd-mun-hero-year {
    color: var(--sss-yellow, #FFDC1F);
    text-shadow:
        2px 2px 0 var(--sss-pink-d, #C7137A),
        4px 4px 0 var(--line);
}
.bd-mun-hero-sub {
    font-family: var(--mono);
    font-size: 0.85rem;
    color: var(--sss-ice, #E8F1FF);
    margin: 0;
    line-height: 1.35;
    max-width: 700px;
}

/* ─── Countdown compacto: número estira todo el alto + info apilada derecha ─── */
.bd-mun-countdown {
    background: var(--sss-yellow, #FFDC1F);
    border: 2.5px solid var(--line);
    box-shadow: 2px 2px 0 var(--line);
    padding: 0.4rem 0.7rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.6rem;
    align-items: stretch;                     /* num ocupa todo el alto */
    min-width: 0;
    max-width: 320px;
}
.bd-mun-countdown-num {
    font-family: var(--display);
    font-size: 2.2rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    line-height: 1;
    text-shadow: 2px 2px 0 rgba(255,255,255,0.4);
    padding-right: 0.6rem;
    border-right: 3px dashed rgba(13, 31, 107, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5em;
}
.bd-mun-countdown-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
    min-width: 0;
}
.bd-mun-countdown-lbl {
    font-family: var(--display);
    font-size: 0.48rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    letter-spacing: 0.08em;
    line-height: 1.2;
}
.bd-mun-countdown-sub {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--sss-pink-d, #C7137A);
    font-weight: 700;
    line-height: 1.1;
}
.bd-mun-countdown-venue {
    font-family: var(--mono);
    font-size: 0.62rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    opacity: 0.75;
    line-height: 1.1;
}
.bd-mun-countdown-live {
    background: var(--sss-pink-d, #C7137A);
    color: #fff;
}
.bd-mun-countdown-live .bd-mun-countdown-num,
.bd-mun-countdown-live .bd-mun-countdown-lbl { color: #fff; }

/* ════════ TABS NAVIGATION (sticky, unidos al hero, sin emojis) ════════ */
.bd-mun-tabs {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth-sm);
    overflow: hidden;
}
.bd-mun-tabs-inner {
    display: flex;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: thin;
}
.bd-mun-tabs-inner::-webkit-scrollbar { height: 4px; }
.bd-mun-tabs-inner::-webkit-scrollbar-thumb { background: var(--sss-pink, #FF4FCB); }
.bd-mun-tab {
    flex: 1;
    min-width: 90px;
    padding: 0.7rem 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: var(--ink-soft, #555);
    border-right: 2px solid var(--line-soft, rgba(0,0,0,0.1));
    transition: background 0.1s, color 0.1s;
    text-align: center;
    line-height: 1;
    white-space: nowrap;
}
.bd-mun-tab:last-child { border-right: none; }
body.bd-dark .bd-mun-tab { color: var(--sss-cyan); border-right-color: rgba(255, 220, 31, 0.2); }
.bd-mun-tab:hover {
    background: rgba(255, 220, 31, 0.12);
    color: var(--ink);
}
body.bd-dark .bd-mun-tab:hover { color: var(--sss-yellow); background: rgba(255, 220, 31, 0.1); }
.bd-mun-tab-label {
    font-family: var(--display);
    font-size: 0.68rem;
    letter-spacing: 0.05em;
}
/* Tab activo: misma placa SSSD que "Mundial 2026" del header */
.bd-mun-tab-active {
    background: linear-gradient(180deg,
                var(--sss-cobalt, #1939B7) 0%,
                var(--sss-cobalt-d, #0D1F6B) 100%);
    color: var(--sss-yellow, #FFDC1F) !important;
    border-right-color: var(--line);
    box-shadow:
        inset 0 1px 0 rgba(255, 220, 31, 0.4),
        inset 0 -2px 0 rgba(0, 0, 0, 0.3);
}
.bd-mun-tab-active:hover {
    background: linear-gradient(180deg,
                var(--sss-cobalt, #1939B7) 0%,
                var(--sss-cobalt-d, #0D1F6B) 100%);
    color: var(--sss-yellow, #FFDC1F) !important;
}
.bd-mun-tab-active .bd-mun-tab-label {
    text-shadow: 1.5px 1.5px 0 var(--sss-pink-d, #C7137A);
}

/* ════════ KPIs strip — anchos asimétricos: 1=más ancho ("0/104"),
   2=más angosto ("0"), 3=normal ("0.00"), 4=ancho ("UEFA · 0") ════════ */
.bd-mun-kpis {
    display: grid;
    grid-template-columns: 1.1fr 0.7fr 1.1fr 1.4fr;
    gap: 0.8rem;
}
/* Variante alineada al row-grid (2fr 1fr) — Concacaf ocupa el mismo ancho que Stats */
.bd-mun-kpis-aligned {
    grid-template-columns: 2fr 1fr;
    gap: 0.7rem;
}
.bd-mun-kpis-left {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1.6fr;
    gap: 0.7rem;
}
.bd-mun-kpi {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    padding: 0.6rem 0.9rem;                       /* MÁS BAJO */
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.7rem;
    align-items: center;
    border-left: 5px solid var(--sss-pink);
    min-height: 0;
}
.bd-mun-kpi:nth-child(1) { border-left-color: var(--sss-pink-d); }
.bd-mun-kpi:nth-child(2) { border-left-color: var(--sss-yellow-d); }
.bd-mun-kpi:nth-child(3) { border-left-color: var(--sss-cobalt); }
.bd-mun-kpi:nth-child(4) { border-left-color: var(--sss-cyan); }
.bd-mun-kpi-val {
    font-family: var(--display);
    font-size: 1.35rem;
    color: var(--ink);
    line-height: 1;
    letter-spacing: 0.02em;
    padding-right: 0.7rem;
    border-right: 3px dashed var(--line-soft, rgba(0,0,0,0.12));
    white-space: nowrap;
}
body.bd-dark .bd-mun-kpi-val {
    color: var(--sss-yellow);
    border-right-color: rgba(255, 220, 31, 0.2);
}
.bd-mun-kpi-lbl {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #555);
    line-height: 1.25;
    font-weight: 600;
}
body.bd-dark .bd-mun-kpi-lbl { color: var(--sss-cyan); }

/* ════════ Card base (dashboard style — sombras reducidas) ════════ */
.bd-mun-card {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: 3px 3px 0 var(--line);
    padding: 0.9rem 1.1rem 1.1rem;
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bd-mun-card-h {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding-bottom: 0.6rem;
    margin-bottom: 0.9rem;
    border-bottom: 3px solid var(--line);
    gap: 0.6rem;
    flex-wrap: wrap;
}
.bd-mun-card-h h2 {
    font-family: var(--display);
    font-size: 0.85rem;
    margin: 0;
    color: var(--ink);
    letter-spacing: 0.04em;
}
body.bd-dark .bd-mun-card-h h2 { color: var(--sss-yellow); }
.bd-mun-card-h-meta {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--ink-soft, #888);
    font-weight: 500;
}
.bd-mun-card-h-link {
    font-family: var(--display);
    font-size: 0.55rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    border: 2px solid var(--line);
    box-shadow: 2px 2px 0 var(--line);
    padding: 0.4rem 0.8rem;
    text-decoration: none;
    letter-spacing: 0.1em;
}
.bd-mun-card-h-link:hover {
    transform: translate(-1px, -1px);
    box-shadow: 3px 3px 0 var(--line);
}

/* ════════ Layouts de rows ════════ */
.bd-mun-row {
    display: grid;
    gap: 1rem;
    align-items: stretch;
}
.bd-mun-row-2-1 { grid-template-columns: 2fr 1fr; }
.bd-mun-row-1-1 { grid-template-columns: 1fr 1fr; }

/* ════════ Tabla próximos partidos ════════ */
.bd-mun-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--mono);
}
.bd-mun-table thead {
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
}
.bd-mun-table th {
    padding: 0.5rem 0.7rem;
    text-align: left;
    font-family: var(--display);
    font-size: 0.55rem;
    letter-spacing: 0.1em;
}
.bd-mun-table td {
    padding: 0.55rem 0.7rem;
    border-bottom: 1px solid var(--line-soft, rgba(0,0,0,0.08));
    font-size: 0.85rem;
    vertical-align: middle;
}
.bd-mun-table tr:last-child td { border-bottom: none; }
.bd-mun-table tbody tr:hover { background: rgba(255, 220, 31, 0.06); }
body.bd-dark .bd-mun-table td { color: var(--sss-ice); border-bottom-color: rgba(255, 220, 31, 0.15); }

/* Row EN VIVO — fila destacada */
.bd-mun-table tr.is-live { background: linear-gradient(90deg, rgba(255, 79, 203, 0.10) 0%, transparent 70%); }
.bd-mun-table tr.is-live:hover { background: linear-gradient(90deg, rgba(255, 79, 203, 0.18) 0%, rgba(255, 79, 203, 0.04) 80%); }
.bd-mun-live-pill {
    display: inline-block;
    padding: 0.18rem 0.5rem;
    background: var(--sss-pink, #FF4FCB);
    color: #fff;
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    border-radius: 2px;
    animation: bd-mun-live-pulse 1.4s ease-in-out infinite;
}
.bd-mun-score-live {
    color: var(--sss-cobalt, #1939B7) !important;
    font-family: var(--display);
    font-weight: 800;
    background: var(--sss-yellow, #FFDC1F);
    padding: 0.1rem 0.45rem;
    border-radius: 2px;
}
@keyframes bd-mun-live-pulse {
    0%, 100% { opacity: 1; }
    50%      { opacity: 0.7; }
}
.bd-mun-table-day {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #666);
    white-space: nowrap;
}
.bd-mun-table-time {
    font-family: var(--mono);
    font-size: 0.85rem;
    color: var(--sss-pink-d, #C7137A);
    font-weight: 700;
    white-space: nowrap;
}
body.bd-dark .bd-mun-table-time { color: var(--sss-yellow); }
.bd-mun-table-match {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.6rem;
}
.bd-mun-tm {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    min-width: 0;
}
.bd-mun-tm-home { justify-content: flex-end; }
.bd-mun-tm-away { justify-content: flex-start; }
.bd-mun-tm strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-mun-tm img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}
.bd-mun-vs {
    font-family: var(--display);
    font-size: 0.6rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.08em;
    padding: 0 0.3rem;
}
body.bd-dark .bd-mun-vs { color: var(--sss-yellow); }
.bd-mun-table-venue {
    font-size: 0.78rem;
    color: var(--ink-soft, #777);
    font-family: var(--mono);
}

/* ════════ Estadios (lista venues) ════════ */
.bd-mun-venues-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.bd-mun-venues-list li {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.3rem 0.6rem;
    align-items: center;
    padding: 0.5rem 0.6rem;
    background: rgba(25, 57, 183, 0.04);
    border-left: 3px solid var(--sss-pink-d, #C7137A);
    border-radius: 0 3px 3px 0;
}
.bd-mun-venue-name {
    font-family: var(--mono);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--ink);
    grid-column: 1;
}
body.bd-dark .bd-mun-venue-name { color: var(--sss-yellow); }
.bd-mun-venue-city {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    grid-column: 1;
    grid-row: 2;
}
body.bd-dark .bd-mun-venue-city { color: var(--sss-cyan); }
.bd-mun-venue-count {
    font-family: var(--display);
    font-size: 0.7rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 4px 8px;
    border: 1.5px solid var(--line);
    grid-row: 1 / span 2;
    align-self: center;
    letter-spacing: 0.05em;
}

/* ════════ Confederations grid (la ORIGINAL stat) ════════ */
.bd-mun-confed-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}
.bd-mun-confed {
    background: linear-gradient(135deg,
        rgba(25, 57, 183, 0.04) 0%,
        rgba(255, 220, 31, 0.06) 100%);
    border: 2.5px solid var(--line);
    border-radius: 4px;
    padding: 0.8rem 1rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
body.bd-dark .bd-mun-confed {
    background: linear-gradient(135deg,
        rgba(255, 220, 31, 0.05) 0%,
        rgba(255, 79, 203, 0.08) 100%);
}
.bd-mun-confed-h {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}
.bd-mun-confed-flag { font-size: 1.3rem; line-height: 1; }
.bd-mun-confed-name {
    font-family: var(--display);
    font-size: 0.8rem;
    color: var(--ink);
    letter-spacing: 0.04em;
}
body.bd-dark .bd-mun-confed-name { color: var(--sss-yellow); }
.bd-mun-confed-region {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--ink-soft, #777);
    font-weight: 500;
}
body.bd-dark .bd-mun-confed-region { color: var(--sss-cyan); }

.bd-mun-confed-bar {
    position: relative;
    height: 24px;
    background: rgba(0, 0, 0, 0.08);
    border: 2px solid var(--line);
    border-radius: 2px;
    overflow: hidden;
}
body.bd-dark .bd-mun-confed-bar { background: rgba(255, 255, 255, 0.08); }
.bd-mun-confed-bar-fill {
    height: 100%;
    background: linear-gradient(90deg,
        var(--sss-yellow, #FFDC1F) 0%,
        var(--sss-pink, #FF4FCB) 100%);
    transition: width 0.6s ease;
    min-width: 4px;
}
.bd-mun-confed-bar-val {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    font-family: var(--display);
    font-size: 0.65rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.5);
    letter-spacing: 0.05em;
}
.bd-mun-confed-stats {
    display: flex;
    gap: 0.7rem;
    flex-wrap: wrap;
    padding-top: 0.3rem;
    border-top: 1px dashed var(--line-soft, rgba(0,0,0,0.1));
}
body.bd-dark .bd-mun-confed-stats { border-top-color: rgba(255, 220, 31, 0.2); }
.bd-mun-confed-stats span {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #666);
    white-space: nowrap;
}
.bd-mun-confed-stats strong {
    font-family: var(--display);
    font-size: 0.75rem;
    color: var(--sss-pink-d, #C7137A);
    margin-right: 2px;
}
body.bd-dark .bd-mun-confed-stats span { color: var(--sss-ice); }
body.bd-dark .bd-mun-confed-stats strong { color: var(--sss-yellow); }

/* ════════ Goleadores card ════════ */
.bd-mun-scorers-list,
.bd-mun-topteams-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.bd-mun-scorers-list li {
    display: grid;
    grid-template-columns: 28px 38px 1fr auto auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.4rem 0.5rem;
    background: rgba(25, 57, 183, 0.03);
    border-left: 3px solid var(--sss-pink, #FF4FCB);
    border-radius: 0 3px 3px 0;
}
.bd-mun-scorers-list li:nth-child(1) { border-left-color: var(--sss-yellow-d); }
.bd-mun-scorers-list li:nth-child(2) { border-left-color: var(--sss-pink-d); }
.bd-mun-scorers-list li:nth-child(3) { border-left-color: var(--sss-cyan); }
.bd-mun-scorer-pos {
    font-family: var(--display);
    font-size: 0.85rem;
    color: var(--sss-pink-d, #C7137A);
    text-align: center;
}
body.bd-dark .bd-mun-scorer-pos { color: var(--sss-yellow); }
.bd-mun-scorer-photo {
    width: 38px;
    height: 38px;
    object-fit: cover;
    object-position: center top;
    border-radius: 50%;
    border: 2px solid var(--line);
    background: #fff;
}
.bd-mun-scorer-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}
.bd-mun-scorer-name {
    font-family: var(--mono);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--ink);
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.bd-dark .bd-mun-scorer-name { color: var(--sss-ice); }
.bd-mun-scorer-team {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    display: flex;
    align-items: center;
    gap: 0.3rem;
}
.bd-mun-scorer-team img { width: 14px; height: 14px; object-fit: contain; }
.bd-mun-scorer-g,
.bd-mun-scorer-a {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #777);
    white-space: nowrap;
}
.bd-mun-scorer-g strong,
.bd-mun-scorer-a strong {
    font-family: var(--display);
    font-size: 0.85rem;
    margin-right: 2px;
}
.bd-mun-scorer-g strong { color: var(--sss-pink-d, #C7137A); }
.bd-mun-scorer-a strong { color: var(--sss-cobalt, #1939B7); }
body.bd-dark .bd-mun-scorer-g strong { color: var(--sss-yellow); }
body.bd-dark .bd-mun-scorer-a strong { color: var(--sss-cyan); }

/* ════════ Top selecciones ════════ */
.bd-mun-topteams-list li {
    display: grid;
    grid-template-columns: 28px 28px 1fr auto auto auto auto;
    gap: 0.5rem;
    align-items: center;
    padding: 0.5rem 0.5rem;
    background: rgba(25, 57, 183, 0.03);
    border-left: 3px solid var(--sss-cobalt, #1939B7);
    border-radius: 0 3px 3px 0;
}
.bd-mun-topteams-list li:nth-child(1) { border-left-color: var(--sss-yellow-d); }
.bd-mun-topteams-list li:nth-child(2) { border-left-color: var(--sss-pink-d); }
.bd-mun-topteams-list li:nth-child(3) { border-left-color: var(--sss-cyan); }
.bd-mun-tt-pos {
    font-family: var(--display);
    font-size: 0.8rem;
    color: var(--sss-pink-d, #C7137A);
    text-align: center;
}
body.bd-dark .bd-mun-tt-pos { color: var(--sss-yellow); }
.bd-mun-topteams-list img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}
.bd-mun-tt-name {
    font-family: var(--mono);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.bd-dark .bd-mun-tt-name { color: var(--sss-ice); }
.bd-mun-tt-group {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    font-weight: 500;
}
.bd-mun-tt-stat {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #666);
    white-space: nowrap;
}
.bd-mun-tt-stat strong {
    font-family: var(--display);
    font-size: 0.75rem;
    color: var(--ink);
    margin-right: 2px;
}
body.bd-dark .bd-mun-tt-stat strong { color: var(--sss-yellow); }
.bd-mun-tt-pts {
    font-family: var(--display);
    font-size: 0.95rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 4px 9px;
    border: 1.5px solid var(--line);
    letter-spacing: 0.04em;
    min-width: 32px;
    text-align: center;
}

/* ════════ Grupos completos (12 cards) ════════ */
.bd-mun-groups-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 0.9rem;
}
.bd-mun-group {
    background: rgba(255, 255, 255, 0.6);
    border: 3px solid var(--line);
    border-radius: 4px;
    overflow: hidden;
}
body.bd-dark .bd-mun-group { background: rgba(13, 31, 107, 0.45); }
.bd-mun-group h3 {
    font-family: var(--display);
    font-size: 0.68rem;
    margin: 0;
    padding: 0.55rem 0.7rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: #fff;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.bd-mun-group-letter {
    color: var(--sss-yellow, #FFDC1F);
    text-shadow: 1.5px 1.5px 0 var(--sss-pink-d, #C7137A);
}
.bd-mun-group table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--mono);
}
.bd-mun-group thead {
    background: rgba(0, 0, 0, 0.06);
}
body.bd-dark .bd-mun-group thead { background: rgba(255, 255, 255, 0.05); }
.bd-mun-group th {
    padding: 0.35rem 0.5rem;
    text-align: center;
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--ink-soft, #666);
    letter-spacing: 0.06em;
    border-bottom: 2px solid var(--line);
}
body.bd-dark .bd-mun-group th { color: var(--sss-cyan); }
.bd-mun-group th:nth-child(2) { text-align: left; }
.bd-mun-group td {
    padding: 0.4rem 0.5rem;
    text-align: center;
    border-bottom: 1px solid var(--line-soft, rgba(0,0,0,0.08));
    font-size: 0.78rem;
    color: var(--ink);
}
body.bd-dark .bd-mun-group td { color: var(--sss-ice); border-bottom-color: rgba(255, 220, 31, 0.12); }
.bd-mun-group tbody tr:last-child td { border-bottom: none; }
.bd-mun-g-pos {
    font-family: var(--display);
    font-size: 0.7rem;
    color: var(--ink-soft, #999);
}
.bd-mun-g-team {
    text-align: left !important;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    font-size: 0.75rem !important;
}
.bd-mun-g-team img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex-shrink: 0;
}
.bd-mun-g-pts {
    font-family: var(--display);
    font-size: 0.75rem;
    color: var(--sss-pink-d, #C7137A);
}
body.bd-dark .bd-mun-g-pts { color: var(--sss-yellow); }

/* ════════ Noticias grid 4 cards ════════ */
.bd-mun-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}
.bd-mun-news-card {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    overflow: hidden;
    text-decoration: none;
    color: var(--ink);
    transition: transform 0.12s, box-shadow 0.12s;
    display: flex;
    flex-direction: column;
}
.bd-mun-news-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--depth);
}
.bd-mun-news-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
    background-color: var(--sss-cobalt-d, #0D1F6B);
    border-bottom: 3px solid var(--line);
    display: block;
}
.bd-mun-news-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--sss-yellow, #FFDC1F);
}
.bd-mun-news-body {
    padding: 0.7rem 0.85rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.bd-mun-news-cat {
    font-family: var(--display);
    font-size: 0.48rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 3px 6px;
    border: 1.5px solid var(--line);
    align-self: flex-start;
    letter-spacing: 0.08em;
}
.bd-mun-news-title {
    font-family: var(--mono);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ink);
}
body.bd-dark .bd-mun-news-title { color: var(--sss-ice); }
.bd-mun-news-time {
    font-family: var(--mono);
    font-size: 0.68rem;
    color: var(--ink-soft, #888);
}

/* ════════ Footer metadata ════════ */
.bd-mun-meta {
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 2px dashed var(--line-soft, rgba(0,0,0,0.15));
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: center;
    align-items: center;
}
.bd-mun-meta a {
    color: var(--sss-pink-d, #C7137A);
    text-decoration: underline;
}
body.bd-dark .bd-mun-meta a { color: var(--sss-yellow); }

/* ════════ Empty state ════════ */
.bd-mun-empty {
    padding: 3rem 1rem;
    text-align: center;
    background: rgba(0, 0, 0, 0.03);
    border: 2px dashed var(--line);
    border-radius: 4px;
    font-family: var(--mono);
}

/* ════════ Responsive ════════ */
@media (max-width: 1100px) {
    .bd-mun-kpis { grid-template-columns: 1.1fr 0.7fr 1.1fr 1.4fr; gap: 0.5rem; }
    .bd-mun-row-2-1 { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .bd-mun-kpis { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
    .bd-mun-hero-inner { grid-template-columns: 1fr; }
    .bd-mun-hero-right { justify-self: start; }
    .bd-mun-kpis,
    .bd-mun-kpis-aligned { grid-template-columns: 1fr 1fr !important; gap: 0.5rem; }
    .bd-mun-kpis-left { grid-template-columns: 1fr 1fr !important; }
    .bd-mun-row-1-1 { grid-template-columns: 1fr; }
    .bd-mun-confed-grid { grid-template-columns: 1fr; }
    .bd-mun-groups-grid { grid-template-columns: 1fr; }
    .bd-mun-table-day,
    .bd-mun-table-venue { display: none; }

    /* Tabs del Mundial: scroll horizontal limpio con snap */
    .bd-mun-tabs-inner {
        scroll-snap-type: x mandatory;
        scrollbar-width: none;        /* Firefox */
        -ms-overflow-style: none;     /* IE */
        scroll-padding: 0.5rem;
        padding-bottom: 0;
    }
    .bd-mun-tabs-inner::-webkit-scrollbar { display: none; }   /* Chrome/Safari */
    .bd-mun-tab {
        flex: 0 0 auto;
        min-width: 110px;
        scroll-snap-align: start;
        padding: 0.7rem 0.9rem;
    }
    .bd-mun-tab-label { font-size: 0.62rem; }
}

@media (max-width: 480px) {
    .bd-mun-kpis,
    .bd-mun-kpis-aligned,
    .bd-mun-kpis-left { grid-template-columns: 1fr !important; }
    .bd-mun-kpi { padding: 0.65rem 0.8rem; }
    .bd-mun-kpi-val { font-size: 1.4rem; }
}

/* ══════════════════════════════════════════════════════════════════════
   CALENDARIO Mundial 2026 — vista Lista + vista Calendario
   ══════════════════════════════════════════════════════════════════════ */

.bd-cal-toggle {
    display: flex;
    gap: 0;
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth-sm);
    width: fit-content;
    overflow: hidden;
}
.bd-cal-toggle-btn {
    font-family: var(--display);
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    padding: 0.7rem 1.1rem;
    background: transparent;
    color: var(--ink-soft, #666);
    border: none;
    border-right: 2px solid var(--line-soft, rgba(0,0,0,0.1));
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: background 0.1s, color 0.1s;
}
.bd-cal-toggle-btn:last-child { border-right: none; }
.bd-cal-toggle-btn:hover { background: rgba(255, 220, 31, 0.1); color: var(--ink); }
.bd-cal-toggle-btn-active {
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F) !important;
}
.bd-cal-toggle-btn-active:hover { background: var(--sss-cobalt-d, #0D1F6B); }
body.bd-dark .bd-cal-toggle-btn { color: var(--sss-cyan); }

.bd-cal-match {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    padding: 0.8rem 0.95rem 0.85rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: transform 0.1s, box-shadow 0.1s;
}
.bd-cal-match:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--depth);
}
.bd-cal-match-h {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    padding-bottom: 0.45rem;
    border-bottom: 2px dashed var(--line-soft, rgba(0,0,0,0.1));
}
body.bd-dark .bd-cal-match-h { border-bottom-color: rgba(255, 220, 31, 0.18); }
.bd-cal-match-time {
    font-family: var(--display);
    font-size: 0.75rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.04em;
}
body.bd-dark .bd-cal-match-time { color: var(--sss-yellow); }
.bd-cal-match-round {
    font-family: var(--mono);
    font-size: 0.68rem;
    color: var(--ink-soft, #888);
    text-align: right;
}
body.bd-dark .bd-cal-match-round { color: var(--sss-cyan); }
.bd-cal-match-teams {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.5rem;
}
.bd-cal-match-team {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.9rem;
    min-width: 0;
}
.bd-cal-match-team strong {
    font-family: var(--mono);
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-cal-match-team-home { justify-content: flex-end; }
.bd-cal-match-team-away { justify-content: flex-start; }
.bd-cal-match-team img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    flex-shrink: 0;
}
.bd-cal-match-vs {
    font-family: var(--display);
    font-size: 0.7rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.05em;
    padding: 0 0.4rem;
}
body.bd-dark .bd-cal-match-vs { color: var(--sss-yellow); }
.bd-cal-match-foot {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--ink-soft, #888);
}

.bd-cal-view-list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.bd-cal-day-block {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}
.bd-cal-day-head {
    font-family: var(--display);
    font-size: 0.78rem;
    margin: 0;
    padding: 0.6rem 0.9rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
    border: 3px solid var(--line);
    box-shadow: var(--depth-sm);
    border-radius: 4px;
    letter-spacing: 0.05em;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0.6rem;
}
.bd-cal-day-count {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--sss-cyan, #4DC8FF);
    letter-spacing: 0.04em;
}
.bd-cal-day-matches {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
    gap: 0.8rem;
}

.bd-cal-cal-layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    align-items: start;
}
.bd-cal-cal-grid {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.bd-cal-month {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth-sm);
    overflow: hidden;
}
.bd-cal-month-h {
    font-family: var(--display);
    font-size: 0.8rem;
    margin: 0;
    padding: 0.7rem 1rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
    letter-spacing: 0.05em;
    text-align: center;
    border-bottom: 3px solid var(--line);
}
.bd-cal-month-dow {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    background: rgba(0, 0, 0, 0.05);
    border-bottom: 2px solid var(--line);
}
body.bd-dark .bd-cal-month-dow { background: rgba(255, 255, 255, 0.04); }
.bd-cal-month-dow span {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--ink-soft, #666);
    text-align: center;
    padding: 0.4rem 0;
    letter-spacing: 0.05em;
}
body.bd-dark .bd-cal-month-dow span { color: var(--sss-cyan); }
.bd-cal-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}

.bd-cal-cell {
    aspect-ratio: 1 / 1;
    background: var(--bg-card);
    border: none;
    border-right: 1px solid var(--line-soft, rgba(0,0,0,0.08));
    border-bottom: 1px solid var(--line-soft, rgba(0,0,0,0.08));
    cursor: pointer;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    padding: 0.4rem;
    transition: background 0.1s, transform 0.1s;
    font-family: var(--mono);
}
body.bd-dark .bd-cal-cell {
    background: var(--bg-card);
    border-right-color: rgba(255, 220, 31, 0.12);
    border-bottom-color: rgba(255, 220, 31, 0.12);
}
.bd-cal-cell:disabled {
    cursor: default;
    color: var(--ink-soft, #aaa);
    background: transparent;
}
.bd-cal-cell-day {
    font-family: var(--display);
    font-size: 0.75rem;
    color: var(--ink);
    line-height: 1;
}
body.bd-dark .bd-cal-cell-day { color: var(--sss-ice); }
.bd-cal-cell-outside {
    opacity: 0.3;
    background: rgba(0, 0, 0, 0.02);
}
.bd-cal-cell-has-matches:not(:disabled) {
    background: rgba(255, 220, 31, 0.18);
}
.bd-cal-cell-has-matches:not(:disabled):hover {
    background: rgba(255, 220, 31, 0.35);
    transform: scale(1.04);
    z-index: 1;
}
.bd-cal-cell-count {
    font-family: var(--display);
    font-size: 0.48rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    background: var(--sss-yellow-d, #E5A800);
    padding: 2px 5px;
    border-radius: 8px;
    line-height: 1;
    letter-spacing: 0.03em;
}
.bd-cal-cell-active {
    background: var(--sss-cobalt-d, #0D1F6B) !important;
    box-shadow: inset 0 0 0 3px var(--sss-yellow, #FFDC1F);
}
.bd-cal-cell-active .bd-cal-cell-day {
    color: var(--sss-yellow, #FFDC1F);
}
.bd-cal-cell-active .bd-cal-cell-count {
    background: var(--sss-pink, #FF4FCB);
    color: #fff;
}

.bd-cal-cal-panel {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 0;
}
.bd-cal-panel-day { padding: 1rem 1rem 1.2rem; }
.bd-cal-panel-h {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding-bottom: 0.8rem;
    margin-bottom: 0.9rem;
    border-bottom: 3px solid var(--line);
}
.bd-cal-panel-h-eyebrow {
    font-family: var(--display);
    font-size: 0.48rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.12em;
}
body.bd-dark .bd-cal-panel-h-eyebrow { color: var(--sss-cyan); }
.bd-cal-panel-h-title {
    font-family: var(--mono);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
    color: var(--ink);
    line-height: 1.3;
}
body.bd-dark .bd-cal-panel-h-title { color: var(--sss-yellow); }
.bd-cal-panel-h-count {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--ink-soft, #888);
}
.bd-cal-panel-matches {
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
}
.bd-cal-panel-empty {
    padding: 2rem 1rem;
    text-align: center;
    font-family: var(--mono);
    color: var(--ink-soft, #888);
}

@media (max-width: 980px) {
    .bd-cal-cal-layout { grid-template-columns: 1fr; }
    .bd-cal-cal-panel {
        position: static;
        max-height: none;
    }
    .bd-cal-cell-day { font-size: 0.65rem; }
}
@media (max-width: 600px) {
    .bd-cal-month-dow span { font-size: 0.42rem; }
    .bd-cal-cell-day { font-size: 0.6rem; }
    .bd-cal-cell-count { font-size: 0.4rem; padding: 1px 3px; }
}

/* ══════════════════════════════════════════════════════════════════════
   GRUPOS Mundial 2026 — vista de grupos detallada + bracket eliminatorias
   ══════════════════════════════════════════════════════════════════════ */

/* Leyenda colores clasificación */
.bd-grp-legend {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 0.7rem 1rem;
    background: var(--bg-card);
    border: 2px solid var(--line);
    border-radius: 4px;
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink);
    align-items: center;
}
body.bd-dark .bd-grp-legend { color: var(--sss-ice); }
.bd-grp-legend > span {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    white-space: nowrap;
}
.bd-grp-legend-dot {
    width: 14px;
    height: 14px;
    border: 1.5px solid var(--line);
    display: inline-block;
}
.bd-grp-legend-dot.bd-grp-q1 { background: #36d399; }
.bd-grp-legend-dot.bd-grp-q2 { background: #6fe5b4; }
.bd-grp-legend-dot.bd-grp-q3 { background: var(--sss-yellow, #FFDC1F); }
.bd-grp-legend-dot.bd-grp-q4 { background: #e6e6e6; }

/* Grid de 12 cards de grupo */
.bd-grp-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.bd-grp-card {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    overflow: hidden;
}
.bd-grp-card-h {
    padding: 0.7rem 1rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: #fff;
    border-bottom: 3px solid var(--line);
}
.bd-grp-card-h h3 {
    font-family: var(--display);
    font-size: 0.78rem;
    margin: 0;
    letter-spacing: 0.05em;
}
.bd-grp-card-letter {
    color: var(--sss-yellow, #FFDC1F);
    text-shadow: 1.5px 1.5px 0 var(--sss-pink-d, #C7137A);
}
.bd-grp-table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--mono);
}
.bd-grp-table thead {
    background: rgba(0, 0, 0, 0.05);
}
body.bd-dark .bd-grp-table thead { background: rgba(255, 255, 255, 0.04); }
.bd-grp-table th {
    padding: 0.5rem 0.4rem;
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--ink-soft, #666);
    text-align: center;
    letter-spacing: 0.05em;
    border-bottom: 2px solid var(--line);
}
body.bd-dark .bd-grp-table th { color: var(--sss-cyan); }
.bd-grp-th-team { text-align: left !important; }
.bd-grp-table td {
    padding: 0.55rem 0.4rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--ink);
    border-bottom: 1px solid var(--line-soft, rgba(0,0,0,0.08));
}
.bd-grp-table tr:last-child td { border-bottom: none; }
body.bd-dark .bd-grp-table td { color: var(--sss-ice); border-bottom-color: rgba(255, 220, 31, 0.12); }
.bd-grp-pos {
    font-family: var(--display);
    font-size: 0.7rem;
    color: var(--ink-soft, #999);
}
.bd-grp-team {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    text-align: left !important;
    font-size: 0.82rem !important;
}
.bd-grp-team img {
    width: 22px;
    height: 22px;
    object-fit: contain;
    flex-shrink: 0;
}
.bd-grp-pts {
    font-family: var(--display);
    font-size: 0.82rem;
    color: var(--sss-pink-d, #C7137A);
}
body.bd-dark .bd-grp-pts { color: var(--sss-yellow); }

/* Colorado por posición */
.bd-grp-table tr.bd-grp-q1 { background: rgba(54, 211, 153, 0.18); }
.bd-grp-table tr.bd-grp-q2 { background: rgba(111, 229, 180, 0.12); }
.bd-grp-table tr.bd-grp-q3 { background: rgba(255, 220, 31, 0.13); }
.bd-grp-table tr.bd-grp-q4 { opacity: 0.7; }
.bd-grp-table tr.bd-grp-q1 .bd-grp-pos,
.bd-grp-table tr.bd-grp-q2 .bd-grp-pos { color: var(--sss-cobalt-d, #0D1F6B); font-weight: 700; }

/* ── BRACKET ELIMINATORIAS ── */
.bd-ko-pre {
    padding: 1.5rem 1.2rem;
    background: var(--bg-card);
    border: 3px dashed var(--line);
    border-radius: 4px;
    text-align: center;
    font-family: var(--mono);
    margin-top: 1rem;
}
.bd-ko-pre h3 {
    font-family: var(--display);
    font-size: 0.95rem;
    margin: 0 0 0.6rem;
    color: var(--ink);
}
body.bd-dark .bd-ko-pre h3 { color: var(--sss-yellow); }
.bd-ko-pre p {
    margin: 0;
    color: var(--ink-soft, #666);
    line-height: 1.5;
}

.bd-ko-bracket {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding: 0.5rem 0;
    margin-top: 1rem;
    align-items: stretch;
}
.bd-ko-col {
    flex: 1;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.bd-ko-col-h {
    font-family: var(--display);
    font-size: 0.62rem;
    margin: 0;
    padding: 0.6rem 0.8rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
    border: 2.5px solid var(--line);
    box-shadow: var(--depth-sm);
    text-align: center;
    letter-spacing: 0.06em;
}
.bd-ko-col-matches {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: space-around;
    flex: 1;
}
.bd-ko-match {
    background: var(--bg-card);
    border: 2.5px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    padding: 0.5rem 0.7rem;
    font-family: var(--mono);
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.bd-ko-match-h {
    display: flex;
    justify-content: space-between;
    font-family: var(--display);
    font-size: 0.45rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.1em;
    padding-bottom: 0.3rem;
    border-bottom: 1px dashed var(--line-soft, rgba(0,0,0,0.1));
}
body.bd-dark .bd-ko-match-h { color: var(--sss-yellow); border-bottom-color: rgba(255, 220, 31, 0.2); }
.bd-ko-match-date { font-weight: 500; }
.bd-ko-match-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
}
.bd-ko-match-team {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    color: var(--ink);
    min-width: 0;
    overflow: hidden;
}
body.bd-dark .bd-ko-match-team { color: var(--sss-ice); }
.bd-ko-match-team strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-ko-match-team img {
    width: 18px;
    height: 18px;
    object-fit: contain;
    flex-shrink: 0;
}
.bd-ko-match-team-tbd { color: var(--ink-soft, #aaa); font-style: italic; }
.bd-ko-match-score {
    font-family: var(--display);
    font-size: 0.85rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 2px 7px;
    border: 1.5px solid var(--line);
    flex-shrink: 0;
}
.bd-ko-match-tbd { opacity: 0.65; }
.bd-ko-col-final .bd-ko-match,
.bd-ko-col-3rdplacefinal .bd-ko-match {
    border-color: var(--sss-yellow-d, #E5A800);
    border-width: 3px;
}

@media (max-width: 980px) {
    .bd-ko-bracket {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .bd-ko-col { scroll-snap-align: start; }
}

/* ══════════════════════════════════════════════════════════════════════
   ESTADIOS — grid de 16 + detalle individual
   ══════════════════════════════════════════════════════════════════════ */

.bd-ven-filter-count {
    font-size: 0.9em;
    background: rgba(255, 220, 31, 0.2);
    padding: 1px 5px;
    border-radius: 8px;
    margin-left: 0.3rem;
}
.bd-cal-toggle-btn-active .bd-ven-filter-count {
    background: var(--sss-yellow, #FFDC1F);
    color: var(--sss-cobalt-d, #0D1F6B);
}

/* Grid 16 cards */
.bd-ven-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}
.bd-ven-card {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth-sm);
    text-decoration: none;
    color: var(--ink);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.12s, box-shadow 0.12s;
    position: relative;
}
.bd-ven-card:hover {
    transform: translate(-3px, -3px);
    box-shadow: var(--depth);
}
.bd-ven-card-flag {
    font-size: 2.5rem;
    text-align: center;
    padding: 1rem 0 0.5rem;
    background: linear-gradient(135deg,
        rgba(25, 57, 183, 0.06) 0%,
        rgba(255, 220, 31, 0.10) 100%);
    border-bottom: 2px dashed rgba(13, 31, 107, 0.2);
    line-height: 1;
    filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.15));
}
.bd-ven-card-body {
    padding: 0.9rem 1rem 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
}
.bd-ven-card-name {
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.25;
    color: var(--ink);
}
body.bd-dark .bd-ven-card-name { color: var(--sss-yellow); }
.bd-ven-card-city {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #777);
    margin: 0;
}
.bd-ven-card-stats {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: auto;
    padding-top: 0.5rem;
    border-top: 1px dashed var(--line-soft, rgba(0,0,0,0.1));
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    gap: 0.4rem;
}
.bd-ven-card-stats strong {
    font-family: var(--display);
    font-size: 0.72rem;
    color: var(--sss-pink-d, #C7137A);
    margin-right: 2px;
}
body.bd-dark .bd-ven-card-stats strong { color: var(--sss-yellow); }
.bd-ven-card-cta {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 0.55rem 0.9rem;
    text-align: center;
    letter-spacing: 0.1em;
    border-top: 2px solid var(--line);
}

/* ── BREADCRUMB ── */
.bd-ven-crumbs {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #777);
    padding: 0.5rem 0;
}
.bd-ven-crumbs a {
    color: var(--sss-pink-d, #C7137A);
    text-decoration: none;
}
.bd-ven-crumbs a:hover { text-decoration: underline; }
.bd-ven-crumbs strong {
    color: var(--ink);
    font-weight: 700;
}
body.bd-dark .bd-ven-crumbs a { color: var(--sss-yellow); }
body.bd-dark .bd-ven-crumbs strong { color: var(--sss-ice); }

/* ── DETALLE ── */
.bd-ven-detail {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 1.2rem;
    align-items: start;
}
.bd-ven-detail-left {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1.4rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.bd-ven-detail-h {
    text-align: center;
    padding-bottom: 1rem;
    border-bottom: 3px solid var(--line);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: center;
}
.bd-ven-detail-flag {
    font-size: 3.5rem;
    line-height: 1;
    filter: drop-shadow(3px 3px 0 rgba(0,0,0,0.2));
}
.bd-ven-detail-name {
    font-family: var(--display);
    font-size: clamp(1.1rem, 2.5vw, 1.4rem);
    margin: 0;
    color: var(--ink);
    letter-spacing: 0.03em;
    text-shadow: 2px 2px 0 var(--sss-yellow, #FFDC1F);
}
body.bd-dark .bd-ven-detail-name {
    color: var(--sss-yellow);
    text-shadow: 2px 2px 0 var(--sss-pink-d, #C7137A);
}
.bd-ven-detail-loc {
    font-family: var(--mono);
    font-size: 0.95rem;
    color: var(--ink-soft, #666);
    margin: 0;
}

/* KPIs grid */
.bd-ven-detail-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 0.7rem;
}
.bd-ven-kpi {
    background: linear-gradient(135deg,
        rgba(25, 57, 183, 0.05) 0%,
        rgba(255, 220, 31, 0.10) 100%);
    border: 2px solid var(--line);
    border-left: 4px solid var(--sss-pink-d, #C7137A);
    border-radius: 3px;
    padding: 0.7rem 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.bd-ven-kpi:nth-child(2) { border-left-color: var(--sss-yellow-d); }
.bd-ven-kpi:nth-child(3) { border-left-color: var(--sss-cobalt); }
.bd-ven-kpi:nth-child(4) { border-left-color: var(--sss-cyan); }
.bd-ven-kpi-val {
    font-family: var(--display);
    font-size: 1.1rem;
    color: var(--ink);
    letter-spacing: 0.02em;
    line-height: 1;
}
body.bd-dark .bd-ven-kpi-val { color: var(--sss-yellow); }
.bd-ven-kpi-lbl {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #666);
}

/* Specs (definition list) */
.bd-ven-detail-specs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.7rem 1.2rem;
    margin: 0;
}
.bd-ven-detail-specs > div {
    padding: 0.5rem 0;
    border-bottom: 1.5px dashed var(--line-soft, rgba(0,0,0,0.12));
}
body.bd-dark .bd-ven-detail-specs > div { border-bottom-color: rgba(255, 220, 31, 0.15); }
.bd-ven-detail-specs dt {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 0.2rem;
}
body.bd-dark .bd-ven-detail-specs dt { color: var(--sss-cyan); }
.bd-ven-detail-specs dd {
    font-family: var(--mono);
    font-size: 0.9rem;
    color: var(--ink);
    margin: 0;
    font-weight: 600;
}
body.bd-dark .bd-ven-detail-specs dd { color: var(--sss-ice); }

/* Dato curioso */
.bd-ven-detail-fame {
    background: rgba(255, 220, 31, 0.18);
    border-left: 4px solid var(--sss-pink-d, #C7137A);
    border-radius: 0 4px 4px 0;
    padding: 0.7rem 1rem;
}
.bd-ven-detail-fame-tag {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
body.bd-dark .bd-ven-detail-fame-tag { color: var(--sss-yellow); }
.bd-ven-detail-fame p {
    font-family: var(--mono);
    font-size: 0.9rem;
    color: var(--ink);
    margin: 0.3rem 0 0;
    line-height: 1.5;
    font-style: italic;
}
body.bd-dark .bd-ven-detail-fame { background: rgba(255, 79, 203, 0.15); }
body.bd-dark .bd-ven-detail-fame p { color: var(--sss-ice); }

/* Mapa */
.bd-ven-detail-map {
    border-radius: 4px;
    overflow: hidden;
}

/* Panel partidos derecha */
.bd-ven-detail-right {
    position: sticky;
    top: 90px;
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1rem 1.1rem 1.2rem;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}
.bd-ven-matches-h {
    padding-bottom: 0.7rem;
    margin-bottom: 0.9rem;
    border-bottom: 3px solid var(--line);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
}
.bd-ven-matches-h h3 {
    font-family: var(--display);
    font-size: 0.78rem;
    margin: 0;
    color: var(--ink);
    letter-spacing: 0.04em;
}
body.bd-dark .bd-ven-matches-h h3 { color: var(--sss-yellow); }
.bd-ven-matches-h span {
    font-family: var(--mono);
    font-size: 0.72rem;
    color: var(--ink-soft, #888);
}
.bd-ven-matches-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.bd-ven-no-matches {
    font-family: var(--mono);
    color: var(--ink-soft, #888);
    text-align: center;
    padding: 1rem 0;
    margin: 0;
}

@media (max-width: 980px) {
    .bd-ven-detail { grid-template-columns: 1fr; }
    .bd-ven-detail-right {
        position: static;
        max-height: none;
    }
}

/* ══════════════════════════════════════════════════════════════════════
   SELECCIONES — grid 48 + detalle equipo + detalle jugador
   ══════════════════════════════════════════════════════════════════════ */

/* Grid 48 cards */
.bd-team-grid-48 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.8rem;
}
.bd-team-card {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    text-decoration: none;
    color: var(--ink);
    padding: 0.7rem 0.8rem;
    display: grid;
    grid-template-columns: 36px 1fr auto;
    gap: 0.6rem;
    align-items: center;
    transition: transform 0.12s, box-shadow 0.12s;
}
.bd-team-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--depth);
}
.bd-team-card-logo {
    width: 36px;
    height: 36px;
    object-fit: contain;
}
.bd-team-card-body {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.bd-team-card-name {
    font-family: var(--mono);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ink);
    margin: 0;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.bd-dark .bd-team-card-name { color: var(--sss-yellow); }
.bd-team-card-meta {
    display: flex;
    gap: 0.4rem;
    font-family: var(--mono);
    font-size: 0.65rem;
    color: var(--ink-soft, #888);
}
.bd-team-card-group {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.06em;
}
body.bd-dark .bd-team-card-group { color: var(--sss-cyan); }
.bd-team-card-pts {
    font-family: var(--display);
    font-size: 0.55rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 4px 7px;
    border: 1.5px solid var(--line);
    letter-spacing: 0.05em;
    white-space: nowrap;
}

/* DETALLE EQUIPO */
.bd-team-detail-h {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1.3rem 1.5rem;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.3rem;
    align-items: center;
}
.bd-team-detail-logo {
    width: 90px;
    height: 90px;
    object-fit: contain;
    filter: drop-shadow(3px 3px 0 rgba(0,0,0,0.15));
}
.bd-team-detail-name {
    font-family: var(--display);
    font-size: clamp(1.2rem, 2.8vw, 1.7rem);
    color: var(--ink);
    margin: 0 0 0.6rem;
    letter-spacing: 0.03em;
    text-shadow: 2px 2px 0 var(--sss-yellow, #FFDC1F);
}
body.bd-dark .bd-team-detail-name {
    color: var(--sss-yellow);
    text-shadow: 2px 2px 0 var(--sss-pink-d);
}
.bd-team-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.bd-team-meta-chip {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink);
    background: rgba(255, 220, 31, 0.18);
    padding: 4px 9px;
    border: 1.5px solid var(--line);
    border-radius: 3px;
    font-weight: 600;
}
body.bd-dark .bd-team-meta-chip {
    background: rgba(255, 220, 31, 0.1);
    color: var(--sss-ice);
}

/* Layout squad + fixtures */
.bd-team-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 1rem;
    align-items: start;
}

/* Squad grouped by position */
.bd-team-pos-block { margin-bottom: 1.4rem; }
.bd-team-pos-block:last-child { margin-bottom: 0; }
.bd-team-pos-h {
    font-family: var(--display);
    font-size: 0.7rem;
    margin: 0 0 0.7rem;
    padding: 0.5rem 0.8rem;
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
    border: 2px solid var(--line);
    box-shadow: 2px 2px 0 var(--line);
    border-radius: 3px;
    letter-spacing: 0.05em;
}
.bd-team-pos-h span {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--sss-cyan, #4DC8FF);
    margin-left: 0.3rem;
}
.bd-team-pos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.5rem;
}
.bd-team-pl {
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 0.55rem;
    align-items: center;
    padding: 0.45rem 0.55rem;
    background: rgba(25, 57, 183, 0.04);
    border: 2px solid var(--line-soft, rgba(0,0,0,0.1));
    border-radius: 4px;
    text-decoration: none;
    color: var(--ink);
    transition: background 0.1s, transform 0.1s;
}
body.bd-dark .bd-team-pl {
    background: rgba(255, 220, 31, 0.04);
    color: var(--sss-ice);
    border-color: rgba(255, 220, 31, 0.15);
}
.bd-team-pl:hover {
    background: rgba(255, 220, 31, 0.18);
    transform: translate(-1px, -1px);
}
.bd-team-pl-photo {
    width: 44px;
    height: 44px;
    object-fit: cover;
    object-position: center top;
    border-radius: 50%;
    border: 2px solid var(--line);
    background: #fff;
    display: block;
}
.bd-team-pl-photo-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    background: var(--sss-cobalt-d);
    color: var(--sss-yellow);
}
.bd-team-pl-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bd-team-pl-name {
    font-family: var(--mono);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-team-pl-meta {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
}
body.bd-dark .bd-team-pl-meta { color: var(--sss-cyan); }

/* Fixtures sidebar */
.bd-team-fixtures {
    position: sticky;
    top: 90px;
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}
.bd-team-fix-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* ── DETALLE JUGADOR (reusa lámina del home) ── */
.bd-pl-detail {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 1.5rem;
    align-items: start;
}
.bd-pl-card-wrap {
    position: sticky;
    top: 90px;
}
.bd-pl-card {
    display: flex;
    flex-direction: column;
    filter: drop-shadow(3px 4px 0 rgba(0,0,0,0.18));
}
.bd-pl-card-photo {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border: 4px solid var(--sss-yellow-d, #E5A800);
    border-bottom: none;
    border-radius: 6px 6px 0 0;
    overflow: hidden;
    background: linear-gradient(135deg, var(--sss-cobalt) 0%, var(--sss-pink-d) 100%);
}
.bd-pl-card-photo img:not(.bd-pl-card-flag) {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
}
.bd-pl-card-flag {
    position: absolute;
    bottom: 6px;
    right: 6px;
    width: 32px;
    height: 32px;
    object-fit: contain;
    filter:
        drop-shadow(2px 2px 0 rgba(0,0,0,0.55))
        drop-shadow(0 0 4px rgba(0,0,0,0.4));
}
.bd-pl-card-sticker {
    background: linear-gradient(180deg, var(--sss-yellow) 0%, var(--sss-yellow-d) 100%);
    border: 4px solid var(--sss-yellow-d, #E5A800);
    border-top: 2px dashed rgba(13, 31, 107, 0.4);
    border-radius: 0 0 6px 6px;
    padding: 0.6rem 0.6rem 0.7rem;
    text-align: center;
}
.bd-pl-card-name {
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 700;
    color: var(--sss-cobalt-d, #0D1F6B);
    line-height: 1.2;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.45);
}
.bd-pl-card-team {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-top: 0.2rem;
}

.bd-pl-info {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1.4rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.bd-pl-info-h h2 {
    font-family: var(--display);
    font-size: clamp(1.1rem, 2.4vw, 1.4rem);
    margin: 0;
    color: var(--ink);
    letter-spacing: 0.03em;
}
body.bd-dark .bd-pl-info-h h2 { color: var(--sss-yellow); }
.bd-pl-info-pos {
    font-family: var(--mono);
    font-size: 0.95rem;
    color: var(--ink-soft, #666);
    margin: 0.4rem 0 0;
}
body.bd-dark .bd-pl-info-pos { color: var(--sss-cyan); }

.bd-pl-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
    gap: 0.6rem;
}
.bd-pl-stat {
    background: linear-gradient(135deg,
        rgba(25, 57, 183, 0.05) 0%,
        rgba(255, 220, 31, 0.10) 100%);
    border: 2px solid var(--line);
    border-left: 4px solid var(--sss-pink-d, #C7137A);
    border-radius: 3px;
    padding: 0.6rem 0.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}
.bd-pl-stat-val {
    font-family: var(--display);
    font-size: 1.1rem;
    color: var(--ink);
}
body.bd-dark .bd-pl-stat-val { color: var(--sss-yellow); }
.bd-pl-stat-lbl {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #666);
}
.bd-pl-actions {
    border-top: 2px dashed var(--line-soft, rgba(0,0,0,0.15));
    padding-top: 0.8rem;
}

@media (max-width: 980px) {
    .bd-team-grid { grid-template-columns: 1fr; }
    .bd-team-fixtures { position: static; max-height: none; }
    .bd-pl-detail { grid-template-columns: 1fr; }
    .bd-pl-card-wrap { position: static; max-width: 260px; margin: 0 auto; }
}

/* ══════════════════════════════════════════════════════════════════════
   STATS — listas genéricas de jugadores/equipos + venues
   ══════════════════════════════════════════════════════════════════════ */

.bd-stats-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.bd-stats-list li {
    display: grid;
    grid-template-columns: 38px 1fr auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.45rem 0.55rem;
    background: rgba(25, 57, 183, 0.03);
    border-left: 3px solid var(--sss-pink, #FF4FCB);
    border-radius: 0 3px 3px 0;
}
.bd-stats-list li:nth-child(1) { border-left-color: var(--sss-yellow-d); }
.bd-stats-list li:nth-child(2) { border-left-color: var(--sss-pink-d); }
.bd-stats-list li:nth-child(3) { border-left-color: var(--sss-cyan); }
.bd-stats-photo {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center top;
    border: 2px solid var(--line);
    background: #fff;
}
.bd-stats-info {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}
.bd-stats-name {
    font-family: var(--mono);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--ink);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.bd-dark .bd-stats-name { color: var(--sss-ice); }
.bd-stats-team {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.bd-stats-team img { width: 14px; height: 14px; object-fit: contain; }
.bd-stats-metric {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.bd-stats-metric strong {
    font-family: var(--display);
    font-size: 1.05rem;
    color: var(--sss-pink-d, #C7137A);
    line-height: 1;
}
body.bd-dark .bd-stats-metric strong { color: var(--sss-yellow); }
.bd-stats-metric em {
    font-family: var(--mono);
    font-size: 0.55rem;
    color: var(--ink-soft, #888);
    font-style: normal;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

/* Rankings de equipos 3 cards */
.bd-stats-rankings {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.bd-stats-teams-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}
.bd-stats-teams-list li {
    display: grid;
    grid-template-columns: 24px 28px 1fr auto;
    gap: 0.5rem;
    align-items: center;
    padding: 0.45rem 0.5rem;
    background: rgba(25, 57, 183, 0.04);
    border-radius: 3px;
}
.bd-stats-team-pos {
    font-family: var(--display);
    font-size: 0.78rem;
    color: var(--sss-pink-d, #C7137A);
    text-align: center;
}
body.bd-dark .bd-stats-team-pos { color: var(--sss-yellow); }
.bd-stats-teams-list img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}
.bd-stats-team-name {
    font-family: var(--mono);
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--ink);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-stats-team-name:hover {
    color: var(--sss-pink-d, #C7137A);
    text-decoration: underline;
}
body.bd-dark .bd-stats-team-name { color: var(--sss-ice); }
.bd-stats-team-val {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #666);
    font-weight: 700;
}
.bd-stats-team-pts {
    font-family: var(--display);
    font-size: 0.78rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 3px 8px;
    border: 1.5px solid var(--line);
}

/* Venues grid */
.bd-stats-venues-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0.7rem;
}
.bd-stats-venue {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 0.55rem;
    align-items: center;
    padding: 0.6rem 0.8rem;
    background: rgba(255, 220, 31, 0.1);
    border: 2px solid var(--line);
    border-left: 4px solid var(--sss-pink-d, #C7137A);
    border-radius: 3px;
    text-decoration: none;
    color: var(--ink);
    transition: background 0.1s;
}
.bd-stats-venue:hover { background: rgba(255, 220, 31, 0.2); }
body.bd-dark .bd-stats-venue { color: var(--sss-ice); }
.bd-stats-venue-icon { font-size: 1.4rem; }
.bd-stats-venue-body {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.bd-stats-venue-name {
    font-family: var(--mono);
    font-size: 0.88rem;
    font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.bd-stats-venue-city {
    font-family: var(--mono);
    font-size: 0.7rem;
    color: var(--ink-soft, #888);
}
.bd-stats-venue-count {
    font-family: var(--display);
    font-size: 1rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 5px 10px;
    border: 1.5px solid var(--line);
}

/* ══════════════════════════════════════════════════════════════════════
   NOTICIAS — magazine layout: featured hero + sidebar + grid
   ══════════════════════════════════════════════════════════════════════ */

/* Chips categorías */
.bd-news-chips {
    display: flex;
    gap: 0.5rem;
    align-items: center;
    flex-wrap: wrap;
    background: var(--bg-card);
    border: 2px solid var(--line);
    border-radius: 4px;
    padding: 0.6rem 0.9rem;
}
.bd-news-chips-label {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-right: 0.2rem;
}
body.bd-dark .bd-news-chips-label { color: var(--sss-cyan); }
.bd-news-chip {
    font-family: var(--mono);
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ink);
    background: rgba(0, 0, 0, 0.04);
    border: 1.5px solid transparent;
    padding: 0.35rem 0.7rem;
    border-radius: 3px;
    text-decoration: none;
    transition: background 0.1s;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.bd-news-chip span {
    font-family: var(--display);
    font-size: 0.55rem;
    color: var(--sss-pink-d);
    letter-spacing: 0.04em;
}
.bd-news-chip:hover { background: rgba(255, 220, 31, 0.18); }
.bd-news-chip-active {
    background: var(--sss-cobalt-d, #0D1F6B);
    color: var(--sss-yellow, #FFDC1F);
    border-color: var(--line);
}
.bd-news-chip-active span { color: var(--sss-yellow); }
.bd-news-chip-active:hover { background: var(--sss-cobalt-d); }

/* Top layout: featured + sidebar */
.bd-news-top {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.2rem;
    align-items: stretch;
}

/* ── FEATURED card ── */
.bd-news-feat {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    overflow: hidden;
    text-decoration: none;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    transition: transform 0.12s, box-shadow 0.12s;
}
.bd-news-feat:hover {
    transform: translate(-3px, -3px);
    box-shadow: 7px 7px 0 var(--line);
}
.bd-news-feat-media {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--sss-cobalt-d);
    border-bottom: 3px solid var(--line);
    overflow: hidden;
}
.bd-news-feat-thumb {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    transition: transform 0.4s ease;
}
.bd-news-feat:hover .bd-news-feat-thumb {
    transform: scale(1.04);
}
.bd-news-feat-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d);
}
.bd-news-feat-tag {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-family: var(--display);
    font-size: 0.55rem;
    color: var(--sss-cobalt-d, #0D1F6B);
    background: var(--sss-yellow, #FFDC1F);
    border: 2.5px solid var(--line);
    box-shadow: 2px 2px 0 var(--line);
    padding: 0.4rem 0.7rem;
    letter-spacing: 0.12em;
    z-index: 1;
}
.bd-news-feat-body {
    padding: 1.3rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.7rem;
    flex: 1;
}
.bd-news-feat-cat {
    font-family: var(--display);
    font-size: 0.5rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-cobalt-d, #0D1F6B);
    padding: 3px 7px;
    border: 1.5px solid var(--line);
    align-self: flex-start;
    letter-spacing: 0.08em;
}
.bd-news-feat-title {
    font-family: var(--mono);
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
    font-weight: 700;
    line-height: 1.3;
    margin: 0;
    color: var(--ink);
}
body.bd-dark .bd-news-feat-title { color: var(--sss-ice); }
.bd-news-feat-excerpt {
    font-family: var(--mono);
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--ink-soft, #555);
    margin: 0;
}
body.bd-dark .bd-news-feat-excerpt { color: var(--sss-ice); opacity: 0.85; }
.bd-news-feat-foot {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.6rem;
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 2px dashed var(--line-soft, rgba(0,0,0,0.1));
}
.bd-news-feat-time {
    font-family: var(--mono);
    font-size: 0.78rem;
    color: var(--ink-soft, #888);
}
.bd-news-feat-cta {
    font-family: var(--display);
    font-size: 0.55rem;
    color: var(--sss-yellow, #FFDC1F);
    background: var(--sss-pink-d, #C7137A);
    padding: 0.5rem 0.9rem;
    border: 2px solid var(--line);
    box-shadow: 2px 2px 0 var(--line);
    letter-spacing: 0.1em;
}

/* ── SIDEBAR ── */
.bd-news-side {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1rem 1.1rem 1.2rem;
}
.bd-news-side-h {
    padding-bottom: 0.6rem;
    margin-bottom: 0.9rem;
    border-bottom: 3px solid var(--line);
}
.bd-news-side-h h3 {
    font-family: var(--display);
    font-size: 0.78rem;
    margin: 0;
    color: var(--ink);
    letter-spacing: 0.04em;
}
body.bd-dark .bd-news-side-h h3 { color: var(--sss-yellow); }
.bd-news-side-list {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: news;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.bd-news-side-list li {
    counter-increment: news;
    position: relative;
}
.bd-news-side-item {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 0.6rem;
    align-items: center;
    text-decoration: none;
    color: var(--ink);
    padding: 0.5rem 0;
    border-bottom: 1px dashed var(--line-soft, rgba(0,0,0,0.1));
    transition: background 0.1s;
}
.bd-news-side-list li:last-child .bd-news-side-item { border-bottom: none; }
.bd-news-side-item:hover { background: rgba(255, 220, 31, 0.08); }
body.bd-dark .bd-news-side-item { color: var(--sss-ice); }
.bd-news-side-thumb {
    width: 60px;
    height: 50px;
    background-size: cover;
    background-position: center;
    background-color: var(--sss-cobalt-d);
    border: 1.5px solid var(--line);
    border-radius: 3px;
    display: block;
    position: relative;
}
.bd-news-side-thumb::before {
    content: counter(news);
    position: absolute;
    top: -8px;
    left: -8px;
    font-family: var(--display);
    font-size: 0.6rem;
    color: var(--sss-cobalt-d);
    background: var(--sss-yellow);
    border: 2px solid var(--line);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.bd-news-side-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--sss-yellow);
}
.bd-news-side-body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.bd-news-side-title {
    font-family: var(--mono);
    font-size: 0.82rem;
    font-weight: 700;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.bd-news-side-time {
    font-family: var(--mono);
    font-size: 0.65rem;
    color: var(--ink-soft, #888);
}

/* Grid 12 noticias */
.bd-news-grid-section {
    background: var(--bg-card);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1rem 1.2rem 1.3rem;
}
.bd-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1rem;
}
.bd-news-card {
    background: var(--bg-card);
    border: 3px solid var(--line);
    border-radius: 4px;
    box-shadow: var(--depth-sm);
    overflow: hidden;
    text-decoration: none;
    color: var(--ink);
    display: flex;
    flex-direction: column;
    transition: transform 0.12s, box-shadow 0.12s;
}
.bd-news-card:hover {
    transform: translate(-2px, -2px);
    box-shadow: var(--depth);
}
.bd-news-card-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
    background-color: var(--sss-cobalt-d);
    border-bottom: 3px solid var(--line);
    display: block;
}
.bd-news-card-thumb-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.5rem;
    color: var(--sss-yellow);
}
.bd-news-card-body {
    padding: 0.8rem 0.95rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
}
.bd-news-card-cat {
    font-family: var(--display);
    font-size: 0.48rem;
    color: var(--sss-yellow);
    background: var(--sss-cobalt-d);
    padding: 3px 6px;
    border: 1.5px solid var(--line);
    align-self: flex-start;
    letter-spacing: 0.08em;
}
.bd-news-card-title {
    font-family: var(--mono);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--ink);
}
body.bd-dark .bd-news-card-title { color: var(--sss-ice); }
.bd-news-card-time {
    font-family: var(--mono);
    font-size: 0.68rem;
    color: var(--ink-soft, #888);
    margin-top: auto;
}

/* CTA Newsletter */
.bd-news-cta {
    background:
        radial-gradient(ellipse at 20% 0%, rgba(255, 220, 31, 0.15) 0%, transparent 55%),
        linear-gradient(135deg, var(--sss-cobalt) 0%, var(--sss-pink-d) 100%);
    border: 4px solid var(--line);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--depth);
    padding: 1.5rem 1.7rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: center;
    color: #fff;
}
.bd-news-cta-body h3 {
    font-family: var(--display);
    font-size: 0.9rem;
    margin: 0 0 0.4rem;
    color: var(--sss-yellow);
    letter-spacing: 0.04em;
    text-shadow: 2px 2px 0 var(--line);
}
.bd-news-cta-body p {
    font-family: var(--mono);
    font-size: 0.92rem;
    margin: 0;
    line-height: 1.5;
    color: var(--sss-ice);
}
.bd-news-cta-btn {
    font-family: var(--display);
    font-size: 0.65rem;
    color: var(--sss-cobalt-d);
    background: var(--sss-yellow);
    border: 3px solid var(--line);
    box-shadow: 3px 3px 0 var(--line);
    padding: 0.8rem 1.3rem;
    text-decoration: none;
    letter-spacing: 0.1em;
    white-space: nowrap;
    transition: transform 0.1s, box-shadow 0.1s;
}
.bd-news-cta-btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: 4px 4px 0 var(--line);
}

@media (max-width: 980px) {
    .bd-news-top { grid-template-columns: 1fr; }
    .bd-news-cta { grid-template-columns: 1fr; text-align: center; }
    .bd-news-cta-btn { justify-self: center; }
}

/* ════════════════════════════════════════════════════════════════════════
   VENUE CARDS — con foto del estadio (sobre header de bandera/emoji)
   ════════════════════════════════════════════════════════════════════════ */
.bd-ven-card.has-photo { padding-top: 0; }
.bd-ven-card-photo {
    position: relative;
    aspect-ratio: 16 / 9;
    margin: 0 0 0.5rem;
    overflow: hidden;
    background: linear-gradient(135deg, #1939B7 0%, #4F46E5 100%);
    border-bottom: 2px solid #111827;
}
.bd-ven-card-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.bd-ven-card.has-photo:hover .bd-ven-card-photo img {
    transform: scale(1.06);
}
.bd-ven-card-flag-overlay {
    position: absolute;
    top: 0.5rem; left: 0.5rem;
    font-size: 1.5rem;
    background: rgba(255, 255, 255, 0.85);
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    border: 1.5px solid #111827;
    line-height: 1.3;
}
.bd-ven-card.has-photo .bd-ven-card-body { padding-top: 0.4rem; }
body.bd-dark .bd-ven-card-flag-overlay { background: rgba(31, 26, 58, 0.9); color: #fff; border-color: #4b5563; }

/* ── Hero photo del detalle del estadio ── */
.bd-ven-hero-photo {
    position: relative;
    width: 100%;
    aspect-ratio: 21 / 9;
    max-height: 380px;
    overflow: hidden;
    border: 3px solid var(--ink, #1f1f3a);
    box-shadow: 4px 4px 0 var(--ink, #1f1f3a);
    margin: 0.5rem 0 1rem;
}
.bd-ven-hero-photo > img {
    width: 100%; height: 100%; object-fit: cover; object-position: center;
    display: block;
}
.bd-ven-hero-overlay {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 1.2rem 1.4rem 1rem;
    background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.75) 80%);
    color: #fff;
    display: flex; flex-direction: column; gap: 0.25rem;
}
.bd-ven-hero-overlay .bd-ven-detail-flag {
    font-size: 1.8rem; line-height: 1;
}
.bd-ven-hero-overlay .bd-ven-detail-name {
    font-family: var(--display);
    font-size: 1.4rem; font-weight: 400;
    color: var(--sss-yellow, #FFDC1F);
    margin: 0;
    text-shadow: 2px 2px 0 var(--ink, #1f1f3a);
    line-height: 1.1;
}
.bd-ven-hero-overlay .bd-ven-detail-loc {
    font-family: var(--mono);
    font-size: 0.85rem;
    color: #fff;
    margin: 0;
    letter-spacing: 0.03em;
}

/* ════════════════════════════════════════════════════════════════════════
   SECCIÓN FÚTBOL — hub + tabs estilo Mundial
   ════════════════════════════════════════════════════════════════════════ */
.bd-fut-hero { background: linear-gradient(135deg, #1939B7 0%, #4F46E5 60%, #FF4FCB 100%) !important; }
.bd-fut-body { padding-top: 1.2rem; }

/* Hub overview — 8 cards grandes */
.bd-fut-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}
.bd-fut-hub-card {
    background: #fff;
    border: 3px solid #111827;
    border-left-width: 8px;
    border-left-color: var(--card-color, #1939B7);
    border-radius: 8px;
    padding: 1.3rem 1.2rem;
    text-decoration: none;
    color: #111827;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.bd-fut-hub-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0,0,0,0.12);
    color: var(--card-color, #1939B7);
}
.bd-fut-hub-emoji { font-size: 2.4rem; line-height: 1; }
.bd-fut-hub-title {
    font-family: 'Press Start 2P', monospace;
    font-size: 0.92rem;
    margin: 0;
    letter-spacing: 0.5px;
}
.bd-fut-hub-sub { font-size: 0.85rem; color: #4b5563; margin: 0; }

/* Selecciones grid — 336 cards */
.bd-fut-search {
    width: 100%;
    padding: 0.7rem 1rem;
    border: 2px solid #111827;
    border-radius: 6px;
    font-family: inherit;
    font-size: 0.95rem;
    margin: 1rem 0;
    background: #fff;
}
.bd-fut-search:focus { outline: 3px solid var(--sss-pink, #FF4FCB); outline-offset: 2px; }

.bd-fut-teams-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.6rem;
    margin-top: 0.5rem;
}
.bd-fut-team-card {
    background: #f9fafb;
    border: 1.5px solid #d1d5db;
    border-radius: 6px;
    padding: 0.7rem 0.9rem;
    text-decoration: none;
    color: #111827;
    transition: all 0.15s ease;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.bd-fut-team-card:hover {
    border-color: var(--sss-cobalt, #1939B7);
    background: #fff;
    transform: translateX(2px);
}
.bd-fut-team-card.has-wc {
    background: linear-gradient(90deg, #fffbeb 0%, #fff 30%);
    border-left: 4px solid #FFDC1F;
}
.bd-fut-team-card-head {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: 0.5rem;
}
.bd-fut-team-card-name {
    font-size: 0.95rem;
    font-weight: 700;
    margin: 0;
    color: #111827;
}
.bd-fut-team-card-wc {
    font-size: 0.7rem;
    color: #92400e;
    white-space: nowrap;
}
.bd-fut-team-card-stats {
    display: flex; gap: 0.8rem;
    font-size: 0.78rem;
    color: #6b7280;
}
.bd-fut-team-card-stats strong { color: var(--sss-cobalt, #1939B7); }

.bd-fut-tournament-kpis { margin: 1rem 0; }

.bd-fut-coming-soon {
    text-align: center;
    padding: 3rem 1.5rem;
}
.bd-fut-coming-soon p { max-width: 600px; margin: 1rem auto; }
.bd-fut-back {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    background: var(--sss-cobalt, #1939B7);
    color: #fff;
    text-decoration: none;
    border-radius: 6px;
    font-family: 'Press Start 2P', monospace;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
}

body.bd-dark .bd-fut-hub-card { background: #1f1a3a; color: #fff; }
body.bd-dark .bd-fut-team-card { background: #1f1a3a; color: #fff; border-color: #4b5563; }
body.bd-dark .bd-fut-team-card-name { color: #fff; }
body.bd-dark .bd-fut-team-card.has-wc { background: linear-gradient(90deg, rgba(255,220,31,0.08) 0%, #1f1a3a 50%); }
body.bd-dark .bd-fut-search { background: #1f1a3a; color: #fff; border-color: #4b5563; }

/* ════════════════════════════════════════════════════════════════════════
   FÚTBOL — SUB-NAVBAR (segundo nivel, debajo del nav principal)
   ════════════════════════════════════════════════════════════════════════ */
.bd-fut-subnav {
    position: sticky;
    top: 100px;
    z-index: 39;
    background: #f9fafb;
    border-bottom: 2px solid #111827;
    padding: 0.4rem 0;
}
.bd-fut-subnav .bd-mun-tabs-inner {
    padding: 0 1rem;
    overflow-x: auto;
    scrollbar-width: thin;
}
.bd-fut-subnav .bd-mun-tab {
    font-size: 0.82rem;
    padding: 0.45rem 0.9rem;
    background: transparent;
    border: 1.5px solid transparent;
    border-radius: 5px;
    color: #4b5563;
    white-space: nowrap;
}
.bd-fut-subnav .bd-mun-tab:hover {
    background: #fff;
    color: var(--sss-cobalt, #1939B7);
    border-color: #d1d5db;
}
.bd-fut-subnav .bd-mun-tab-active {
    background: var(--sss-cobalt, #1939B7) !important;
    color: #fff !important;
    border-color: var(--sss-cobalt, #1939B7) !important;
    font-weight: 600;
}
body.bd-dark .bd-fut-subnav { background: #1f1a3a; border-color: #4b5563; }
body.bd-dark .bd-fut-subnav .bd-mun-tab { color: #cbd5e1; }
body.bd-dark .bd-fut-subnav .bd-mun-tab:hover { background: #2a2548; border-color: #4b5563; }

/* ════════════════════════════════════════════════════════════════════════
   FUTBOL — Standings table + top scorers list + squad cards
   ════════════════════════════════════════════════════════════════════════ */
.bd-fut-standings { width: 100%; border-collapse: collapse; font-size: 0.88rem; margin-top: 0.6rem; }
.bd-fut-standings th, .bd-fut-standings td { padding: 0.5rem 0.6rem; border-bottom: 1px solid #e5e7eb; text-align: center; }
.bd-fut-standings th { background: var(--sss-cobalt, #1939B7); color: #fff; font-family: 'Press Start 2P', monospace; font-size: 0.65rem; padding: 0.7rem 0.4rem; letter-spacing: 0.3px; }
.bd-fut-standings tbody tr:hover { background: #f9fafb; }
.bd-fut-standings .bd-fut-st-team { text-align: left; display: flex; align-items: center; gap: 0.4rem; min-width: 160px; }
.bd-fut-standings tr.is-ucl { background: linear-gradient(90deg, rgba(25,57,183,0.06) 0%, transparent 80%); border-left: 3px solid #1939B7; }
.bd-fut-standings tr.is-uel { background: linear-gradient(90deg, rgba(245,158,11,0.06) 0%, transparent 80%); border-left: 3px solid #F59E0B; }
.bd-fut-standings tr.is-rel { background: linear-gradient(90deg, rgba(239,68,68,0.06) 0%, transparent 80%); border-left: 3px solid #EF4444; }

.bd-fut-scorers { list-style: none; padding: 0; margin: 0.8rem 0 0; display: flex; flex-direction: column; gap: 0.4rem; }
.bd-fut-scorers li { display: grid; grid-template-columns: 36px 44px 1fr auto; align-items: center; gap: 0.8rem; padding: 0.5rem 0.8rem; background: #f9fafb; border-left: 4px solid var(--sss-cobalt, #1939B7); border-radius: 0 4px 4px 0; }
.bd-fut-scorers li:first-child { border-left-color: #FFDC1F; }
.bd-fut-scorers li:nth-child(2) { border-left-color: #94a3b8; }
.bd-fut-scorers li:nth-child(3) { border-left-color: #f59e0b; }
.bd-fut-scorer-rank { font-family: 'Press Start 2P', monospace; font-size: 0.78rem; color: var(--sss-cobalt, #1939B7); }
.bd-fut-scorer-photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.bd-fut-scorer-info { display: flex; flex-direction: column; gap: 0.15rem; }
.bd-fut-scorer-name { font-size: 0.95rem; color: #111827; }
.bd-fut-scorer-meta { font-size: 0.78rem; color: #6b7280; }
.bd-fut-scorer-stat { font-size: 0.82rem; color: #4b5563; }
.bd-fut-scorer-stat strong { color: var(--sss-pink, #FF4FCB); font-size: 1rem; }

/* Team hero (squad page) */
.bd-fut-team-hero { display: flex; align-items: center; gap: 1.4rem; padding: 0.5rem 0; }
.bd-fut-team-hero-logo { object-fit: contain; flex-shrink: 0; }
.bd-fut-squad-pos { margin: 1.4rem 0 0.6rem; font-family: 'Press Start 2P', monospace; font-size: 0.78rem; color: var(--sss-pink, #FF4FCB); letter-spacing: 0.3px; }
.bd-fut-squad-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.6rem; }
.bd-fut-squad-card { background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 6px; padding: 0.6rem; display: flex; align-items: center; gap: 0.6rem; transition: all 0.15s ease; }
.bd-fut-squad-card:hover { border-color: var(--sss-cobalt, #1939B7); transform: translateY(-1px); }
.bd-fut-squad-card img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,0.1); flex-shrink: 0; }
.bd-fut-squad-card-info { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; }
.bd-fut-squad-card-info strong { font-size: 0.85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bd-fut-squad-card-info span { font-size: 0.72rem; color: #6b7280; }

body.bd-dark .bd-fut-standings tbody tr:hover { background: rgba(255,255,255,0.04); }
body.bd-dark .bd-fut-standings th, body.bd-dark .bd-fut-standings td { border-color: rgba(255,255,255,0.08); color: #fff; }
body.bd-dark .bd-fut-scorers li { background: #1f1a3a; color: #fff; }
body.bd-dark .bd-fut-scorer-name { color: #fff; }
body.bd-dark .bd-fut-scorer-meta { color: #94a3b8; }
body.bd-dark .bd-fut-squad-card { background: #1f1a3a; color: #fff; border-color: #4b5563; }

/* ════════════════════════════════════════════════════════════════════════════
   HERO LIVE — mini card del partido en vivo (reemplaza countdown post-debut)
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-hero-live {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
    padding: 0.6rem 0.85rem;
    background: var(--paper, #fff);
    border: 3px solid var(--sss-pink, #FF4FCB);
    border-radius: 3px;
    box-shadow: 4px 4px 0 var(--sss-cobalt, #1939B7);
    text-decoration: none;
    transition: transform 0.12s;
}
.bd-mun-hero-live:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--sss-cobalt, #1939B7); }
.bd-mun-hero-live-pill {
    display: inline-block;
    padding: 0.18rem 0.5rem;
    background: var(--sss-pink, #FF4FCB);
    color: #fff;
    font-family: var(--mono);
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    animation: bd-mun-live-pulse 1.4s ease-in-out infinite;
}
.bd-mun-hero-live-match {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}
.bd-mun-hero-live-side { display: flex; align-items: center; gap: 0.35rem; }
.bd-mun-hero-live-side img { width: 26px; height: 26px; object-fit: contain; }
.bd-mun-hero-live-side span { font-family: var(--display); font-size: 0.72rem; color: var(--ink); }
.bd-mun-hero-live-score {
    font-family: var(--display);
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--sss-cobalt, #1939B7);
    background: var(--sss-yellow, #FFDC1F);
    padding: 0.15rem 0.5rem;
    border-radius: 2px;
}
body.bd-dark .bd-mun-hero-live { background: #1f1a3a; }
body.bd-dark .bd-mun-hero-live-side span { color: var(--sss-ice, #fff); }

/* ════════════════════════════════════════════════════════════════════════════
   PRÓXIMOS PARTIDOS — cards estilo home, restringidas al ancho de su card
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-upcoming-cards { padding-bottom: 0.8rem; }
.bd-mun-upcoming-cards .bd-mun-card-h { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.bd-mun-upcoming-cards .bd-dash-v4-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.6rem;
    padding: 0.6rem 0.8rem 0.4rem;
}
.bd-mun-upcoming-cards .bd-dash-v4-nav {
    display: flex; align-items: center; gap: 0.4rem;
}
.bd-mun-upcoming-cards .bd-dash-v4-nav-btn {
    width: 26px; height: 26px;
    border: 2px solid var(--line);
    background: var(--paper, #fff);
    color: var(--ink);
    font-size: 0.7rem;
    cursor: pointer;
    font-family: var(--mono);
    line-height: 1;
}
.bd-mun-upcoming-cards .bd-dash-v4-nav-btn:hover { background: var(--sss-yellow, #FFDC1F); }
.bd-mun-upcoming-cards .bd-dash-v4-nav-page {
    font-family: var(--mono); font-size: 0.75rem; font-weight: 700; color: var(--ink-soft, #666); min-width: 36px; text-align: center;
}
body.bd-dark .bd-mun-upcoming-cards .bd-dash-v4-nav-btn { background: #2d264a; color: #fff; border-color: #4b5563; }
body.bd-dark .bd-mun-upcoming-cards .bd-dash-v4-nav-page { color: #cbd5e1; }

/* Card de partido tamaño mini (mismo que home) */
.bd-mun-upcoming-cards .bd-card-match-mini-link { text-decoration: none; color: inherit; display: block; }
.bd-mun-upcoming-cards .bd-card-match-mini-link:hover .bd-card-match-mini { transform: translate(-1px, -1px); }
.bd-mun-upcoming-cards .bd-card-match-mini {
    background: var(--paper, #fff);
    border: 3px solid var(--line);
    box-shadow: var(--depth-sm);
    padding: 0.55rem 0.5rem;
    display: flex; flex-direction: column; gap: 0.4rem;
    min-width: 0;
    transition: transform .1s;
}
.bd-mun-upcoming-cards .bd-card-match-mini-status {
    text-align: center; font-family: var(--mono); font-size: 0.7rem; font-weight: 700;
    color: var(--sss-pink-d, #C7137A); letter-spacing: 0.02em;
}
.bd-mun-upcoming-cards .bd-card-match-mini-teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 0.3rem; }
.bd-mun-upcoming-cards .bd-card-match-mini-team { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; min-width: 0; }
.bd-mun-upcoming-cards .bd-card-match-mini-team img { width: 36px; height: 36px; object-fit: contain; }
.bd-mun-upcoming-cards .bd-card-match-mini-team span {
    font-family: var(--display); font-size: 0.62rem; font-weight: 700; text-align: center; line-height: 1.1;
    color: var(--ink); letter-spacing: 0.04em; width: 100%;
}
.bd-mun-upcoming-cards .bd-card-match-mini-score { font-family: var(--display); font-size: 0.85rem; color: var(--ink-soft, #888); text-align: center; }
.bd-mun-upcoming-cards .bd-card-match-mini-meta { font-family: var(--mono); font-size: 0.65rem; color: var(--ink-soft, #777); text-align: center; }
.bd-mun-upcoming-cards .bd-card-match-mini.is-live {
    border-color: var(--sss-pink, #FF4FCB);
    box-shadow: 0 0 0 2px rgba(255, 79, 203, 0.18), var(--depth-sm);
    background: linear-gradient(180deg, #FFF5FB 0%, var(--paper, #fff) 60%);
}
.bd-mun-upcoming-cards .bd-card-match-mini.is-live .bd-card-match-mini-score {
    color: var(--sss-cobalt, #1939B7); font-size: 1rem;
}
.bd-mun-upcoming-cards .bd-card-match-mini-live {
    display: inline-flex; align-items: center; gap: 0.25rem;
    color: var(--sss-pink-d, #C7137A); font-weight: 800; letter-spacing: 0.04em;
    animation: bd-mun-live-pulse 1.4s ease-in-out infinite;
}
body.bd-dark .bd-mun-upcoming-cards .bd-card-match-mini { background: #2d264a; border-color: #4b5563; }
body.bd-dark .bd-mun-upcoming-cards .bd-card-match-mini-team span { color: #fff; }
body.bd-dark .bd-mun-upcoming-cards .bd-card-match-mini.is-live { background: linear-gradient(180deg, #3a2d54 0%, #2d264a 60%); }

/* ════════════════════════════════════════════════════════════════════════════
   GRID LAYOUT: Próximos + Destacados (izq) | Stats Tabs (der, full height)
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-row-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    grid-template-areas: "barti stats" "upcoming stats" "highlights stats";
    grid-template-rows: auto auto 1fr;
    gap: 0.7rem;
}
.bd-mun-area-upcoming  { grid-area: upcoming; }
.bd-mun-area-highlights{ grid-area: highlights; }
.bd-mun-area-barti     { grid-area: barti; }
.bd-mun-area-stats     { grid-area: stats; display: flex; flex-direction: column; }
@media (max-width: 900px) {
    .bd-mun-row-grid { grid-template-columns: 1fr; grid-template-areas: "barti" "upcoming" "highlights" "stats"; }
}

/* ════════════════════════════════════════════════════════════════════════════
   DESTACADOS — cards sueltas (sin envoltura) en la misma fila
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-highlights-loose {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
}
.bd-mun-hl-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.2fr; /* Jugador + Partido + Últimos resultados (más ancho) */
    gap: 0.6rem;
    padding: 0;
    flex: 1;
    align-items: stretch;
}
@media (max-width: 1100px) { .bd-mun-hl-grid { grid-template-columns: 1fr 1fr; } .bd-mun-hl-recent { grid-column: 1 / -1; } }

/* ════════════════════════════════════════════════════════════════════════════
   ÚLTIMOS RESULTADOS — card vertical en la misma fila que Jugador + Partido
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-hl-recent {
    /* hereda .bd-mun-hl-card (borde + sombra), pero alinea contenido arriba */
    align-items: stretch;
    text-align: left;
    padding: 0.5rem 0.4rem 0.5rem;
    gap: 0.4rem;
}
.bd-mun-recent-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column;
    justify-content: space-around;
    width: 100%;
    flex: 1;
}
.bd-mun-recent-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.5rem;
    border-left: 0;
    background: transparent;
    transition: background 0.12s;
    justify-content: center;
}
.bd-mun-recent-row:hover { background: rgba(25, 57, 183, 0.06); }
.bd-mun-recent-team {
    display: flex; align-items: center; gap: 0.3rem;
    min-width: 0;
}
.bd-mun-recent-team-away { justify-content: flex-end; }
.bd-mun-recent-team img {
    width: 28px !important; height: 19px !important;
    object-fit: cover !important;
    flex-shrink: 0;
    border: 1px solid rgba(25,57,183,0.25);
}
.bd-mun-recent-team span {
    font-family: var(--display); font-size: 0.76rem;
    color: var(--ink, #1f1f3a);
    letter-spacing: 0.03em;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    text-transform: uppercase;
}
.bd-mun-recent-score {
    font-family: var(--display); font-size: 0.95rem; font-weight: 800;
    color: var(--ink, #1f1f3a);
    padding: 0;
    background: transparent;
    white-space: nowrap;
}
.bd-mun-recent-tag {
    display: inline-block;
    font-family: var(--mono); font-size: 0.55rem; font-weight: 700;
    color: var(--sss-pink-d, #C7137A);
    letter-spacing: 0.04em;
    text-align: right;
}
body.bd-dark .bd-mun-recent-row { background: rgba(255, 220, 31, 0.07); border-left-color: var(--sss-yellow, #FFDC1F); }
body.bd-dark .bd-mun-recent-row:hover { background: rgba(255, 220, 31, 0.15); }
body.bd-dark .bd-mun-recent-team span { color: #94a3b8; }
body.bd-dark .bd-mun-recent-team.is-winner span { color: #fff; }
body.bd-dark .bd-mun-recent-date { color: #94a3b8; border-bottom-color: rgba(255, 220, 31, 0.15); }

/* ════════════════════════════════════════════════════════════════════════════
   JUGADOR DEL DÍA — minimal, foto grande, rating en esquina, stats inline
   ═══════════════════════════════════════════════════════════════════════════ */
a.bd-mun-hl-player { text-decoration: none; color: inherit; display: flex; }
.bd-mun-hl-player {
    background: linear-gradient(180deg, #FFFCE6 0%, #FFFAD8 100%);
    border: 3px solid var(--line);
    box-shadow: 3px 3px 0 var(--ink, #1f1f3a);
    padding: 0.5rem 0.45rem 0.55rem;
    gap: 0.3rem;
    position: relative;
    overflow: hidden;
}
/* Bandera del país de fondo (debajo del contenido, traslúcida) */
.bd-mun-hl-player-has-bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: var(--player-flag-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.18;
    z-index: 0;
    pointer-events: none;
    -webkit-mask-image: radial-gradient(circle at center, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.5) 75%, transparent 100%);
            mask-image: radial-gradient(circle at center, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.5) 75%, transparent 100%);
}
.bd-mun-hl-player > * { position: relative; z-index: 1; }
.bd-mun-hl-player:hover {
    transform: translate(-2px, -2px);
    box-shadow: 5px 5px 0 var(--ink, #1f1f3a);
}

/* Body: foto grande centrada + columna de badges absolute a la der */
.bd-mun-hl-player-body {
    position: relative;
    width: 100%;
    display: flex; justify-content: center; align-items: center;
    margin: 0.3rem 0 0.25rem;
    min-height: 110px;
}

/* Foto GRANDE — circular, tamaño fijo grande */
.bd-mun-hl-player .bd-mun-hl-photo-circle {
    width: 120px !important;
    height: 120px !important;
    border-radius: 50%;
    background: linear-gradient(160deg, #E8EEFF 0%, #D8E2FF 100%);
    border: 3px solid var(--sss-cobalt, #1939B7);
    overflow: hidden;
    display: flex; align-items: flex-end; justify-content: center;
    flex-shrink: 0;
    margin: 0 auto;
}
.bd-mun-hl-player .bd-mun-hl-photo-circle img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center top;
}
.bd-mun-hl-photo-circle img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center top;
}
.bd-mun-hl-photo-fallback { font-size: 2rem; color: var(--sss-cobalt, #1939B7); }

/* Columna de badges — flotantes a la derecha de la foto */
.bd-mun-hl-badges {
    position: absolute;
    top: 0;
    right: 4px;
    bottom: 0;
    display: flex; flex-direction: column;
    justify-content: center;
    gap: 0.3rem;
    align-items: stretch;
}
.bd-mun-hl-badge {
    background: var(--sss-cobalt, #1939B7);
    color: var(--sss-yellow, #FFDC1F);
    border: 2px solid var(--sss-yellow, #FFDC1F);
    padding: 0.25rem 0.35rem;
    display: flex; flex-direction: column; align-items: center; gap: 0.08rem;
    line-height: 1;
    min-width: 48px;
}
.bd-mun-hl-badge-val {
    font-family: var(--display);
    font-size: 0.78rem; font-weight: 400;
}
.bd-mun-hl-badge-lbl {
    font-family: var(--mono);
    font-size: 0.42rem; font-weight: 800;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

/* Bandera + país levemente más grandes */
.bd-mun-hl-player .bd-mun-hl-meta {
    font-size: 0.74rem;
    gap: 0.3rem;
    margin-top: 0.05rem;
}
.bd-mun-hl-player .bd-mun-hl-flag {
    width: 20px; height: 14px;
}

body.bd-dark .bd-mun-hl-player { background: #2d264a; }
body.bd-dark .bd-mun-hl-photo-circle { background: linear-gradient(160deg, #1f1a3a 0%, #2d264a 100%); }

/* Card mini "done" — partido finalizado (visible hasta que próximo < 3h) */
.bd-card-match-mini.is-done {
    border-color: var(--sss-cobalt, #1939B7);
    background: linear-gradient(180deg, #F0F4FF 0%, var(--paper, #fff) 60%);
}
.bd-card-match-mini.is-done .bd-card-match-mini-score {
    color: var(--sss-cobalt, #1939B7); font-size: 1rem; font-weight: 800;
}
.bd-card-match-mini-done {
    display: inline-block;
    padding: 0.1rem 0.35rem;
    background: var(--sss-cobalt, #1939B7);
    color: var(--sss-yellow, #FFDC1F);
    font-weight: 800; letter-spacing: 0.04em;
    border-radius: 2px;
    font-size: 0.62rem;
}
body.bd-dark .bd-card-match-mini.is-done { background: linear-gradient(180deg, #3a334e 0%, #2d264a 60%); }
.bd-mun-hl-card-link { text-decoration: none; color: inherit; display: block; }
.bd-mun-hl-card-link .bd-mun-hl-card { transition: transform .12s; }
.bd-mun-hl-card-link:hover .bd-mun-hl-card { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink, #1f1f3a); }
.bd-mun-card.bd-mun-upcoming-cards { /* Próximos partidos más bajita */ }
.bd-mun-upcoming-cards .bd-dash-v4-grid { padding: 0.4rem 0.7rem 0.4rem; gap: 0.45rem; }
.bd-mun-upcoming-cards .bd-card-match-mini { padding: 0.4rem 0.4rem; gap: 0.3rem; }
.bd-mun-upcoming-cards .bd-card-match-mini-team img { width: 30px; height: 30px; }
.bd-mun-upcoming-cards .bd-card-match-mini-meta { font-size: 0.6rem; }

.bd-mun-hl-card {
    background: var(--paper, #fff);
    border: 3px solid var(--line);
    box-shadow: 3px 3px 0 var(--ink, #1f1f3a);
    padding: 0.55rem 0.45rem 0.6rem;
    display: flex; flex-direction: column; align-items: center; gap: 0.35rem;
    text-align: center;
    height: 100%; /* estira al alto del row para alinear con la card de Stats */
}
.bd-mun-hl-h {
    display: flex; align-items: center; gap: 0.4rem;
    width: 100%; padding-bottom: 0.5rem;
    border-bottom: 2px solid var(--ink, #1f1f3a);
    justify-content: center;
}
.bd-mun-hl-icon { font-size: 1.05rem; }
.bd-mun-hl-lbl {
    font-family: var(--display); /* Press Start 2P — pixel art */
    font-size: 0.78rem; font-weight: 400;
    letter-spacing: 0.02em; text-transform: uppercase;
    color: var(--ink, #1f1f3a);
    line-height: 1.2;
}
body.bd-dark .bd-mun-hl-h { border-bottom-color: var(--sss-yellow, #FFDC1F); }
body.bd-dark .bd-mun-hl-lbl { color: var(--sss-yellow, #FFDC1F); }
.bd-mun-hl-photo {
    width: 46px; height: 46px;
    border-radius: 50%;
    background: var(--sss-cobalt, #1939B7);
    border: 2px solid var(--sss-yellow, #FFDC1F);
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
    margin-top: 0.1rem;
}
.bd-mun-hl-photo img { width: 100%; height: 100%; object-fit: cover; }
.bd-mun-hl-photo-fallback { font-size: 1.5rem; }
.bd-mun-hl-photo-team { background: var(--paper, #fff); }
.bd-mun-hl-photo-team img { object-fit: contain; padding: 4px; }
.bd-mun-hl-venue-icon { font-size: 1.6rem; margin: 0.15rem 0; }
.bd-mun-hl-name {
    font-family: var(--display); font-size: 0.72rem; font-weight: 800;
    color: var(--ink); letter-spacing: 0.02em;
    line-height: 1.15;
}
.bd-mun-hl-meta {
    display: flex; align-items: center; gap: 0.25rem;
    font-family: var(--mono); font-size: 0.66rem; color: var(--ink-soft, #666);
    flex-wrap: wrap; justify-content: center;
}
.bd-mun-hl-flag { width: 16px; height: 11px; object-fit: contain; }
.bd-mun-hl-sub {
    font-family: var(--mono); font-size: 0.66rem; color: var(--ink-soft, #666);
    line-height: 1.3;
}
.bd-mun-hl-sub strong { color: var(--sss-cobalt, #1939B7); }
.bd-mun-hl-sub-em {
    font-size: 0.62rem; color: var(--sss-pink-d, #C7137A);
    text-transform: uppercase; letter-spacing: 0.04em;
    margin-top: auto;
}
/* Partido destacado — versión cuadrada del banner del partido */
.bd-mun-hl-match {
    position: relative;
    overflow: hidden;
}
.bd-mun-hl-match-bg {
    position: absolute; top: 0; bottom: 0;
    width: 60%;
    background-size: cover;
    background-position: center;
    opacity: 0.32;
    z-index: 0;
    pointer-events: none;
}
.bd-mun-hl-match-bg-home {
    left: 0;
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,0.95) 30%, transparent 100%);
            mask-image: linear-gradient(to right, rgba(0,0,0,0.95) 30%, transparent 100%);
}
.bd-mun-hl-match-bg-away {
    right: 0;
    -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,0.95) 30%, transparent 100%);
            mask-image: linear-gradient(to left, rgba(0,0,0,0.95) 30%, transparent 100%);
}
.bd-mun-hl-match > *:not(.bd-mun-hl-match-bg) { position: relative; z-index: 1; }

/* Card del partido destacado: centrar verticalmente el contenido bajo el header */
.bd-mun-hl-match {
    justify-content: center;
}
.bd-mun-hl-match > .bd-mun-hl-h { flex-shrink: 0; }

.bd-mun-hl-match-teams {
    display: flex; align-items: center; gap: 0.5rem; margin: auto 0 0.4rem;
    justify-content: center;
}
.bd-mun-hl-team { display: flex; flex-direction: column; align-items: center; gap: 0.4rem; }
.bd-mun-hl-team img {
    width: 64px; height: 44px;
    object-fit: cover;
    border: 2px solid var(--ink, #1f1f3a);
    box-shadow: 2px 2px 0 rgba(0,0,0,0.35);
}
.bd-mun-hl-team span {
    font-family: var(--display); font-size: 0.86rem;
    color: var(--ink, #1f1f3a);
}
.bd-mun-hl-match-sep {
    font-family: var(--display); font-size: 0.86rem;
    color: var(--ink, #1f1f3a);
    background: transparent;
    padding: 0 0.3rem;
    border-radius: 0;
}
/* Sub de fecha/hora un poco más grande, y empuja al venue al final centrado */
.bd-mun-hl-match .bd-mun-hl-sub:not(.bd-mun-hl-sub-em) {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--ink, #1f1f3a);
    margin-bottom: auto;
}
body.bd-dark .bd-mun-hl-card { background: #2d264a; border-color: #4b5563; }
body.bd-dark .bd-mun-hl-name { color: var(--sss-ice, #fff); }
body.bd-dark .bd-mun-hl-team span { color: var(--sss-ice, #fff); }
body.bd-dark .bd-mun-hl-meta { color: #94a3b8; }
body.bd-dark .bd-mun-hl-sub { color: #94a3b8; }
body.bd-dark .bd-mun-hl-sub strong { color: var(--sss-yellow, #FFDC1F); }

/* ════════════════════════════════════════════════════════════════════════════
   BARTI — card de comentario (bajita, debajo de Destacados)
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-barti {
    padding: 0.4rem 0.8rem;
}
.bd-mun-barti-inner {
    display: flex; align-items: center; gap: 0.8rem;
}
.bd-mun-barti-img {
    width: 88px; height: 88px;
    object-fit: contain;
    flex-shrink: 0;
    image-rendering: pixelated;
}
.bd-mun-barti-img-fallback {
    width: 88px; height: 88px;
    display: flex; align-items: center; justify-content: center;
    font-size: 2.6rem; flex-shrink: 0;
    background: var(--sss-cobalt, #1939B7);
    border: 2px solid var(--sss-yellow, #FFDC1F);
    border-radius: 50%;
}
.bd-mun-barti-bubble {
    flex: 1; min-width: 0;
    padding: 0.55rem 0.8rem;
    background: var(--paper, #fff);
    border: 3px solid var(--ink, #1f1f3a);
    box-shadow: 3px 3px 0 var(--ink, #1f1f3a);
    border-radius: 0;
}
.bd-mun-barti-name {
    display: block;
    font-family: var(--display); font-size: 0.62rem; font-weight: 400;
    color: var(--ink, #1f1f3a);
    letter-spacing: 0.04em; text-transform: uppercase;
    margin-bottom: 0.3rem;
}
.bd-mun-barti-text {
    margin: 0;
    font-family: var(--mono); font-size: 0.82rem;
    color: var(--ink, #1f1f3a);
    line-height: 1.4;
}
body.bd-dark .bd-mun-barti-bubble { background: #2d264a; border-color: var(--sss-yellow, #FFDC1F); box-shadow: 3px 3px 0 var(--sss-yellow, #FFDC1F); }
body.bd-dark .bd-mun-barti-text { color: var(--sss-ice, #fff); }
body.bd-dark .bd-mun-barti-name { color: var(--sss-yellow, #FFDC1F); }

/* ════════════════════════════════════════════════════════════════════════════
   STATS SIDE — tabs Goleadores / Selecciones (full height)
   ═══════════════════════════════════════════════════════════════════════════ */
.bd-mun-stats-side { flex: 1; min-height: 0; }
.bd-mun-stats-side .bd-mun-card-h {
    display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem;
    padding-bottom: 0.4rem;
}
.bd-mun-stats-tabs {
    display: flex; gap: 0.3rem; width: 100%;
}
.bd-mun-stats-tab {
    flex: 1;
    padding: 0.55rem 0.4rem;
    background: var(--paper, #fff);
    border: 2px solid var(--sss-cobalt, #1939B7);
    font-family: var(--display);
    font-size: 0.65rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    color: var(--sss-cobalt, #1939B7);
    cursor: pointer;
    transition: background 0.12s, color 0.12s;
    line-height: 1.1;
    text-transform: uppercase;
}
.bd-mun-stats-tab:hover { background: rgba(25, 57, 183, 0.08); }
.bd-mun-stats-tab-active {
    background: var(--sss-cobalt, #1939B7);
    color: var(--sss-yellow, #FFDC1F);
    border-color: var(--sss-cobalt, #1939B7);
    box-shadow: 2px 2px 0 var(--sss-pink, #FF4FCB);
}
body.bd-dark .bd-mun-stats-tab { background: #2d264a; color: var(--sss-yellow, #FFDC1F); border-color: var(--sss-yellow, #FFDC1F); }
body.bd-dark .bd-mun-stats-tab-active { background: var(--sss-cobalt, #1939B7); color: var(--sss-yellow, #FFDC1F); border-color: var(--sss-yellow, #FFDC1F); }

.bd-mun-stats-panel { display: none; padding: 0.5rem 0.6rem 0.6rem; }
.bd-mun-stats-panel-active { display: block; }

.bd-mun-stats-list {
    list-style: none; margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 0.3rem;
    counter-reset: bd-mun-stats;
}
.bd-mun-stats-row {
    display: grid;
    grid-template-columns: 22px 36px 1fr auto;
    align-items: center;
    gap: 0.45rem;
    padding: 0.4rem 0.45rem;
    background: rgba(25, 57, 183, 0.04);
    border-left: 3px solid var(--sss-pink-d, #C7137A);
    border-radius: 0 3px 3px 0;
}
.bd-mun-stats-row-top {
    background: linear-gradient(90deg, rgba(255, 220, 31, 0.18) 0%, transparent 80%);
    border-left-color: var(--sss-yellow, #FFDC1F);
}
.bd-mun-stats-rank {
    font-family: var(--display); font-size: 0.85rem; font-weight: 800;
    color: var(--sss-cobalt, #1939B7); text-align: center;
}
.bd-mun-stats-row-top .bd-mun-stats-rank { color: var(--sss-pink-d, #C7137A); }
.bd-mun-stats-photo {
    width: 36px; height: 36px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid var(--sss-cobalt, #1939B7);
    background: #fff;
}
.bd-mun-stats-photo-flag { object-fit: contain; padding: 3px; }
.bd-mun-stats-info { display: flex; flex-direction: column; gap: 0.05rem; min-width: 0; }
.bd-mun-stats-name {
    font-family: var(--mono); font-size: 0.78rem; font-weight: 700;
    color: var(--ink);
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bd-mun-stats-sub {
    display: flex; align-items: center; gap: 0.25rem;
    font-family: var(--mono); font-size: 0.65rem; color: var(--ink-soft, #666);
}
.bd-mun-stats-sub img { width: 14px; height: 10px; object-fit: contain; }
.bd-mun-stats-val {
    display: flex; flex-direction: column; align-items: flex-end; gap: 0.05rem;
    line-height: 1;
}
.bd-mun-stats-big {
    font-family: var(--display); font-size: 1rem; font-weight: 800;
    color: var(--sss-cobalt, #1939B7);
}
.bd-mun-stats-sm {
    font-family: var(--mono); font-size: 0.6rem; color: var(--ink-soft, #888);
    text-transform: uppercase; letter-spacing: 0.04em;
}
.bd-mun-stats-tag {
    font-family: var(--mono); font-size: 0.58rem; font-weight: 700;
    color: var(--sss-pink-d, #C7137A);
    margin-top: 0.15rem;
}
body.bd-dark .bd-mun-stats-name { color: var(--sss-ice, #fff); }
body.bd-dark .bd-mun-stats-sub { color: #94a3b8; }
body.bd-dark .bd-mun-stats-big { color: var(--sss-yellow, #FFDC1F); }
body.bd-dark .bd-mun-stats-row { background: rgba(255, 220, 31, 0.06); }

.bd-mun-stats-empty {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 0.5rem; padding: 1.5rem 1rem; text-align: center;
    color: var(--ink-soft, #888);
}
.bd-mun-stats-empty span { font-size: 2rem; opacity: 0.5; }
.bd-mun-stats-empty p { font-family: var(--mono); font-size: 0.75rem; margin: 0; }

/* Estadios — versión row (full width abajo, lista horizontal scroll si no cabe) */
.bd-mun-venues-list-row {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 0.5rem !important;
}
.bd-mun-venues-list-row li {
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
}
