/* ==========================================================================
   Page d'équipe (single-antic_equipe.php) — gabarit commun aux cinq disciplines.
   Mêmes jetons et composants que l'accueil et /equipes/ : encre, pétrole, teal, sable ;
   bordure 1 px qui ne change que de couleur au survol ; aucun décor ajouté.
   ========================================================================== */

/* Hero : la devise reste une signature, sous le titre en importance. */
.a-hero--team .a-hero__devise {
	max-width: 12ch;
	font-size: clamp(1.05rem, 1.7vw, 1.55rem);
	opacity: 0.85;
	transform: rotate(-5deg);
}

@media (max-width: 900px) {
	.a-hero--team .a-hero__devise {
		position: absolute;
		right: auto;
		bottom: 24px;
		left: var(--a-gutter);
		max-width: 16ch;
		margin: 0;
		text-align: left;
		transform: rotate(-3deg);
		transform-origin: left bottom;
	}

	/* Hero sans photo (mascotte, ex. RoA2) : plus court, la devise touchait le bouton « Voir le roster ». */
	.a-hero--team.a-hero--texture .a-hero__content {
		padding-bottom: 40px;
	}
}

/* Navigation de sections : sur mobile, la barre défile depuis la gauche (pas de centrage tronqué). */
@media (max-width: 760px) {
	.a-team-page .a-subnav ul {
		justify-content: flex-start;
	}
}

/* --------------------------------------------------------------------------
   Barre de compétition : en cours, sinon prochain rendez-vous (seulement s'il existe)
   -------------------------------------------------------------------------- */
.a-team-band {
	border-bottom: 1px solid var(--a-line);
	background:
		radial-gradient(ellipse 40% 90% at 0% 50%, color-mix(in srgb, var(--c-teal) 9%, transparent), transparent 70%),
		color-mix(in srgb, var(--a-petrol-deep) 45%, var(--c-ink));
}

/* Barre de compétition (17/10/2026) : statut · discipline, nom réel de la compétition, date et heure,
   puis actions (Twitch selon l'état réel de la diffusion, « Voir les détails »). */
.a-team-band__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 32px;
	padding-block: 18px;
}

.a-team-band__info {
	display: grid;
	gap: 4px;
	min-width: 0;
	flex: 1 1 420px;
}

.a-team-band__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	margin: 0;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.a-team-band__state {
	color: var(--c-teal);
}

.a-team-band__game {
	color: var(--a-muted);
}

.a-team-band__game::before {
	content: "·";
	margin-right: 10px;
	color: var(--a-muted);
}

.a-team-band__name {
	margin: 0;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--c-almond);
	overflow-wrap: anywhere;
}

.a-team-band__meta {
	margin: 0;
	font-size: 0.92rem;
	color: var(--a-text);
}

.a-team-band__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.a-team-band__actions .a-btn .a-icon {
	width: 16px;
	height: 16px;
}

.a-team-band.is-ongoing {
	border-bottom-color: var(--a-line-teal);
}
/* --------------------------------------------------------------------------
   Présentation : texte (et photo si fournie)
   -------------------------------------------------------------------------- */
.a-team-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(28px, 5vw, 72px);
}

.a-team-intro--photo .a-team-intro__grid {
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
}

.a-team-intro__text .a-prose {
	max-width: 68ch;
	font-size: 1.0625rem;
}

.a-team-intro__photo {
	margin: 0;
	aspect-ratio: 4 / 3;
	border: 1px solid var(--a-piping-soft);
	border-radius: var(--a-radius);
	overflow: hidden;
}

.a-team-intro__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.a-team-style {
	max-width: 68ch;
	margin-top: 24px;
	padding: 18px 20px;
	border-left: 2px solid var(--c-teal);
	background: color-mix(in srgb, var(--c-teal) 6%, transparent);
}

.a-team-style__title {
	margin: 0 0 6px;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-weight: 800;
	text-transform: uppercase;
	color: var(--c-almond);
}

.a-team-todo {
	display: inline-block;
	margin: 0 0 10px;
	padding: 0.2em 0.7em;
	border: 1px dashed var(--c-sand);
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--c-sand);
}

