
:root{--po-navy:#0b2d50;--po-soft:#f4f7fb;--po-line:#d9e2ec;--po-text:#142033;--po-muted:#5b6f84;--po-gold:#efb739}
.lbps-playoffs-summary-source,.lbps-playoffs-summary-source *{box-sizing:border-box}
.lbps-playoffs-summary-source{margin:0;background:#f5f8fc;color:var(--po-text);font-family:Arial,Helvetica,sans-serif}
.po-page{max-width:1280px;margin:0 auto;padding:18px 20px 40px}
.po-panel,.po-day-card{background:#fff;border:1px solid var(--po-line);border-radius:16px;overflow:hidden}
.po-titlebar{background:var(--po-navy);color:#fff;font-weight:900;font-size:1.35rem;padding:16px 20px}
.po-toolbar{padding:16px 20px 18px}
.po-toolbar label{display:block;font-size:.72rem;font-weight:900;letter-spacing:.08em;color:var(--po-muted);margin-bottom:7px}
.po-toolbar select{min-width:320px;max-width:100%;padding:10px 14px;border:1px solid #bfd0e2;border-radius:10px;background:#fff;font-weight:700}
.po-content{margin-top:16px}
.po-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;gap:22px;align-items:start}
.po-day-heading{background:#eef4fa;border-bottom:1px solid var(--po-line);border-left:5px solid var(--po-navy);padding:12px 18px;font-size:1.05rem;font-weight:900;text-transform:capitalize}
.po-day-body{padding:20px 22px}
.po-day-body::after{content:"";display:block;clear:both}
.po-star{float:left;width:220px;margin:0 18px 12px 0;text-align:center}
.po-star img{display:block;width:205px;height:205px;object-fit:contain;object-position:center bottom;margin:0 auto 8px}
.po-star-name{font-weight:900}.po-star-gmsc{font-weight:900;color:#155a9a;margin-top:3px}.po-star-stats{font-size:.75rem;color:var(--po-muted);font-weight:700;margin-top:3px}
.po-game{margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid #e1e8ef}
.po-game:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.po-game-title{font-size:1.02rem;line-height:1.3;font-weight:900;color:var(--po-navy)}
.po-game-badges{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 7px}
.po-badge{display:inline-block;padding:4px 8px;border:1px solid #c8d7e6;border-radius:999px;background:#f6f9fc;color:#53677d;font-size:.68rem;font-weight:900}
.po-badge-series{color:#174e7c;background:#eef5fb}
.po-badge-clinch{color:#6b4b00;background:#fff8df;border-color:#efd071}
.po-game-text{font-size:.95rem;line-height:1.58}
.po-leaders{background:#f4f7fb;position:sticky;top:14px}
.po-leaders-title{color:var(--po-navy);padding:2px 4px 10px;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.po-leader-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.po-leader-card{position:relative;min-height:132px;padding:15px 12px 13px;border:1px solid #d9e2ec;border-radius:14px;background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 5px 14px rgba(17,42,67,.05);overflow:hidden}
.po-leader-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2d628f 0%,#2d628f 72%,#efb739 72%,#efb739 100%)}
.po-leader-label{width:100%;color:#53677d;font-size:.68rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;text-align:left}
.po-leader-value{width:100%;margin:13px 0 9px;color:var(--po-navy);font-size:2.35rem;line-height:1;font-weight:950;text-align:center}
.po-leader-player{width:100%;min-height:2.35em;font-size:.80rem;line-height:1.18;font-weight:900;text-align:center;overflow-wrap:anywhere}
.po-loading,.po-error{padding:30px;text-align:center;color:var(--po-muted)}
@media(max-width:1000px){.po-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}}
@media(max-width:820px){.po-layout{display:block}.po-leaders{position:static;margin-top:16px}.po-leader-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.po-page{padding:10px}.po-day-body{padding:14px}.po-star{float:none;width:100%;margin:0 0 16px}.po-star img{width:150px;height:150px}.po-toolbar select{min-width:0;width:100%}.po-leader-grid{grid-template-columns:1fr 1fr}}


/* =========================================================
   PLAYOFFS SUMMARY v0.18.72 - BRACKET DINÁMICO
   ========================================================= */
.po-bracket{
    margin:0 0 18px;
    background:#fff;
    border:1px solid var(--po-line);
    border-radius:16px;
    overflow:hidden;
}
.po-bracket-heading{
    padding:13px 18px;
    background:var(--po-navy);
    color:#fff;
    font-size:1rem;
    font-weight:900;
}
.po-bracket-scroll{
    overflow-x:auto;
    padding:14px 14px 16px;
}
.po-bracket-grid{
    min-width:1120px;
    display:grid;
    grid-template-columns:54px repeat(7,minmax(128px,1fr)) 54px;
    gap:10px;
    align-items:start;
}
.po-bracket-conf{
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    writing-mode:vertical-rl;
    transform:rotate(180deg);
    color:#5b6f84;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.10em;
}
.po-bracket-round-title{
    margin-bottom:8px;
    text-align:center;
    color:#53677d;
    font-size:.64rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.po-bracket-round-series{
    display:flex;
    flex-direction:column;
    gap:9px;
}
.po-bracket-series{
    border:1px solid #d9e2ec;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 3px 10px rgba(17,42,67,.04);
}
.po-bracket-series.is-finished{
    border-color:#c7d6e5;
}
.po-bracket-team{
    min-height:34px;
    padding:5px 7px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    border-bottom:1px solid #edf1f5;
}
.po-bracket-team:last-child{border-bottom:0}
.po-bracket-team.is-winner{
    background:#eef5fb;
}
.po-bracket-team-main{
    min-width:0;
    display:flex;
    align-items:center;
    gap:6px;
}
.po-bracket-team-main img{
    width:23px;
    height:23px;
    object-fit:contain;
    flex:0 0 23px;
}
.po-bracket-team-main strong{
    color:var(--po-navy);
    font-size:.74rem;
    font-weight:950;
}
.po-bracket-score{
    min-width:16px;
    text-align:center;
    color:var(--po-navy);
    font-size:.82rem;
    font-weight:950;
}
.po-bracket-team.is-winner .po-bracket-score{
    color:#155a9a;
}
.po-bracket-empty{
    height:70px;
    border:1px dashed #d9e2ec;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#9aa9b8;
}

@media(max-width:700px){
    .po-bracket-heading{font-size:.92rem}
}


/* =========================================================
   PLAYOFFS SUMMARY v0.18.73 - BRACKET TREE REAL
   ========================================================= */

/* Oculta la maqueta lineal anterior si quedase alguna regla residual */
.po-bracket-scroll{
    overflow-x:auto;
    padding:14px 16px 18px;
}

.po-tree{
    min-width:1180px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);
    gap:16px;
    align-items:start;
}

.po-tree-side{
    position:relative;
    display:grid;
    grid-template-columns:56px repeat(3,minmax(130px,1fr));
    gap:10px;
    align-items:start;
}

/* Oeste: logo exterior, luego 1ª ronda -> semis -> final conf. */
.po-tree-side-west{
    grid-template-columns:56px repeat(3,minmax(130px,1fr));
}

/* Este espejado: final conf. -> semis -> 1ª ronda -> logo exterior */
.po-tree-side-east{
    grid-template-columns:repeat(3,minmax(130px,1fr)) 56px;
}
.po-tree-side-east .po-tree-conf-logo{grid-column:4}
.po-tree-side-east .po-tree-r1{grid-column:3}
.po-tree-side-east .po-tree-r2{grid-column:2}
.po-tree-side-east .po-tree-r3{grid-column:1}

.po-tree-side-west .po-tree-conf-logo{grid-column:1}
.po-tree-side-west .po-tree-r1{grid-column:2}
.po-tree-side-west .po-tree-r2{grid-column:3}
.po-tree-side-west .po-tree-r3{grid-column:4}

.po-tree-conf-logo{
    height:364px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.po-conf-logo{
    width:44px;
    height:44px;
    object-fit:contain;
}

.po-tree-round{
    min-width:0;
}
.po-tree-round-title{
    height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#53677d;
    font-size:.64rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.045em;
    white-space:nowrap;
}

.po-tree-stage{
    position:relative;
    height:352px;
}

.po-tree-slot{
    position:absolute;
    left:0;
    right:0;
    z-index:2;
}

.po-bracket-series{
    width:100%;
    min-height:70px;
    border:1px solid #d7e1eb;
    border-radius:10px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 3px 10px rgba(17,42,67,.045);
}

.po-bracket-series.is-finished{
    border-color:#bfd0e2;
}

.po-bracket-placeholder{
    border-style:dashed;
    background:#fafbfd;
    opacity:.55;
}

.po-bracket-team{
    min-height:34px;
    padding:5px 7px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:6px;
    border-bottom:1px solid #edf1f5;
}

.po-bracket-team:last-child{border-bottom:0}

.po-bracket-team.is-winner{
    background:#eef5fb;
}

.po-bracket-team-main{
    min-width:0;
    display:flex;
    align-items:center;
    gap:6px;
}

.po-bracket-team-main img{
    width:23px;
    height:23px;
    object-fit:contain;
    flex:0 0 23px;
}

.po-bracket-team-main strong{
    color:var(--po-navy);
    font-size:.74rem;
    font-weight:950;
}

.po-bracket-score{
    min-width:16px;
    text-align:center;
    color:var(--po-navy);
    font-size:.82rem;
    font-weight:950;
}

/* Centro: Finales LBPS alineadas con las finales de conferencia */
.po-tree-finals{
    min-width:0;
}
.po-tree-finals-stage{
    position:relative;
    height:352px;
}
.po-tree-finals-slot{
    position:absolute;
    top:141px;
    left:0;
    right:0;
}
.po-bracket-finals-card{
    border-color:#d8b24a;
    box-shadow:0 4px 13px rgba(107,75,0,.08);
}

/* Conectores visuales entre rondas.
   Se dibujan desde el borde de la tarjeta hacia la ronda siguiente. */
.po-tree-side-west .po-tree-r1 .po-tree-slot::after,
.po-tree-side-west .po-tree-r2 .po-tree-slot::after,
.po-tree-side-west .po-tree-r3 .po-tree-slot::after{
    content:"";
    position:absolute;
    right:-10px;
    top:35px;
    width:10px;
    border-top:1px solid #aebdcb;
}
.po-tree-side-east .po-tree-r1 .po-tree-slot::after,
.po-tree-side-east .po-tree-r2 .po-tree-slot::after,
.po-tree-side-east .po-tree-r3 .po-tree-slot::after{
    content:"";
    position:absolute;
    left:-10px;
    top:35px;
    width:10px;
    border-top:1px solid #aebdcb;
}

/* pequeñas ramas verticales que ayudan a leer 4->2 y 2->1 */
.po-tree-side-west .po-tree-r2 .po-tree-slot::before,
.po-tree-side-east .po-tree-r2 .po-tree-slot::before{
    content:"";
    position:absolute;
    top:-47px;
    height:94px;
    border-left:1px solid #aebdcb;
}
.po-tree-side-west .po-tree-r2 .po-tree-slot::before{left:-10px}
.po-tree-side-east .po-tree-r2 .po-tree-slot::before{right:-10px}

.po-tree-side-west .po-tree-r3 .po-tree-slot::before,
.po-tree-side-east .po-tree-r3 .po-tree-slot::before{
    content:"";
    position:absolute;
    top:-94px;
    height:188px;
    border-left:1px solid #aebdcb;
}
.po-tree-side-west .po-tree-r3 .po-tree-slot::before{left:-10px}
.po-tree-side-east .po-tree-r3 .po-tree-slot::before{right:-10px}

@media(max-width:760px){
    .po-bracket-scroll{padding-bottom:12px}
}


/* =========================================================
   PLAYOFFS SUMMARY v0.18.74 - EAST MIRROR GRID FIX
   ========================================================= */

/*
  Al espejar el Este se habían asignado columnas explícitas pero no fila.
  CSS Grid colocaba cada bloque en una fila automática distinta.
  Forzamos todos los elementos de cada conferencia a la misma fila.
*/
.po-tree-side-west > .po-tree-conf-logo,
.po-tree-side-west > .po-tree-r1,
.po-tree-side-west > .po-tree-r2,
.po-tree-side-west > .po-tree-r3,
.po-tree-side-east > .po-tree-conf-logo,
.po-tree-side-east > .po-tree-r1,
.po-tree-side-east > .po-tree-r2,
.po-tree-side-east > .po-tree-r3{
    grid-row:1;
}

/* Este espejado correctamente en una sola fila:
   Final Conf. | Semifinales | Primera Ronda | Logo conferencia */
.po-tree-side-east > .po-tree-r3{grid-column:1}
.po-tree-side-east > .po-tree-r2{grid-column:2}
.po-tree-side-east > .po-tree-r1{grid-column:3}
.po-tree-side-east > .po-tree-conf-logo{grid-column:4}

/* Oeste:
   Logo | Primera Ronda | Semifinales | Final Conf. */
.po-tree-side-west > .po-tree-conf-logo{grid-column:1}
.po-tree-side-west > .po-tree-r1{grid-column:2}
.po-tree-side-west > .po-tree-r2{grid-column:3}
.po-tree-side-west > .po-tree-r3{grid-column:4}


/* =========================================================
   PLAYOFFS SUMMARY v0.18.75 - SEEDS
   ========================================================= */
.po-bracket-seed{
    width:13px;
    flex:0 0 13px;
    text-align:center;
    color:#65788c;
    font-size:.65rem;
    font-weight:900;
}
.po-bracket-team.is-winner .po-bracket-seed{
    color:#315d85;
}


/* =========================================================
   PLAYOFFS SUMMARY v0.19.70 — integración WordPress/Enfold
   Selector y altura de cabecera ya normalizados desde el piloto
   ========================================================= */
.lbps-playoffs-summary-source .po-toolbar{
    padding:16px 20px 18px!important;
    min-height:0!important;
    height:auto!important;
}
.lbps-playoffs-summary-source .po-toolbar label{
    line-height:15px!important;
    margin:0 0 7px!important;
}
.lbps-playoffs-summary-source .po-toolbar select{
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    padding:0 14px!important;
    margin:0!important;
    line-height:normal!important;
    font-weight:800!important;
}
