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

/* ── Extra variable not in common.css ── */
:root{--off-white:#F9F9F7;}

/* ── Nav Saison Dropdown (inside nav-interne) ── */
.nav-saison-btn{background:var(--teal)!important;border:1px solid var(--teal)!important;color:var(--vanilla)!important;font-size:12px!important;font-weight:700!important;padding:6px 14px!important;}
.nav-saison-btn:hover{background:var(--teal-dk)!important;}
.nav-saison-btn .if-val{color:var(--vanilla);}
.nav-saison-btn .if-arr{color:rgba(242,229,210,.7);}

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

/* ══ HERO EQUIPE — styles déplacés dans itsrugby-common.css ══ */
/* Styles spécifiques team uniquement */
.team-logo-name{font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;opacity:.7;}
.team-logo-flag{font-size:40px;line-height:1;}
.trend-dot{width:14px;height:14px;border-radius:50%!important;display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:900;color:var(--vanilla);cursor:default;}
.team-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;}
.team-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(0,0,0,.2);border-top:1px solid rgba(255,255,255,.1);}
@media(max-width:680px){
  .team-kpis{grid-template-columns:repeat(3,1fr);}
  .comp-chips{justify-content:center;}
  .team-social{justify-content:center;flex-wrap:wrap;}
}

/* ── TYPE TOGGLE ── */
.type-toggle-top{background:var(--teal);border-bottom:1px solid rgba(255,255,255,.1);padding:10px 0;}
.type-toggle-top .container{display:flex;gap:0;max-width:360px;}
.ttype-btn{flex:1;padding:9px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:rgba(242,229,210,.6);cursor:pointer;transition:all .15s;text-align:center;}
.ttype-btn+.ttype-btn{border-left:none;}
.ttype-btn.on{background:#fff;color:var(--teal);border-color:#fff;}

/* ── EFFECTIF ── */
.squad-pos-header{background:var(--teal);color:var(--vanilla);font-size:10px;font-weight:800;letter-spacing:2px;text-transform:uppercase;padding:8px 14px;margin-top:12px;}
.squad-pos-header:first-child{margin-top:0;}
.squad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-bottom:0;}
.player-card{background:var(--white);border:1px solid var(--border);padding:12px 14px;display:flex;align-items:center;gap:12px;transition:all .15s;cursor:pointer;}
.player-card:hover{border-color:var(--teal);background:var(--sage-lt);}
.pc-num{font-size:20px;font-weight:900;color:var(--teal);min-width:28px;text-align:center;line-height:1;}
.pc-info{flex:1;min-width:0;}
.pc-name{font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pc-pos{font-size:10px;color:var(--muted);font-weight:600;margin-top:2px;text-transform:uppercase;letter-spacing:.5px;}
.pc-locked{opacity:.5;cursor:default!important;}
.pc-locked .pc-num{color:var(--muted)!important;}
.pc-caps{font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:2px 6px;border:1px solid var(--sage);color:var(--teal);margin-top:5px;display:inline-block;}
.pc-club{font-size:10px;color:var(--muted);margin-top:2px;}

/* ── STAT BARS — team-specific responsive override ── */
@media(max-width:560px){
  .stat-item{grid-template-columns:48px 1fr;}
  .stat-vt2{display:none;}
  .dual-bar{grid-template-columns:1fr;}
  .bar-t:last-child{display:none;}
}

/* ── TABLES — team-specific extras ── */
/* pw-lock-badge supprimé — remplacé par its-pw-kpi dans common.css */

/* ── CLASSEMENT ── */
.rk-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--white);border:1px solid var(--border);}
.rk-table th{background:var(--teal);color:var(--vanilla);padding:9px 12px;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;text-align:center;}
.rk-table th:nth-child(2){text-align:left;}
.rk-table td{padding:9px 12px;border-bottom:1px solid rgba(196,196,196,.3);text-align:center;color:var(--teal);}
.rk-table td:nth-child(2){text-align:left;font-weight:700;}
.rk-table tr:last-child td{border-bottom:none;}
.rk-table tr:hover td{background:var(--sage-lt);}
.rk-table .hl td{background:var(--sage-lt);}
.rk-table .hl td:nth-child(2){color:var(--teal);}
/* Knockout bracket */
.ko-bracket { display:flex; gap:20px; padding:8px 0; overflow-x:auto; align-items:flex-start; }
.ko-round { min-width:220px; max-width:240px; flex-shrink:0; }
@media(max-width:680px){
  .ko-bracket { flex-direction:column; gap:12px; overflow:visible; }
  .ko-round { min-width:unset; max-width:unset; width:100%; }
}

