/* SEL Olympe Sync - styles neutres, pensés pour hériter du thème.
   Surchargez librement dans le CSS du thème ou via l'éditeur de site. */

.sel-ranking {
	margin: 1.5em 0;
}

.sel-ranking-title {
	margin-bottom: 0.5em;
}

.sel-ranking-table {
	width: 100%;
	border-collapse: collapse;
	font-variant-numeric: tabular-nums;
}

.sel-ranking-table th,
.sel-ranking-table td {
	padding: 0.5em 0.75em;
	border-bottom: 1px solid rgba(128, 128, 128, 0.25);
	text-align: left;
}

.sel-ranking-table .sel-col-pos {
	width: 2.5em;
	color: inherit;
	opacity: 0.6;
}

.sel-ranking-table .sel-col-num {
	width: 3.5em;
	text-align: center;
}

.sel-ranking-table .sel-col-pts {
	font-weight: 600;
}

.sel-ranking-table tbody tr:nth-child(1) .sel-col-pos,
.sel-ranking-table tbody tr:nth-child(2) .sel-col-pos,
.sel-ranking-table tbody tr:nth-child(3) .sel-col-pos {
	opacity: 1;
	font-weight: 600;
}

.sel-ranking-meta {
	font-size: 0.85em;
	opacity: 0.7;
	margin-top: 0.5em;
}

.sel-archives {
	list-style: none;
	padding: 0;
}

.sel-archives li {
	padding: 0.4em 0;
	border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}

.sel-archives-date {
	font-size: 0.85em;
	opacity: 0.7;
	margin-left: 0.5em;
}

.sel-ranking-empty {
	opacity: 0.7;
	font-style: italic;
}

.sel-team-logo,
.sel-match-logo {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	object-fit: cover;
	vertical-align: middle;
	margin: 0 0.4em;
}

.sel-results-round {
	margin: 1.25em 0;
}

.sel-results-round-title {
	font-size: 0.95em;
	opacity: 0.75;
	margin-bottom: 0.5em;
}

.sel-match {
	display: grid;
	grid-template-columns: 4.5em 1fr auto 1fr;
	align-items: center;
	gap: 0.75em;
	padding: 0.45em 0;
	border-bottom: 1px solid rgba(128, 128, 128, 0.2);
}

.sel-match-when {
	font-size: 0.8em;
	opacity: 0.65;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.sel-match-team1 { text-align: right; }
.sel-match-team2 { text-align: left; }

.sel-match-winner { font-weight: 600; }

.sel-match-score {
	font-variant-numeric: tabular-nums;
	min-width: 4.5em;
	text-align: center;
	font-weight: 600;
}

.sel-match-upcoming .sel-match-score {
	font-weight: 400;
	opacity: 0.7;
	font-size: 0.85em;
}

.sel-match-forfeit {
	font-size: 0.75em;
	opacity: 0.7;
	text-decoration: none;
	border: none;
}

.sel-division-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin: 1.5em 0;
}

.sel-division-nav a {
	padding: 0.35em 1em;
	border: 1px solid rgba(128, 128, 128, 0.3);
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.9em;
}

.sel-division {
	margin: 2.5em 0;
	scroll-margin-top: 90px;
}

.sel-division-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5em;
}

@media (max-width: 760px) {
	.sel-division-grid {
		grid-template-columns: 1fr;
	}
}

/* Vue divisions à onglets ([sel_divisions]) */

.sel-division-pills,
.sel-subtabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4em;
	margin: 1em 0;
}

.sel-pill {
	padding: 0.4em 1.1em;
	border: 1px solid rgba(128, 128, 128, 0.35);
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 0.9em;
	cursor: pointer;
}

.sel-pill.is-active {
	background: #2596be;
	border-color: #2596be;
	color: #fff;
	font-weight: 600;
}

.sel-subtabs .sel-pill {
	border-radius: 6px;
	font-size: 0.85em;
}

/* Couleurs victoires / défaites */

.sel-match-win {
	color: #1d7f4e;
	font-weight: 600;
}

.sel-match-loss {
	color: #b3392f;
	opacity: 0.85;
}

