/* ---- Section d'accueil : « Groups » (onglets de ligues + classements) ----
   Section claire (comme les dernières nouvelles). Onglets rouges, cartes
   blanches, drapeaux en diamant, bouton rouge. */
.nt-groups {
	--nt-g-bg: #f0f0f8;
	--nt-g-title: #17233f;
	--nt-g-red: #ce302b;
	--nt-g-line: #e4e6ef;
	background: var(--nt-g-bg);
	color: var(--nt-g-title);
}
.nt-groups__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: calc(var(--nt-gutter) * 1.5) 0 calc(var(--nt-gutter) * 2.25);
}

/* Onglets de ligues */
.nt-groups__tabs {
	display: flex;
	gap: 0.6rem;
	overflow-x: auto;
	padding: 0 var(--nt-gutter) 0.25rem;
	scrollbar-width: none;
}
.nt-groups__tabs::-webkit-scrollbar { display: none; }
.nt-groups__tab {
	flex: 0 0 auto;
	padding: 0.6rem 1.4rem;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #fff;
	color: var(--nt-g-title);
	font-size: 1.05rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}
.nt-groups__tab.is-active {
	color: var(--nt-g-red);
	border-color: var(--nt-g-red);
}

.nt-groups__title {
	margin: calc(var(--nt-gutter) * 1.1) 0 var(--nt-gutter);
	padding: 0 var(--nt-gutter);
	color: var(--nt-g-title);
	font-size: clamp(1.5rem, 6vw, 1.9rem);
	font-weight: 800;
	line-height: 1.1;
}

/* Piste horizontale de cartes de groupe */
.nt-groups__league[hidden] { display: none; }
.nt-groups__track {
	display: flex;
	gap: var(--nt-gutter);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 0 var(--nt-gutter) 4px;
	scrollbar-width: none;
}
.nt-groups__track::-webkit-scrollbar { display: none; }

/* Carte de groupe */
.nt-group-card {
	flex: 0 0 clamp(280px, 86vw, 440px);
	scroll-snap-align: start;
	background: #fff;
	border-radius: var(--nt-radius-card);
	box-shadow: 0 2px 14px rgba(18, 24, 44, 0.08);
	padding: calc(var(--nt-gutter) * 1.25);
}
.nt-group-card__title {
	margin: 0 0 var(--nt-gutter);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--nt-g-title);
}

.nt-group-card__head,
.nt-group-row {
	display: grid;
	grid-template-columns: 28px 1fr 34px 46px 44px;
	align-items: center;
	gap: 0.6rem;
}
.nt-group-card__head {
	padding-bottom: 0.5rem;
	color: #8b93a6;
	font-size: 0.9rem;
}
.nt-col { text-align: right; }
.nt-group-card__rows { list-style: none; margin: 0; padding: 0; }
.nt-group-row {
	padding: 0.75rem 0;
	border-top: 1px solid var(--nt-g-line);
	color: var(--nt-g-title);
}
.nt-group-row:first-child { border-top: 0; }
.nt-group-row__name { font-size: 1.1rem; font-weight: 600; }
.nt-group-row__p,
.nt-group-row__gd { color: #46506b; }
.nt-group-row__pts { font-weight: 800; }

/* Drapeau en diamant (image de fond : échec silencieux -> placeholder neutre) */
.nt-flag {
	width: 28px;
	height: 28px;
	flex: 0 0 auto;
	transform: rotate(45deg);
	border-radius: 4px;
	overflow: hidden;
	background: #cdd4e2;
	border: 1px solid rgba(0, 0, 0, 0.08);
}
.nt-flag__img {
	display: block;
	width: 142%;
	height: 142%;
	margin: -21% 0 0 -21%;
	transform: rotate(-45deg);
	background-image: var(--flag, none);
	background-size: cover;
	background-position: center;
}

.nt-group-card__legend {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.25rem 1rem;
	margin-top: var(--nt-gutter);
	padding-top: var(--nt-gutter);
	border-top: 1px solid var(--nt-g-line);
	color: #8b93a6;
	font-size: 0.85rem;
}
.nt-group-card__legend strong { color: var(--nt-g-title); font-weight: 700; }

/* Bouton « Groups » (rouge) */
.nt-groups__seeall {
	display: block;
	margin: calc(var(--nt-gutter) * 1.25) var(--nt-gutter) 0;
	padding: 0.95rem 1rem;
	text-align: center;
	border: 1px solid var(--nt-g-red);
	border-radius: 12px;
	background: transparent;
	color: var(--nt-g-red);
	text-decoration: none;
	font-weight: 600;
	font-size: 1.05rem;
}
.nt-groups__seeall:hover { background: rgba(206, 48, 43, 0.06); }

/* ---- Desktop : grille de cartes ---- */
@media (min-width: 1024px) {
	.nt-groups__track {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
		overflow: visible;
		padding: 0 var(--nt-gutter);
	}
	.nt-group-card { flex: initial; }
	.nt-groups__seeall { max-width: 360px; margin-left: auto; margin-right: auto; }
}

/* Ancre menu « Información » : compense l'en-tête collant */
.nt-groups { scroll-margin-top: 84px; }