.rk-pos{font-weight:900;color:var(--teal);font-size:14px;}
.rk-pts{font-weight:900;color:var(--teal);}

/* ── Utility classes (remplacent les inline styles) ── */
.team-logo-img{width:100%;height:100%;object-fit:contain;padding:12px;display:block;}
.ko-match{border:1px solid var(--border);margin-bottom:10px;background:var(--white);overflow:hidden;}
.ko-match-meta{padding:4px 10px;background:var(--sage-lt);font-size:9px;font-weight:700;color:var(--muted);letter-spacing:.5px;border-bottom:1px solid var(--border);}
.ko-match-row{padding:9px 12px;display:flex;justify-content:space-between;align-items:center;gap:6px;}
.ko-match-row.winner{background:rgba(28,61,52,.05);}
.ko-match-name{font-size:13px;flex:1;}
.ko-match-name.win{font-weight:800;color:var(--teal);}
.ko-match-name.lose{font-weight:500;}
.ko-match-score{font-weight:900;font-size:15px;min-width:24px;text-align:center;}
.ko-match-score.played{color:var(--ink);}
.ko-match-score.upcoming{color:var(--muted);}
.ko-match-sep{height:1px;background:var(--border);margin:0 10px;}
.ko-match-result{padding:5px 10px;background:rgba(28,61,52,.05);border-top:1px solid var(--border);font-size:10px;font-weight:800;color:var(--teal);}
.ko-phase-title{margin-top:16px;margin-bottom:8px;background:var(--teal);color:var(--vanilla);padding:8px 14px;border-radius:6px;}
.ps-panel > .section-title:not(:first-child){margin-top:24px;}
.cls-team-total{margin-top:12px;padding:10px 14px;background:var(--sage-lt);border:1px solid var(--border);border-radius:6px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.cls-team-total-label{font-size:12px;color:var(--ink);}
.cls-team-total-stats{font-size:13px;font-weight:800;color:var(--teal);font-variant-numeric:tabular-nums;}
@media(max-width:680px){.cls-team-total{flex-direction:column;align-items:flex-start;}}
.ko-round-label{margin-bottom:10px;font-size:11px;}
.ko-legs{padding:6px 12px;background:var(--sage-lt);border-top:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;font-size:11px;color:var(--muted);}
.ko-leg{font-weight:600;}
.ko-match--two-legs .ko-match-score{position:relative;}
.ko-match--two-legs .ko-match-score::after{content:" *";color:var(--muted);font-size:11px;}
.stat-bar-reverse{transform:scaleX(-1);}
.stat-panel{background:var(--white);border:1px solid var(--border);}
.stat-panel-header{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);}
.stat-panel .stat-list{border:none;}
.legend-dot--team{background:var(--teal);}
.legend-dot--opp{background:#bbb;}
.badge-vanilla{background:var(--vanilla);}
.partner-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--teal);text-decoration:underline;text-underline-offset:2px;margin-top:4px;}
.partner-logo-img{max-width:100%;max-height:120px;object-fit:contain;}
.section-title .annonce-cta{margin-left:auto;}
.sc-tabs-top{margin-top:12px;}
@media(max-width:680px){
  .rk-table{font-size:11px;}
  .rk-table th{font-size:9px;padding:6px 6px;}
  .rk-table td{padding:6px 6px;font-size:11px;}
}

/* ── HERO INFO — team-specific extras ── */
.tib-icon{font-size:13px;min-width:20px;text-align:center;}
/* team-social, social-btn → itsrugby-common.css */

/* ── PARTENAIRE MAILLOT / PUB ── */
.partner-strip{background:var(--white);border:1px solid var(--border);}
.partner-inner{display:grid;grid-template-columns:1fr 200px;}
@media(max-width:680px){.partner-inner{grid-template-columns:1fr;}}
.partner-main{padding:20px 24px;display:flex;flex-direction:column;justify-content:center;gap:8px;border-right:1px solid var(--border);}
.partner-badge{font-size:9px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:2px 7px;border:1px solid var(--yellow);color:var(--yellow);display:inline-block;margin-bottom:4px;}
.partner-name{font-size:22px;font-weight:900;color:var(--teal);line-height:1.1;}
.partner-desc{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.6;max-width:480px;}
.partner-logo{background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:48px;min-height:140px;}

