/* EWPV Tennis front assets (v1.6.0 skeleton) */
.ewpv-tennis-table{ width:100%; border-collapse:collapse; }
.ewpv-tennis-table th, .ewpv-tennis-table td{ padding:10px; border-bottom:1px solid rgba(0,0,0,.08); text-align:left; }

.ewpv-tennis-table{ width:100%; border-collapse:collapse; }
.ewpv-tennis-table th,.ewpv-tennis-table td{ padding:10px; border-bottom:1px solid rgba(0,0,0,.08); text-align:left; }
.ewpv-tennis-table tbody tr:nth-child(even){ background:rgba(0,0,0,.03); }
.ewpv-tennis-winner-name{ background:rgba(46, 204, 113, .18); border-radius:6px; padding:2px 6px; }
.ewpv-tennis-winner{ background:rgba(46, 204, 113, .12); }
.ewpv-tennis-event{ margin:14px 0; }
.ewpv-tennis-event-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.ewpv-tennis-event-meta{ opacity:.7; font-size:.95em; }
.ewpv-tennis-event-score{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:10px 0 14px; }
.ewpv-tennis-event-team{ border:1px solid rgba(0,0,0,.08); border-radius:10px; padding:10px 12px; display:flex; justify-content:space-between; align-items:center; }
.ewpv-tennis-event-team strong{ font-size:1.2em; }
.ewpv-tennis-video{ display:inline-block; text-decoration:none; font-weight:700; }