/* --------------------------------------------------------------------------
   Roster : cartes joueurs (cinq par ligne en desktop si l'effectif le permet)
   -------------------------------------------------------------------------- */
.a-team-roster__grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Effectifs réduits (disciplines individuelles) : cartes de la même largeur qu'un roster de cinq
   (--roster-card), centrées, sans agrandissement. */
.a-team-roster__grid {
	--roster-card: calc((100% - 4 * 16px) / 5);
}

.a-team-roster__grid[data-items="1"],
.a-team-roster__grid[data-items="2"],
.a-team-roster__grid[data-items="3"],
.a-team-roster__grid[data-items="4"] {
	justify-content: center;
}

.a-team-roster__grid[data-items="1"] { grid-template-columns: repeat(1, var(--roster-card)); }
.a-team-roster__grid[data-items="2"] { grid-template-columns: repeat(2, var(--roster-card)); }
.a-team-roster__grid[data-items="3"] { grid-template-columns: repeat(3, var(--roster-card)); }
.a-team-roster__grid[data-items="4"] { grid-template-columns: repeat(4, var(--roster-card)); }

.a-player-card {
	height: 100%;
	border: 1px solid var(--a-piping-soft);
	border-radius: var(--a-radius);
	overflow: hidden;
	background: color-mix(in srgb, var(--a-petrol-deep) 70%, var(--c-ink));
	transition: border-color 0.2s ease;
}

.a-player-card:hover,
.a-player-card:focus-within {
	border-color: var(--c-teal);
}

.a-player-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.a-player-card__link:focus-visible {
	outline: none;
}

.a-player-card:has(.a-player-card__link:focus-visible) {
	box-shadow: inset 0 0 0 1px var(--c-teal);
}

.a-player-card__media {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 50% 38%, color-mix(in srgb, var(--c-teal) 18%, transparent), transparent 72%),
		linear-gradient(118deg, transparent 0 62%, color-mix(in srgb, var(--a-petrol) 24%, transparent) 62% 76%, transparent 76%),
		linear-gradient(165deg, var(--c-ink) 0%, var(--a-petrol-deep) 100%);
}

.a-player-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}

/* Sans photo : emblème discret en filigrane, pseudo en grand façon flocage. */
.a-player-card__mark {
	position: absolute;
	top: 22%;
	left: 50%;
	width: 46%;
	opacity: 0.16;
	transform: translateX(-50%);
}

.a-player-card__crest {
	display: block;
	width: 100%;
	height: auto;
	filter: grayscale(1);
}

.a-player-card__flock {
	position: absolute;
	right: 14px;
	bottom: 14px;
	left: 14px;
	margin: 0;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: clamp(1.5rem, 2.2vw, 2.1rem);
	font-weight: 800;
	line-height: 0.95;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
	color: var(--c-almond);
}

.a-player-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	padding: 14px 16px 16px;
	border-top: 1px solid var(--a-line);
}

.a-player-card__name {
	margin: 0;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: 1.4rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	color: var(--c-almond);
}

.a-player-card__role {
	margin: 0;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--c-teal);
}

.a-player-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 6px;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--a-muted);
}

.a-player-card__cta .a-icon {
	width: 1em;
	height: 1em;
}

.a-player-card:hover .a-player-card__cta,
.a-player-card:focus-within .a-player-card__cta {
	color: var(--c-teal);
}

/* --------------------------------------------------------------------------
   Staff : cartes horizontales lisibles
   -------------------------------------------------------------------------- */
.a-team-staff__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.a-staff-card {
	height: 100%;
	border: 1px solid var(--a-piping-soft);
	border-radius: var(--a-radius);
	background: color-mix(in srgb, var(--a-petrol-deep) 45%, var(--c-ink));
	transition: border-color 0.2s ease;
}

.a-staff-card:hover,
.a-staff-card:focus-within {
	border-color: var(--c-teal);
}

.a-staff-card__link {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 14px 16px;
	color: inherit;
	text-decoration: none;
}

