/* Compétitions : styles isolés (ne changent pas le bandeau commun). */
.cp-main{max-width:1190px;margin:auto;padding:46px 24px 85px;color:#f4f7f6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}
.cp-main *{box-sizing:border-box}.cp-main button,.cp-main select{font:inherit}.cp-intro{max-width:820px}.cp-kicker{font-size:12px;font-weight:850;letter-spacing:.16em;color:#9de21c}.cp-intro h1{font-size:clamp(38px,6vw,66px);line-height:1.1;letter-spacing:-.045em;margin:8px 0 16px}.cp-dot{color:#9de21c}.cp-intro p{font-size:16px;color:#b8c6cc;margin:0 0 33px}
.cp-tabs{display:flex;gap:9px;border-bottom:1px solid #36464d;margin-bottom:30px;overflow-x:auto}.cp-tab{border:0;border-bottom:3px solid transparent;border-radius:9px 9px 0 0;background:transparent;color:#c6d0d3;padding:13px 22px;cursor:pointer;font-weight:750;white-space:nowrap}.cp-tab:hover,.cp-tab:focus-visible{color:#9de21c}.cp-tab.is-active{color:#9de21c;border-bottom-color:#9de21c;background:#172229}.cp-panel[hidden]{display:none!important}
.cp-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:21px;flex-wrap:wrap}.cp-heading h2{font-size:clamp(22px,3vw,28px);line-height:1.3;color:#fff;margin:0 0 5px}.cp-heading p{font-size:14px;color:#b8c6cc;margin:0}.cp-season-badge{font-size:12px;font-weight:800;letter-spacing:.05em;color:#9de21c;background:#1a2a22;border:1px solid #34543a;border-radius:20px;padding:8px 13px;white-space:nowrap}
.cp-events{display:grid;gap:10px}.cp-event{background:#172228;border:1px solid #35464e;border-radius:12px;padding:15px 18px;display:grid;grid-template-columns:105px 1fr auto;gap:15px;align-items:center}.cp-event-date{font-weight:850;color:#fff;font-size:13px}.cp-event-kicker{font-size:11px;color:#9de21c;font-weight:800;letter-spacing:.04em}.cp-event h3{font-size:17px;margin:2px 0 0;color:#fff}.cp-event-detail{font-size:12px;color:#b9c7cc;margin:4px 0 0}.cp-event-tag{color:#9de21c;font-weight:800;background:#243329;border:1px solid #465a35;border-radius:7px;padding:6px 9px;font-size:11px;white-space:nowrap}.cp-muted{color:#b8c6cc}.cp-calheading{margin-top:48px}
.cp-posters{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.cp-poster{padding:18px;background:#172229;border:1px solid #36464d;border-radius:15px;min-width:0}.cp-poster h3{font-size:20px;margin:0;color:#fff}.cp-poster p{color:#b8c6cc;font-size:13px;margin:2px 0 16px}.cp-poster a{display:block;text-decoration:none;color:#9de21c;font-size:13px;font-weight:700}.cp-poster img{width:100%;height:auto;max-height:570px;object-fit:contain;display:block;background:#0e1519;border-radius:9px;margin-bottom:12px}.cp-poster a:hover span{text-decoration:underline}.cp-footnote{font-size:12px;color:#9cabb2;margin:19px 0 0}
.cp-year-label{display:flex;align-items:center;gap:10px;color:#cdd8dd;font-size:14px;font-weight:750}.cp-select{background:#1d2a30;border:1px solid #52636b;color:#fff;border-radius:9px;padding:10px 15px;min-width:115px}.cp-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 22px}.cp-filter{border:1px solid #46555c;color:#dde6e8;background:#1a272d;border-radius:9px;padding:9px 15px;font-weight:750;cursor:pointer}.cp-filter.is-active{border-color:#9de21c;color:#15200e;background:#9de21c}
.cp-results-content{display:grid;gap:15px}.cp-stage{background:#172329;border:1px solid #33454e;border-radius:13px;padding:17px 19px}.cp-stage[open]{border-color:#576b5b}.cp-stage summary{cursor:pointer;display:flex;justify-content:space-between;gap:15px;align-items:center;list-style:none}.cp-stage summary::-webkit-details-marker{display:none}.cp-stage-title{font-size:17px;font-weight:800}.cp-stage-sub{font-size:12px;color:#bac8ce;margin-top:2px}.cp-stage-count{color:#9de21c;font-size:12px;font-weight:800;white-space:nowrap}.cp-stage-inner{padding-top:13px;margin-top:14px;border-top:1px solid #394a52;overflow-x:auto}.cp-stage-table{width:100%;border-collapse:collapse;min-width:530px;font-size:13px}.cp-stage-table th{text-align:left;font-size:12px;color:#a8b8bf;padding:9px 12px;border-bottom:1px solid #526068}.cp-stage-table td{padding:10px 12px;border-bottom:1px solid #34444b}.cp-stage-table tbody tr:last-child td{border-bottom:0}.cp-stage-table .cp-gold{background:rgba(246,201,78,.1);color:#f6c94e;font-weight:850}.cp-stage-table .cp-silver{background:rgba(201,215,225,.1);color:#d6e1ea;font-weight:850}.cp-stage-table .cp-bronze{background:rgba(217,149,92,.12);color:#e4a16b;font-weight:850}.cp-stage-table a{color:inherit;text-decoration:none}.cp-stage-table a:hover{text-decoration:underline}
.cp-rank-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.cp-rank-card{border-radius:13px;background:#172329;border:1px solid #34454d;padding:17px;min-width:0}.cp-rank-card h3{color:#fff;font-size:17px;margin:0 0 10px}.cp-rank-list{list-style:none;margin:0;padding:0}.cp-rank-list li{display:grid;grid-template-columns:65px 1fr;gap:15px;padding:9px 0;border-top:1px solid #30414a;font-size:13px}.cp-rank-position{color:#9de21c;font-weight:850}.cp-rank-list a{color:#e9f1f2;text-decoration:none}.cp-rank-list a:hover{text-decoration:underline}.cp-placeholder{padding:28px;border:1px solid #34454d;background:#172329;border-radius:13px;color:#c5d0d5}.cp-placeholder strong{color:#fff}.cp-placeholder p{margin:6px 0 0;font-size:14px}
@media(max-width:720px){.cp-main{padding:30px 15px 65px}.cp-event{grid-template-columns:1fr;gap:5px}.cp-event-tag{width:max-content}.cp-posters,.cp-rank-grid{grid-template-columns:1fr}.cp-poster img{max-height:none}.cp-tab{padding:11px 15px}.cp-heading{align-items:start}.cp-stage{padding:14px}.cp-stage-title{font-size:15px}}


/* Correctif Compétitions v2 : sélecteur simple/double et liens externes */
.cp-mode-controls{display:flex;gap:8px;margin:-7px 0 22px;flex-wrap:wrap}
.cp-mode{border:1px solid #4e6067;background:#142127;color:#d8e1e5;border-radius:9px;padding:9px 24px;cursor:pointer;font-weight:800}
.cp-mode.is-active{background:#9de21c;border-color:#9de21c;color:#121b0c}
.cp-mode:focus-visible,.cp-ext-link:focus-visible{outline:2px solid #9de21c;outline-offset:3px}
.cp-stage-chevron{font-size:23px;color:#9de21c;line-height:1}
.cp-stage-group+.cp-stage-group{margin-top:20px;padding-top:15px;border-top:1px solid #45535b}
.cp-stage-group-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:15px}
.cp-stage-group-head h3{font-size:14px;color:#eaf1f2;margin:0;font-weight:850}
.cp-stage-group-head+.cp-stage-inner{margin-top:6px;padding-top:2px;border-top:0}
.cp-stage-table-compact{min-width:280px}
.cp-stage-table-compact th:last-child,.cp-stage-table-compact td:last-child{text-align:right;white-space:nowrap}
.cp-ext-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #72874f;border-radius:9px;background:#243322;color:#b9fa64!important;text-decoration:none!important;font-size:12px;font-weight:850;white-space:nowrap}
.cp-ext-link:hover{background:#33492a;color:#fff!important}
.cp-event-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px}
@media(max-width:720px){.cp-event-actions{align-items:flex-start}.cp-stage-table-compact{font-size:12px}.cp-stage-table-compact th,.cp-stage-table-compact td{padding:9px 6px}}
/* Correctif V3 : statuts visuellement différenciés et catégories de résultats */
.cp-season-badge{background:#24313b;border-color:#50616f;color:#cfdae0}
.cp-event-tag{background:#244033;border-color:#48735a;color:#b4ebc3}
.cp-event-actions .cp-ext-link{background:#214565;border-color:#4e93bd;color:#e4f5ff!important}
.cp-event-actions .cp-ext-link:hover{background:#30678f;color:#fff!important}
.cp-category-title{margin:0 0 7px;color:#9de21c;font-size:13px;font-weight:850;letter-spacing:.02em}
.cp-stage-inner+.cp-stage-inner{margin-top:12px}
.cp-stage-empty{margin:16px 0 0;color:#b8c6cc;font-size:13px}
.cp-stage[open] .cp-stage-chevron{transform:rotate(180deg)}
.cp-stage-chevron{transition:transform .2s ease}
/* Masquer les intitulés redondants des résultats */

/* "Joueur" et "Résultat" */
.cp-result-card thead {
    display: none;
  }
  .cp-stage-table thead {
    display: none;
  }
  /* ===== Classements : filtres et catégories (ajouter en fin de competitions.css) ===== */
.cp-rank-filter, .cp-rank-mode {
    border: 1px solid #46555c;
    color: #dde6e8;
    background: #1a272d;
    border-radius: 9px;
    padding: 9px 15px;
    font-weight: 750;
    cursor: pointer;
  }
  .cp-rank-filter.is-active, .cp-rank-mode.is-active {
    border-color: #9de21c;
    background: #9de21c;
    color: #15200e;
  }
  .cp-ranking-sections { display: grid; gap: 18px; }
  .cp-ranking-section { border: 1px solid #34454d; border-radius: 13px; background: #172329; padding: 16px 20px; min-width: 0; }
  .cp-ranking-section-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 11px; }
  .cp-ranking-section-head h3 { color: #9de21c; font-size: 17px; margin: 0; }
  .cp-ranking-row { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 11px 12px; border-bottom: 1px solid #35464d; font-size: 14px; }
  .cp-ranking-row:last-child { border-bottom: 0; }
  .cp-ranking-name { min-width: 0; }
  .cp-ranking-place { color: #9de21c; font-weight: 850; text-align: right; white-space: nowrap; }
  .cp-ranking-row.cp-gold { background: rgba(246,201,78,.10); color: #f6c94e; font-weight: 850; }
  .cp-ranking-row.cp-silver { background: rgba(201,215,225,.10); color: #d6e1ea; font-weight: 850; }
  .cp-ranking-row.cp-bronze { background: rgba(217,149,92,.12); color: #e4a16b; font-weight: 850; }
  .cp-ranking-row.cp-gold .cp-ranking-place { color: #f6c94e; }
  .cp-ranking-row.cp-silver .cp-ranking-place { color: #d6e1ea; }
  .cp-ranking-row.cp-bronze .cp-ranking-place { color: #e4a16b; }
  @media (max-width: 640px) { .cp-ranking-section { padding: 13px; } .cp-ranking-row { font-size: 12px; padding: 10px 6px; } }
  /* COMPÉTITIONS – compteur à quatre cases et bouton Live (ajout en fin de CSS) */
.cp-event:has(.cp-event-countdown) {
  display: grid;
  grid-template-columns: 105px minmax(155px, 1fr) minmax(240px, 320px) 185px;
  gap: 16px;
  align-items: center;
}
.cp-event-countdown {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 9px;
}
.cp-countdown-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-weight: 850;
  color: #a9eb46;
  text-align: center;
}
.cp-countdown-boxes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; width: 100%; }
.cp-count-box {
  min-width: 0;
  padding: 10px 3px 8px;
  border: 1px solid #405344;
  border-radius: 9px;
  background: #10191c;
  text-align: center;
}
.cp-count-box strong { display: block; font-size: clamp(18px, 1.6vw, 25px); line-height: 1.1; color: #fff; font-weight: 850; font-variant-numeric: tabular-nums; }
.cp-count-box span { display: block; margin-top: 5px; font-size: 9px; text-transform: uppercase; font-weight: 750; color: #9de21c; }
.cp-countdown-boxes[hidden] { display: none !important; }
.cp-event:has(.cp-event-countdown) .cp-event-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
}
.cp-live-button {
  box-sizing: border-box;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 40px;
  border: 1px solid #51717d;
  border-radius: 9px;
  padding: 9px 10px;
  font: inherit;
  font-weight: 800;
  font-size: 12px;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.cp-live-wait:disabled { cursor: not-allowed; background: #263238; color: #bbc6ca; opacity: 1; }
.cp-live-note { color: #aabac2; font-size: 10px; line-height: 1.35; text-align: center; }
.cp-live-active { background: #8de100; color: #0b1705 !important; border-color: #8de100; }
.cp-live-active:hover { background: #a8f633; color: #0b1705 !important; }
.cp-live-button[hidden], .cp-live-note[hidden] { display: none !important; }
@media (max-width: 1070px) {
  .cp-event:has(.cp-event-countdown) {
    grid-template-columns: 105px minmax(145px, 1fr) minmax(225px, 290px);
    gap: 12px;
  }
  .cp-event:has(.cp-event-countdown) .cp-event-actions { grid-column: 3; }
}
@media (max-width: 720px) {
  .cp-event:has(.cp-event-countdown) { grid-template-columns: 1fr; gap: 13px; }
  .cp-event-countdown { width: 100%; max-width: 340px; justify-self: center; }
  .cp-event:has(.cp-event-countdown) .cp-event-actions { grid-column: 1; justify-self: center; max-width: 280px; }
  .cp-live-button { min-height: 42px; }
}