.sel-match-ff {
	display: inline-block;
	padding: 1px 8px;
	border-radius: 999px;
	background: #faeeda;
	color: #854f0b;
	font-size: 0.8em;
	font-weight: 600;
	text-transform: none;
}

.sel-score-sep {
	margin: 0 0.35em;
	opacity: 0.6;
	font-weight: 400;
}

/* Pour ajuster les couleurs au thème SEL, surchargez par exemple :
   .sel-match-win { color: #votre-vert; }
   .sel-pill.is-active { background: #votre-bleu; border-color: #votre-bleu; } */

/* Arbre d'élimination ([sel_bracket] et onglet Bracket) */

.sel-bracket {
	display: flex;
	gap: 1.5em;
	align-items: stretch;
	overflow-x: auto;
	padding: 0.5em 0 1em;
}

.sel-bracket-round {
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	gap: 1em;
	min-width: 210px;
	flex-shrink: 0;
}

.sel-bracket-round-title {
	font-size: 0.85em;
	opacity: 0.7;
	text-align: center;
	margin: 0;
}

.sel-bracket-match {
	border: 1px solid rgba(128, 128, 128, 0.3);
	border-radius: 8px;
	overflow: hidden;
	font-size: 0.9em;
	background: rgba(128, 128, 128, 0.04);
}

.sel-bracket-team {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.75em;
	padding: 0.45em 0.7em;
}

.sel-bracket-team + .sel-bracket-team {
	border-top: 1px solid rgba(128, 128, 128, 0.2);
}

.sel-bracket-name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sel-bracket-score {
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.sel-bracket-forfeit {
	font-size: 0.75em;
	opacity: 0.7;
	padding: 0.2em 0.7em 0.4em;
}

/* Sélecteur de sous-compétitions (niveau 2 : Gold, Silver, Groupes) */

.sel-comp-tabs {
	display: inline-flex;
	flex-wrap: wrap;
	border: 1px solid rgba(128, 128, 128, 0.35);
	border-radius: 8px;
	overflow: hidden;
	margin: 0.75em 0;
}

.sel-comp-tabs .sel-pill {
	border: none;
	border-radius: 0;
	border-right: 1px solid rgba(128, 128, 128, 0.25);
	font-size: 0.85em;
}

.sel-comp-tabs .sel-pill:last-child {
	border-right: none;
}

.sel-bracket-final {
	border-width: 1.5px;
	border-color: #2596be;
}

/* Sections de la vue double élimination fusionnée */

.sel-bracket-section {
	font-size: 0.9em;
	margin: 1.5em 0 0.25em;
	opacity: 0.85;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.sel-bracket-finalrow {
	overflow-x: visible;
}

.sel-team-mono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	vertical-align: middle;
	margin: 0 0.4em;
	flex: none;
}

.sel-logo-wrap {
	display: inline-flex;
	vertical-align: middle;
}

.sel-logo-wrap .sel-team-mono,
.sel-logo-wrap.sel-logo-broken img {
	display: none;
}

.sel-logo-wrap.sel-logo-broken .sel-team-mono {
	display: inline-flex;
}

.sel-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 12px;
	margin: 1em 0;
	text-align: center;
}

.sel-stat {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 10px;
	padding: 0.9em 0.5em;
}

.sel-stat-number {
	display: block;
	font-size: 1.6em;
	font-weight: 600;
	line-height: 1.2;
}

.sel-stat-label {
	display: block;
	font-size: 0.8em;
	opacity: 0.7;
}

.sel-palmares-carousel {
	margin: 1em 0;
}

.sel-champ-card {
	display: flex;
	align-items: center;
	gap: 0.6em;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	padding: 0.9em 1.1em;
}

.sel-champ-trophy {
	font-size: 1.4em;
}

.sel-champ-card .sel-team-logo,
.sel-champ-card .sel-team-mono {
	width: 34px;
	height: 34px;
	font-size: 14px;
}

.sel-champ-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.sel-champ-meta {
	font-size: 0.8em;
	opacity: 0.7;
}

.sel-champ-dots {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 0.6em;
}

.sel-champ-dot {
	width: 9px;
	height: 9px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.18);
	cursor: pointer;
}