.a-staff-card__link:focus-visible {
	outline: none;
}

.a-staff-card:has(.a-staff-card__link:focus-visible) {
	box-shadow: inset 0 0 0 1px var(--c-teal);
}

.a-staff-card__photo {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border: 1px solid var(--a-piping);
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(165deg, var(--c-ink), var(--a-petrol-deep));
}

.a-staff-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.a-staff-card__mark {
	width: 58%;
	opacity: 0.35;
}

.a-staff-card__crest {
	display: block;
	width: 100%;
	height: auto;
	filter: grayscale(1);
}

.a-staff-card__text {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.a-staff-card__name {
	margin: 0;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: 1.25rem;
	font-weight: 800;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--c-almond);
}

.a-staff-card__role {
	font-size: 0.95rem;
	color: var(--c-teal);
}

.a-staff-card__arrow {
	color: var(--a-muted);
}

.a-staff-card__arrow .a-icon {
	width: 1em;
	height: 1em;
}

/* --------------------------------------------------------------------------
   Matchs et résultats
   -------------------------------------------------------------------------- */
/* Prochaines compétitions : cartes « rendez-vous » (main.css), 2 par ligne ; espace avant les résultats. */
.a-team-matches__upcoming {
	margin-bottom: clamp(36px, 4vw, 56px);
}

