/* ════════════════════════════════════════════════════════════════
   IT'S RUGBY — COMPETITION PAGE CSS
   Template-specific styles for the competition page
   ════════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   COMPETITION-SPECIFIC OVERRIDES  (common.css loaded above)
   ═══════════════════════════════════════════════════════════ */

/* Global nav (competition template only) */
.global-nav{background:var(--teal-dk);padding:10px 0;}
.global-nav .container{display:flex;align-items:center;justify-content:space-between;}
.gn-brand{font-size:16px;font-weight:900;color:var(--vanilla);letter-spacing:1px;}
.gn-brand span{color:var(--g-bright);}
.gn-links{display:flex;gap:20px;}
.gn-link{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:rgba(242,229,210,.6);transition:color .15s;}
.gn-link:hover{color:var(--vanilla);}

/* Breadcrumb */
.breadcrumb{background:var(--teal);border-top:1px solid rgba(255,255,255,.08);padding:8px 0;}

/* Hero overrides — competition uses contain + padding for logos */
.comp-photo img{object-fit:contain;object-position:center;padding:24px;display:block;}
.comp-photo-ini{font-size:80px;letter-spacing:-2px;}
.comp-desc{color:rgba(255,255,255,.6);line-height:1.6;max-width:560px;margin-top:10px;}

/* Competition-specific hero elements */
.comp-meta-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
/* comp-badge, comp-chips, comp-chip → itsrugby-common.css */

/* ps-panel override (competition adds border/padding when on) */
.ps-panel.on{background:var(--white);border:1px solid var(--border);border-top:none;padding:16px;}

/* Phase selector */
.phase-selector{display:flex;border:1px solid var(--border);background:var(--white);overflow-x:auto;margin-bottom:0;}
.phase-btn{padding:9px 16px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border:none;border-right:1px solid var(--border);background:var(--white);white-space:nowrap;flex-shrink:0;cursor:pointer;transition:all .15s;}
.phase-btn:last-child{border-right:none;}
.phase-btn.on{background:var(--teal);color:var(--vanilla);}
.phase-btn:hover:not(.on){color:var(--teal);background:var(--sage-lt);}
.phase-content{display:none;}
.phase-content.on{display:block;}

