.tbvh-wrap{ margin: 1rem 0; }
.tbvh-title{ margin-bottom: .75rem; }

/* Day nav */
.tbvh-nav{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.tbvh-nav-btn{
  background:#0ea5e9; color:#fff; border:none; border-radius:.35rem;
  padding:.45rem .7rem; font-weight:700; cursor:pointer;
}
.tbvh-nav-btn.is-active{ outline:2px solid #0369a1; }

/* Featured picks */
.tbvh-featured{ border:1px solid #e5e7eb; border-radius:.75rem; padding:.75rem 1rem; margin-bottom:1rem; background:#f8fafc; }
.tbvh-featured-title{ margin:0 0 .5rem 0; font-size:1.125rem; }
.tbvh-featured-empty{ margin:0; color:#6b7280; }
.tbvh-featured-list{ list-style:none; padding:0; margin:0; display:grid; gap:.4rem; }
.tbvh-featured-item{ display:flex; justify-content:space-between; align-items:center; background:#fff; border:1px solid #eef2f7; border-radius:.5rem; padding:.4rem .6rem; }
.tbvh-featured-left{ font-weight:600; }
.tbvh-featured-odds{ font-variant-numeric:tabular-nums; }

/* League and table */
.tbvh-league{ border:1px solid #eef2f7; border-radius:.5rem; margin: .75rem 0; overflow:hidden; }
.tbvh-league-title{ font-weight:700; padding:.6rem .8rem; background:#f1f5f9; }
.tbvh-table{ width:100%; border-collapse: collapse; font-size:.95rem; background:#fff; }
.tbvh-table th, .tbvh-table td{ border-bottom:1px solid #eceff3; padding:.5rem; vertical-align: top; }
.tbvh-table th{ text-align:left; }
.tbvh-table tr:hover td{ background:#fafafa; }
.tbvh-pick{ background:#fff7d6; box-shadow: inset 0 0 0 2px #ffcc66; font-weight:700; }

@media (max-width: 640px) {
  .tbvh-table thead{ display:none; }
  .tbvh-table, .tbvh-table tbody, .tbvh-table tr, .tbvh-table td{ display:block; width:100%; }
  .tbvh-table tr{ margin-bottom:.6rem; border:1px solid #f0f2f5; border-radius:.5rem; }
  .tbvh-table td{ border-bottom:none; padding:.4rem .6rem; }
  .tbvh-table td::before{ content: attr(data-label); font-weight:600; display:block; margin-bottom:.2rem; color:#6b7280; }
}

/* Center numeric columns */
.tbvh-table th:not(:first-child),
.tbvh-table td:not(:first-child){ text-align:center; }

/* Keep match column left */
.tbvh-table th:first-child,
.tbvh-table td:first-child{ text-align:left; }

/* On mobile stacked layout, align numbers center while labels above stay default */
@media (max-width: 640px) {
  .tbvh-table td{ text-align:left; }
  .tbvh-table td:not(:first-child){ text-align:center; }
}

/* Featured box — more prominent */
.tbvh-featured{
  border:2px solid #0ea5e9;
  background: #e0f2fe;
  border-radius: .9rem;
  padding: .9rem 1rem;
  margin-bottom: 1.2rem;
}
.tbvh-featured-title{
  margin:0 0 .6rem 0;
  font-size:1.15rem;
  display:flex; align-items:center; gap:.5rem;
}
.tbvh-featured-title::before{
  content:"★";
  font-size:1.1rem;
  line-height:1;
}
.tbvh-featured-list{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.tbvh-featured-item{
  background:#fff;
  border:1px solid #cfe8fb;
  border-radius:.6rem;
  padding:.6rem .7rem;
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.tbvh-featured-main{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; }
.tbvh-featured-match{ font-weight:700; }
.tbvh-featured-badge{
  font-size:.75rem;
  font-weight:700;
  padding:.15rem .45rem;
  border-radius:999px;
  background:#0ea5e9;
  color:#fff;
}
.tbvh-featured-meta{ font-size:.8rem; color:#475569; }
\n.tbvh-featured-subtitle{font-weight:800; margin:.2rem 0 .3rem;}


/* Odds pill in featured list */
.tbvh-featured .tbvh-featured-item{padding:10px 12px;border-bottom:1px solid #eef2f6}
.tbvh-featured .tbvh-featured-main{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.tbvh-featured .tbvh-featured-badge{background:#e8f1ff;color:#0b5ed7;border-radius:10px;padding:2px 8px;font-size:12px}
.tbvh-featured .tbvh-odds-pill{background:#f0fdf4;color:#14532d;border:1px solid #bbf7d0;border-radius:999px;padding:2px 10px;font-weight:600;font-size:12px}
.tbvh-featured .tbvh-odds-pill.tbvh-na{background:#f8fafc;color:#64748b;border-color:#e2e8f0}
.tbvh-featured .tbvh-featured-meta{color:#64748b;font-size:12px;margin-top:2px}
