/* ==================================================
   SPTV Items – FINAL (LIVE-style channel badges)
   + optimized mobile table (no tiles)
   + channel overrides: VOYO + NOVA
   ================================================== */

:root{
  --stv-text:#0f172a;
  --stv-muted:#64748b;
  --stv-border:#e5e7eb;
  --stv-soft:#f8fafc;
  --stv-head1:#0b1f3a;
  --stv-head2:#08162b;
  --stv-accent:#ff7a00;
  --stv-accent2:#ff922b;
  --stv-live:#ef4444;

  --stv-tv:#7c2d12;          /* default TV badge = hnedá */
  --stv-book:#16a34a;        /* Bookmaker badge = zelená */

  /* channel colors */
  --stv-ch-voyo:#0b2a6f;     /* tmavomodrá */
  --stv-ch-nova:#111827;     /* tmavočervená */

  --stv-radius:14px;
}

/* =========================
   TABLE CONTAINER
   ========================= */
.entry-content .table{
  width:100%;
  border:1px solid var(--stv-border);
  border-radius:var(--stv-radius);
  overflow:hidden;
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  margin:14px 0 18px;
}

/* =========================
   GRID ROWS
   ========================= */
.entry-content .table .row{
  display:grid !important;
  grid-template-columns:
    minmax(110px,150px)
    minmax(240px,1.8fr)
    minmax(100px,140px)
    minmax(150px,1fr)
    minmax(150px,1.2fr);
  align-items:stretch;
}

/* =========================
   HEADER
   ========================= */
.entry-content .table .row.header{
  position:sticky;
  top:0;
  z-index:10;
  background:linear-gradient(180deg,var(--stv-head1),var(--stv-head2));
}
.entry-content .table .row.header .cell{
  color:#fff;
  font-weight:900;
  border-bottom:1px solid rgba(255,255,255,.12);
  white-space:nowrap;
}

/* =========================
   CELLS
   ========================= */
.entry-content .table .cell{
  display:flex;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid var(--stv-border);
  font-size:14.5px;
  color:var(--stv-text);
  min-height:44px;
  min-width:0;
}

/* FORCE no theme yellow */
.entry-content .table .row:not(.header){
  background:#fff !important;
}
.entry-content .table .row:not(.header):nth-child(odd){
  background:var(--stv-soft) !important;
}
.entry-content .table .row:not(.header):hover{
  background:#eef6ff !important;
}

/* =========================
   DATE + LIVE
   ========================= */
.entry-content .cell.cell-date{
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  font-weight:900;
  white-space:nowrap;
}
.entry-content .stv-live{
  padding:2px 8px;
  font-size:11px;
  border-radius:999px;
  background:var(--stv-live);
  color:#fff;
  font-weight:900;
  line-height:1;
}

/* =========================
   MATCH / LEAGUE
   ========================= */
.entry-content .cell[data-title="Zápas"]{ font-weight:800; }
.entry-content .cell[data-title="Liga"]{
  color:var(--stv-muted);
  font-weight:700;
}

/* =========================
   SPORT COLORS
   ========================= */
.entry-content .cell.sport{
  font-weight:900;
  border-left:5px solid #cbd5e1;
  padding-left:12px;
  border-radius:6px;
}
.entry-content .cell.sport-futbal{
  border-left-color:#16a34a;
  background:linear-gradient(90deg,rgba(22,163,74,.18),transparent 70%);
}
.entry-content .cell.sport-tenis{
  border-left-color:#2563eb;
  background:linear-gradient(90deg,rgba(37,99,235,.18),transparent 70%);
}
.entry-content .cell.sport-hokej{
  border-left-color:#7c3aed;
  background:linear-gradient(90deg,rgba(124,58,237,.18),transparent 70%);
}
.entry-content .cell.sport-basketbal{
  border-left-color:#ea580c;
  background:linear-gradient(90deg,rgba(234,88,12,.2),transparent 70%);
}
.entry-content .cell.sport-mma{
  border-left-color:#dc2626;
  background:linear-gradient(90deg,rgba(220,38,38,.2),transparent 70%);
}

/* =========================
   CHANNEL BADGES – LIVE STYLE
   ========================= */
.entry-content .cell[data-title="TV"],
.entry-content .cell[data-title="Bookmaker"]{
  flex-wrap:wrap;
  gap:6px;
  align-content:flex-start;
}