/* Classement */
.classement-wrap{background:var(--white);border:1px solid var(--border);border-top:none;overflow-x:auto;}
.cls-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--white);}
.cls-table th{background:var(--teal);color:var(--vanilla);font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:10px 10px;text-align:center;white-space:nowrap;border:none;}
.cls-table th:first-child,.cls-table th:nth-child(2){text-align:left;}
.cls-table td{padding:9px 10px;border-bottom:1px solid rgba(196,196,196,.25);text-align:center;vertical-align:middle;font-size:13px;}
.cls-table td:nth-child(2){text-align:left;font-weight:700;}
.cls-table tr:last-child td{border-bottom:none;}
.cls-table tr:hover td{background:var(--sage-lt);}
.cls-top td{background:rgba(142,217,104,.04);}
.cls-pos{font-weight:700;color:var(--muted);font-size:12px;}
.cls-top .cls-pos{color:var(--teal);font-weight:900;}
.cls-pts{font-weight:900;font-size:14px;color:var(--teal);}
.cls-neg{color:var(--red);}
.cls-diff-pos{color:var(--g-bright);font-weight:800;}
.cls-diff-neg{color:var(--red);font-weight:800;}
.cls-form{display:flex;gap:2px;justify-content:center;}
.cls-form-dot{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:900;color:var(--vanilla);cursor:default;}
.cls-sep-row td{padding:0;}
.cls-sep-line{height:3px;}
.cls-rank{font-size:11px;font-weight:800;color:var(--muted);display:inline-block;width:20px;text-align:center;}
.cls-rank.q{color:var(--teal);}
.cls-rank.r{color:var(--red);}
.cls-team-cell{display:flex;align-items:center;gap:10px;}
.cls-logo{width:24px;height:24px;background:var(--sage-lt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:var(--teal);flex-shrink:0;}
.cls-team-name{font-weight:700;font-size:13px;}
.form-dot-sm{width:15px;height:15px;display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:900;color:var(--vanilla);}
.cls-legend{display:flex;gap:16px;flex-wrap:wrap;padding:10px 14px;border-top:1px solid var(--border);font-size:10px;color:var(--muted);}
.cls-leg-item{display:flex;align-items:center;gap:6px;}
.cls-leg-bar{width:12px;height:3px;flex-shrink:0;}

/* Match rows — competition-specific grid */
.match-group{margin-bottom:16px;}
.match-group-header{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:6px 14px;background:#f0f0f0;border:1px solid var(--border);border-bottom:none;}
.match-row{display:grid;grid-template-columns:1fr 100px 1fr 80px;align-items:center;background:var(--white);border:1px solid var(--border);border-top:none;padding:10px 14px;transition:background .1s;cursor:pointer;}
.match-row:hover{background:var(--sage-lt);}
.mr-team{font-size:13px;font-weight:700;}
.mr-team.away{text-align:right;}
.mr-score{display:flex;align-items:center;justify-content:center;gap:8px;}
.mr-sc{font-size:16px;font-weight:900;min-width:22px;text-align:center;}
.mr-sep{color:rgba(196,196,196,.8);font-weight:300;}
.mr-meta{font-size:10px;color:var(--muted);text-align:right;white-space:nowrap;}
.mr-live{background:rgba(192,57,43,.03);border-left:3px solid var(--red);}
.mr-live-min{font-size:11px;font-weight:800;color:var(--red);animation:blink 1.2s infinite;}
.live-badge-sm{font-size:8px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:2px 5px;background:var(--red);color:var(--vanilla);}
.mh-upcoming{color:var(--muted);font-size:12px;font-weight:600;}
.mh-live{font-size:11px;font-weight:800;color:var(--red);animation:blink 1.2s infinite;}

/* Bracket */
.bracket-wrap{overflow-x:auto;}
.bracket{display:flex;gap:8px;align-items:flex-start;min-width:600px;padding-bottom:8px;}
.bracket-round{flex:1;min-width:160px;}
.bracket-round-title{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:8px 12px;background:#f0f0f0;border:1px solid var(--border);text-align:center;}
.bracket-matches{display:flex;flex-direction:column;gap:8px;padding-top:8px;}
.bracket-match{background:var(--white);border:1px solid var(--border);}
.bm-team{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid rgba(196,196,196,.3);font-size:11px;font-weight:700;gap:6px;}
.bm-team:last-child{border-bottom:none;}
.bm-team.winner{background:rgba(28,61,52,.05);color:var(--teal);}
.bm-team.tbd{color:var(--muted);font-weight:500;font-style:italic;font-size:11px;}
.bm-score{font-weight:900;font-size:12px;color:var(--teal);flex-shrink:0;}
.bm-score.loser{color:var(--muted);font-weight:600;}

/* Play-downs */
.playdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:4px;}
.pd-card{background:var(--white);border:1px solid var(--border);}
.pd-header{background:#f0f0f0;padding:8px 14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);}
.pd-match{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid rgba(196,196,196,.25);gap:10px;}
.pd-match:last-child{border-bottom:none;}
.pd-team{font-size:13px;font-weight:700;}
.pd-team.elim{text-decoration:line-through;color:var(--muted);font-weight:500;}
.pd-score{font-size:13px;font-weight:900;color:var(--teal);white-space:nowrap;flex-shrink:0;}
.pd-desc{font-size:11px;color:var(--red);font-weight:700;}

/* Stats comp — competition ranking cards */
.stats-comp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;}
.stat-comp-card{background:var(--white);border:1px solid var(--border);}
.stat-comp-body{max-height:420px;overflow-y:auto;}
.stat-comp-header{background:var(--teal);color:var(--vanilla);padding:8px 14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;}
.stat-comp-row{display:flex;align-items:center;padding:8px 14px;border-bottom:1px solid rgba(196,196,196,.25);gap:8px;}
.stat-comp-row:last-child{border-bottom:none;}
.stat-comp-rank{font-size:11px;font-weight:800;color:var(--muted);width:18px;flex-shrink:0;text-align:center;}
.stat-comp-rank.gold{color:var(--yellow);}
.stat-comp-name{flex:1;font-size:13px;font-weight:700;}
.stat-comp-team{font-size:10px;color:var(--muted);font-weight:500;display:block;}
.stat-comp-val{font-weight:900;color:var(--teal);font-size:13px;flex-shrink:0;}

/* KPI stat-items confrontation */
.kpi-hdr{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;background:var(--teal);color:var(--vanilla);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;padding:9px 16px;gap:8px;align-items:center;border:1px solid var(--teal);}
.kpi-hdr span:first-child,.kpi-hdr span:nth-child(3){text-align:right;}
.kpi-hdr span:nth-child(2){text-align:center;color:rgba(242,229,210,.6);font-weight:600;}
.kpi-hdr span:last-child{color:var(--g-bright);}
.kpi-list{background:var(--white);border:1px solid var(--border);border-top:none;padding:0 16px;margin-bottom:20px;}
.kpi-item{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid rgba(196,196,196,.3);}
.kpi-item:last-child{border-bottom:none;}
.kpi-vdom{font-weight:900;font-size:15px;color:var(--teal);text-align:right;}
.kpi-vext{font-weight:900;font-size:15px;color:var(--g-bright);}
.kpi-mid{display:flex;flex-direction:column;align-items:center;gap:5px;grid-column:span 2;}
.kpi-lbl2{font-size:10px;font-weight:600;color:var(--muted);text-align:center;}
.kpi-dbar{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;}
.kpi-bt{height:5px;background:#ececec;overflow:hidden;}
.kpi-bf-d{height:100%;background:var(--teal);}
.kpi-bf-e{height:100%;background:var(--g-bright);}

/* Stat bar (competition ranking bars) */
.stat-bar-wrap{height:4px;background:#ececec;flex:1;max-width:80px;overflow:hidden;}
.stat-bar-fill{height:100%;background:var(--teal);}
.stat-bar-fill.warn{background:#f0a500;}
.stat-bar-fill.red{background:var(--red);}

/* Equipes */
.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;}
.team-card-sm{background:var(--white);border:1px solid var(--border);padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;cursor:pointer;transition:box-shadow .15s;}
.team-card-sm:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);border-color:var(--sage);}
.tc-logo{width:44px;height:44px;background:var(--sage-lt);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:var(--teal);}
.tc-name{font-size:11px;font-weight:800;line-height:1.2;}
.tc-pos{font-size:10px;color:var(--muted);}

/* Paywall — uses unified .its-pw classes from itsrugby-common.css */

/* Competition responsive overrides */
@media(max-width:700px){
  .match-row{grid-template-columns:1fr 80px 1fr;}
  .mr-meta{display:none;}
}
@media(max-width:480px){
  .teams-grid{grid-template-columns:repeat(3,1fr);}
}

/* Bonus offensif / défensif : léger accent sauge pour les distinguer des
   colonnes de résultats brutes. */
.cls-table .cls-bonus{color:var(--teal);font-weight:700;}

/* Classement mobile : nom d'équipe lisible + 12 colonnes qui tiennent.
   Le layout compact global (itsrugby-common.css) répartit les colonnes à
   égalité → la colonne Équipe est trop étroite et « Stade Toulousain » se coupe
   en plein mot. On fige les colonnes chiffrées à une largeur mini et on laisse
   Équipe absorber le reste, en ne coupant que sur les espaces.
   Ordre : 1=# 2=Équipe 3=Pts 4=J 5=G 6=N 7=P 8=BO 9=BD 10=BP 11=BC 12=Diff */
@media(max-width:680px){
  .data-table--compact.cls-table{table-layout:fixed;}
  .data-table--compact.cls-table th,
  .data-table--compact.cls-table td{padding-left:2px;padding-right:2px;font-size:10px;}
  /* # (position) */
  .data-table--compact.cls-table th:nth-child(1),
  .data-table--compact.cls-table td:nth-child(1){width:16px;max-width:16px;}
  /* Équipe : prend la place restante, coupe seulement sur les espaces */
  .data-table--compact.cls-table th:nth-child(2),
  .data-table--compact.cls-table td:nth-child(2){
    width:auto;max-width:none;text-align:left;
    white-space:normal;word-break:normal;overflow-wrap:normal;
    overflow:visible;text-overflow:clip;line-height:1.15;
  }
  /* Pts : 2-3 chiffres */
  .data-table--compact.cls-table th:nth-child(3),
  .data-table--compact.cls-table td:nth-child(3){width:26px;white-space:nowrap;}
  /* J / G / N / P / BO / BD : 1-2 chiffres */
  .data-table--compact.cls-table th:nth-child(n+4):nth-child(-n+9),
  .data-table--compact.cls-table td:nth-child(n+4):nth-child(-n+9){width:20px;white-space:nowrap;}
  /* BP / BC : 3 chiffres */
  .data-table--compact.cls-table th:nth-child(10),
  .data-table--compact.cls-table td:nth-child(10),
  .data-table--compact.cls-table th:nth-child(11),
  .data-table--compact.cls-table td:nth-child(11){width:26px;white-space:nowrap;}
  /* Diff : 3-4 chiffres signés */
  .data-table--compact.cls-table th:nth-child(12),
  .data-table--compact.cls-table td:nth-child(12){width:30px;white-space:nowrap;}
}

/* Season filter */
.season-filter{margin-top:12px;position:relative;display:inline-block;}
.season-dd-btn{display:flex;align-items:center;gap:8px;padding:5px 12px;background:rgba(242,229,210,.15);border:1px solid rgba(242,229,210,.3);color:var(--vanilla);font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;transition:all .15s;}
.season-dd-btn:hover{background:rgba(242,229,210,.25);}
.season-dd-menu{position:absolute;top:calc(100% + 4px);left:0;background:var(--white);border:1px solid var(--border);min-width:160px;z-index:200;display:none;box-shadow:0 4px 16px rgba(0,0,0,.15);}
.season-dd-menu.open{display:block;}
.season-dd-opt{padding:9px 14px;font-size:12px;font-weight:700;color:var(--teal);cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--border);}
.season-dd-opt:last-child{border-bottom:none;}
.season-dd-opt:hover{background:var(--sage-lt);}
.season-dd-opt.on{color:var(--teal);background:rgba(28,61,52,.04);}
.season-dd-opt.locked{color:var(--muted);cursor:default;}
.season-dd-opt.locked:hover{background:transparent;}
.season-paywall{background:var(--white);border:1px solid var(--yellow);color:var(--teal);padding:14px 18px;margin-top:8px;display:none;align-items:center;gap:14px;flex-wrap:wrap;}
.season-paywall.show{display:flex;}


/* Poules */
.poules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px;padding:16px;}
.poule-header{background:var(--teal);color:var(--vanilla);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:8px 14px;margin-bottom:0;}