/* ══ LIVE MATCH — Section equipe ══ */
.team-live-banner { display:flex; align-items:center; gap:12px; padding:14px 18px; background:var(--teal); border:1px solid rgba(142,217,104,.3); margin-bottom:0; }
.team-live-banner.is-replay { background:var(--ink); border-color:rgba(255,255,255,.1); }
.team-live-banner.is-replay .team-live-dot { background:var(--muted); animation:none; }
.team-live-banner.is-replay .team-live-label { color:rgba(242,229,210,.5); }
.team-live-dot { width:10px; height:10px; background:#e53535; animation:blink 1.2s infinite; flex-shrink:0; }
.tl-end-notice { text-align:center; padding:16px 12px; font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); border-top:1px solid var(--border); background:var(--off-white); }
.team-live-info { flex:1; }
.team-live-label { font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--g-bright); }
.team-live-match { font-size:15px; font-weight:900; color:var(--vanilla); margin-top:2px; }
.team-live-meta { font-size:11px; color:rgba(242,229,210,.5); margin-top:2px; }
.team-live-score-pill { display:flex; align-items:center; gap:8px; padding:8px 16px; background:rgba(0,0,0,.3); flex-shrink:0; }
.team-live-score-pill .tlsp-team { font-size:10px; font-weight:800; color:rgba(242,229,210,.6); letter-spacing:1px; text-transform:uppercase; }
.team-live-score-pill .tlsp-score { font-size:26px; font-weight:900; color:var(--vanilla); line-height:1; }
.team-live-score-pill .tlsp-sep { font-size:18px; color:rgba(242,229,210,.3); font-weight:300; }
.team-live-2col { display:grid; grid-template-columns:3fr 2fr; gap:0; background:var(--white); }
.team-live-col-video { min-width:0; }
.team-live-col-chat { position:relative; border-left:1px solid var(--border); background:var(--white); }
.team-live-col-chat-inner { position:absolute; inset:0; display:flex; flex-direction:column; overflow:hidden; }
.team-live-col-chat-inner .tl-messages { flex:1; min-height:0; overflow-y:auto; scroll-behavior:smooth; padding:0; background:var(--white); }
.team-live-vid-embed { background:var(--ink); aspect-ratio:16/9; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.team-live-vid-embed iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.team-live-vid-placeholder { text-align:center; color:rgba(242,229,210,.3); }
.team-live-vid-placeholder .ico { font-size:56px; display:block; margin-bottom:10px; }
.team-live-vid-placeholder p { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; }
.team-live-vid-attr { display:flex; align-items:center; gap:8px; padding:8px 14px; background:var(--teal-dk); color:rgba(242,229,210,.7); font-size:11px; font-weight:600; }
.team-live-vid-attr .attr-name { color:var(--vanilla); font-weight:700; }
.team-live-vid-attr .attr-platform { font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; padding:2px 7px; border:1px solid rgba(255,255,255,.2); color:rgba(242,229,210,.5); }
/* ── Admin gerant (front-end) ── */
.tl-admin-panel { border:2px dashed var(--sage); background:var(--white); }
.tl-admin-header { display:flex; align-items:center; gap:10px; padding:12px 16px; background:var(--sage-lt); border-bottom:2px dashed var(--sage); cursor:pointer; user-select:none; }
.tl-admin-header .tla-ico { font-size:18px; }
.tl-admin-header .tla-title { font-size:11px; font-weight:800; color:var(--teal); letter-spacing:.5px; text-transform:uppercase; }
.tl-admin-header .tla-badge { font-size:9px; font-weight:700; padding:2px 8px; background:var(--teal); color:var(--vanilla); letter-spacing:.5px; text-transform:uppercase; margin-left:auto; }
.tl-admin-header .tla-arrow { font-size:10px; color:var(--muted); transition:transform .2s; }
.tl-admin-header.open .tla-arrow { transform:rotate(180deg); }
.tl-admin-body { padding:16px; display:flex; flex-direction:column; gap:14px; }
.tl-admin-body .tla-field { display:flex; flex-direction:column; gap:5px; }
.tl-admin-body .tla-field label { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.tl-admin-body .tla-field input,
.tl-admin-body .tla-field select { padding:10px 12px; font-size:13px; font-family:var(--sans); border:1px solid var(--border); background:var(--white); color:var(--teal); }
.tl-admin-body .tla-field input:focus,
.tl-admin-body .tla-field select:focus { outline:none; border-color:var(--teal); }
.tl-admin-body .tla-help { font-size:10px; color:var(--muted); line-height:1.5; }
.tla-url-preview { display:none; padding:10px 12px; background:var(--sage-lt); border:1px solid var(--sage); margin-top:4px; }
.tla-url-preview.on { display:flex; align-items:center; gap:8px; }
.tla-url-preview .tla-pv-ico { font-size:16px; }
.tla-url-preview .tla-pv-url { font-size:11px; color:var(--teal); font-weight:600; word-break:break-all; flex:1; }
.tla-url-preview .tla-pv-remove { font-size:10px; padding:3px 8px; background:var(--white); border:1px solid var(--border); cursor:pointer; color:var(--red); font-weight:700; }
.tla-actions { display:flex; gap:8px; flex-wrap:wrap; }
.tla-btn { padding:10px 18px; font-size:11px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; border:1px solid var(--teal); cursor:pointer; transition:all .15s; font-family:var(--sans); }
.tla-btn.primary { background:var(--teal); color:var(--vanilla); }
.tla-btn.primary:hover { background:var(--teal-dk); }
.tla-btn.secondary { background:var(--white); color:var(--teal); }
.tla-btn.secondary:hover { background:var(--sage-lt); }
.tla-btn:disabled { opacity:.4; cursor:not-allowed; }
.tla-status { display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--g-bright); background:rgba(142,217,104,.08); font-size:11px; font-weight:700; color:var(--teal); }
.tla-status .tla-st-ico { font-size:16px; }
/* ── Commentaire live (lecture seule visiteur) ── */
.tl-chat-header { padding:8px 12px; background:var(--sage-lt); border-bottom:1px solid var(--border); display:flex; align-items:center; gap:8px; flex-shrink:0; }
.tl-chat-title { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--teal); }
.tl-chat-count { font-size:9px; font-weight:700; color:var(--muted); margin-left:auto; }
.tl-msg { display:flex; gap:8px; padding:8px 12px; border-bottom:1px solid rgba(196,196,196,.2); font-size:12px; }
.tl-msg.highlight { background:rgba(142,217,104,.06); }
.tl-msg .tl-min { font-size:10px; font-weight:900; color:var(--teal); min-width:24px; flex-shrink:0; padding-top:2px; }
.tl-msg .tl-ico { font-size:9px; font-weight:900; padding:2px 5px; flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-width:20px; height:20px; }
.tl-ico.try    { background:var(--teal);   color:var(--vanilla); }
.tl-ico.kick   { background:var(--teal);   color:var(--vanilla); }
.tl-ico.card-y { background:#f1c40f; color:var(--vanilla); }
.tl-ico.card-o { background:#e07b00; color:var(--vanilla); }
.tl-ico.card-r { background:#e74c3c; color:var(--vanilla); }
.tl-ico.sub    { background:var(--muted); color:var(--vanilla); }
.tl-ico.inj    { background:var(--muted); color:var(--vanilla); }
.tl-msg .tl-body { flex:1; min-width:0; }
.tl-msg .tl-author { font-size:10px; color:var(--muted); margin-bottom:2px; display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.tl-msg .tl-author .tl-source { font-size:9px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; padding:1px 6px; }
.tl-source.src-home { background:rgba(26,58,143,.12); color:var(--blue); border:1px solid rgba(26,58,143,.2); }
.tl-source.src-away { background:rgba(192,57,43,.08); color:var(--red); border:1px solid rgba(192,57,43,.15); }
.tl-msg .tl-time { font-size:9px; color:rgba(0,0,0,.3); }
.tl-msg .tl-text { line-height:1.45; }
.tl-team-tag { font-size:9px; font-weight:800; letter-spacing:.5px; padding:1px 5px; display:inline-block; }
.tl-team-tag.home { background:rgba(26,58,143,.1); color:var(--blue); border:1px solid rgba(26,58,143,.15); }
.tl-team-tag.away { background:rgba(192,57,43,.08); color:var(--red); border:1px solid rgba(192,57,43,.12); }
/* ── Commentator bar (gerant) ── */
.tl-commentator-bar { display:flex; flex-direction:column; gap:6px; padding:10px; background:var(--sage-lt); border-top:1px solid var(--border); flex-shrink:0; }
.tl-commentator-bar .tcb-row { display:flex; gap:6px; align-items:center; }
.tl-commentator-bar select { padding:5px 6px; font-size:10px; font-weight:700; font-family:var(--sans); border:1px solid var(--border); background:var(--white); color:var(--teal); flex-shrink:0; min-width:0; }
.tl-commentator-bar textarea { width:100%; min-height:54px; padding:8px 10px; font-size:13px; font-family:var(--sans); border:1px solid var(--border); background:var(--white); color:var(--teal); resize:vertical; line-height:1.4; }
.tl-commentator-bar textarea:focus, .tl-commentator-bar select:focus { outline:none; border-color:var(--teal); }
.tl-commentator-bar .tcb-send { padding:7px 14px; font-size:10px; font-weight:800; letter-spacing:.5px; text-transform:uppercase; background:var(--teal); color:var(--vanilla); border:1px solid var(--teal); cursor:pointer; flex-shrink:0; margin-left:auto; }
.tl-commentator-bar .tcb-send:hover { background:var(--teal-dk); }
/* ── Score editor (gerant) ── */
.tl-score-editor { display:flex; align-items:center; gap:8px; padding:8px 12px; background:var(--sage-lt); border-bottom:1px solid var(--border); flex-wrap:wrap; flex-shrink:0; }
.tl-score-editor .tse-label { font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.tl-score-editor .tse-teams { display:flex; align-items:center; gap:6px; }
.tl-score-editor .tse-team { display:flex; align-items:center; gap:4px; }
.tl-score-editor .tse-abbr { font-size:10px; font-weight:800; color:var(--teal); letter-spacing:.5px; }
.tl-score-editor input[type="number"] { width:52px; padding:6px 4px; text-align:center; font-size:20px; font-weight:900; font-family:var(--sans); border:1px solid var(--border); background:var(--white); color:var(--teal); }
.tl-score-editor input[type="number"]:focus { outline:none; border-color:var(--teal); }
.tl-score-editor .tse-sep { font-size:14px; font-weight:300; color:var(--muted); }
.tl-score-editor .tse-status { margin-left:auto; }
.tl-score-editor select { padding:4px 8px; font-size:10px; font-weight:700; font-family:var(--sans); border:1px solid var(--border); background:var(--white); color:var(--teal); text-transform:uppercase; letter-spacing:.5px; }
.tl-score-editor select:focus { outline:none; border-color:var(--teal); }
/* ── No-live state ── */
.tl-no-live { padding:40px 24px; text-align:center; background:var(--white); border:1px solid var(--border); }
.tl-no-live .tl-nl-ico { font-size:40px; margin-bottom:12px; display:block; }
.tl-no-live .tl-nl-title { font-size:14px; font-weight:800; color:var(--teal); margin-bottom:4px; }
.tl-no-live .tl-nl-desc { font-size:12px; color:var(--muted); line-height:1.6; }
/* Responsive */
@media(max-width:900px){
  .team-live-2col { grid-template-columns:1fr; }
  .team-live-col-chat { border-left:none; border-top:1px solid var(--border); }
  .team-live-col-chat-inner { position:relative; inset:auto; max-height:400px; }
  .team-live-banner { flex-wrap:wrap; }
  .team-live-score-pill { width:100%; justify-content:center; }
}

/* Table stats de jeu (perf) : pleine largeur, en-têtes abrégés (+ légende), sans scroll */
.data-table--perf { width:100%; table-layout:auto; }
.data-table--perf th, .data-table--perf td { white-space:nowrap; }
.stat-abbr-legend { margin-top:10px; font-size:11px; color:var(--muted); line-height:1.9; }
.stat-abbr-legend b { color:var(--teal); font-weight:800; }
/* Ligne Total (colspan) : ne pas brider la 1re cellule (sinon les stats du total se décalent) */
.data-table--perf td:first-child, .data-table--perf th:first-child { max-width:none; }
/* Légende en ligne de tableau (pied) : span toute la largeur, texte discret */
.perf-legend-row td { padding:8px 12px !important; border-top:1px solid var(--border); background:var(--white); text-align:left !important; white-space:normal !important; max-width:none !important; }
.perf-legend-row .stat-abbr-legend { margin-top:0; }
/* Colonne Compétition : plafonnée (ellipsis) pour ne jamais écraser les colonnes chiffres (J, V…) */
.data-table td[data-label="Compétition"] { max-width:200px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.data-table th:first-child { white-space:nowrap; }