/* base badge style (keep "badge look" always) */
.entry-content .cell[data-title="TV"] span,
.entry-content .cell[data-title="TV"] a,
.entry-content .cell[data-title="Bookmaker"] span,
.entry-content .cell[data-title="Bookmaker"] a{
  display:inline-flex;
  align-items:center;
  padding:3px 9px;
  font-size:11.5px;
  border-radius:999px;
  color:#fff;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}

/* defaults */
.entry-content .cell[data-title="TV"] span,
.entry-content .cell[data-title="TV"] a{
  background:var(--stv-tv);
}
.entry-content .cell[data-title="Bookmaker"] span,
.entry-content .cell[data-title="Bookmaker"] a{
  background:var(--stv-book);
}

/* =========================
   CHANNEL COLOR OVERRIDES
   - funguje pre tvoje class typu: ch-nova-sport-3-cze
   ========================= */

/* VOYO */
.entry-content .cell[data-title="TV"] span[class^="ch-voyo"],
.entry-content .cell[data-title="TV"] span[class*=" ch-voyo"],
.entry-content .cell[data-title="TV"] a[class^="ch-voyo"],
.entry-content .cell[data-title="TV"] a[class*=" ch-voyo"]{
  background:var(--stv-ch-voyo) !important;
}

/* NOVA (Nova Sport 1/2/3/6...) */
.entry-content .cell[data-title="TV"] span[class^="ch-nova"],
.entry-content .cell[data-title="TV"] span[class*=" ch-nova"],
.entry-content .cell[data-title="TV"] a[class^="ch-nova"],
.entry-content .cell[data-title="TV"] a[class*=" ch-nova"]{
  background:var(--stv-ch-nova) !important;
}

/* =========================
   LOAD MORE
   ========================= */
.entry-content .sptv-loadmore{
  display:flex;
  justify-content:center;
}
.entry-content .sptv-loadmore-btn{
  margin:16px auto 0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  border-radius:14px;
  background:linear-gradient(180deg,var(--stv-accent2),var(--stv-accent));
  color:#fff;
  font-weight:900;
  border:none;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(255,122,0,.25);
}
.entry-content .sptv-loadmore-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(255,122,0,.32);
}

/* =========================
   FILTER (nad tabuľkou)
   ========================= */
.entry-content .stv-filter{
  padding:12px 14px;
  border:1px solid var(--stv-border);
  border-radius:var(--stv-radius);
  background:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.06);
  margin:10px 0 12px !important;
}
.entry-content .stv-filter label{
  color:var(--stv-text);
  font-weight:900 !important;
}
.entry-content .stv-filter select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:#fff;
  border:1px solid var(--stv-border) !important;
  border-radius:12px !important;
  padding:10px 38px 10px 12px !important;
  font-weight:800;
  color:var(--stv-head1);
  line-height:1.1;
  box-shadow:none;
  outline:none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--stv-muted) 50%),
    linear-gradient(135deg, var(--stv-muted) 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    100% 0;
  background-size:6px 6px, 6px 6px, 2.5em 2.5em;
  background-repeat:no-repeat;
}
.entry-content .stv-filter select:focus{
  border-color:rgba(255,122,0,.55) !important;
  box-shadow:0 0 0 4px rgba(255,122,0,.12);
}

/* ==================================================
   MOBILE OPTIMIZATION (no tiles)
   ================================================== */
@media (max-width: 900px){

  /* fallback scroll */
  .entry-content .table{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  .entry-content .table .row{
    grid-template-columns:
      92px
      minmax(160px,1.6fr)
      86px
      minmax(120px,1fr)
      minmax(120px,1fr);
  }

  .entry-content .table .cell{
    padding:8px 10px;
    font-size:13.2px;
    min-height:40px;
  }

  .entry-content .cell[data-title="Zápas"],
  .entry-content .cell[data-title="Liga"]{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .entry-content .cell.sport{
    border-left:none;
    padding-left:0;
    border-radius:0;
    background:transparent;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  .entry-content .cell[data-title="TV"],
  .entry-content .cell[data-title="Bookmaker"]{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    max-height:48px;
    overflow:hidden;
  }

  .entry-content .cell[data-title="TV"] span,
  .entry-content .cell[data-title="Bookmaker"] span{
    padding:3px 8px;
    font-size:11px;
  }

  .entry-content .cell.cell-date{ gap:3px; }

  .entry-content .sptv-loadmore-btn{ width:100%; }
}

/* ==========================================
   MOBILE: vypnúť "card labels" z hlavičky
   ========================================== */
@media (max-width: 900px){
  .entry-content .table .cell::before,
  .entry-content .table .cell:before{
    content: "" !important;
    display: none !important;
    visibility: hidden !important;
  }

  .entry-content .table .row{
    display:grid !important;
  }

  .entry-content .table{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
}

/* =========================
   CALENDAR ICON (ICS)
   ========================= */
.entry-content .stv-cal{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:6px;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(15,23,42,.08);
  color:var(--stv-head1);
  text-decoration:none !important;
  line-height:1;
}
.entry-content .stv-cal:hover{
  background:rgba(15,23,42,.14);
}
.entry-content .stv-cal svg{ display:block; }
