
/* Paleta base */
.phc-hoy-cancha{ --phc-bg:#0b2a52; --phc-card:#0e3569; --phc-accent:#3770B1; --phc-text:#fff; --phc-muted:#cfe1ff; }
.phc-hoy-cancha{ background:var(--phc-bg); border-radius:14px; padding:10px; color:var(--phc-text); }
.phc-hoy-cancha .phc-list{ list-style:none; margin:0; padding:0; }
.phc-hoy-cancha .phc-item{ border:0; margin:6px 0; padding:0; }
.phc-hoy-cancha .phc-link{ text-decoration:none; color:var(--phc-text); display:grid; grid-auto-rows:minmax(0,auto); }

/* Tabs */
.phc-tabs{ display:flex; gap:8px; margin:6px 0 10px; }
.phc-tab{ appearance:none!important; background:rgba(255,255,255,.08)!important; border:1px solid rgba(255,255,255,.12)!important; color:#fff!important; padding:6px 10px!important; border-radius:999px!important; font-weight:700!important; font-size:12px!important; cursor:pointer!important; box-shadow:none!important; }
.phc-tab:focus{ outline:none!important; box-shadow:none!important; }
.phc-tab.is-active{ background:var(--phc-accent)!important; color:#061a33!important; border-color:var(--phc-accent)!important; }
.phc-pane{ display:none; }
.phc-pane.is-active{ display:block; }

/* Icono */
.phc-ico{ width:16px; height:16px; display:block; }
.phc-icon{ display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; color:#cfe7ff; margin-right:6px; }

/* ===== Card (3 filas explícitas) ===== */
.phc-style-card .phc-link{
  grid-template-columns:auto 1fr auto;
  grid-template-rows:auto auto auto;
  grid-template-areas:
    "hora . sport"
    ". title title"
    ". estadio estadio";
  align-items:start;
  gap:8px 10px;
  background:var(--phc-card);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  padding:12px;
  transition:.25s ease;
}
.phc-style-card .phc-link:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.25); border-color:rgba(255,255,255,.25); }
.phc-style-card .phc-hora{ grid-area:hora; font-weight:700; font-size:13px; line-height:1; background:var(--phc-accent)!important; color:#061a33!important; padding:6px 8px; border-radius:999px; min-width:66px; text-align:center; }
.phc-style-card .phc-sport{ grid-area:sport; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:12px; background:rgba(55,112,177,.15); color:#e2efff; border:1px solid rgba(55,112,177,.35); padding:5px 8px; border-radius:999px; white-space:nowrap; justify-self:end; }
.phc-style-card .phc-title{ grid-area:title; display:block; min-width:0; font-weight:700; font-size:14px; line-height:1.25; }
.phc-style-card .phc-estadio{ grid-area:estadio; display:block; min-width:0; font-size:12px; color:var(--phc-muted); opacity:.9; line-height:1.25; }

/* ===== Timeline (3 filas) ===== */
.phc-style-timeline{ position:relative; padding-left:8px; }
.phc-style-timeline:before{ content:""; position:absolute; left:6px; top:8px; bottom:8px; width:2px; background:linear-gradient(var(--phc-accent), rgba(55,112,177,.2)); }
.phc-style-timeline .phc-link{
  grid-template-columns: 12px auto 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "bullet hora sport"
    "bullet title title"
    "bullet estadio estadio";
  align-items:start;
  column-gap:8px; row-gap:4px;
  padding:8px 10px; border-radius:10px; transition:.2s ease;
}
.phc-style-timeline .phc-link:hover{ background:rgba(55,112,177,.10)!important; }
.phc-style-timeline .phc-link:before{
  content:""; grid-area:bullet; align-self:center; width:9px; height:9px; border-radius:50%;
  background:var(--phc-accent)!important; border:2px solid #081d38; box-shadow:0 0 0 2px rgba(55,112,177,.25);
}
.phc-style-timeline .phc-hora{ grid-area:hora; font-weight:800; font-size:12px; color:var(--phc-accent)!important; line-height:1.2; }
.phc-style-timeline .phc-sport{ grid-area:sport; display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:12px; color:#e2efff; justify-self:start; }
.phc-style-timeline .phc-title{ grid-area:title; display:block; min-width:0; font-weight:800; font-size:14px; color:#fff; line-height:1.25; }
.phc-style-timeline .phc-estadio{ grid-area:estadio; display:block; min-width:0; font-size:12px; color:var(--phc-muted); opacity:.9; line-height:1.25; }

/* Estado vacío */
.phc-hoy-cancha .phc-empty{ color:#fff; opacity:.75; padding:12px 0; border-bottom:1px dashed rgba(255,255,255,.15); }
