.eventsPage {
  --event-gold: #f0b957;
  --event-panel: rgba(21, 23, 29, 0.9);
  background: radial-gradient(700px 360px at 50% 4%, rgba(141, 114, 232, 0.08), transparent 72%), radial-gradient(600px 360px at 86% 44%, rgba(240, 185, 87, 0.055), transparent 75%);
}

.eventsHero { padding: clamp(2.5rem, 4.5vw, 4rem) 0 clamp(2rem, 3.5vw, 3rem); text-align: center; }
.eventsHero__inner { display: grid; justify-items: center; }
.eventsEyebrow { margin: 0 0 0.65rem; color: var(--event-gold); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.17em; }
.eventsHero h1 { max-width: 980px; margin: 0; color: #f7f7f8; font-size: clamp(2.05rem, 4vw, 3.3rem); line-height: 1.08; letter-spacing: -0.05em; }
.eventsHero h1 span { color: color-mix(in srgb, var(--event-gold) 82%, #fff); }
.eventsHero__lead { max-width: 680px; margin: 0.9rem auto 0; color: #a9abb3; font-size: clamp(0.9rem, 1.4vw, 1rem); }

.eventsBeta { display: inline-flex; max-width: 720px; align-items: center; gap: 0.7rem; margin-top: 1.15rem; padding: 0.5rem 0.72rem; border: 1px solid rgba(240, 185, 87, 0.2); border-radius: 9px; background: rgba(240, 185, 87, 0.055); color: #b9bbc2; font-size: 0.74rem; text-align: left; }
.eventsBeta strong { flex: 0 0 auto; padding: 0.25rem 0.48rem; border-radius: 6px; background: rgba(240, 185, 87, 0.14); color: #f3c875; font-size: 0.66rem; letter-spacing: 0.08em; }
.eventStage { padding-bottom: clamp(4.5rem, 8vw, 7rem); }

.eventCountdown { display: grid; grid-template-columns: minmax(190px, 0.7fr) minmax(430px, 1.3fr); gap: clamp(1.2rem, 3vw, 2.5rem); align-items: center; margin-bottom: 0.7rem; padding: clamp(1.1rem, 2.2vw, 1.5rem); border: 1px solid rgba(240, 185, 87, 0.26); border-radius: 18px 18px 12px 12px; background: linear-gradient(145deg, rgba(31, 30, 29, 0.96), rgba(16, 18, 23, 0.98)); box-shadow: 0 20px 48px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 238, 201, 0.035); }
.eventCountdown[hidden] { display: none; }
.eventCountdown.is-imminent { border-color: rgba(240, 185, 87, 0.42); }
.eventCountdown__heading { display: grid; gap: 0.35rem; }
.eventCountdown__heading span { color: var(--event-gold); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.12em; }
.eventCountdown__heading strong { color: #a5a7af; font-size: 0.78rem; font-weight: 500; }
.eventCountdown__units { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; }
.eventCountdown__units div { display: grid; min-width: 0; justify-items: center; padding: 0.8rem 0.35rem 0.68rem; border: 1px solid rgba(255, 255, 255, 0.075); border-radius: 12px; background: rgba(4, 6, 9, 0.32); }
.eventCountdown__units strong { color: #fff3d2; font-size: clamp(1.45rem, 3vw, 2.25rem); line-height: 1; font-variant-numeric: tabular-nums; }
.eventCountdown__units span { margin-top: 0.35rem; color: #8f929c; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }

.eventOverview { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, 0.75fr); gap: clamp(1.5rem, 3.2vw, 2.8rem); padding: clamp(1.35rem, 2.5vw, 1.8rem); border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 16px 16px 20px 20px; background: radial-gradient(420px 220px at 0% 0%, rgba(141, 114, 232, 0.11), transparent 72%), var(--event-panel); box-shadow: 0 22px 55px rgba(0, 0, 0, 0.25), inset 0 1px rgba(255, 255, 255, 0.03); }
.eventOverview__labels { display: flex; gap: 0.55rem; margin-bottom: 1.2rem; }
.eventState, .eventType { padding: 0.35rem 0.62rem; border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 999px; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.055em; text-transform: uppercase; }
.eventState { border-color: rgba(240, 185, 87, 0.25); background: rgba(240, 185, 87, 0.09); color: #efc574; }
.eventState--live { border-color: rgba(67, 203, 132, 0.28); background: rgba(67, 203, 132, 0.09); color: #79dca5; }
.eventState--ended { color: #a1a4ad; }
.eventType { color: #b8a9f2; }
.eventOverview h2 { margin: 0; color: #f5f5f6; font-size: clamp(1.55rem, 3vw, 2.35rem); line-height: 1.15; letter-spacing: -0.035em; }
.eventOverview__copy > p:last-child { max-width: 640px; margin: 0.95rem 0 0; color: #a5a8b1; font-size: 0.92rem; }
.eventFacts { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; margin: 0; }
.eventFacts div { min-width: 0; padding: 0.85rem; border: 1px solid rgba(255, 255, 255, 0.07); border-radius: 11px; background: rgba(4, 6, 9, 0.25); }
.eventFacts dt { color: #7f838e; font-size: 0.61rem; font-weight: 700; letter-spacing: 0.075em; text-transform: uppercase; }
.eventFacts dd { margin: 0.25rem 0 0; overflow-wrap: anywhere; color: #e6e7ea; font-size: 0.78rem; font-weight: 600; }
.eventRules { grid-column: 1 / -1; padding-top: 1.2rem; border-top: 1px solid rgba(255, 255, 255, 0.065); }
.eventRules h3 { margin: 0 0 0.6rem; font-size: 0.9rem; }
.eventRules ul { margin: 0; padding-left: 1.2rem; color: #9fa2ab; font-size: 0.82rem; }

.eventRanking { margin-top: clamp(3.2rem, 6vw, 5rem); }
.eventRanking #rankingContent { width: 100%; max-width: 1180px; margin-inline: auto; }
.eventSectionHeading { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.eventSectionHeading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.3rem); letter-spacing: -0.035em; }
.eventSectionHeading > p { margin: 0 0 0.25rem; color: #999ca5; font-size: 0.8rem; }
.eventSectionHeading__lead { margin: 0.4rem 0 0; color: #8f929c; font-size: 0.78rem; }
.eventRefreshEstimate { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0.72rem 0 0; color: #b9bbc3; font-size: 0.78rem; font-weight: 650; line-height: 1.4; }
.eventRefreshEstimate[hidden] { display: none; }
.eventRefreshEstimate > span:first-child { font-size: 0.86rem; }
.eventPodium { display: grid; width: 100%; max-width: 1120px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; align-items: end; margin-inline: auto; padding-top: 0; }
.eventPodiumSlot { --podium-color: 192, 196, 207; position: relative; display: grid; min-width: 0; align-self: end; }
.eventPodiumSlot--first { --podium-color: 240, 185, 87; padding-top: 0; transform: none; }
.eventPodiumSlot--second { --podium-color: 190, 197, 211; padding-top: 0; }
.eventPodiumSlot--third { --podium-color: 190, 124, 77; padding-top: 0; }
.eventPodiumCard { position: relative; z-index: 1; display: grid; min-width: 0; justify-items: center; min-height: 232px; padding: 1.5rem 1rem 1.25rem; overflow: hidden; border: 1px solid rgba(var(--podium-color), 0.36); border-radius: 18px 18px 8px 8px; background: radial-gradient(280px 160px at 50% 0%, rgba(var(--podium-color), 0.14), transparent 72%), linear-gradient(150deg, rgba(28, 30, 36, 0.84), rgba(14, 16, 20, 0.78)); box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22), inset 0 1px rgba(255, 255, 255, 0.04); backdrop-filter: blur(4px); text-align: center; transition: border-color 180ms ease, transform 180ms ease; }
.eventPodiumSlot--first .eventPodiumCard { min-height: 260px; padding-top: 1.7rem; }
.eventPodiumCard:hover { border-color: rgba(var(--podium-color), 0.62); transform: none; }
.eventPodiumCard__rank { position: absolute; top: 0.8rem; left: 0.8rem; font-size: 1.1rem; }
.eventStatusBadges { position: absolute; top: 0.75rem; right: 0.75rem; display: flex; gap: 0.3rem; }
.eventStatusBadge { display: grid; place-items: center; }
.eventClanBadge { position: relative; display: grid; width: 96px; height: 96px; place-items: center; margin-bottom: 0.75rem; border: 0; border-radius: 0; background: transparent; }
.eventClanBadge img { width: 88px; height: 88px; object-fit: contain; filter: drop-shadow(0 9px 12px rgba(0, 0, 0, 0.32)) drop-shadow(0 0 10px rgba(var(--podium-color), 0.1)); }
.eventClanBadge__crown { position: absolute; top: -25px; left: 50%; z-index: 2; filter: drop-shadow(0 7px 13px rgba(240, 185, 87, 0.34)); font-size: clamp(2.2rem, 3.4vw, 2.8rem); line-height: 1; transform: translateX(-50%); }
.eventPodiumSlot--first .eventClanBadge { width: 96px; height: 96px; }
.eventPodiumSlot--first .eventClanBadge img { width: 88px; height: 88px; }
.eventClanBadge__fallback { color: rgb(var(--podium-color)); font-size: 2rem; }
.eventClanBadge__placeholder { color: rgba(var(--podium-color), 0.62); font-size: 3rem; line-height: 1; }
.eventPodiumSlot--empty .eventPodiumCard { border-color: rgba(var(--podium-color), 0.22); opacity: 0.6; }
.eventPodiumSlot--empty .eventPodiumStats > div { background: rgba(2, 4, 8, 0.16); }
.eventPodiumCard h3 { max-width: 100%; margin: 0; overflow: hidden; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.eventPodiumCard__tag { margin: 0.24rem 0 0; color: #898d97; font-size: 0.68rem; font-weight: 600; letter-spacing: 0.06em; }
.eventScore { max-width: 100%; margin: 0.9rem 0 0; color: rgb(var(--podium-color)); font-size: clamp(1.05rem, 2vw, 1.35rem); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.eventScore small { display: block; margin-top: 0.15rem; color: #858995; font-size: 0.58rem; font-weight: 600; letter-spacing: 0.055em; text-transform: uppercase; }
.eventPodiumStep { position: relative; display: grid; min-height: 76px; place-content: center; place-items: center; margin-top: -1px; overflow: hidden; border: 1px solid rgba(var(--podium-color), 0.32); border-top: 0; border-radius: 0 0 15px 15px; box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18); line-height: 1; }
.eventPodiumStep__number { color: rgba(var(--podium-color), 0.32); font-size: clamp(4.8rem, 8vw, 7.4rem); font-weight: 950; letter-spacing: -0.08em; text-shadow: 0 0 28px rgba(var(--podium-color), 0.14); }
.eventPodiumSlot--first .eventPodiumStep { min-height: 208px; }
.eventPodiumSlot--second .eventPodiumStep { min-height: 168px; }
.eventPodiumSlot--third .eventPodiumStep { min-height: 136px; }
.eventPodiumSlot--first .eventPodiumStep { background: linear-gradient(180deg, rgba(240, 185, 87, 0.2), rgba(240, 185, 87, 0.07)), rgba(20, 15, 8, 0.62); }
.eventPodiumSlot--second .eventPodiumStep { background: linear-gradient(180deg, rgba(190, 197, 211, 0.16), rgba(190, 197, 211, 0.055)), rgba(16, 18, 23, 0.62); }
.eventPodiumSlot--third .eventPodiumStep { background: linear-gradient(180deg, rgba(190, 124, 77, 0.18), rgba(190, 124, 77, 0.06)), rgba(25, 15, 10, 0.62); }

.eventRankingTools { display: grid; grid-template-columns: auto minmax(220px, 340px) minmax(0, 1fr); gap: 0.75rem; align-items: center; margin: 0.3rem 0 0.75rem; }
.eventRankingTools label { color: #b7b9c0; font-size: 0.74rem; font-weight: 700; }
.eventRankingSearch { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; min-height: 40px; padding: 0 0.65rem; border: 1px solid rgba(255, 255, 255, 0.09); border-radius: 10px; background: rgba(9, 11, 15, 0.68); }
.eventRankingSearch > span { color: #777b86; }
.eventRankingSearch input { min-width: 0; border: 0; outline: 0; padding: 0 0.55rem; background: transparent; color: #f0f1f3; font-size: 0.75rem; }
.eventRankingSearch input::placeholder { color: #696d77; }
.eventRankingSearch input:disabled { cursor: not-allowed; opacity: 0.62; }
.eventRankingSearch button { border: 0; background: transparent; color: #8c909a; cursor: pointer; font-size: 0.7rem; }
.eventRankingTools > p { margin: 0; color: #777b85; font-size: 0.68rem; }
.eventLeaderboard { overflow: hidden; border: 1px solid rgba(255, 255, 255, 0.08); border-radius: 15px; background: rgba(16, 18, 23, 0.8); }
.eventLeaderboard__head { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(160px, auto); gap: 0.85rem; padding: 0.65rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.07); color: #747884; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.eventLeaderboard__head span:last-child { text-align: right; }
.eventLeaderboardRow { display: grid; grid-template-columns: 42px minmax(0, 1fr) minmax(160px, auto); gap: 0.85rem; align-items: center; min-height: 66px; padding: 0.65rem 1rem; border-bottom: 1px solid rgba(255, 255, 255, 0.055); }
.eventLeaderboardRow:last-child { border-bottom: 0; }
.eventLeaderboardRow__rank { color: #868a94; font-size: 0.82rem; font-weight: 800; text-align: center; }
.eventLeaderboardRow__clan { display: flex; min-width: 0; align-items: center; gap: 0.75rem; }
.eventLeaderboardRow__badge { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; }
.eventLeaderboardRow__badge .eventClanBadgeImage { width: 42px; height: 42px; object-fit: contain; }
.eventLeaderboardRow__badge .eventClanBadge__fallback { font-size: 1.25rem; }
.eventLeaderboardRow__clan div { min-width: 0; }
.eventLeaderboardRow__clan h3 { margin: 0; overflow: hidden; font-size: 0.84rem; text-overflow: ellipsis; white-space: nowrap; }
.eventLeaderboardRow__clan span { color: #7f838d; font-size: 0.64rem; letter-spacing: 0.055em; }
.eventLeaderboardRow__score { color: #d9dadd; font-size: 0.82rem; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.eventLeaderboardRow__score small { color: #777b85; font-size: 0.58rem; font-weight: 600; text-transform: uppercase; }
.eventLeaderboardRow[hidden], .eventPodiumSlot[hidden] { display: none; }
.eventUpcomingMessage { padding: 2rem; padding: 1.4rem 1.5rem; border: 1px dashed rgba(255, 255, 255, 0.12); border-radius: 14px; color: #9b9ea7; line-height: 1.6; text-align: center; }
.eventBetaNote { display: flex; align-items: center; gap: 0.85rem; max-width: 670px; margin: clamp(2rem, 4vw, 3rem) auto 0; padding: 0.9rem 1rem; border-left: 3px solid rgba(141, 114, 232, 0.75); border-radius: 8px; background: rgba(141, 114, 232, 0.055); color: #a2a5ae; font-size: 0.76rem; }
.eventBetaNote > span { color: #aa96ed; font-size: 1.2rem; font-weight: 800; }
.eventBetaNote p { margin: 0; }

@media (max-width: 900px) {
  .eventCountdown { grid-template-columns: 1fr; }
  .eventCountdown__heading { justify-items: center; text-align: center; }
  .eventOverview { grid-template-columns: 1fr; }
  .eventScore { font-size: clamp(0.88rem, 2.2vw, 1.12rem); }
}

@media (max-width: 680px) {
  .eventsHero { padding-top: 2.35rem; }
  .eventsBeta { align-items: flex-start; }
  .eventCountdown__units { grid-template-columns: 1fr 1fr; }
  .eventOverview { padding: 1.2rem; }
  .eventFacts { grid-template-columns: 1fr 1fr; }
  .eventSectionHeading { align-items: flex-start; flex-direction: column; gap: 0.35rem; }
}

/* Flux multi-format et tableau Tournoi alimenté par l'API. */
.eventStage > .container { display:flex;min-width:0;flex-direction:column; }
.eventCountdown { order:1; }
.nextEvent { order:0; }
.eventOverview--secondary { margin-top:0; }
.eventFormatSeparator { display:flex;align-items:center;gap:1rem;margin:clamp(4rem,8vw,6.5rem) 0;color:#d9ad5f; }
.eventFormatSeparator[hidden] { display:none; }
.eventFormatSeparator::before,.eventFormatSeparator::after { content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(240,185,87,.22),transparent); }
.eventFormatSeparator span { font-size:.9rem; }
.tournamentBracketTools { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem; }
.tournamentBracketTools > span { color:#777b86;font-size:.65rem; }
.tournamentBracketTools nav { display:flex;gap:.35rem;flex-wrap:wrap; }
.tournamentBracketTools button { padding:.38rem .58rem;border:1px solid rgba(255,255,255,.08);border-radius:7px;color:#aeb0b8;background:rgba(255,255,255,.025);font:650 .6rem Poppins,sans-serif;cursor:pointer; }
.tournamentBracketTools button:hover { border-color:rgba(240,185,87,.3);color:#efc574; }
.tournamentBracketTools button.is-active { border-color:rgba(240,185,87,.38);color:#efc574;background:rgba(240,185,87,.09); }
.tournamentBracketScroll { width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;padding:2.9rem .8rem 1.15rem;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.008));overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:rgba(240,185,87,.35) rgba(255,255,255,.03); }
.tournamentBracketScroll::-webkit-scrollbar { height:7px; }
.tournamentBracketScroll::-webkit-scrollbar-track { border-radius:999px;background:rgba(255,255,255,.03); }
.tournamentBracketScroll::-webkit-scrollbar-thumb { border-radius:999px;background:rgba(240,185,87,.32); }
.tournamentBracketStage { position:relative;min-width:max-content; }
.tournamentBracketLines { position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none; }
.tournamentBracketLines path { fill:none;stroke:rgba(240,185,87,.3);stroke-width:1.35;vector-effect:non-scaling-stroke; }
.tournamentBracketRound { position:absolute;top:0; }
.tournamentBracketRound > h3 { position:absolute;top:-2.55rem;left:0;width:100%;display:grid;justify-items:center;gap:.22rem;margin:0;color:#aeb1ba;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase; }
.tournamentBracketRound > h3 small { padding:.2rem .4rem;border:1px solid rgba(141,114,232,.22);border-radius:999px;color:#b8a9f2;background:rgba(141,114,232,.07);font-size:.48rem;font-weight:800;letter-spacing:.07em; }
.tournamentBracketMatch { position:absolute;left:0;display:flex;width:320px;min-width:320px;height:var(--tournament-match-slot,154px);align-items:center; }
.tournamentMatch { position:relative;z-index:1;display:flex;width:100%;height:138px;box-sizing:border-box;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:linear-gradient(150deg,rgba(30,32,39,.98),rgba(15,17,22,.98));box-shadow:0 13px 30px rgba(0,0,0,.28); }
.tournamentMatch > header { display:flex;height:30px;flex:0 0 30px;align-items:center;justify-content:space-between;padding:0 .8rem;background:rgba(255,255,255,.018);color:#858995;font-size:.56rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase; }
.tournamentMatch > header em { padding:.22rem .42rem;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#a7aab3;background:rgba(255,255,255,.035);font-size:.48rem;font-style:normal; }
.tournamentMatch--termine > header em { border-color:rgba(240,185,87,.2);background:rgba(240,185,87,.08);color:#efc574; }
.tournamentMatch--en_cours { border-color:rgba(76,210,139,.35); }
.tournamentMatch--en_cours > header em { border-color:rgba(76,210,139,.3);background:rgba(76,210,139,.1);color:#79dca5; }
.tournamentMatchTeams { display:grid;flex:0 0 108px; }
.tournamentMatchTeam { display:grid;min-height:54px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:.62rem;padding:.32rem .72rem; }
.tournamentMatchTeam + .tournamentMatchTeam { border-top:1px solid rgba(255,255,255,.055); }
.tournamentMatchTeam.is-winner { background:linear-gradient(90deg,rgba(73,202,133,.16),rgba(73,202,133,.025) 72%);box-shadow:inset 3px 0 rgba(78,213,143,.72); }
.tournamentMatchTeam.is-loser { opacity:.62;background:rgba(0,0,0,.08); }
.tournamentMatchTeam__identity { display:grid;min-width:0; }
.tournamentMatchTeam__identity strong { overflow:hidden;color:#e5e6e9;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap; }
.tournamentMatchTeam__identity > span { display:flex;min-width:0;align-items:center;gap:.28rem;color:#777b85;font-size:.48rem; }
.tournamentMatchTeam__identity .eventStatusBadges { display:inline-flex;gap:.14rem;margin:0; }
.tournamentMatchTeam__identity .eventStatusBadge--compact { width:18px;height:18px;flex-basis:18px; }
.tournamentMatchTeam__identity .eventStatusBadge--compact img { width:14px;height:14px; }
.tournamentMatchTeam__score { display:grid;justify-items:end; }
.tournamentMatchTeam__score b { color:#f1f1f3;font-size:.8rem;font-variant-numeric:tabular-nums; }
.tournamentMatchTeam__score b i { color:#f0b957;font-style:normal;font-size:.64rem; }
.tournamentMatchTeam__score small { color:#898d97;font-size:.49rem; }
.tournamentMatchTeam--unknown strong { color:#9a9da6; }
.tournamentCrest { display:grid;width:52px;height:58px;place-items:center;overflow:hidden; }
.tournamentCrest img { display:block;width:100%;height:100%;object-fit:contain; }
.tournamentCrest__fallback { display:grid;width:100%;height:100%;place-items:center; }
.tournamentCrest__fallback[hidden] { display:none; }
.tournamentCrest--compact { width:30px;height:34px; }
.tournamentCrest--empty { border:1px dashed rgba(255,255,255,.12);border-radius:8px;color:#5c6069;background:#15171c;font-size:.7rem; }
.tournamentChampion { position:absolute;z-index:1;display:grid;min-height:178px;justify-items:center;align-content:center;padding:1.25rem;border:1px solid rgba(240,185,87,.38);border-radius:16px;background:radial-gradient(circle at 50% 15%,rgba(240,185,87,.2),transparent 66%),linear-gradient(145deg,#25231e,#131419);box-shadow:0 18px 38px rgba(0,0,0,.3);text-align:center; }
.tournamentChampion > span { color:#efc574;font-size:.62rem;font-weight:800;letter-spacing:.12em; }
.tournamentChampion .tournamentCrest { margin:.7rem 0; }
.tournamentChampion h3 { margin:0;color:#f2f2f4;font-size:.86rem; }
.tournamentChampion p { margin:.25rem 0 0;color:#777b84;font-size:.55rem; }
.tournamentChampion__badges { position:static;display:flex;justify-content:center;gap:.2rem;margin:.15rem 0 .35rem; }
.tournamentChampion__badges:empty { display:none; }

@media(max-width:900px){.tournamentBracketTools{align-items:flex-start;flex-direction:column}.tournamentBracketTools nav{max-width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.25rem}}
@media(max-width:600px){.eventFormatSeparator{margin:3.5rem 0}.tournamentBracketScroll{padding-bottom:1rem}.tournamentBracketMatch{width:320px}}

@media (max-width: 430px) {
  .eventsHero h1 { font-size: 2.15rem; }
  .eventsBeta { display: grid; justify-items: start; }
  .eventCountdown { padding: 1rem; }
  .eventCountdown__units { gap: 0.5rem; }
  .eventFacts { grid-template-columns: 1fr; }
  .eventOverview__labels { flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) { .eventPodiumCard { transition: none; } }

/* Classement complet et succession des événements */
.nextEvent { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: center; margin-bottom: 0.7rem; padding: 1rem 1.25rem; border: 1px solid rgba(141, 114, 232, 0.24); border-radius: 16px; background: linear-gradient(135deg, rgba(141, 114, 232, 0.1), rgba(16, 18, 23, 0.94)); }
.nextEvent[hidden] { display: none; }
.nextEvent .eventsEyebrow { margin: 0; white-space: nowrap; }
.nextEvent h2 { margin: 0; color: #f4f4f6; font-size: 1rem; }
.nextEvent div p { margin: 0.22rem 0 0; color: #92959f; font-size: 0.75rem; }
.nextEvent > span { padding: 0.35rem 0.6rem; border-radius: 999px; background: rgba(240, 185, 87, 0.09); color: #e8bd70; font-size: 0.67rem; font-weight: 700; }
.nextEvent--empty { grid-template-columns: auto minmax(0, 1fr); }
.nextEvent--empty h2 { color: #b8bac1; font-weight: 750; }

.eventPodiumCard { box-sizing: border-box; display: flex; height: auto; min-height: 360px; flex-direction: column; align-items: center; overflow: visible; }
.eventPodiumSlot--first .eventPodiumCard { height: auto; min-height: 360px; padding-top: 1.5rem; }
.eventPodiumStats { display: grid; width: 100%; grid-template-columns: 0.72fr 1.55fr 0.82fr; gap: 0.42rem; align-items: stretch; margin-top: auto; padding-top: 1rem; }
.eventPodiumStats > div { display: grid; min-width: 0; align-content: center; gap: 0.25rem; padding: 0.55rem 0.35rem; border: 1px solid rgba(255, 255, 255, 0.065); border-radius: 9px; background: rgba(2, 4, 8, 0.27); }
.eventPodiumStats small { color: #797d87; font-size: 0.53rem; font-weight: 700; letter-spacing: 0.055em; text-transform: uppercase; }
.eventPodiumStats strong { color: #dfe0e4; font-size: 0.72rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.eventPodiumStats__primary { border-color: rgba(var(--podium-color), 0.18) !important; background: rgba(var(--podium-color), 0.065) !important; }
.eventPodiumStats__primary strong { color: rgb(var(--podium-color)); font-size: clamp(0.74rem, 1vw, 0.92rem); }
.eventPodiumValue, .eventMemberValue { display: inline-flex; min-width: 0; align-items: center; justify-content: center; gap: 0.32rem; }
.eventMemberValue img { width: 15px; height: 15px; flex: 0 0 15px; object-fit: contain; }
.eventPodiumValue--resources { gap: 0; }

.eventPodiumCard > .eventStatusBadges { position: static; min-height: 26px; max-width: 100%; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.25rem; margin-top: 0.55rem; }
.eventPodiumCard > .eventStatusBadges:empty { display: none; }
.eventStatusBadges--inline { position: static; display: inline-flex; min-height: 30px; flex: 0 0 auto; align-items: center; justify-content: flex-start; gap: 0.25rem; margin-left: 0.4rem; padding-block: 0.12rem; transform: translateY(-2px); }
.eventStatusBadges--inline:empty { display: none; }

.eventRankingTools { width: 100%; box-sizing: border-box; grid-template-columns: minmax(0, 1fr) minmax(320px, 460px); gap: 22px; align-items: center; margin: 30px 0 24px; padding: 22px; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 24px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)), rgba(10, 10, 14, 0.78); box-shadow: none; }
.eventRankingTools h3 { margin: 0 0 6px; color: #fff; font-size: 22px; font-weight: 950; }
.eventRankingTools > div:first-child p { max-width: none; margin: 0; color: #92959f; font-size: 14px; font-weight: 500; line-height: 1.6; }
.eventRankingControls { display: flex; min-width: 0; gap: 10px; }
.eventRankingSearch { width: 100%; min-height: 48px; padding: 0 10px 0 16px; border-radius: 16px; background: rgba(0, 0, 0, 0.24); }
.eventRankingSearch input { font-size: 0.8rem; font-weight: 800; }
.eventRankingSearchSubmit { min-height: 48px; padding: 0 18px; border: 0; border-radius: 16px; background: var(--event-gold); color: #271804; font: inherit; font-size: 0.76rem; font-weight: 950; cursor: pointer; }
.eventRankingSearchSubmit:hover { background: #f5c56d; }
.eventRankingSearchSubmit:disabled { cursor: not-allowed; opacity: 0.55; }
.eventRankingSearchSubmit:disabled:hover { background: var(--event-gold); }

.eventLeaderboard { width: 100%; box-sizing: border-box; overflow: hidden; padding: 0; border: 1px solid rgba(255, 255, 255, 0.11); border-radius: 24px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.02)), rgba(10, 10, 14, 0.8); box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42); }
.eventLeaderboard__head, .eventLeaderboardRow { grid-template-columns: 70px minmax(0, 1fr) 130px 200px 130px; column-gap: 28px; }
.eventLeaderboard__head { min-height: 56px; align-items: center; padding: 0 22px; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); border-radius: 0; background: rgba(255, 255, 255, 0.035); font-size: 12px; font-weight: 900; }
.eventLeaderboardRows, #eventLeaderboardRows { overflow: visible; border: 0; border-radius: 0; }
.eventLeaderboardEmpty { margin: 0; padding: 2rem 1rem; color: #898d97; font-size: 0.78rem; line-height: 1.5; text-align: center; }
.eventLeaderboard__head span:nth-child(n + 3), .eventLeaderboardRow > p { text-align: center; }
.eventLeaderboard__head span:first-child { display: grid; height: 100%; place-items: center; color: var(--event-gold); text-align: center; }
.eventLeaderboardRow { min-height: 82px; padding: 14px 22px; border-bottom-color: rgba(255, 255, 255, 0.07); }
.eventLeaderboardRow__rank { display: grid; height: 100%; place-items: center; font-size: 1rem; font-weight: 900; text-align: center; }
.eventLeaderboardRow__name { display: flex; min-width: 0; align-items: center; gap: 0.45rem; }
.eventLeaderboardRow__name h3 { min-width: 0; }
.eventLeaderboardRow__clan { gap: 14px; }
.eventLeaderboardRow__clan h3 { margin-bottom: 4px; color: #fff; font-size: 17px; font-weight: 900; }
.eventLeaderboardRow__clan span { font-size: 12px; font-weight: 750; }
.eventLeaderboardRow__members, .eventLeaderboardRow__resources, .eventLeaderboardRow__points { margin: 0; color: #d9dadd; font-size: 15px; font-weight: 900; font-variant-numeric: tabular-nums; white-space: nowrap; }
.eventLeaderboardRow__resources { color: #eeeff1; }
.eventLeaderboardRow__points small { color: #777b85; font-size: 0.58rem; }
.eventLeaderboardRow__mobileMembers { display: none; font-weight: 500; }
.eventLeaderboardRow__badge { width: 46px; height: 46px; flex-basis: 46px; }
.eventLeaderboardRow__badge .eventClanBadgeImage { width: 46px; height: 46px; }
.eventNumber { display: inline-flex; align-items: baseline; gap: 0.52em; white-space: nowrap; }
.eventNumber > span { display: inline-block; }
.eventNumber > small { margin-left: 0.12em; color: #777b85; font-size: 0.72em; font-weight: 600; }
.eventLeaderboardRow--rank-1 { background: linear-gradient(90deg, rgba(240, 185, 87, 0.075), transparent 46%); }
.eventLeaderboardRow--rank-2 { background: linear-gradient(90deg, rgba(190, 197, 211, 0.06), transparent 46%); }
.eventLeaderboardRow--rank-3 { background: linear-gradient(90deg, rgba(190, 124, 77, 0.065), transparent 46%); }
.eventLeaderboardRow--rank-1 .eventLeaderboardRow__rank { color: #f0b957; }
.eventLeaderboardRow--rank-2 .eventLeaderboardRow__rank { color: #bec5d3; }
.eventLeaderboardRow--rank-3 .eventLeaderboardRow__rank { color: #be7c4d; }
.eventLeaderboardRow.is-found { background: linear-gradient(90deg, rgba(240, 185, 87, 0.15), rgba(240, 185, 87, 0.025)); box-shadow: inset 4px 0 #f0b957; }
.eventSearchResult { margin-top: 18px; }
.eventSearchResult__label { margin: 0 0 0.5rem; color: #eec573; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.09em; }
.eventSearchResult .eventLeaderboardRow { margin-inline: 0; border: 1px solid rgba(240, 185, 87, 0.35); border-radius: 18px; background: rgba(240, 185, 87, 0.1); box-shadow: inset 4px 0 #f0b957; }
.eventSearchResult__empty { margin: 0; padding: 18px 20px; border: 1px solid rgba(220, 105, 105, 0.25); border-radius: 18px; background: rgba(220, 105, 105, 0.1); color: rgba(255, 255, 255, 0.82); font-size: 0.78rem; font-weight: 800; }

/* Hub Événements : sections propres à chaque format */
.eventFormatSection[hidden],
.eventTournament[hidden],
.eventRanking[hidden] { display: none !important; }

.eventOverview.is-status-only {
  grid-template-columns: 1fr;
  max-width: 100%;
}
.eventOverview.is-status-only .eventOverview__copy { max-width: 780px; }
.eventOverview.is-status-only .eventFacts,
.eventOverview.is-status-only .eventRules { display: none; }
.eventOverview.is-status-only .eventOverview__labels { margin-bottom: 0.85rem; }

.eventType[hidden] { display: none; }
.eventType--farming {
  border-color: rgba(240, 185, 87, 0.24);
  background: rgba(240, 185, 87, 0.08);
  color: #f0c875;
}
.eventType--tournament {
  border-color: rgba(141, 114, 232, 0.28);
  background: rgba(141, 114, 232, 0.1);
  color: #b8a9f2;
}

.eventTournament { margin-top: clamp(3.2rem, 6vw, 5rem); }
.tournamentPlaceholder {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-height: 150px;
  padding: clamp(1.25rem, 2.5vw, 1.75rem);
  border: 1px dashed rgba(141, 114, 232, 0.3);
  border-radius: 18px;
  background: radial-gradient(380px 180px at 0% 0%, rgba(141, 114, 232, 0.11), transparent 75%), rgba(16, 18, 23, 0.72);
}
.tournamentPlaceholder__icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(240, 185, 87, 0.22);
  border-radius: 16px;
  background: rgba(240, 185, 87, 0.07);
  font-size: 1.65rem;
}
.tournamentPlaceholder h3 { margin: 0; color: #f3f3f5; font-size: 1rem; }
.tournamentPlaceholder p { max-width: 720px; margin: 0.35rem 0 0; color: #9699a3; font-size: 0.8rem; line-height: 1.6; }

.eventOverview__copy > p:last-child { line-height: 1.65; }
.eventMemberValue { font-variant-numeric: tabular-nums; }

@media (max-width: 680px) {
  .tournamentPlaceholder { grid-template-columns: 1fr; }
  .tournamentPlaceholder__icon { width: 50px; height: 50px; border-radius: 14px; font-size: 1.4rem; }
}

/* Classement individuel Farming : panneau partagé, responsive. */
.eventContributorsButton { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; padding: .36rem .65rem; border: 1px solid rgba(240,185,87,.32); border-radius: 9px; background: rgba(240,185,87,.08); color: #f3c875; font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.eventContributorsButton:hover, .eventContributorsButton[aria-expanded="true"] { background: rgba(240,185,87,.18); border-color: rgba(240,185,87,.65); }
.eventContributorsButton:focus-visible { outline: 2px solid #f0b957; outline-offset: 3px; }
.eventPodiumPlayers { display: flex; width: 100%; flex: 0 0 auto; justify-content: center; margin-top: .7rem; }
.eventPodiumPlayers .eventContributorsButton { margin: 0; }
.eventLeaderboardRow > .eventContributorsButton { grid-column: 2 / -1; justify-self: start; margin-top: .2rem; }
.eventContributorsDisplay { margin-top: 1.25rem; }
.eventContributorsDisplay[hidden], .eventContributorsPanel[hidden] { display: none !important; }
.eventContributorsPanel { padding: clamp(.85rem,2vw,1.3rem); border: 1px solid rgba(240,185,87,.28); border-radius: 15px; background: rgba(20,21,26,.96); }
.eventContributorsHeading { display: flex; justify-content: space-between; flex-wrap: wrap; gap: .5rem; margin-bottom: .8rem; color: #f3c875; }
.eventContributorsHeading span { color: #999ca5; font-size: .75rem; }
.eventContributorRow { display: grid; grid-template-columns: 2rem minmax(0,1fr) auto; gap: .7rem; align-items: center; padding: .65rem .3rem; border-top: 1px solid rgba(255,255,255,.07); font-size: .82rem; }
.eventContributorRank { color: #f3c875; font-weight: 800; }
.eventContributorIdentity { min-width: 0; overflow-wrap: anywhere; }
.eventContributorScore { color: #e8e8ec; font-variant-numeric: tabular-nums; text-align: right; }
.eventContributorScore small { color: #999ca5; }
.eventContributorsEmpty { color: #999ca5; font-size: .82rem; }
/* Classement individuel : bouton dans l'espace libre entre clan et membres. */
.eventLeaderboard__head, .eventLeaderboardRow { grid-template-columns: 70px minmax(0, 1fr) 108px 130px 200px 130px; column-gap: 16px; }
.eventLeaderboard__head span:nth-child(3) { grid-column: 4; }
.eventLeaderboard__head span:nth-child(4) { grid-column: 5; }
.eventLeaderboard__head span:nth-child(5) { grid-column: 6; }
.eventLeaderboardRow__actions { grid-column: 3; grid-row: 1; display: flex; justify-content: center; min-width: 0; }
.eventLeaderboardRow__actions .eventContributorsButton { white-space: nowrap; margin: 0; }
.eventLeaderboardRow__members { grid-column: 4; grid-row: 1; }
.eventLeaderboardRow__resources { grid-column: 5; grid-row: 1; }
.eventLeaderboardRow__points { grid-column: 6; grid-row: 1; }
.eventContributorIdentity { display: flex; align-items: center; gap: .65rem; }
.eventContributorIdentityText { display: flex; flex-direction: column; min-width: 0; gap: .12rem; }
.eventContributorIdentityText small { font-size: .7rem; color: #999ca5; }
.eventContributorHdv { width: 38px; height: 38px; object-fit: contain; flex: 0 0 38px; }
/* Contributions Farming : blason, HDV, identité compacte et ressources alignées. */
.eventContributorsHeading { align-items: center; gap: 1rem; }
.eventContributorsHeading__clan { display: flex; align-items: center; gap: .75rem; min-width: 0; }
.eventContributorsHeading__clan strong { overflow-wrap: anywhere; }
.eventContributorsHeading__badge { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; }
.eventContributorsHeading__badge img { display: block; width: 42px; height: 42px; object-fit: contain; }
.eventContributorRow { grid-template-columns: 2rem minmax(0, 1fr) minmax(160px, 200px); column-gap: 1rem; }
.eventContributorIdentity { display: flex; align-items: center; gap: .7rem; min-width: 0; }
.eventContributorIdentityText { min-width: 0; }
.eventContributorIdentityText strong { display: block; font-weight: 750; overflow-wrap: anywhere; }
.eventContributorTag { color: #999ca5; font-size: .73rem; font-weight: 500; white-space: nowrap; }
.eventContributorHdv { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; }
.eventContributorHdvFallback { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; color: #999ca5; font-size: .65rem; }
.eventContributorScore { display: flex; align-items: center; justify-content: flex-end; min-width: 0; text-align: right; }
.eventContributorScore .eventNumber { font-variant-numeric: tabular-nums; }
/* Responsive unifié de la page Événements. Ces règles remplacent les anciens
   ajustements ponctuels sans modifier la présentation des grands écrans. */
@media (max-width: 1279px) {
  .eventPodium { gap: clamp(14px, 2vw, 22px); }
  .eventPodiumCard { padding-inline: clamp(.75rem, 1.5vw, 1rem); }

  .eventLeaderboard__head,
  .eventLeaderboardRow {
    grid-template-columns: 50px minmax(190px, 1fr) 92px 88px minmax(145px, 1.15fr) 82px;
    column-gap: clamp(8px, 1.15vw, 14px);
  }

  .eventLeaderboardRow__actions { transform: none; }
  .eventLeaderboardRow__actions .eventContributorsButton { padding-inline: .55rem; }
}

@media (max-width: 1023px) {
  .eventsHero { padding-block: clamp(2.25rem, 5vw, 3.2rem); }
  .eventStage { padding-bottom: clamp(3.75rem, 7vw, 5.5rem); }
  .eventRanking { margin-top: clamp(2.8rem, 5vw, 4rem); }

  .eventPodiumStats { grid-template-columns: 1fr; }
  .eventPodiumCard,
  .eventPodiumSlot--first .eventPodiumCard { min-height: 420px; }

  .eventRankingTools {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
    gap: clamp(16px, 2.4vw, 22px);
    padding: clamp(18px, 2.5vw, 22px);
  }

  .eventLeaderboard__head,
  .eventLeaderboardRow {
    grid-template-columns: 44px minmax(175px, 1fr) 82px 72px minmax(130px, 1fr) 68px;
    column-gap: 8px;
  }

  .eventLeaderboardRow { padding-inline: 14px; }
  .eventLeaderboardRow__clan { gap: 10px; }
  .eventLeaderboardRow__clan h3 { font-size: 15px; }
  .eventLeaderboardRow__members,
  .eventLeaderboardRow__resources,
  .eventLeaderboardRow__points { font-size: 13px; }
}

/* Mode compact commun : podium vertical et classement sous forme de cartes. */
@media (max-width: 1100px) {
  .eventPodium {
    max-width: 520px;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 16px;
  }

  .eventPodiumSlot--first,
  .eventPodiumSlot--second,
  .eventPodiumSlot--third {
    grid-column: 1;
    width: min(100%, 500px);
    align-self: stretch;
    justify-self: center;
    padding-top: 0;
  }
  .eventPodiumSlot--first { grid-row: 1; }
  .eventPodiumSlot--second { grid-row: 2; }
  .eventPodiumSlot--third { grid-row: 3; }
  .eventPodiumCard,
  .eventPodiumSlot--first .eventPodiumCard { min-height: 350px; }
  .eventPodiumStats { grid-template-columns: .72fr 1.55fr .82fr; }
  .eventPodiumStep,
  .eventPodiumSlot--first .eventPodiumStep,
  .eventPodiumSlot--second .eventPodiumStep,
  .eventPodiumSlot--third .eventPodiumStep { min-height: 92px; }

  .eventRankingTools { grid-template-columns: 1fr; }
  .eventRankingControls { width: 100%; }

  .eventLeaderboard {
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
  }
  .eventLeaderboard__head { display: none; }
  .eventLeaderboardRows,
  #eventLeaderboardRows {
    display: grid;
    width: min(100%, 760px);
    gap: 12px;
    margin-inline: auto;
  }
  .eventLeaderboardRow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    gap: 12px 10px;
    min-height: 0;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    background: linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),rgba(17,18,22,.95);
  }
  .eventLeaderboardRow__rank {
    grid-column: 1 / -1;
    grid-row: 1;
    display: inline-flex;
    width: auto;
    height: auto;
    justify-self: start;
    line-height: 1;
  }
  .eventLeaderboardRow__rank::before {
    content: 'CLASSEMENT · ';
    margin-right: .35rem;
    color: #9296a0;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .05em;
  }
  .eventLeaderboardRow__clan { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
  .eventLeaderboardRow__clan > div { min-width: 0; flex: 1; }
  .eventLeaderboardRow__name h3 { overflow-wrap: anywhere; white-space: normal; }
  .eventLeaderboardRow__mobileMembers { display: inline; }
  .eventLeaderboardRow__actions {
    grid-column: 1 / -1;
    grid-row: 4;
    width: 100%;
    justify-content: stretch;
    transform: none;
  }
  .eventLeaderboardRow__actions .eventContributorsButton {
    width: 100%;
    min-height: 40px;
    justify-content: center;
    margin: 0;
  }
  .eventLeaderboardRow__members { display: none; }
  .eventLeaderboardRow__resources,
  .eventLeaderboardRow__points {
    grid-row: 3;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 58px;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(0,0,0,.15);
    text-align: left;
    font-size: .9rem;
    white-space: normal;
  }
  .eventLeaderboardRow__resources { grid-column: 1; color: #f0c875; }
  .eventLeaderboardRow__points { grid-column: 2; color: #eeeff1; }
  .eventLeaderboardRow__resources::before { content: 'RESSOURCES'; }
  .eventLeaderboardRow__points::before { content: 'POINTS'; }
  .eventLeaderboardRow__resources::before,
  .eventLeaderboardRow__points::before {
    color: #9296a0;
    font-size: .59rem;
    font-weight: 800;
    letter-spacing: .045em;
  }
  .eventLeaderboardRow__name { flex-wrap: wrap; row-gap: 4px; }
  .eventStatusBadges--inline { flex-wrap: wrap; margin-left: 0; }
  .eventSearchResult .eventLeaderboardRow { margin-inline: 0; }

  .eventContributorsPanel { padding: 1rem; }
  .eventContributorRow { grid-template-columns: 2rem minmax(0, 1fr) minmax(135px, 180px); }

}

@media (max-width: 767px) {
  .eventsHero__lead { max-width: 560px; }
  .eventsBeta { width: min(100%, 620px); box-sizing: border-box; }
  .nextEvent { grid-template-columns: 1fr; gap: .45rem; }
  .nextEvent > span { justify-self: start; }
  .eventSectionHeading { gap: .5rem; }
  .eventRankingTools { margin-block: 24px 20px; }
}

/* Petits téléphones : densité réduite, sans changer le mode compact. */
@media (max-width: 600px) {
  .eventRankingTools { padding: 18px; border-radius: 18px; }
  .eventRankingTools h3 { font-size: 19px; }
  .eventRankingControls { flex-direction: column; }
  .eventRankingSearchSubmit { width: 100%; }

  .eventContributorsHeading { align-items: flex-start; }
  .eventContributorsHeading__clan { width: 100%; }
  .eventContributorRow {
    grid-template-columns: 1.5rem minmax(0, 1fr);
    gap: .55rem;
  }
  .eventContributorIdentity { align-items: flex-start; }
  .eventContributorTag { white-space: normal; }
  .eventContributorScore {
    grid-column: 2;
    justify-content: flex-start;
    padding-left: clamp(0px, 9vw, 3.2rem);
    text-align: left;
  }
  .eventContributorsHeading__badge,
  .eventContributorsHeading__badge img { width: 36px; height: 36px; }
  .eventContributorsHeading__badge { flex-basis: 36px; }
}

@media (max-width: 430px) {
  .eventsHero h1 { font-size: clamp(1.9rem, 9vw, 2.15rem); }
  .eventsBeta { gap: .55rem; }
  .eventOverview,
  .eventCountdown { padding: 1rem; }
  .eventRankingTools { padding: 16px; }
  .eventPodiumCard,
  .eventPodiumSlot--first .eventPodiumCard { min-height: 338px; }
  .eventClanBadge,
  .eventPodiumSlot--first .eventClanBadge { width: 76px; height: 76px; }
  .eventClanBadge img,
  .eventPodiumSlot--first .eventClanBadge img { width: 68px; height: 68px; }
  .eventClanBadge__crown { top: -25px; font-size: 2rem; }
  .eventPodiumStats strong { font-size: .65rem; }
  .eventPodiumStats__primary strong { font-size: .72rem; }
  .eventLeaderboardRow__badge,
  .eventLeaderboardRow__badge .eventClanBadgeImage { width: 42px; height: 42px; flex: 0 0 42px; }
  .eventNumber { gap: .22em; }
}

@media (max-width: 374px) {
  .eventsPage .container { width: min(1180px, calc(100% - 28px)); }
  .eventsBeta { grid-template-columns: 1fr; justify-items: start; }
  .eventCountdown__units { gap: .4rem; }
  .eventCountdown__units div { padding-inline: .2rem; }
  .eventPodiumCard { padding-inline: .75rem; }
  .eventPodiumStats { gap: .3rem; }
  .eventPodiumStats > div { padding-inline: .22rem; }
  .eventLeaderboardRow { padding: 14px; }
  .eventLeaderboardRow__resources,
  .eventLeaderboardRow__points { padding-inline: 9px; font-size: .8rem; }
  .eventContributorHdv,
  .eventContributorHdvFallback { width: 36px; height: 36px; flex-basis: 36px; }
}

/* Contributions affichées directement sous le clan sélectionné. */
.eventClanGroup--row { min-width: 0; }
.eventClanGroup--row > .eventContributorsDisplay { margin: 0 14px 14px; }
.eventPodiumSlot > .eventContributorsDisplay { width: 100%; min-width: 0; margin-top: 12px; }
.eventPodiumSlot > .eventContributorsDisplay .eventContributorRow { grid-template-columns: 1.4rem minmax(0,1fr); gap: .4rem; }
.eventPodiumSlot > .eventContributorsDisplay .eventContributorScore { grid-column: 2; text-align: left; }
.eventPodiumSlot > .eventContributorsDisplay .eventContributorsHeading { align-items: flex-start; }
.eventPodiumSlot > .eventContributorsDisplay .eventContributorsHeading__clan { min-width: 0; overflow-wrap: anywhere; }
.eventContributorsDisplay[hidden] { display: none !important; }
@media (max-width: 650px) {
  .eventClanGroup--row > .eventContributorsDisplay { margin: 0 8px 12px; }
  .eventContributorsPanel { overflow-wrap: anywhere; }
}