/* Mobile : chaque ligne de résultat devient une carte compacte (même rendu que /equipes/). */
@media (max-width: 700px) {
	.a-team-matches__results .a-table-wrap {
		overflow: visible;
		border: 0;
		background: none;
	}

	.a-team-matches__results .a-results,
	.a-team-matches__results .a-results tbody {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.a-team-matches__results .a-results thead {
		display: none;
	}

	.a-team-matches__results .a-result {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas:
			"date more"
			"comp comp"
			"teams teams"
			"score score";
		align-items: center;
		gap: 6px 10px;
		margin-bottom: 12px;
		padding: 14px 14px 12px;
		border: 1px solid var(--a-line);
		border-radius: var(--a-radius-sm);
		background: color-mix(in srgb, var(--a-petrol-deep) 35%, var(--c-ink));
	}

	.a-team-matches__results .a-result td {
		display: block;
		padding: 0;
		border: 0;
	}

	.a-team-matches__results .a-result__date { grid-area: date; font-size: 0.85rem; color: var(--a-muted); }
	.a-team-matches__results .a-result__comp { grid-area: comp; font-weight: 700; color: var(--c-almond); }
	.a-team-matches__results .a-result__teams { grid-area: teams; white-space: normal; }
	.a-team-matches__results .a-result__score { grid-area: score; font-size: 1.6rem; }
	.a-team-matches__results .a-result__more { grid-area: more; justify-self: end; }
}

/* --------------------------------------------------------------------------
   Palmarès : trois niveaux bien distincts
   1. Victoires et titres : cartes principales, trophée, accents beige / or.
   2. Podiums : cartes intermédiaires, accents sable / cuivre discrets.
   3. Autres performances : simple liste sobre, sans trophée.
   -------------------------------------------------------------------------- */
.a-team-honours__top,
.a-team-honours__others ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Grille de 4 colonnes : un titre en occupe 2 (et deux rangées si des podiums l'accompagnent),
   chaque podium 1. Les titres restent toujours plus grands que les podiums. */
.a-team-honours__top {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-flow: dense;
	gap: 16px;
}

.a-team-honours__top .a-team-honour--title {
	grid-column: span 2;
	grid-row: span 2;
}

.a-team-honours__top .a-team-honour--title .a-team-honour__link {
	align-content: center;
}

.a-team-honour__link {
	display: grid;
	align-content: start;
	gap: 4px;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.a-team-honour--title,
.a-team-honour--podium {
	border: 1px solid var(--a-line);
	border-radius: var(--a-radius);
	transition: border-color 0.2s ease;
}

.a-team-honour__result {
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.a-team-honour__comp {
	font-weight: 700;
	color: var(--c-almond);
}

.a-team-honour__year {
	font-size: 0.88rem;
	color: var(--a-muted);
}

/* 1. Titre */
.a-team-honour--title {
	padding: 26px 26px 28px;
	border-color: var(--c-sand);
	background:
		radial-gradient(ellipse 75% 100% at 0% 0%, color-mix(in srgb, var(--c-sand) 20%, transparent), transparent 70%),
		color-mix(in srgb, var(--a-petrol-deep) 40%, var(--c-ink));
}

.a-team-honour--title .a-team-honour__icon {
	margin-bottom: 10px;
	color: var(--c-sand);
}

.a-team-honour--title .a-team-honour__icon .a-icon {
	width: 40px;
	height: 40px;
}

.a-team-honour--title .a-team-honour__result {
	font-size: clamp(2.2rem, 3.4vw, 2.9rem);
	color: color-mix(in srgb, var(--c-sand) 70%, var(--c-almond));
}

.a-team-honour--title .a-team-honour__comp {
	font-size: 1.15rem;
}

/* 2. Podium */
.a-team-honour--podium {
	padding: 18px 18px 20px;
	border-color: color-mix(in srgb, var(--c-copper) 75%, transparent);
	background: color-mix(in srgb, var(--a-petrol-deep) 28%, var(--c-ink));
}

.a-team-honour--podium .a-team-honour__icon {
	margin-bottom: 6px;
	color: color-mix(in srgb, var(--c-copper) 80%, var(--c-almond));
}

.a-team-honour--podium .a-team-honour__icon .a-icon {
	width: 24px;
	height: 24px;
}

.a-team-honour--podium .a-team-honour__result {
	font-size: 1.5rem;
	color: color-mix(in srgb, var(--c-copper) 80%, var(--c-almond));
}

a.a-team-honour__link:focus-visible {
	outline: none;
}

.a-team-honour--title:hover,
.a-team-honour--podium:hover,
.a-team-honour--title:focus-within,
.a-team-honour--podium:focus-within {
	border-color: var(--c-teal);
}

/* 3. Autres performances : liste sobre */
.a-team-honours__others {
	margin-top: 28px;
}

.a-team-honours__subtitle {
	margin: 0 0 8px;
	font-family: var(--a-ff-cond);
	font-stretch: var(--a-fs-cond);
	font-size: 0.85rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--a-muted);
}

.a-team-honours__others li {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr) auto;
	align-items: baseline;
	gap: 14px;
	padding: 10px 0;
	border-top: 1px solid var(--a-line);
}

.a-team-honours__others li:last-child {
	border-bottom: 1px solid var(--a-line);
}

.a-team-honours__others .a-team-honour__result {
	font-size: 1.1rem;
	color: var(--c-almond);
}

.a-team-honours__others .a-team-honour__comp {
	font-weight: 400;
}

.a-team-honours__others .a-team-honour__comp a {
	color: inherit;
}
/* --------------------------------------------------------------------------
   Actualités : même recadrage pour toutes les cartes
   -------------------------------------------------------------------------- */
.a-team-news .a-card__media img {
	object-position: center 40%;
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.a-team-roster__grid {
		--roster-card: calc((100% - 2 * 16px) / 3);
	}

	.a-team-roster__grid,
	.a-team-roster__grid[data-items="4"] {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.a-team-intro--photo .a-team-intro__grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 900px) {
	.a-team-honours__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.a-team-honours__top {
		grid-template-columns: minmax(0, 1fr);
	}

	.a-team-honours__top .a-team-honour--title {
		grid-column: auto;
		grid-row: auto;
	}

	.a-team-honours__others li {
		grid-template-columns: 90px minmax(0, 1fr);
	}

	.a-team-honours__others .a-team-honour__year {
		grid-column: 2;
	}

	.a-team-roster__grid {
		--roster-card: calc((100% - 16px) / 2);
	}

	.a-team-roster__grid,
	.a-team-roster__grid[data-items="3"],
	.a-team-roster__grid[data-items="4"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.a-team-band__actions,
	.a-team-band__actions .a-btn {
		width: 100%;
	}

	.a-team-band__actions .a-btn {
		justify-content: center;
	}

}