/* Type toggle (championnat / poules) */
.type-toggle-top{background:var(--teal);border-bottom:1px solid rgba(255,255,255,.12);padding:8px 0;}
.type-toggle-top .container{display:flex;gap:0;max-width:280px;}
.ctype-btn{flex:1;padding:8px 14px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:rgba(242,229,210,.6);cursor:pointer;transition:all .15s;text-align:center;white-space:nowrap;}
.ctype-btn+.ctype-btn{border-left:none;}
.ctype-btn.on{background:#fff;color:var(--teal);border-color:#fff;}

/* Classement — séparateurs de zones */
.cls-sep-row td{padding:0;height:0;}
.cls-sep-line{border:none;border-top:3px solid var(--muted);}
.cls-sep-line.cls-zone-green{border-top-color:var(--g-bright);}
.cls-sep-line.cls-zone-orange{border-top-color:#f0a500;}
.cls-sep-line.cls-zone-red{border-top-color:#C0392B;}
.cls-legend{display:flex;flex-wrap:wrap;gap:12px;padding:10px 14px;font-size:10px;font-weight:600;color:var(--muted);}
.cls-legend-item{display:inline-flex;align-items:center;gap:5px;}
.cls-legend-dot{display:inline-block;width:16px;height:3px;}
.cls-legend-dot.cls-zone-green{background:var(--g-bright);}
.cls-legend-dot.cls-zone-orange{background:#f0a500;}
.cls-legend-dot.cls-zone-red{background:#C0392B;}

/* Nom + saison inline */
.comp-name-row{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.comp-saison-lbl{font-size:16px;font-weight:700;color:rgba(242,229,210,.6);}

/* Filtre saison / étape hero */
.season-dd-hero,.stage-dd-hero{}
.season-dd-hero .if-dd-btn,.stage-dd-hero .if-dd-btn{background:var(--white);border-color:var(--border);color:var(--teal);}
.season-dd-hero .if-dd-btn:hover,.stage-dd-hero .if-dd-btn:hover{background:var(--sage-lt);}
.season-dd-hero .if-val,.stage-dd-hero .if-val{color:var(--teal);font-weight:800;}
.season-dd-hero .if-arr,.stage-dd-hero .if-arr{color:var(--teal);}
.season-dd-hero .if-dd-opt.on,.stage-dd-hero .if-dd-opt.on{font-weight:800;}
/* if-dd-opt--locked : styles dans itsrugby-common.css */

/* Phases finales (knockout) */
.ko-round{margin-top:12px;}
.ko-round-title{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.ko-teams{display:flex;flex-wrap:wrap;gap:6px;}
.ko-team{font-size:12px;font-weight:600;padding:5px 12px;background:var(--white);border:1px solid var(--border);color:var(--teal);}
.ko-team--tbd{color:var(--muted);font-style:italic;border-style:dashed;background:var(--sage-lt);}

/* Lien score match */
.match-score-link{text-decoration:none;color:inherit;}
.match-score-link:hover{text-decoration:underline;}

/* Journée accordion (résultats/calendrier) */
.its-j-group{margin-bottom:2px;}
.its-j-toggle{width:100%;text-align:left;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border:none;font-family:inherit;}
.its-j-arrow{font-size:10px;opacity:.6;}
.its-j-toggle.its-j-open{border-bottom:none;}

/* ═══════════════════════════════════════════════════════════
   ALL-TIME MODE (?saison=all)
   ═══════════════════════════════════════════════════════════ */
.alltime-lead{font-size:14px;color:var(--muted);line-height:1.5;margin:0;}
.alltime-years{font-size:12px;color:var(--muted);max-width:280px;line-height:1.4;}