.sel-champ-dot.is-active {
	background: rgba(0, 0, 0, 0.55);
}

.sel-palmares-hall,
.sel-palmares-club {
	margin: 1em 0;
}

.sel-hall-row {
	display: flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.55em 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.sel-hall-row:last-child {
	border-bottom: none;
}

.sel-hall-rank {
	width: 1.4em;
	font-weight: 600;
	opacity: 0.6;
}

.sel-hall-rank.is-first {
	color: #ba7517;
	opacity: 1;
}

.sel-hall-body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
}

.sel-hall-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 2px;
}

.sel-chip {
	font-size: 0.72em;
	padding: 2px 8px;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.05);
	opacity: 0.85;
	white-space: nowrap;
}

.sel-chip-top {
	background: #faeeda;
	color: #854f0b;
	opacity: 1;
}

.sel-hall-total {
	margin-left: auto;
	font-size: 0.85em;
	opacity: 0.75;
	white-space: nowrap;
}

.sel-hall-former {
	display: block;
	font-size: 0.8em;
	font-weight: 400;
	color: #888;
	font-style: italic;
}

/* Widget par ligue [sel_leagues] */
.sel-leagues { display: flex; flex-direction: column; gap: 14px; }
.sel-league-card {
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 12px;
	padding: 16px 20px;
}
.sel-league-head { display: flex; align-items: center; gap: 14px; }
.sel-league-logo {
	width: 56px; height: 56px;
	border-radius: 14px;
	flex: none;
	display: inline-flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.sel-league-logo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sel-league-mono { color: #fff; font-weight: 600; font-size: 18px; letter-spacing: 0.5px; }
.sel-league-id { flex: 1; min-width: 0; }
.sel-league-name { font-size: 17px; font-weight: 600; }
.sel-league-meta { font-size: 13px; opacity: 0.6; }
.sel-league-socials { display: flex; gap: 8px; flex-wrap: wrap; }
.sel-league-social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	color: inherit; opacity: 0.7;
	transition: background 0.15s, color 0.15s, border-color 0.15s, opacity 0.15s;
}
.sel-league-social:hover { background: var(--lc, #185fa5); border-color: var(--lc, #185fa5); color: #fff; opacity: 1; }
.sel-league-seasons {
	display: flex; align-items: center; gap: 10px;
	margin-top: 14px; padding-top: 12px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.sel-league-seasons-label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.04em; opacity: 0.55; flex: none; }
.sel-league-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.sel-league-chip {
	font-size: 12px; padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	text-decoration: none; opacity: 0.85;
	transition: border-color 0.15s, color 0.15s;
}
.sel-league-chip:hover { border-color: var(--lc, #185fa5); color: var(--lc, #185fa5); opacity: 1; }
@media (max-width: 600px) {
	.sel-league-head { flex-wrap: wrap; }
	.sel-league-socials { width: 100%; }
}

/* Separateur de jeu dans l'historique des saisons */
.sel-league-game {
	width: 22px; height: 22px;
	border-radius: 5px;
	object-fit: cover;
	vertical-align: middle;
	margin: 0 4px 0 10px;
}
.sel-league-game-label {
	font-size: 11px; text-transform: uppercase; letter-spacing: 0.03em;
	opacity: 0.5;
	margin: 0 4px 0 10px;
}
.sel-league-chips > .sel-league-game:first-child,
.sel-league-chips > .sel-league-game-label:first-child { margin-left: 0; }

/* Palmares : Hall of Fame + Stay Fresh Club cote a cote, meme largeur */
.sel-palmares-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
@media (max-width: 700px) { .sel-palmares-duo { grid-template-columns: 1fr; } }
.sel-palmares-list .sel-hall-extra { display: none; }
.sel-palmares-list.is-open .sel-hall-extra { display: flex; }
.sel-pal-more {
	margin-top: 10px; width: 100%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	background: transparent;
	border-radius: 8px;
	padding: 7px; font-size: 0.85em;
	cursor: pointer; opacity: 0.8;
}
.sel-pal-more:hover { opacity: 1; }

/* Palmares encadre (Hall of Fame / Stay Fresh Club) */
.sel-palmares-list {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-radius: 12px;
	padding: 14px 18px;
}
.sel-palmares-hall { border-top: 3px solid #ba7517; }
.sel-palmares-club { border-top: 3px solid #1d9e75; }
.sel-pal-head { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; }
.sel-pal-ico { flex: none; vertical-align: middle; }
.sel-palmares-hall .sel-pal-ico { color: #ba7517; }
.sel-palmares-club .sel-pal-ico { color: #1d9e75; }

/* Accent couleur de ligue : League widget, Stats, Latest Champions */
.sel-league-card { border-top: 3px solid var(--lc, #185fa5); }
.sel-league-chip { color: var(--lc, #185fa5); }
.sel-stats-card {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--lc, #185fa5);
	border-radius: 12px;
	padding: 14px 18px;
}
.sel-stats-card .sel-stat-number { color: var(--lc, #185fa5); }
.sel-palmares-carousel {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--lc, #185fa5);
	border-radius: 12px;
	padding: 14px 18px;
}
.sel-champ-dot.is-active { background: var(--lc, #185fa5); }

/* LAN : timeline et fiche evenement */
.sel-lan-year { display: flex; align-items: center; gap: 8px; margin: 6px 0 8px; }
.sel-lan-year span { font-size: 1.05em; font-weight: 600; }
.sel-lan-year i { flex: 1; height: 1px; background: rgba(0, 0, 0, 0.12); }
.sel-lan-year em { font-size: 0.8em; opacity: 0.6; font-style: normal; }
.sel-lan-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 16px; }
@media (max-width: 600px) { .sel-lan-grid { grid-template-columns: 1fr; } }
.sel-lan-card {
	display: flex; align-items: center; gap: 10px;
	padding: 10px;
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-left: 3px solid var(--lc, #185fa5);
	border-radius: 8px;
	text-decoration: none; color: inherit;
}
.sel-lan-card:hover { border-color: var(--lc, #185fa5); }
.sel-lan-poster {
	width: 46px; height: 46px; border-radius: 10px; flex: none; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center;
}
.sel-lan-poster img { width: 100%; height: 100%; object-fit: cover; }
.sel-lan-poster-mono { color: #fff; font-weight: 600; font-size: 0.85em; }
.sel-lan-card-body { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.sel-lan-card-title { font-size: 0.95em; font-weight: 500; display: flex; align-items: center; gap: 6px; }
.sel-lan-card-meta { font-size: 0.78em; opacity: 0.6; }
.sel-lan-card-win { font-size: 0.78em; opacity: 0.85; margin-top: 2px; }
.sel-lan-flag { width: 18px; height: 13px; object-fit: cover; border-radius: 2px; }
.sel-lan-cc { font-size: 0.7em; font-weight: 600; padding: 1px 6px; border-radius: 5px; background: rgba(0, 0, 0, 0.08); }
.sel-lan-trophy { vertical-align: -2px; }

.sel-lan-detail {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--lc, #185fa5);
	border-radius: 12px;
	margin: 0 0 1.5em;
	overflow: hidden;
}
.sel-lan-detail-head { display: flex; gap: 14px; align-items: center; padding: 1rem 1.25rem; }
.sel-lan-detail-poster {
	width: 64px; height: 64px; border-radius: 12px; flex: none; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center;
}
.sel-lan-detail-poster img { width: 100%; height: 100%; object-fit: cover; }
.sel-lan-detail-title { font-size: 1.2em; font-weight: 500; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.sel-lan-detail-sub { font-size: 0.85em; opacity: 0.6; margin-top: 2px; }
.sel-lan-tag { font-size: 0.7em; padding: 2px 8px; border-radius: 999px; background: rgba(0, 0, 0, 0.06); opacity: 0.8; }
.sel-lan-table { width: 100%; border-collapse: collapse; font-size: 0.9em; }
.sel-lan-table td { padding: 8px 1.25rem; border-top: 0.5px solid rgba(0, 0, 0, 0.08); }
.sel-lan-table td:first-child { opacity: 0.6; width: 38%; }
.sel-lan-roster { opacity: 0.6; }
.sel-lan-links { display: flex; gap: 8px; padding: 0.9rem 1.25rem; }
.sel-lan-link { font-size: 0.85em; padding: 6px 14px; border: 0.5px solid rgba(0, 0, 0, 0.2); border-radius: 8px; text-decoration: none; opacity: 0.85; }
.sel-lan-link:hover { border-color: var(--lc, #185fa5); opacity: 1; }

/* LAN : hub par serie */
.sel-lan-series { display: flex; flex-direction: column; gap: 14px; }
.sel-lan-series-card {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--lc, #185fa5);
	border-radius: 12px;
	padding: 1rem 1.25rem;
}
.sel-lan-series-head { display: flex; align-items: center; gap: 14px; }
.sel-lan-series-id { flex: 1; min-width: 0; }
.sel-lan-series-name { font-size: 1.05em; font-weight: 600; }
.sel-lan-series-meta { font-size: 0.82em; opacity: 0.6; }
.sel-lan-editions {
	display: flex; flex-direction: column; gap: 4px;
	margin-top: 12px; padding-top: 10px;
	border-top: 0.5px solid rgba(0, 0, 0, 0.08);
}
.sel-lan-edition {
	display: flex; align-items: center; gap: 8px;
	padding: 6px 4px; border-radius: 6px;
	text-decoration: none; color: inherit;
}
.sel-lan-edition:hover { background: rgba(0, 0, 0, 0.03); }
.sel-lan-edition-name { font-size: 0.9em; font-weight: 500; }
.sel-lan-edition-year { font-size: 0.78em; opacity: 0.55; }
.sel-lan-edition-win { font-size: 0.78em; opacity: 0.8; margin-left: auto; }

/* LAN : equipes + panneaux start.gg */
.sel-lan-teams { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 1em; }
@media (max-width: 900px) { .sel-lan-teams { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .sel-lan-teams { grid-template-columns: 1fr; } }
.sel-lan-team { border: 0.5px solid rgba(0, 0, 0, 0.12); border-radius: 8px; padding: 8px 10px; }
.sel-lan-team-head { display: flex; align-items: center; gap: 7px; }
.sel-lan-team-badge { width: 20px; height: 20px; border-radius: 50%; color: #fff; font-size: 0.65em; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.sel-lan-team-name { font-weight: 500; font-size: 0.92em; }
.sel-lan-team-roster { font-size: 0.78em; color: var(--sel-muted, #777); line-height: 1.4; margin-top: 3px; }
.sel-lan-team-players { display: flex; flex-wrap: wrap; gap: 4px; }
.sel-sg-panel { margin-top: 6px; }

/* LAN : blocs Teams / Matches encadres (DA comme le widget du haut) */
.sel-lan-block {
	border: 0.5px solid rgba(0, 0, 0, 0.12);
	border-top: 3px solid var(--lc, #185fa5);
	border-radius: 12px;
	padding: 1rem 1.25rem;
	margin: 0 0 1.25em;
}
.sel-lan-block-head { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.sel-lan-block-ico { color: var(--lc, #185fa5); flex: none; vertical-align: middle; }

/* Page palmares de serie LAN (versions Teams / Players) */
.sel-lan-palmares { display: flex; flex-direction: column; gap: 16px; }
.sel-pal-switch { display: flex; flex-direction: column; }
.sel-pal-pane[hidden] { display: none !important; }
.sel-pal-modes { display: flex; gap: 6px; margin: 0 0 12px; }
.sel-champ-roster { display: block; font-size: 12px; color: var(--sel-muted, #6b7280); margin-top: 2px; }
.sel-hall-team { display: block; font-size: 12px; color: var(--sel-muted, #6b7280); margin-top: 1px; }
.sel-chip-link { text-decoration: none; display: inline-flex; align-items: center; gap: 3px; cursor: pointer; }
.sel-chip-link:hover { filter: brightness(0.96); }
.sel-chip-link .sel-lan-trophy { width: 12px; height: 12px; }
.sel-lan-edlinks { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,.08); }

/* Vue d'ensemble des series LAN (widgets condenses) */
.sel-lan-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 782px) { .sel-lan-overview { grid-template-columns: 1fr; } }
.sel-lan-ov-card { border: 0.5px solid rgba(0,0,0,.12); border-top: 3px solid var(--lc, #185fa5); border-radius: 12px; padding: 16px 18px; display: flex; flex-direction: column; gap: 10px; }
.sel-lan-ov-head { display: flex; align-items: center; gap: 12px; }
.sel-lan-ov-id { flex: 1; min-width: 0; }
.sel-lan-ov-title { font-size: 15px; font-weight: 600; }
.sel-lan-ov-meta { font-size: 12px; color: var(--sel-muted, #888); }
.sel-lan-ov-stats { display: flex; gap: 14px; padding: 8px 10px; background: rgba(0,0,0,.04); border-radius: 8px; }
.sel-lan-ov-stat { flex: 1; text-align: center; }
.sel-lan-ov-num { display: block; font-size: 16px; font-weight: 600; color: var(--lc, #185fa5); }
.sel-lan-ov-lab { font-size: 10px; color: var(--sel-muted, #666); text-transform: uppercase; letter-spacing: .4px; }
.sel-lan-ov-rows { display: flex; flex-direction: column; }
.sel-lan-ov-row { display: flex; align-items: center; gap: 8px; padding: 6px 2px; border-top: 0.5px solid rgba(0,0,0,.08); text-decoration: none; color: inherit; }
.sel-lan-ov-row:hover { background: rgba(0,0,0,.03); }
.sel-lan-ov-name { flex: 1; min-width: 0; font-size: 13px; }
.sel-lan-ov-name em { color: var(--sel-muted, #999); font-style: normal; font-size: 12px; }
.sel-lan-ov-teams { font-size: 11px; color: var(--sel-muted, #555); background: rgba(0,0,0,.05); border-radius: 999px; padding: 1px 8px; white-space: nowrap; }
.sel-lan-ov-win { font-size: 12px; color: var(--sel-muted, #555); white-space: nowrap; display: inline-flex; align-items: center; gap: 3px; }
.sel-lan-ov-more > summary { cursor: pointer; font-size: 11px; color: var(--sel-muted, #888); padding: 6px 2px; border-top: 0.5px solid rgba(0,0,0,.08); list-style: none; }
.sel-lan-ov-more > summary::-webkit-details-marker { display: none; }
.sel-lan-ov-link { font-size: 12px; font-weight: 600; color: var(--lc, #185fa5); text-decoration: none; }

/* ----------------------------- Statistiques joueur / equipe (sel_player_stats) */
.sel-ps { --win:#1d7f4e; --loss:#b3392f; display:flex; flex-direction:column; gap:12px; }
.sel-ps-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 10px; }
.sel-ps-eyebrow { flex-basis:100%; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--sel-muted,#999); }
.sel-ps-title { font-size:18px; font-weight:600; }
.sel-ps-season { font-size:13px; color:var(--sel-muted,#888); }
.sel-ps-modes { margin:0; }
.sel-ps-pane[hidden], .sel-ps-grid[hidden] { display:none !important; }
.sel-ps-table { width:100%; border-collapse:collapse; font-size:13px; }
.sel-ps-table thead th { font-size:11px; text-transform:uppercase; letter-spacing:.3px; color:var(--sel-muted,#777); font-weight:600; padding:6px 7px; text-align:right; white-space:nowrap; }
.sel-ps-table thead th.sel-ps-left { text-align:left; }
.sel-ps-table thead th.sel-ps-rank { text-align:left; width:26px; }
.sel-ps-sort { cursor:pointer; user-select:none; }
.sel-ps-sort:hover { color:var(--lc,#185fa5); }
.sel-ps-sort.is-sorted-desc::after { content:" \25BC"; font-size:9px; }
.sel-ps-sort.is-sorted-asc::after { content:" \25B2"; font-size:9px; }
.sel-ps-table tbody td { padding:7px; text-align:right; border-top:0.5px solid rgba(0,0,0,.08); white-space:nowrap; }
.sel-ps-table tbody td.sel-ps-left { text-align:left; }
.sel-ps-table tbody td.sel-ps-rank { color:var(--sel-muted,#999); }
.sel-ps-table tbody td.sel-ps-key { font-weight:600; color:var(--lc,#185fa5); }
.sel-ps-table tbody td.sel-ps-team { color:var(--sel-muted,#666); }
.sel-ps-name { display:inline-flex; align-items:center; gap:7px; text-decoration:none; color:inherit; font-weight:500; }
.sel-ps-name:hover span:last-child { color:var(--lc,#185fa5); text-decoration:underline; }
.sel-ps-badge { width:22px; height:22px; border-radius:50%; color:#fff; font-size:10px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; flex:none; }
/* Profil */
.sel-ps-back { font-size:12px; color:var(--lc,#185fa5); text-decoration:none; align-self:flex-start; }
.sel-ps-hero { display:flex; align-items:center; gap:14px; }
.sel-ps-hero-badge { width:50px; height:50px; border-radius:50%; color:#fff; font-size:20px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; flex:none; }
.sel-ps-hero-name { font-size:19px; font-weight:600; }
.sel-ps-hero-sub { font-size:13px; color:var(--sel-muted,#888); }
.sel-ps-hero-rounds { margin-left:auto; font-size:12px; color:var(--sel-muted,#666); border:0.5px solid rgba(0,0,0,.15); border-radius:999px; padding:3px 10px; white-space:nowrap; }
.sel-ps-tiles { display:grid; grid-template-columns:repeat(6,1fr); gap:10px; }
@media (max-width:620px){ .sel-ps-tiles { grid-template-columns:repeat(3,1fr); } }
.sel-ps-tile { background:rgba(0,0,0,.04); border-radius:10px; padding:12px 8px; text-align:center; }
.sel-ps-tile.is-key { background:var(--lc,#185fa5); }
.sel-ps-tile.is-key .sel-ps-tile-v, .sel-ps-tile.is-key .sel-ps-tile-l { color:#fff; }
.sel-ps-tile-v { display:block; font-size:22px; font-weight:700; color:var(--color-text-primary,#1a1a1a); }
.sel-ps-tile-l { display:block; font-size:10px; color:var(--sel-muted,#666); margin-top:2px; }
.sel-ps-cmp-h { font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.4px; color:var(--sel-muted,#777); margin-top:6px; }
.sel-ps-bars { display:flex; flex-direction:column; gap:9px; }
.sel-ps-bar { display:flex; align-items:center; gap:10px; }
.sel-ps-bar-l { width:110px; font-size:12px; color:var(--sel-muted,#666); flex:none; }
.sel-ps-bar-track { flex:1; height:11px; background:rgba(0,0,0,.07); border-radius:6px; position:relative; }
.sel-ps-bar-fill { position:absolute; left:0; top:0; height:11px; border-radius:6px; }
.sel-ps-bar-avg { position:absolute; top:-3px; left:50%; width:2px; height:17px; background:var(--color-text-primary,#333); cursor:help; }
.sel-ps-bar-v { width:60px; text-align:right; font-size:12px; font-weight:600; flex:none; }
.sel-ps-cmp-note { font-size:11px; color:var(--sel-muted,#999); }
.sel-ps-totals { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; color:var(--sel-muted,#666); margin-top:4px; }
/* Avatars joueurs (Olympe) / logos equipes (SEL) dans les stats */
.sel-ps-badge-wrap { display:inline-flex; flex:none; }
.sel-ps-img { object-fit:cover; }
.sel-ps-badge-wrap .sel-ps-mono-fb { display:none; }
.sel-ps-badge-wrap.is-broken .sel-ps-img { display:none; }
.sel-ps-badge-wrap.is-broken .sel-ps-mono-fb { display:inline-flex; }
/* Fiche joueur refondue */
.sel-ps-profile { border:1px solid rgba(0,0,0,.14); border-top:3px solid var(--lc,#185fa5); border-radius:16px; padding:20px 22px; box-shadow:0 1px 3px rgba(0,0,0,.06); }
.sel-ps-seasons { display:flex; gap:6px; flex-wrap:wrap; }
.sel-ps-unit { display:flex; align-items:center; gap:8px; }
.sel-ps-unit-l { font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--sel-muted,#999); }
.sel-ps-unit-tog { display:inline-flex; gap:4px; }

/* ----- Index cross-saisons [sel_players] ----- */
.sel-ps-index-scroll { overflow-x:auto; }
.sel-ps-index-table { min-width:760px; }
.sel-ps-index-table tbody td.sel-pi-seasons { text-align:left; }
.sel-pi-seasons { white-space:nowrap; }
.sel-pi-ns { display:inline-block; min-width:16px; font-weight:600; margin-right:7px; color:var(--lc,#185fa5); }
.sel-pi-chips { display:inline-flex; gap:3px; vertical-align:middle; }
.sel-pi-chip { font-size:11px; line-height:1.4; padding:0 5px; border-radius:4px; background:rgba(0,0,0,.06); color:var(--sel-muted,#666); }
.sel-pi-more { font-size:11px; color:var(--sel-muted,#999); cursor:help; }
.sel-pi-search { margin:8px 0 10px; }
.sel-pi-search-in { width:100%; max-width:320px; padding:7px 11px; font-size:13px; border:0.5px solid rgba(0,0,0,.2); border-radius:8px; background:#fff; color:inherit; }
.sel-pi-search-in:focus { outline:none; border-color:var(--lc,#185fa5); box-shadow:0 0 0 2px rgba(24,95,165,.15); }
.sel-pi-team-f { cursor:pointer; }
.sel-pi-team-f:hover { color:var(--lc,#185fa5); text-decoration:underline; }
.sel-pi-empty { font-size:13px; color:var(--sel-muted,#888); padding:14px 4px; }
.sel-ps-hero-oid { font-size:12px; color:var(--sel-muted,#888); margin-top:3px; }
.sel-ps-hero-oid code { font-size:11px; background:rgba(0,0,0,.05); padding:1px 5px; border-radius:4px; }

.sel-ps-badges-h { font-size:11px; text-transform:uppercase; letter-spacing:.4px; color:var(--sel-muted,#999); margin:16px 0 8px; }
.sel-ps-badge-grp { margin-bottom:12px; }
.sel-ps-badge-grp-l { font-size:12px; font-weight:600; color:var(--sel-muted,#777); text-transform:uppercase; letter-spacing:.3px; margin-bottom:6px; }
.sel-ps-badge-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:8px; }
.sel-ps-badge { display:flex; align-items:center; gap:9px; background:rgba(0,0,0,.02); border:0.5px solid rgba(0,0,0,.10); border-radius:8px; padding:8px 10px; }
.sel-ps-badge-medal { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:38px; flex:0 0 auto; border-radius:6px; padding:3px 0; line-height:1; }
.sel-ps-badge-medal span { font-size:9px; letter-spacing:.05em; }
.sel-ps-badge-medal b { font-size:17px; font-weight:600; }
.sel-ps-badge-m { font-size:13px; font-weight:500; color:var(--sel-fg,#222); }
.sel-ps-badge-ctx { display:block; font-size:11px; color:var(--sel-muted,#999); margin-top:1px; }
.sel-ps-badge-empty { font-size:12px; color:var(--sel-muted,#999); }

.sel-divisions { border:1px solid rgba(0,0,0,.12); border-radius:16px; padding:18px 20px; box-shadow:0 1px 3px rgba(0,0,0,.05); background:#fff; }
@media (max-width:600px){ .sel-divisions { padding:14px; } }
.sel-stats-btn:hover { filter:brightness(0.93); }

.sel-lan-standings { width:100%; border-collapse:collapse; margin-bottom:12px; }
.sel-lan-standings th, .sel-lan-standings td { text-align:right; padding:6px 8px; border-top:0.5px solid rgba(0,0,0,.08); font-size:13px; }
.sel-lan-standings th.sel-ps-left, .sel-lan-standings td.sel-ps-left { text-align:left; }

.sel-bracket-bronze { margin-top:14px; }

/* Banniere de fiche Saison (image mise en avant) */
.sel-season-banner{margin:0 0 22px;border-radius:12px;overflow:hidden;line-height:0}
.sel-season-banner img{width:100%;height:auto;max-height:340px;object-fit:cover;display:block}