/* YouTube-style video icon */
.ewpv-tennis-video{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:20px;
  background:#FF0000;
  border-radius:6px;
  color:#fff !important;
  text-decoration:none;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
}
.ewpv-tennis-video:hover{ background:#e60000; }
.ewpv-tennis-video::before{
  content:'';
  display:block;
  width:0;height:0;
  border-left:7px solid #fff;
  border-top:5px solid transparent;
  border-bottom:5px solid transparent;
  margin-left:2px;
}


/* Video hover preview (YouTube thumbnail) */
.ewpv-tennis-video-wrap{ position:relative; display:inline-flex; align-items:center; }
.ewpv-tennis-video-preview{
  position:absolute;
  top:28px;
  left:50%;
  transform:translateX(-50%);
  width:240px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  padding:6px;
  z-index:9999;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .15s ease, visibility .15s ease;
}
.ewpv-tennis-video-preview img{
  display:block;
  width:100%;
  height:auto;
  border-radius:8px;
}
.ewpv-tennis-video-wrap:hover .ewpv-tennis-video-preview{
  opacity:1;
  visibility:visible;
}


/* Allow hover preview to overflow tables/cells */
.ewpv-tennis-table, .ewpv-tennis-table td, .ewpv-tennis-table th{
  overflow: visible !important;
}

/* Prefer preview above icon when possible */
.ewpv-tennis-video-preview{
  bottom:28px;
  top:auto;
}


/* Status badges */
.ewpv-status{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:600;
  line-height:1;
  border:1px solid rgba(0,0,0,.08);
  white-space:nowrap;
}
.ewpv-status--pending{ background:rgba(0,0,0,.05); }
.ewpv-status--running{ background:rgba(245, 158, 11, .18); }
.ewpv-status--done{ background:rgba(34, 197, 94, .18); }

/* Subtle row hints */
.ewpv-tennis-table tr[data-status="pending"]{ opacity:.92; }
.ewpv-tennis-table tr[data-status="played"]{ box-shadow: inset 3px 0 0 rgba(245,158,11,.55); }

.ewpv-tennis-table tr[data-status="planned"]{ opacity:.92; }


/* Ensure status column is not hidden by theme table styles */
.ewpv-tennis-table th:last-child,
.ewpv-tennis-table td:last-child{
  display: table-cell !important;
}




/* Ensure tables use full available width */
.ewpv-tennis-table{
  width:100% !important;
  table-layout:auto;
}


/* Robust table styling (theme-proof) */
.ewpv-tennis-table{
  width:100% !important;
  max-width:100% !important;
  display:table !important;
  border-collapse:collapse;
}
.ewpv-tennis-table th,
.ewpv-tennis-table td{
  vertical-align:middle;
}
.ewpv-tennis-table tbody tr:nth-child(even){
  background: rgba(0,0,0,.03);
}
.ewpv-tennis-table tbody tr:hover{
  background: rgba(0,0,0,.05);
}

/* ── Knockout / Élimination directe ────────────────── */
.ewpv-knockout { font-family: inherit; max-width: 900px; }
.ewpv-knockout__title  { font-size: 1.4em; font-weight: 700; margin-bottom: .25em; }
.ewpv-knockout__meta   { opacity: .65; font-size: .9em; margin-bottom: 1.5em; }
.ewpv-knockout__round  { margin-bottom: 1.5em; }
.ewpv-knockout__round-title { font-size: 1em; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #1a7fbf; border-bottom: 2px solid #1a7fbf;
    padding-bottom: .25em; margin-bottom: .75em; }

.ewpv-knockout__matches { display: flex; flex-wrap: wrap; gap: 10px; }
.ewpv-knockout__match   { border: 1px solid #ddd; border-radius: 6px; min-width: 240px;
    overflow: hidden; background: #fff; }
.ewpv-knockout__match--bye { opacity: .5; }
.ewpv-knockout__player  { display: flex; justify-content: space-between; align-items: center;
    padding: 7px 12px; border-bottom: 1px solid #f0f0f0; font-size: .92em; }
.ewpv-knockout__player:last-child { border-bottom: none; }
.ewpv-knockout__player--winner { font-weight: 700; background: #f0f8e8; }
.ewpv-knockout__score   { font-weight: 700; font-size: 1.1em; color: #1a7fbf; min-width: 24px; text-align: right; }

.ewpv-knockout__standings { margin-top: 1.5em; }
.ewpv-knockout__standings-list { list-style: none; padding: 0; margin: 0; }
.ewpv-knockout__standing-item  { padding: 6px 0; font-size: .95em; border-bottom: 1px solid #f0f0f0; }
.ewpv-knockout__standing-medal { font-size: 1.2em; margin-right: 6px; }

/* ── TMC ──────────────────────────────────────────── */
.ewpv-tmc { font-family: inherit; max-width: 960px; }
.ewpv-tmc__title { font-size: 1.4em; font-weight: 700; margin-bottom: .25em; }
.ewpv-tmc__meta  { opacity: .65; font-size: .9em; margin-bottom: 1.5em; }
.ewpv-tmc__group { margin-bottom: 1.5em; }
.ewpv-tmc__group-title, .ewpv-tmc__section-title {
    font-size: 1em; font-weight: 700; text-transform: uppercase;
    letter-spacing: .06em; color: #1a7fbf;
    border-bottom: 2px solid #1a7fbf; padding-bottom: .25em; margin-bottom: .75em;
}
.ewpv-tmc__table { border-collapse: collapse; min-width: 340px; }
.ewpv-tmc__table th, .ewpv-tmc__table td {
    padding: 6px 12px; border: 1px solid #e0e0e0; font-size: .9em; text-align: left;
}
.ewpv-tmc__table thead th { background: #f6f7f7; font-weight: 600; }
.ewpv-tmc__row--qualified td { background: #edfaef; }

.ewpv-tmc__finals { margin-top: 1.5em; }
.ewpv-tmc__round-title { font-size: .95em; font-weight: 600; margin: .75em 0 .4em; opacity: .75; }
.ewpv-tmc__final-matches { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 1em; }
.ewpv-tmc__final-match { border: 1px solid #ddd; border-radius: 6px; min-width: 240px; overflow: hidden; background: #fff; }
.ewpv-tmc__final-player { display: flex; justify-content: space-between; align-items: center;
    padding: 7px 12px; border-bottom: 1px solid #f0f0f0; font-size: .9em; }
.ewpv-tmc__final-player:last-child { border-bottom: none; }
.ewpv-tmc__final-player--winner { font-weight: 700; background: #f0f8e8; }
.ewpv-tmc__score { font-weight: 700; font-size: 1.1em; color: #1a7fbf; }

.ewpv-tmc__standings { margin-top: 1.5em; }
.ewpv-tmc__standing-item { padding: 6px 0; font-size: .95em; border-bottom: 1px solid #f0f0f0; }
