/* ==========================================================================
   FC Valséane — système de design
   Charte : Bleu vallée #0B2340 · Or #D4AF37 · Blanc #F6F6F6
            Anthracite #1A1A1A · Gris roche #7890A8
   Typographies : Montserrat (titres) · Poppins (textes)
   ========================================================================== */

/* ---------------------------------------------------------------- Jetons */
:root {
	--fcv-bleu: #0B2340;
	--fcv-bleu-800: #12314f;
	--fcv-bleu-700: #1b4162;
	--fcv-bleu-600: #24557e;
	--fcv-or: #D4AF37;
	--fcv-or-clair: #e5c65f;
	--fcv-or-sombre: #a8851f;
	--fcv-blanc: #F6F6F6;
	--fcv-anthracite: #1A1A1A;
	--fcv-roche: #7890A8;
	--fcv-roche-clair: #dfe6ee;
	--fcv-gris-fond: #f1f3f6;
	--fcv-ok: #2f7d4f;
	--fcv-alerte: #b4451f;

	--fcv-font-title: Montserrat, "Segoe UI", system-ui, sans-serif;
	--fcv-font-text: Poppins, "Segoe UI", system-ui, sans-serif;

	--fcv-radius: 14px;
	--fcv-radius-sm: 8px;
	--fcv-radius-pill: 999px;
	--fcv-shadow-sm: 0 2px 8px rgba(11, 35, 64, .08);
	--fcv-shadow: 0 10px 30px rgba(11, 35, 64, .12);
	--fcv-shadow-lg: 0 24px 60px rgba(11, 35, 64, .18);

	--fcv-container: 1240px;
	--fcv-gap: 1.5rem;
	--fcv-section-y: clamp(3rem, 5vw, 5rem);
	--fcv-section-y-compresse: clamp(2rem, 4vw, 3rem);
	--fcv-section-y-compresse: clamp(2rem, 4vw, 3rem);
	--fcv-section-y-tailledeux: clamp(3.2rem, 5.5vw, 5.6rem);

	--fcv-transition: .25s cubic-bezier(.2, .7, .3, 1);
}

/* ---------------------------------------------------------------- Polices auto-hébergées */
@font-face {
	font-family: "Montserrat";
	font-style: normal; font-weight: 400;
	src: url("../../../fonts/montserrat-400-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Montserrat";
	font-style: normal; font-weight: 600;
	src: url("../../../fonts/montserrat-600-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Montserrat";
	font-style: normal; font-weight: 700;
	src: url("../../../fonts/montserrat-700-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Montserrat";
	font-style: normal; font-weight: 800;
	src: url("../../../fonts/montserrat-800-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal; font-weight: 300;
	src: url("../../../fonts/poppins-300-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal; font-weight: 400;
	src: url("../../../fonts/poppins-400-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal; font-weight: 500;
	src: url("../../../fonts/poppins-500-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal; font-weight: 600;
	src: url("../../../fonts/poppins-600-latin.woff2") format("woff2");
}
@font-face {
	font-family: "Poppins";
	font-style: normal; font-weight: 700;
	src: url("../../../fonts/poppins-700-latin.woff2") format("woff2");
}

/* ---------------------------------------------------------------- Base */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

body {
	margin: 0;
	background: var(--fcv-blanc);
	color: var(--fcv-anthracite);
	font-family: var(--fcv-font-text);
	font-size: 1rem;
	line-height: 1.65;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	/*
	 * Chiffres alignés (même hauteur que les majuscules) : sans "lnum", certaines
	 * polices rendent les nombres (années, catégories U8/U9, tailles) en chiffres
	 * elzéviriens plus petits — effet "1998 tout mini" constaté sur le hero.
	 */
	font-feature-settings: "frac" 0, "lnum" 1, "onum" 0, "liga" 1, "tnum" 0;
	font-variant-numeric: lining-nums tabular-nums;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--fcv-font-title);
	color: var(--fcv-bleu);
	line-height: 1.2;
	margin: 0 0 .6em;
	font-weight: 800;
	letter-spacing: -.015em;
}

h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); font-weight: 800; }
h2 { font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
h3 { font-size: clamp(1.15rem, 1.7vw, 1.35rem); }

p { margin: 0 0 1rem; }

a { color: var(--fcv-bleu); text-decoration: none; transition: color var(--fcv-transition); }
a:hover, a:focus { color: var(--fcv-or-sombre); }

img, svg, video { max-width: 100%; height: auto; display: block; }

ul, ol { padding-left: 1.15rem; }

:focus-visible {
	outline: 3px solid var(--fcv-or);
	outline-offset: 2px;
	border-radius: 4px;
}

.fcv-icon { flex: 0 0 auto; }

.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; width: 1px;
	overflow: hidden; position: absolute !important; white-space: nowrap;
}

.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 100000;
	background: var(--fcv-or); color: var(--fcv-bleu); padding: .8rem 1.2rem; font-weight: 600;
}
.skip-link:focus { left: 1rem; top: 1rem; }

/* ---------------------------------------------------------------- Conteneur */
.fcv-container {
	width: 100%;
	max-width: var(--fcv-container);
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.fcv-main { display: block; }

.fcv-section { padding-block: var(--fcv-section-y); }
.fcv-section--content { background: #fff; }

.fcv-section__head {
	display: flex; flex-wrap: wrap; gap: 1rem 2rem;
	align-items: flex-end; justify-content: space-between;
	margin-bottom: 2.5rem;
}
.fcv-section__head > div { max-width: 62ch; }
.fcv-section__title { margin: 0; }
.fcv-eyebrow {
	font-family: var(--fcv-font-title);
	font-size: .78rem; font-weight: 700; letter-spacing: .18em;
	text-transform: uppercase; color: var(--fcv-or-sombre); margin: 0 0 .5rem;
}
.fcv-section__footnote { margin-top: 1.5rem; font-size: .86rem; color: var(--fcv-roche); max-width: 70ch; }
.fcv-section__invite { margin-top: 1.75rem; display: flex; flex-wrap: wrap; gap: .5rem .9rem; align-items: center; }

/* ---------------------------------------------------------------- Grilles */
.fcv-grid { display: grid; gap: var(--fcv-gap); grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.fcv-grid--2 { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.fcv-grid--3 { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.fcv-grid--4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }

.fcv-layout { display: grid; gap: 2.5rem; padding-block: clamp(2rem, 4vw, 3.5rem); }
.fcv-layout--sidebar { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
@media (max-width: 980px) { .fcv-layout--sidebar { grid-template-columns: 1fr; } }

.fcv-prose { font-size: 1.02rem; color: #2b2f36; }
.fcv-prose > * + * { margin-top: 1.1rem; }
.fcv-prose h2 { margin-top: 2rem; }
.fcv-prose h3 { margin-top: 1.5rem; }
.fcv-prose blockquote {
	margin: 1.5rem 0; padding: 1rem 1.5rem; border-left: 4px solid var(--fcv-or);
	background: #fff; font-style: italic;
}
.fcv-prose ul li { margin-bottom: .4rem; }
.fcv-prose a { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- Boutons */
.fcv-btn {
	display: inline-flex; align-items: center; gap: .5rem;
	font-family: var(--fcv-font-title); font-weight: 700; font-size: .95rem;
	line-height: 1; padding: .95rem 1.5rem; border-radius: var(--fcv-radius-pill);
	border: 2px solid transparent; cursor: pointer; text-align: center; justify-content: center;
	transition: transform var(--fcv-transition), background var(--fcv-transition), color var(--fcv-transition), border-color var(--fcv-transition), box-shadow var(--fcv-transition);
	text-decoration: none;
}
.fcv-btn:hover { transform: translateY(-2px); box-shadow: var(--fcv-shadow-sm); }
.fcv-btn:active { transform: translateY(0); }

.fcv-btn--gold { background: var(--fcv-or); color: var(--fcv-bleu); }
.fcv-btn--gold:hover { background: var(--fcv-or-clair); color: var(--fcv-bleu); }

.fcv-btn--bleu { background: var(--fcv-bleu); color: #fff; }
.fcv-btn--bleu:hover { background: var(--fcv-bleu-700); color: #fff; }

.fcv-btn--outline { background: transparent; color: var(--fcv-bleu); border-color: var(--fcv-bleu); }
.fcv-btn--outline:hover { background: var(--fcv-bleu); color: #fff; }

.fcv-btn--outline-light { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.55); }
.fcv-btn--outline-light:hover { background: #fff; color: var(--fcv-bleu); }

.fcv-btn--ghost { background: transparent; color: var(--fcv-bleu); padding-inline: .5rem; }
.fcv-btn--ghost:hover { color: var(--fcv-or-sombre); background: rgba(11,35,64,.05); }

.fcv-btn--sm { padding: .65rem 1.05rem; font-size: .84rem; }
.fcv-btn--lg { padding: 1.1rem 1.9rem; font-size: 1.02rem; }
.fcv-btn--block { width: 100%; }
.fcv-btn[disabled] { opacity: .5; cursor: not-allowed; }

.fcv-link-arrow {
	display: inline-flex; align-items: center; gap: .35rem;
	font-family: var(--fcv-font-title); font-weight: 600; font-size: .88rem;
	color: var(--fcv-bleu); background: none; border: 0; padding: 0; cursor: pointer;
}
.fcv-link-arrow::after { content: "→"; transition: transform var(--fcv-transition); }
.fcv-link-arrow:hover::after { transform: translateX(4px); }

.fcv-icon--flip { transform: rotate(180deg); }

/* ---------------------------------------------------------------- Messages */
.fcv-notice {
	display: flex; gap: .75rem; align-items: flex-start;
	padding: 1rem 1.2rem; border-radius: var(--fcv-radius-sm);
	background: #fff; border-left: 4px solid var(--fcv-roche);
	margin-block: 1.25rem; font-size: .95rem;
}
.fcv-notice p:last-child { margin-bottom: 0; }
.fcv-notice--info { border-left-color: var(--fcv-roche); }
.fcv-notice--success { border-left-color: var(--fcv-ok); }
.fcv-notice--warning { border-left-color: var(--fcv-or); }
.fcv-notice--error { border-left-color: var(--fcv-alerte); }
.fcv-notice__icon { color: var(--fcv-roche); margin-top: .15rem; }

.fcv-tag,
.fcv-demo-tag {
	display: inline-block; font-family: var(--fcv-font-title); font-size: .68rem;
	font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	padding: .3rem .6rem; border-radius: var(--fcv-radius-pill);
	background: var(--fcv-bleu); color: #fff;
}
.fcv-demo-tag { background: var(--fcv-or); color: var(--fcv-bleu); }

.fcv-demo-banner {
	background: repeating-linear-gradient(45deg, var(--fcv-bleu), var(--fcv-bleu) 14px, var(--fcv-bleu-700) 14px, var(--fcv-bleu-700) 28px);
	color: #fff; text-align: center; padding: .55rem 1rem;
	font-size: .82rem; letter-spacing: .02em;
}
.fcv-demo-banner__text { display: inline-block; }

/* ---------------------------------------------------------------- Fil d'Ariane */
.fcv-breadcrumbs { font-size: .82rem; color: var(--fcv-roche); margin-bottom: 1rem; }
.fcv-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.fcv-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: .4rem; opacity: .5; }
.fcv-breadcrumbs a { color: inherit; }
.fcv-breadcrumbs a:hover { color: var(--fcv-or-sombre); }
.fcv-page-head .fcv-breadcrumbs,
.fcv-single-head .fcv-breadcrumbs,
.fcv-team-hero .fcv-breadcrumbs,
.fcv-match-hero .fcv-breadcrumbs { color: rgba(255,255,255,.75); }
.fcv-page-head--compact .fcv-breadcrumbs { color: var(--fcv-roche); }

/* ---------------------------------------------------------------- Barre utilitaire */
.fcv-topbar {
	background: var(--fcv-bleu); color: rgba(255,255,255,.85);
	font-size: .82rem; border-bottom: 1px solid rgba(255,255,255,.08);
}
.fcv-topbar__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	min-height: 44px; flex-wrap: wrap;
}
.fcv-topbar__claim { display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: 500; }
.fcv-topbar__claim .fcv-icon { color: var(--fcv-or); }
.fcv-topbar__links { display: flex; gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.fcv-topbar__links a { display: inline-flex; align-items: center; gap: .4rem; color: inherit; }
.fcv-topbar__links a:hover { color: var(--fcv-or); }
.fcv-topbar__social { display: flex; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.fcv-topbar__social a { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: rgba(255,255,255,.8); background: rgba(255,255,255,.08); }
.fcv-topbar__social a:hover { background: var(--fcv-or); color: var(--fcv-bleu); }

@media (max-width: 860px) {
	.fcv-topbar__claim, .fcv-topbar__social { display: none; }
	.fcv-topbar__inner { justify-content: center; }
}

/* ---------------------------------------------------------------- En-tête */
.fcv-header {
	position: sticky; top: 0; z-index: 900;
	background: rgba(246,246,246,.96);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid rgba(11,35,64,.09);
	transition: box-shadow var(--fcv-transition), background var(--fcv-transition);
}
.fcv-header.is-stuck { box-shadow: var(--fcv-shadow-sm); }
.fcv-header__inner {
	display: flex; align-items: center; gap: 1.25rem;
	min-height: 78px;
}
.fcv-header__brand { flex: 0 0 auto; }
/* Préfixé par .fcv-header pour l'emporter sur « .woocommerce img { height: auto } » des pages boutique. */
.fcv-header .fcv-header__logo-img { width: auto; height: 48px; }
.fcv-header__brand .custom-logo-link img { height: 48px; width: auto; }

.fcv-nav { margin-inline: auto; }
.fcv-nav__list {
	display: flex; align-items: center; gap: .25rem;
	list-style: none; margin: 0; padding: 0;
}
.fcv-nav__list > li > a {
	display: inline-flex; align-items: center; gap: .3rem;
	padding: .7rem .85rem; border-radius: var(--fcv-radius-sm);
	font-family: var(--fcv-font-title); font-size: .88rem; font-weight: 600;
	color: var(--fcv-bleu); white-space: nowrap;
}
.fcv-nav__list > li > a:hover,
.fcv-nav__list > .current-menu-item > a,
.fcv-nav__list > .current_page_item > a {
	background: rgba(11,35,64,.07); color: var(--fcv-bleu);
}
.fcv-nav__list > .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--fcv-or); }
.fcv-nav__list > .has-submenu { position: relative; }
.fcv-nav__list > .has-submenu > a::after { content: "▾"; font-size: .7rem; opacity: .6; }
.fcv-nav .sub-menu {
	position: absolute; left: 0; top: calc(100% + 6px); min-width: 240px;
	background: #fff; border-radius: var(--fcv-radius-sm); box-shadow: var(--fcv-shadow);
	list-style: none; margin: 0; padding: .5rem; display: none; z-index: 20;
}
.fcv-nav__list > .has-submenu:hover .sub-menu,
.fcv-nav__list > .has-submenu:focus-within .sub-menu { display: block; }
.fcv-nav .sub-menu a { display: block; padding: .6rem .8rem; border-radius: 6px; font-size: .88rem; }
.fcv-nav .sub-menu a:hover { background: var(--fcv-gris-fond); }

.fcv-header__actions { display: flex; align-items: center; gap: .35rem; margin-left: auto; }
.fcv-icon-btn {
	display: inline-grid; place-items: center; width: 42px; height: 42px;
	border-radius: 50%; border: 1px solid transparent; background: transparent;
	color: var(--fcv-bleu); cursor: pointer; position: relative;
	transition: background var(--fcv-transition), color var(--fcv-transition);
}
.fcv-icon-btn:hover { background: rgba(11,35,64,.08); color: var(--fcv-bleu); }
.fcv-cart-count {
	position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px;
	display: grid; place-items: center; padding: 0 4px;
	background: var(--fcv-or); color: var(--fcv-bleu);
	font-size: .68rem; font-weight: 700; border-radius: var(--fcv-radius-pill);
}
.fcv-cart-count[data-count="0"] { display: none; }

.fcv-burger { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; padding: 10px; }
.fcv-burger__bar { display: block; height: 2px; background: var(--fcv-bleu); margin: 5px 0; border-radius: 2px; }

/* Le menu du club est long (9 entrées) : on resserre avant de passer au menu mobile,
   pour ne jamais provoquer de débordement horizontal. */
@media (max-width: 1440px) {
	.fcv-header__inner { gap: .9rem; }
	.fcv-nav__list { gap: .15rem; }
	.fcv-nav__list > li > a { padding: .7rem .6rem; font-size: .84rem; letter-spacing: -.01em; }
}
@media (max-width: 1280px) {
	.fcv-header__cta { display: none; }
	.fcv-nav__list > li > a { padding: .65rem .5rem; font-size: .81rem; }
}
@media (max-width: 1180px) {
	.fcv-nav { display: none; }
	.fcv-burger { display: block; }
	.fcv-header .fcv-header__logo-img { height: 48px; }
}
@media (max-width: 560px) {
	.fcv-header .fcv-header__logo-img { height: 42px; }
}

/* Recherche dépliante */
.fcv-search-panel { border-top: 1px solid rgba(11,35,64,.08); background: #fff; padding-block: 1rem; }
.fcv-search { display: flex; gap: .5rem; max-width: 720px; margin-inline: auto; }
.fcv-search__input {
	flex: 1 1 auto; padding: .9rem 1.1rem; border: 1px solid rgba(11,35,64,.18);
	border-radius: var(--fcv-radius-pill); font-family: inherit; font-size: .95rem; background: var(--fcv-blanc);
}
.fcv-search__input:focus { border-color: var(--fcv-or); outline: none; box-shadow: 0 0 0 3px rgba(212,175,55,.25); }
.fcv-search__submit {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: .5rem;
	padding: .9rem 1.3rem; border: 0; border-radius: var(--fcv-radius-pill);
	background: var(--fcv-bleu); color: #fff; cursor: pointer; font-weight: 600;
}
.fcv-search__submit:hover { background: var(--fcv-bleu-700); }

/* Menu mobile */
.fcv-mobile-nav {
	position: fixed; inset: 0 0 0 auto; width: min(420px, 92vw); z-index: 1000;
	background: var(--fcv-bleu); color: #fff; overflow-y: auto;
	padding: 1.25rem; box-shadow: var(--fcv-shadow-lg);
	transform: translateX(100%); transition: transform var(--fcv-transition);
}
.fcv-mobile-nav.is-open { transform: translateX(0); }
.fcv-mobile-nav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; }
.fcv-mobile-nav .fcv-mobile-nav__logo { height: 52px; width: auto; }
.fcv-mobile-nav__head .fcv-icon-btn { color: #fff; }
.fcv-mobile-nav__head .fcv-icon-btn:hover { background: rgba(255,255,255,.12); }
.fcv-mobile-nav__list { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.fcv-mobile-nav__list a {
	display: block; padding: .85rem .5rem; color: #fff; font-family: var(--fcv-font-title);
	font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.1);
}
.fcv-mobile-nav__list a:hover { color: var(--fcv-or); }
.fcv-mobile-nav__list .sub-menu { list-style: none; padding-left: 1rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.fcv-mobile-nav__list .sub-menu a { font-weight: 400; font-size: .92rem; border: 0; padding: .55rem .5rem; }
.fcv-mobile-nav__actions { display: grid; gap: .6rem; margin-bottom: 1.5rem; }
.fcv-mobile-nav__social { display: flex; gap: .6rem; list-style: none; margin: 0; padding: 0; }
.fcv-mobile-nav__social a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; }
.fcv-mobile-nav__social a:hover { background: var(--fcv-or); color: var(--fcv-bleu); }

.fcv-overlay {
	position: fixed; inset: 0; background: rgba(6,20,38,.6); z-index: 990;
	opacity: 0; transition: opacity var(--fcv-transition);
}
.fcv-overlay.is-open { opacity: 1; }

/* ---------------------------------------------------------------- Hero */
.fcv-hero { position: relative; color: #fff; overflow: hidden; background: var(--fcv-bleu); }
.fcv-hero__bg { position: absolute; inset: 0; }
.fcv-hero__img, .fcv-hero__video { width: 100%; height: 100%; object-fit: cover; }
.fcv-hero__scrim {
	position: absolute; inset: 0;
	background: linear-gradient(105deg, rgba(6,20,38,.94) 0%, rgba(11,35,64,.82) 45%, rgba(11,35,64,.35) 100%);
}
.fcv-hero__inner {
	position: relative; display: grid; gap: clamp(2rem, 4vw, 3.5rem);
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, .9fr);
	align-items: center; padding-block: clamp(3rem, 8vw, 7rem);
}
@media (max-width: 980px) { .fcv-hero__inner { grid-template-columns: 1fr; } }

.fcv-hero__badge { height: clamp(110px, 16vw, 170px); width: auto; margin-bottom: 1.25rem; filter: drop-shadow(0 12px 30px rgba(0,0,0,.4)); }
.fcv-hero__eyebrow { color: var(--fcv-or); letter-spacing: .16em; }
.fcv-hero__title {
	color: #fff; font-size: clamp(2.2rem, 5.4vw, 4rem); font-weight: 800;
	text-transform: uppercase; letter-spacing: -.005em; margin-bottom: 1rem; max-width: 18ch;
}
.fcv-hero__subtitle { color: rgba(255,255,255,.86); font-size: 1.06rem; max-width: 56ch; }
.fcv-hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-block: 1.75rem 1.5rem; align-items: center; }
.fcv-hero__values { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.fcv-hero__values li {
	font-family: var(--fcv-font-title); font-size: .74rem; font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase;
	padding: .4rem .75rem; border-radius: var(--fcv-radius-pill);
	border: 1px solid rgba(212,175,55,.5); color: var(--fcv-or);
}

.fcv-hero__next {
	background: rgba(6,20,38,.72); border: 1px solid rgba(212,175,55,.35);
	border-radius: var(--fcv-radius); padding: 1.5rem; backdrop-filter: blur(6px);
	box-shadow: var(--fcv-shadow-lg);
}
.fcv-hero__next-label {
	font-family: var(--fcv-font-title); font-size: .72rem; font-weight: 700;
	letter-spacing: .18em; text-transform: uppercase; color: var(--fcv-or); margin-bottom: .6rem;
}	.fcv-hero__next-teams { font-family: var(--fcv-font-title); font-weight: 700; line-height: 1.35; margin-bottom: .9rem; }
.fcv-hero__next-teams span { display: block; color: var(--fcv-or); font-size: .9rem; }
.fcv-hero__next-meta { display: flex; align-items: center; gap: .5rem; font-size: .87rem; color: rgba(255,255,255,.82); margin-bottom: .45rem; }
.fcv-hero__next-meta .fcv-icon { color: var(--fcv-or); }
.fcv-hero__next .fcv-btn { margin-top: 1rem; }

.fcv-hero__scroll {
	position: absolute; left: 50%; bottom: 1.25rem; transform: translateX(-50%);
	color: rgba(255,255,255,.7); display: grid; place-items: center;
	width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3);
	animation: fcv-bounce 2.4s infinite;
}
@keyframes fcv-bounce { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, 6px); } }
@media (max-width: 980px) { .fcv-hero__scroll { display: none; } }

/* ---------------------------------------------------------------- Prochain match */
.fcv-section--next { background: #fff; }
.fcv-next { display: grid; grid-template-columns: minmax(0, 2.1fr) minmax(240px, 1fr); gap: var(--fcv-gap); }
@media (max-width: 980px) { .fcv-next { grid-template-columns: 1fr; } }

.fcv-next__main {
	background: linear-gradient(140deg, var(--fcv-bleu) 0%, var(--fcv-bleu-700) 100%);
	color: #fff; border-radius: var(--fcv-radius); padding: clamp(1.5rem, 3vw, 2.5rem);
	box-shadow: var(--fcv-shadow);
}
.fcv-next__teams { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; }
.fcv-next__team { display: grid; gap: .6rem; justify-items: center; text-align: center; }
.fcv-next__crest { height: 76px; width: auto; }
.fcv-next__crest-placeholder { color: rgba(255,255,255,.45); }
.fcv-next__name { font-family: var(--fcv-font-title); font-weight: 700; font-size: 1rem; }
.fcv-next__center { text-align: center; display: grid; gap: .35rem; }
.fcv-next__vs { font-family: var(--fcv-font-title); font-weight: 800; font-size: 1.5rem; color: var(--fcv-or); }
.fcv-next__date { font-size: 1.05rem; color: rgba(255,255,255,.8); }
.fcv-next__date strong { display: block; font-size: 1.45rem; color: #fff; }

.fcv-next__facts { list-style: none; margin: 1.5rem 0; padding: 0; display: grid; gap: .6rem; }
.fcv-next__facts li { display: flex; align-items: center; gap: .6rem; font-size: .9rem; color: rgba(255,255,255,.88); }
.fcv-next__facts .fcv-icon { color: var(--fcv-or); }
.fcv-next__facts a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

.fcv-next__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.fcv-next__actions .fcv-btn--ghost { color: #fff; }
.fcv-next__actions .fcv-btn--ghost:hover { background: rgba(255,255,255,.12); color: #fff; }

.fcv-next__countdown {
	background: var(--fcv-gris-fond); border-radius: var(--fcv-radius);
	padding: 1.75rem 1.5rem; display: grid; align-content: center; gap: 1rem; text-align: center;
	border: 1px solid rgba(11,35,64,.07);
}
.fcv-next__countdown-label { font-family: var(--fcv-font-title); font-weight: 700; text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; color: var(--fcv-roche); margin: 0; }
.fcv-countdown, .fcv-countdown-block { display: grid; grid-auto-flow: column; gap: .5rem; justify-content: center; }
.fcv-countdown__unit { display: grid; gap: .2rem; min-width: 74px; }
.fcv-countdown__unit strong { font-family: var(--fcv-font-title); font-size: 2rem; font-weight: 800; color: var(--fcv-bleu); }
.fcv-countdown__unit em { font-style: normal; font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: var(--fcv-roche); }
.fcv-next__countdown-note { font-size: .78rem; color: var(--fcv-roche); margin: 0; }
.fcv-countdown-block .fcv-countdown__unit strong { color: #fff; }
.fcv-countdown-block .fcv-countdown__unit em { color: rgba(255,255,255,.7); }

/* ---------------------------------------------------------------- Carte de match */
.fcv-match-card {
	background: #fff; border-radius: var(--fcv-radius); overflow: hidden;
	border: 1px solid rgba(11,35,64,.08); box-shadow: var(--fcv-shadow-sm);
	display: flex; flex-direction: column; transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-match-card:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-match-card__link { display: block; padding: 1.25rem; color: inherit; flex: 1 1 auto; }
.fcv-match-card__link:hover { color: inherit; }
.fcv-match-card__top { display: flex; justify-content: space-between; align-items: flex-start; gap: .75rem; margin-bottom: 1rem; }
.fcv-match-card__date { display: grid; text-align: center; background: var(--fcv-bleu); color: #fff; border-radius: var(--fcv-radius-sm); padding: .4rem .7rem; }
.fcv-match-card__day { font-family: var(--fcv-font-title); font-size: 1.6rem; font-weight: 800; line-height: 1; }
.fcv-match-card__month { font-size: .85rem; text-transform: uppercase; letter-spacing: .1em; color: var(--fcv-or); }
.fcv-match-card__meta { text-align: right; display: grid; gap: .15rem; }
.fcv-match-card__competition { font-size: .85rem; font-weight: 600; color: var(--fcv-or-sombre); text-transform: uppercase; letter-spacing: .06em; }
.fcv-match-card__time { font-size: .92rem; font-weight: 600; color: var(--fcv-roche); }

.fcv-match-card__teams { display: grid; gap: .35rem; margin-bottom: 1rem; }
.fcv-match-card__team { font-family: var(--fcv-font-title); font-weight: 600; font-size: .95rem; color: var(--fcv-bleu); }
.fcv-match-card__score {
	display: flex; align-items: center; gap: .5rem;
	font-family: var(--fcv-font-title); font-weight: 800; font-size: 1.5rem; color: var(--fcv-bleu);
}
.fcv-match-card__score span { color: var(--fcv-roche); font-weight: 400; }
.fcv-match-card__vs { font-size: .85rem; font-weight: 600; color: var(--fcv-roche); letter-spacing: .1em; }
.fcv-match-card__bottom {
	display: flex; justify-content: space-between; gap: .5rem;
	padding-top: .85rem; border-top: 1px solid rgba(11,35,64,.08);
	font-size: .78rem; color: var(--fcv-roche);
}
.fcv-match-card__venue { display: inline-flex; align-items: center; gap: .35rem; }
.fcv-match-card__tickets { margin: 0 1.25rem 1.25rem; width: calc(100% - 2.5rem); }

.fcv-match-card.is-win { border-left: 4px solid var(--fcv-ok); }
.fcv-match-card.is-draw { border-left: 4px solid var(--fcv-roche); }
.fcv-match-card.is-loss { border-left: 4px solid var(--fcv-alerte); }

/* ---------------------------------------------------------------- Actualités */
.fcv-section--news { background: var(--fcv-gris-fond); }
.fcv-news-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--fcv-gap); }
@media (max-width: 980px) { .fcv-news-layout { grid-template-columns: 1fr; } }
.fcv-news-layout__list { display: grid; gap: 1rem; align-content: start; }

.fcv-news-card {
	background: #fff; border-radius: var(--fcv-radius); overflow: hidden;
	box-shadow: var(--fcv-shadow-sm); display: flex; flex-direction: column;
	transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-news-card:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-news-card--featured { min-height: 100%; }
.fcv-news-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 3 / 2; }
.fcv-news-card--featured .fcv-news-card__media { aspect-ratio: 16 / 10; }
.fcv-news-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.fcv-news-card:hover .fcv-news-card__img { transform: scale(1.04); }
.fcv-news-card__cat {
	position: absolute; left: 1rem; top: 1rem;
	background: var(--fcv-or); color: var(--fcv-bleu);
	font-family: var(--fcv-font-title); font-size: .68rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; padding: .35rem .7rem; border-radius: var(--fcv-radius-pill);
}
.fcv-news-card__body { padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; flex: 1 1 auto; }
.fcv-news-card__date { font-size: .95rem; font-weight: 600; color: var(--fcv-roche); text-transform: uppercase; letter-spacing: .06em; }
.fcv-news-card__title { margin: 0; font-size: 1.12rem; }
.fcv-news-card--featured .fcv-news-card__title { font-size: clamp(1.3rem, 2vw, 1.7rem); }
.fcv-news-card__excerpt { color: #4a5058; font-size: .92rem; flex: 1 1 auto; }

.fcv-news-mini {
	display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 1rem;
	background: #fff; border-radius: var(--fcv-radius-sm); overflow: hidden;
	box-shadow: var(--fcv-shadow-sm); align-items: center;
	transition: transform var(--fcv-transition);
}
.fcv-news-mini:hover { transform: translateX(4px); }
.fcv-news-mini__media { display: block; height: 100%; }
.fcv-news-mini__img { width: 100%; height: 100%; object-fit: cover; min-height: 92px; }
.fcv-news-mini__body { padding: .85rem 1rem .85rem 0; }
.fcv-news-mini__date { font-size: .9rem; font-weight: 600; color: var(--fcv-roche); text-transform: uppercase; letter-spacing: .06em; }
.fcv-news-mini__title { font-size: .96rem; margin: .25rem 0 0; }

/* ---------------------------------------------------------------- Équipes */
.fcv-team-card {
	background: #fff; border-radius: var(--fcv-radius); overflow: hidden;
	box-shadow: var(--fcv-shadow-sm); display: flex; flex-direction: column;
	transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-team-card:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-team-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--fcv-bleu); }
.fcv-team-card__img { width: 100%; height: 100%; object-fit: cover; }
.fcv-team-card__badge {
	position: absolute; left: 1rem; bottom: 1rem;
	background: rgba(6,20,38,.85); color: var(--fcv-or);
	font-family: var(--fcv-font-title); font-size: .95rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; padding: .45rem .85rem; border-radius: var(--fcv-radius-pill);
}
.fcv-team-card__body { padding: 1.25rem; display: grid; gap: .6rem; flex: 1 1 auto; }
.fcv-team-card__title { margin: 0; font-size: 1.15rem; }
.fcv-team-card__coach { display: flex; align-items: center; gap: .4rem; font-size: .86rem; color: var(--fcv-roche); margin: 0; }
.fcv-team-card__footer {
	display: flex; align-items: center; justify-content: space-between; gap: .5rem;
	padding-top: .9rem; border-top: 1px solid rgba(11,35,64,.08); font-size: .84rem; color: var(--fcv-roche);
}
.fcv-team-card--or .fcv-team-card__badge { background: var(--fcv-or); color: var(--fcv-bleu); }
.fcv-team-card--gris .fcv-team-card__badge { background: var(--fcv-roche); color: #fff; }

.fcv-squad { display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.fcv-player-card {
	background: #fff; border-radius: var(--fcv-radius); overflow: hidden;
	box-shadow: var(--fcv-shadow-sm); transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-player-card:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-player-card__link { display: block; color: inherit; }
.fcv-player-card__media { position: relative; display: block; aspect-ratio: 3 / 4; background: var(--fcv-bleu); overflow: hidden; }
.fcv-player-card__img { width: 100%; height: 100%; object-fit: cover; }
.fcv-player-card__number {
	position: absolute; right: .75rem; top: .75rem;
	display: grid; place-items: center; min-width: 42px; height: 42px;
	background: var(--fcv-or); color: var(--fcv-bleu);
	font-family: var(--fcv-font-title); font-weight: 800; border-radius: 50%;
}
.fcv-player-card__body { padding: .9rem 1rem 1.05rem; display: grid; gap: .2rem; }
.fcv-player-card__name { font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); font-size: .98rem; }
.fcv-player-card__position { font-size: .78rem; color: var(--fcv-roche); text-transform: uppercase; letter-spacing: .08em; }

/* ---------------------------------------------------------------- Boutique */
.fcv-shop-teaser {
	display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
	gap: var(--fcv-gap); align-items: center; background: #fff;
	border-radius: var(--fcv-radius); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--fcv-shadow-sm);
}
@media (max-width: 860px) { .fcv-shop-teaser { grid-template-columns: 1fr; } }
.fcv-shop-teaser__media img { border-radius: var(--fcv-radius-sm); }
.fcv-shop-intro { max-width: 70ch; margin-bottom: 1.25rem; color: #4a5058; }
.fcv-shop-cats ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.fcv-shop-cats a {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .5rem .9rem; border-radius: var(--fcv-radius-pill);
	background: #fff; border: 1px solid rgba(11,35,64,.14); font-size: .85rem; font-weight: 600;
}
.fcv-shop-cats a:hover { border-color: var(--fcv-or); color: var(--fcv-bleu); }
.fcv-shop-cats a span { color: var(--fcv-roche); font-weight: 400; }
.fcv-shop-filter { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.fcv-shop-filter label { font-size: .84rem; font-weight: 600; color: var(--fcv-roche); }
.fcv-shop-filter select { padding: .5rem .75rem; border-radius: var(--fcv-radius-sm); border: 1px solid rgba(11,35,64,.18); font-family: inherit; }

/* ---------------------------------------------------------------- Chiffres */
.fcv-section--stats { background: linear-gradient(160deg, var(--fcv-bleu) 0%, var(--fcv-bleu-800) 100%); color: #fff; }
.fcv-section--stats .fcv-section__title { color: #fff; }
.fcv-section--stats .fcv-eyebrow { color: var(--fcv-or); }
.fcv-section--stats .fcv-section__footnote { color: rgba(255,255,255,.6); }
.fcv-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1.25rem; margin: 0; }
.fcv-stat {
	background: rgba(255,255,255,.06); border: 1px solid rgba(212,175,55,.28);
	border-radius: var(--fcv-radius); padding: 1.5rem 1.25rem; text-align: center;
}
.fcv-stat__value { font-family: var(--fcv-font-title); font-size: clamp(2rem, 4vw, 2.9rem); font-weight: 800; color: var(--fcv-or); margin: 0; }
.fcv-stat__label { font-size: .95rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.82); }
.fcv-stats--compact .fcv-stat { background: #fff; border-color: rgba(11,35,64,.1); }
.fcv-stats--compact .fcv-stat__value { color: var(--fcv-bleu); font-size: clamp(1.6rem, 3vw, 2.2rem); }
.fcv-stats--compact .fcv-stat__label { color: var(--fcv-roche); }

/* ---------------------------------------------------------------- Partenaires */
.fcv-section--partners { background: #fff; }
.fcv-partners-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1.25rem; list-style: none; margin: 0; padding: 0; align-items: center; }
.fcv-partners-strip li { display: grid; place-items: center; padding: 1rem; background: var(--fcv-gris-fond); border-radius: var(--fcv-radius-sm); min-height: 104px; }
.fcv-partners-strip__logo { max-height: 62px; width: auto; object-fit: contain; filter: grayscale(1); opacity: .8; transition: filter var(--fcv-transition), opacity var(--fcv-transition); }
.fcv-partners-strip a:hover .fcv-partners-strip__logo { filter: none; opacity: 1; }

.fcv-partner-card {
	background: #fff; border: 1px solid rgba(11,35,64,.08); border-radius: var(--fcv-radius);
	overflow: hidden; display: flex; flex-direction: column; text-align: center;
	box-shadow: var(--fcv-shadow-sm); transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-partner-card:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-partner-card__logo { padding: 1.5rem; background: var(--fcv-gris-fond); display: grid; place-items: center; min-height: 150px; }
.fcv-partner-card__img { max-height: 84px; width: auto; object-fit: contain; }
.fcv-partner-card__body { padding: 1.1rem; display: grid; gap: .35rem; }
.fcv-partner-card__title { margin: 0; font-size: 1.02rem; }
.fcv-partner-card__since, .fcv-partner-card__desc { font-size: .82rem; color: var(--fcv-roche); margin: 0; }
.fcv-partners-group { margin-bottom: 3rem; }
.fcv-partners-group__intro { color: #4a5058; margin-bottom: 1.5rem; }
.fcv-partners-cta {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr); gap: var(--fcv-gap);
	background: var(--fcv-bleu); color: #fff; border-radius: var(--fcv-radius);
	padding: clamp(1.5rem, 3vw, 2.5rem); margin-top: 3rem;
}
@media (max-width: 900px) { .fcv-partners-cta { grid-template-columns: 1fr; } }
.fcv-partners-cta h2 { color: #fff; }
.fcv-partners-cta__contact { display: flex; align-items: center; gap: .5rem; }
.fcv-partners-cta__contact a { color: var(--fcv-or); }
.fcv-partners-cta__form { background: #fff; color: var(--fcv-anthracite); border-radius: var(--fcv-radius-sm); padding: 1.5rem; }
.fcv-partners-cta__form h2 { color: var(--fcv-bleu); }

/* ---------------------------------------------------------------- Communauté */
.fcv-section--community { background: var(--fcv-gris-fond); }
.fcv-community { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--fcv-gap); align-items: center; }
@media (max-width: 980px) { .fcv-community { grid-template-columns: 1fr; } }
.fcv-community__media img { border-radius: var(--fcv-radius); box-shadow: var(--fcv-shadow); }
.fcv-community__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.fcv-community__social { margin-top: 3rem; }
.fcv-social-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 1rem; list-style: none; margin: 0; padding: 0; }
.fcv-social-card a {
	display: grid; gap: .35rem; padding: 1.25rem; border-radius: var(--fcv-radius);
	background: #fff; box-shadow: var(--fcv-shadow-sm); color: var(--fcv-bleu);
	transition: transform var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-social-card a:hover { transform: translateY(-4px); box-shadow: var(--fcv-shadow); }
.fcv-social-card__icon { color: var(--fcv-or); }
.fcv-social-card__label { font-family: var(--fcv-font-title); font-weight: 700; }
.fcv-social-card__cta { font-size: .8rem; color: var(--fcv-roche); }

.fcv-checklist { list-style: none; margin: 1.25rem 0; padding: 0; display: grid; gap: .6rem; }
.fcv-checklist li { position: relative; padding-left: 1.9rem; }
.fcv-checklist li::before {
	content: ""; position: absolute; left: 0; top: .35em;
	width: 1.1rem; height: 1.1rem; border-radius: 50%;
	background: var(--fcv-or); box-shadow: inset 0 0 0 3px #fff;
}
.fcv-steps { counter-reset: fcv-step; list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .75rem; }
.fcv-steps li { counter-increment: fcv-step; position: relative; padding-left: 2.4rem; font-size: .92rem; }
.fcv-steps li::before {
	content: counter(fcv-step); position: absolute; left: 0; top: .1em;
	width: 1.8rem; height: 1.8rem; display: grid; place-items: center;
	border-radius: 50%; background: var(--fcv-bleu); color: #fff;
	font-family: var(--fcv-font-title); font-size: .82rem; font-weight: 700;
}

/* ---------------------------------------------------------------- Newsletter */
.fcv-newsletter { background: var(--fcv-bleu-800); color: #fff; padding-block: clamp(2.5rem, 5vw, 4rem); }
.fcv-newsletter__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr); gap: var(--fcv-gap); align-items: center; }
@media (max-width: 900px) { .fcv-newsletter__inner { grid-template-columns: 1fr; } }
.fcv-newsletter__title { color: #fff; margin-bottom: .5rem; }
.fcv-newsletter__text p { color: rgba(255,255,255,.82); margin: 0; }
.fcv-newsletter__row { display: flex; gap: .5rem; flex-wrap: wrap; }
.fcv-newsletter__row input[type="email"] {
	flex: 1 1 220px; padding: .95rem 1.1rem; border-radius: var(--fcv-radius-pill);
	border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; font-family: inherit;
}
.fcv-newsletter__row input[type="email"]::placeholder { color: rgba(255,255,255,.55); }
.fcv-newsletter__consent { display: flex; gap: .6rem; align-items: flex-start; margin-top: .9rem; font-size: .8rem; color: rgba(255,255,255,.78); }
.fcv-newsletter__legal { font-size: .74rem; color: rgba(255,255,255,.6); margin-top: .6rem; }
.fcv-newsletter__legal a { color: var(--fcv-or); }
.fcv-newsletter__feedback { margin-top: .75rem; font-size: .88rem; }
.fcv-newsletter__feedback.is-success { color: #a8e6b8; }
.fcv-newsletter__feedback.is-error { color: #ffc9b8; }

/* ---------------------------------------------------------------- Pied de page */
.fcv-footer { background: var(--fcv-bleu); color: rgba(255,255,255,.8); }
.fcv-footer__main { padding-block: clamp(2.5rem, 5vw, 4rem); }
.fcv-footer__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 2.5rem; }
@media (max-width: 980px) { .fcv-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .fcv-footer__grid { grid-template-columns: 1fr; } }
.fcv-footer .fcv-footer__logo { height: 74px; width: auto; margin-bottom: 1rem; }
.fcv-footer__text { font-size: .9rem; color: rgba(255,255,255,.72); }
.fcv-footer__title {
	font-family: var(--fcv-font-title); font-size: .8rem; text-transform: uppercase;
	letter-spacing: .14em; color: var(--fcv-or); margin: 0 0 .9rem;
}
.fcv-footer__col + .fcv-footer__col .fcv-footer__title:not(:first-child) { margin-top: 1.75rem; }
.fcv-footer__menu { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; font-size: .9rem; }
.fcv-footer__menu a, .fcv-footer__menu button { color: rgba(255,255,255,.82); }
.fcv-footer__menu a:hover, .fcv-footer__menu button:hover { color: var(--fcv-or); }
.fcv-footer__menu--contact li { display: flex; gap: .55rem; align-items: flex-start; font-size: .86rem; }
.fcv-footer__menu--contact .fcv-icon { color: var(--fcv-or); margin-top: .2rem; }
.fcv-footer__cookie-btn { background: none; border: 0; padding: 0; cursor: pointer; font-family: inherit; text-align: left; }
.fcv-footer__social { display: flex; gap: .55rem; list-style: none; margin: 1.25rem 0 0; padding: 0; }
.fcv-footer__social a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; }
.fcv-footer__social a:hover { background: var(--fcv-or); color: var(--fcv-bleu); }
.fcv-footer__bottom { border-top: 1px solid rgba(255,255,255,.1); padding-block: 1.25rem; font-size: .8rem; }
.fcv-footer__bottom-inner { display: flex; flex-wrap: wrap; gap: .5rem 2rem; justify-content: space-between; }
.fcv-footer__bottom p { margin: 0; }
.fcv-footer__credits { color: rgba(255,255,255,.55); max-width: 60ch; }

/* ---------------------------------------------------------------- Formulaires */
.fcv-form { display: grid; gap: 1.1rem; }
.fcv-field { display: grid; gap: .35rem; margin: 0; }
.fcv-field label { font-family: var(--fcv-font-title); font-size: .86rem; font-weight: 600; color: var(--fcv-bleu); }
.fcv-field input,
.fcv-field select,
.fcv-field textarea {
	width: 100%; padding: .85rem 1rem; font-family: inherit; font-size: .95rem;
	border: 1px solid rgba(11,35,64,.18); border-radius: var(--fcv-radius-sm);
	background: #fff; color: var(--fcv-anthracite); transition: border-color var(--fcv-transition), box-shadow var(--fcv-transition);
}
.fcv-field input:focus, .fcv-field select:focus, .fcv-field textarea:focus {
	border-color: var(--fcv-or); outline: none; box-shadow: 0 0 0 3px rgba(212,175,55,.22);
}
.fcv-field input[aria-invalid="true"], .fcv-field select[aria-invalid="true"], .fcv-field textarea[aria-invalid="true"] {
	border-color: var(--fcv-alerte); background: #fff8f6;
}
.fcv-field--consent label { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-family: var(--fcv-font-text); }
.fcv-field--consent input { width: auto; margin-top: .25rem; }
.fcv-field__help { font-size: .78rem; color: var(--fcv-roche); }
.fcv-field__error { font-size: .78rem; color: var(--fcv-alerte); }
.fcv-required { color: var(--fcv-alerte); }
.fcv-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fcv-form__submit { margin: 0; }
.fcv-form__feedback { padding: .8rem 1rem; border-radius: var(--fcv-radius-sm); font-size: .9rem; }
.fcv-form__feedback.is-success { background: #eaf6ee; color: #1e5b35; }
.fcv-form__feedback.is-error { background: #fdeeea; color: #8c3218; }

/* ---------------------------------------------------------------- Cookies */
.fcv-cookies {
	position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 1200;
	background: #fff; border-radius: var(--fcv-radius); box-shadow: var(--fcv-shadow-lg);
	max-width: 1080px; margin-inline: auto; border: 1px solid rgba(11,35,64,.1); overflow: hidden;
}.fcv-cookies__inner {
	display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; align-items: center; padding: 1.25rem 1.5rem;
}
.fcv-cookies__options {
	padding: 1.25rem 1.5rem;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(11,35,64,.09);
	margin: 0 auto 1.5rem;
	max-width: 720px;
	box-shadow: 0 4px 20px rgba(11,35,64,.09);
}
.fcv-cookies__options--current { opacity: .9; }
.fcv-cookies__text { max-width: 62ch; }
.fcv-cookies__title { font-size: 1.05rem; margin-bottom: .35rem; }
.fcv-cookies__text p { font-size: .86rem; color: #4a5058; margin: 0; }
.fcv-cookies__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.fcv-cookies__settings { padding: 0 1.5rem 1.5rem; display: grid; gap: 1rem; }
.fcv-cookies__settings fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .75rem; }
.fcv-cookies__settings legend { font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); padding: 0; margin-bottom: .5rem; }
.fcv-cookies__item { display: flex; gap: .7rem; align-items: flex-start; font-size: .88rem; padding: .75rem; border: 1px solid rgba(11,35,64,.1); border-radius: var(--fcv-radius-sm); }
.fcv-cookies__item span { display: grid; gap: .15rem; }
.fcv-cookies__item em { font-style: normal; color: var(--fcv-roche); font-size: .82rem; }
.fcv-cookies__item.is-locked { background: var(--fcv-gris-fond); }

/* ---------------------------------------------------------------- Têtes de page */
.fcv-page-head { background: var(--fcv-gris-fond); padding-block: clamp(1.75rem, 3.5vw, 3rem); border-bottom: 1px solid rgba(11,35,64,.07); }
.fcv-page-head__title { margin-bottom: .5rem; }
.fcv-page-head__intro { max-width: 74ch; color: #4a5058; }
.fcv-page-head--image { position: relative; background: var(--fcv-bleu); padding: 0; border: 0; }
.fcv-page-head--image .fcv-page-head__media { position: absolute; inset: 0; }
.fcv-page-head--image .fcv-page-head__media img { width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.fcv-page-head--image .fcv-page-head__content { position: relative; padding-block: clamp(3rem, 7vw, 5.5rem); color: #fff; }
.fcv-page-head--image .fcv-page-head__title { color: #fff; }
.fcv-page-head--image .fcv-page-head__intro { color: rgba(255,255,255,.85); }
.fcv-page-head--compact { padding-block: 1.5rem; }

.fcv-anchors { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.fcv-anchors a {
	padding: .5rem .9rem; border-radius: var(--fcv-radius-pill);
	background: #fff; border: 1px solid rgba(11,35,64,.14);
	font-family: var(--fcv-font-title); font-size: .84rem; font-weight: 600;
}
.fcv-anchors a:hover { border-color: var(--fcv-or); color: var(--fcv-bleu); }

.fcv-filter-bar { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.fcv-filter-bar a {
	padding: .5rem .95rem; border-radius: var(--fcv-radius-pill);
	background: #fff; border: 1px solid rgba(11,35,64,.14);
	font-family: var(--fcv-font-title); font-size: .84rem; font-weight: 600;
}
.fcv-filter-bar a:hover, .fcv-filter-bar a.is-active { background: var(--fcv-bleu); color: #fff; border-color: var(--fcv-bleu); }

.fcv-team__section-title {
	position: relative; padding-bottom: .6rem; margin-bottom: 1.5rem; font-size: clamp(1.25rem, 2vw, 1.6rem);
}
.fcv-team__section-title::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 3px;
	background: var(--fcv-or); border-radius: 2px;
}
.fcv-team__section-title--sm { font-size: 1.1rem; }

/* ---------------------------------------------------------------- Équipe */
.fcv-team-hero { position: relative; background: var(--fcv-bleu); color: #fff; }
.fcv-team-hero__media { position: absolute; inset: 0; }
.fcv-team-hero__img { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.fcv-team-hero__scrim { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(6,20,38,.92), rgba(11,35,64,.55)); }
.fcv-team-hero__content { position: relative; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.fcv-team-hero__title { color: #fff; margin-bottom: .5rem; }
.fcv-team-hero__championship { display: inline-flex; align-items: center; gap: .5rem; color: var(--fcv-or); font-weight: 600; }
.fcv-team-hero__facts { display: flex; flex-wrap: wrap; gap: 1.25rem; list-style: none; margin: 1rem 0 0; padding: 0; font-size: .9rem; color: rgba(255,255,255,.86); }
.fcv-team-hero__facts li { display: inline-flex; align-items: center; gap: .45rem; }
.fcv-team-hero__facts .fcv-icon { color: var(--fcv-or); }
.fcv-team__body { padding-block: clamp(2rem, 4vw, 3.5rem); }
.fcv-team__section { margin-bottom: 3rem; }
.fcv-team__section--split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fcv-gap); }
@media (max-width: 820px) { .fcv-team__section--split { grid-template-columns: 1fr; } }
.fcv-staff { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fcv-staff li { display: flex; align-items: flex-start; gap: .5rem; padding: .75rem 1rem; background: #fff; border-radius: var(--fcv-radius-sm); box-shadow: var(--fcv-shadow-sm); font-size: .92rem; }
.fcv-staff .fcv-icon { color: var(--fcv-or); margin-top: .15rem; }

/* ---------------------------------------------------------------- Joueur */
.fcv-player { padding-block: 2rem 3rem; }
.fcv-player__layout { display: grid; grid-template-columns: minmax(240px, 340px) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); align-items: start; }
@media (max-width: 820px) { .fcv-player__layout { grid-template-columns: 1fr; } }
.fcv-player__media { position: relative; border-radius: var(--fcv-radius); overflow: hidden; background: var(--fcv-bleu); }
.fcv-player__img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.fcv-player__img--locked { display: grid; gap: .75rem; place-items: center; text-align: center; padding: 2rem; color: rgba(255,255,255,.8); font-size: .85rem; }
.fcv-player__number {
	position: absolute; right: 1rem; top: 1rem; display: grid; place-items: center;
	min-width: 54px; height: 54px; background: var(--fcv-or); color: var(--fcv-bleu);
	font-family: var(--fcv-font-title); font-weight: 800; font-size: 1.3rem; border-radius: 50%;
}
.fcv-player__name { margin-bottom: .25rem; }
.fcv-player__position { color: var(--fcv-roche); text-transform: uppercase; letter-spacing: .1em; font-size: .84rem; font-weight: 600; }
.fcv-player__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 1rem; margin: 1.5rem 0; }
.fcv-player__facts dt { font-size: .74rem; text-transform: uppercase; letter-spacing: .1em; color: var(--fcv-roche); }
.fcv-player__facts dd { margin: .2rem 0 0; font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); }
.fcv-player__bio { margin-top: 1.5rem; }
.fcv-player__extra { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; gap: .5rem; max-width: 480px; }
.fcv-player__extra li { display: flex; justify-content: space-between; padding: .6rem .9rem; background: #fff; border-radius: var(--fcv-radius-sm); font-size: .9rem; }
.fcv-player__stats { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(11,35,64,.1); }

.fcv-facts { display: grid; gap: .75rem; margin: 0; }
.fcv-facts > div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .6rem; border-bottom: 1px dashed rgba(11,35,64,.12); }
.fcv-facts dt { font-size: .82rem; color: var(--fcv-roche); text-transform: uppercase; letter-spacing: .06em; }
.fcv-facts dd { margin: 0; font-weight: 600; color: var(--fcv-bleu); text-align: right; }

/* ---------------------------------------------------------------- Match */
.fcv-match-hero { position: relative; background: var(--fcv-bleu); color: #fff; }
.fcv-match-hero__bg { position: absolute; inset: 0; }
.fcv-match-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.fcv-match-hero__inner { position: relative; padding-block: clamp(2rem, 5vw, 4rem); }
.fcv-match-hero__competition { font-family: var(--fcv-font-title); text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; color: var(--fcv-or); }
.fcv-scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; margin: 1.5rem 0; }
.fcv-scoreboard__team { display: grid; gap: .6rem; justify-items: center; text-align: center; }
.fcv-scoreboard__crest { height: 82px; width: auto; }
.fcv-scoreboard__crest--placeholder { color: rgba(255,255,255,.4); }
.fcv-scoreboard__name { font-family: var(--fcv-font-title); font-weight: 700; font-size: 1.05rem; }
.fcv-scoreboard__score { text-align: center; display: grid; gap: .4rem; }
.fcv-scoreboard__numbers { display: inline-flex; gap: .6rem; font-family: var(--fcv-font-title); font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; }
.fcv-scoreboard__numbers em { font-style: normal; color: var(--fcv-roche); }
.fcv-scoreboard__vs { font-family: var(--fcv-font-title); font-size: 1.6rem; font-weight: 800; color: var(--fcv-or); }
.fcv-scoreboard__state {
	font-size: .76rem; text-transform: uppercase; letter-spacing: .12em;
	padding: .35rem .8rem; border-radius: var(--fcv-radius-pill); background: rgba(255,255,255,.12);
}
.fcv-scoreboard__state--win { background: rgba(47,125,79,.35); }
.fcv-scoreboard__state--loss { background: rgba(180,69,31,.35); }
.fcv-match-hero__meta { display: flex; flex-wrap: wrap; gap: 1.25rem; list-style: none; margin: 0; padding: 0; font-size: 1.02rem; color: rgba(255,255,255,.85); }
.fcv-match-hero__meta li { display: inline-flex; align-items: center; gap: .45rem; }
.fcv-match-hero__meta .fcv-icon { color: var(--fcv-or); }
.fcv-match-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.75rem; }
.fcv-match-hero__demo { margin-top: 1.5rem; font-size: .8rem; color: var(--fcv-or); }
.fcv-match__body { padding-block: clamp(2rem, 4vw, 3.5rem); }
.fcv-match__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: var(--fcv-gap); }
@media (max-width: 980px) { .fcv-match__grid { grid-template-columns: 1fr; } }
.fcv-match__panel { background: #fff; border-radius: var(--fcv-radius); padding: 1.5rem; box-shadow: var(--fcv-shadow-sm); margin-bottom: 1.5rem; }
.fcv-match__panel--tickets { border: 1px solid rgba(212,175,55,.5); }
.fcv-match__side .fcv-match__panel:last-child { margin-bottom: 0; }
.fcv-events { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.fcv-event { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 1rem; padding: .7rem .9rem; background: var(--fcv-gris-fond); border-radius: var(--fcv-radius-sm); }
.fcv-event__minute { font-family: var(--fcv-font-title); font-size: 1.05rem; font-weight: 800; color: var(--fcv-or-sombre); }
.fcv-event__body { font-size: .92rem; display: grid; gap: .15rem; }
.fcv-event__body strong { color: var(--fcv-bleu); }

.fcv-calendar-filters {
	display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end;
	background: #fff; padding: 1.25rem; border-radius: var(--fcv-radius); box-shadow: var(--fcv-shadow-sm); margin-bottom: 1.5rem;
}
.fcv-calendar-filters__group { display: grid; gap: .35rem; min-width: 180px; flex: 1 1 180px; }
.fcv-calendar-filters__group label { font-family: var(--fcv-font-title); font-size: .8rem; font-weight: 600; color: var(--fcv-roche); }
.fcv-calendar-filters select { padding: .7rem .8rem; border: 1px solid rgba(11,35,64,.18); border-radius: var(--fcv-radius-sm); font-family: inherit; background: #fff; }
.fcv-calendar-filters__reset { font-size: .84rem; color: var(--fcv-roche); }
.fcv-calendar-count { color: var(--fcv-roche); font-size: .88rem; margin-bottom: 1.5rem; }
.fcv-calendar__ics { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid rgba(11,35,64,.1); }
.fcv-calendar__ics p { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }

/* ---------------------------------------------------------------- Billetterie */
.fcv-tickets-page { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-tickets-page__section { margin-bottom: 3rem; }
.fcv-ticket-offer { background: #fff; border-radius: var(--fcv-radius); box-shadow: var(--fcv-shadow-sm); overflow: hidden; display: flex; flex-direction: column; }
.fcv-ticket-offer__head { padding: 1.5rem; border-bottom: 1px solid rgba(11,35,64,.08); display: grid; gap: .4rem; }
.fcv-ticket-offer__comp { font-family: var(--fcv-font-title); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--fcv-or-sombre); margin: 0; }
.fcv-ticket-offer__title { margin: 0; font-size: 1.2rem; }
.fcv-ticket-offer__title span { color: var(--fcv-roche); font-weight: 400; }
.fcv-ticket-offer__meta { display: flex; align-items: center; gap: .45rem; font-size: .86rem; color: var(--fcv-roche); margin: .2rem 0 0; }
.fcv-ticket-offer__meta .fcv-icon { color: var(--fcv-or); }
.fcv-ticket-offer__foot { padding: 1.25rem 1.5rem 1.5rem; margin-top: auto; }
.fcv-table--tickets { width: 100%; border-collapse: collapse; font-size: .88rem; }
.fcv-table--tickets th, .fcv-table--tickets td { padding: .7rem 1.5rem; text-align: left; border-bottom: 1px solid rgba(11,35,64,.08); }
.fcv-table--tickets th { font-family: var(--fcv-font-title); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fcv-roche); }
.fcv-ticket-offer__stock { color: var(--fcv-ok); font-weight: 600; }
.fcv-ticket-offer__stock.is-out { color: var(--fcv-alerte); }
.fcv-table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.fcv-table caption { text-align: left; font-size: .82rem; color: var(--fcv-roche); padding-bottom: .5rem; }
.fcv-table th, .fcv-table td { padding: .55rem .7rem; text-align: left; border-bottom: 1px solid rgba(11,35,64,.1); }
.fcv-table th { font-family: var(--fcv-font-title); font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fcv-roche); }

.fcv-tickets { display: grid; gap: 1.25rem; }
.fcv-ticket { border: 1px solid rgba(11,35,64,.12); border-radius: var(--fcv-radius); padding: 1.25rem; background: #fff; }
.fcv-ticket__head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 1rem; }
.fcv-ticket__match { font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); }
.fcv-ticket__status { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; padding: .3rem .65rem; border-radius: var(--fcv-radius-pill); background: #eaf6ee; color: #1e5b35; }
.fcv-ticket__details { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .9rem; margin: 0 0 1rem; }
.fcv-ticket__details dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fcv-roche); }
.fcv-ticket__details dd { margin: .15rem 0 0; font-weight: 600; color: var(--fcv-bleu); font-size: .9rem; }
.fcv-ticket__code { font-family: ui-monospace, "SFMono-Regular", monospace; background: var(--fcv-gris-fond); padding: .2rem .45rem; border-radius: 4px; }
.fcv-tickets__notice { font-size: .82rem; color: var(--fcv-roche); margin-top: 1rem; }

/* ---------------------------------------------------------------- Carte / club */
.fcv-values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.fcv-value-card { background: #fff; border-radius: var(--fcv-radius-sm); padding: 1.25rem; text-align: center; box-shadow: var(--fcv-shadow-sm); }
.fcv-value-card .fcv-icon { color: var(--fcv-or); margin-inline: auto; }
.fcv-value-card h3 { margin: .6rem 0 0; font-size: 1rem; }
.fcv-org-card { background: #fff; border-radius: var(--fcv-radius-sm); padding: 1.25rem; box-shadow: var(--fcv-shadow-sm); }
.fcv-org-card .fcv-icon { color: var(--fcv-or); }
.fcv-org-card h3 { margin: .6rem 0 .4rem; font-size: 1.02rem; }
.fcv-org-card p { font-size: .88rem; color: #4a5058; margin: 0; }
.fcv-timeline { list-style: none; margin: 0; padding: 0; display: grid; gap: 1rem; }
.fcv-timeline li { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 1rem; padding: 1rem 1.25rem; background: #fff; border-radius: var(--fcv-radius-sm); box-shadow: var(--fcv-shadow-sm); border-left: 4px solid var(--fcv-or); }
.fcv-timeline__year { font-family: var(--fcv-font-title); font-size: 1.3rem; font-weight: 800; color: var(--fcv-bleu); }
.fcv-timeline__text { font-size: .92rem; }
.fcv-facilities { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.fcv-facilities li { display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: .5rem .75rem; background: #fff; padding: 1rem 1.25rem; border-radius: var(--fcv-radius-sm); box-shadow: var(--fcv-shadow-sm); }
.fcv-facilities .fcv-icon { color: var(--fcv-or); grid-row: span 2; }
.fcv-facilities strong { font-family: var(--fcv-font-title); color: var(--fcv-bleu); }
.fcv-facilities span { grid-column: 2; font-size: .88rem; color: #4a5058; }
.fcv-club__hours { display: flex; align-items: center; gap: .6rem; margin-top: 1.25rem; font-size: .9rem; color: #4a5058; }
.fcv-club__hours .fcv-icon { color: var(--fcv-or); }
.fcv-club__section { margin-bottom: 3rem; }
.fcv-club__section--split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--fcv-gap); }
@media (max-width: 900px) { .fcv-club__section--split { grid-template-columns: 1fr; } }
.fcv-club__cta { background: var(--fcv-gris-fond); border-radius: var(--fcv-radius); padding: clamp(1.5rem, 3vw, 2.5rem); }
.fcv-map { background: #fff; border-radius: var(--fcv-radius); overflow: hidden; box-shadow: var(--fcv-shadow-sm); min-height: 260px; }
.fcv-map iframe { width: 100%; height: 320px; border: 0; display: block; }
.fcv-map--placeholder, .fcv-map__consent { display: grid; place-items: center; gap: .6rem; text-align: center; padding: 2rem 1.5rem; color: var(--fcv-roche); }
.fcv-map--placeholder .fcv-icon { color: var(--fcv-or); }

/* Documents */
.fcv-documents { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; }
.fcv-document { display: flex; align-items: center; gap: 1rem; background: #fff; padding: 1rem 1.25rem; border-radius: var(--fcv-radius-sm); box-shadow: var(--fcv-shadow-sm); }
.fcv-document__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--fcv-gris-fond); color: var(--fcv-bleu); flex: 0 0 auto; }
.fcv-document__body { display: grid; gap: .15rem; flex: 1 1 auto; }
.fcv-document__title { font-family: var(--fcv-font-title); color: var(--fcv-bleu); }
.fcv-document__meta { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fcv-roche); }
.fcv-document__desc { font-size: .86rem; color: #4a5058; }
.fcv-document__pending { font-size: .8rem; color: var(--fcv-roche); font-style: italic; }

/* ---------------------------------------------------------------- Contact */
.fcv-contact { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-contact__grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr); gap: var(--fcv-gap); align-items: start; }
@media (max-width: 980px) { .fcv-contact__grid { grid-template-columns: 1fr; } }
.fcv-contact__form { background: #fff; border-radius: var(--fcv-radius); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--fcv-shadow-sm); }
.fcv-contact__intro { color: #4a5058; }
.fcv-contact__side { display: grid; gap: 1.25rem; }
.fcv-contact__card { background: #fff; border-radius: var(--fcv-radius); padding: 1.5rem; box-shadow: var(--fcv-shadow-sm); }
.fcv-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .85rem; font-size: .92rem; }
.fcv-contact__list li { display: flex; gap: .6rem; align-items: flex-start; }
.fcv-contact__list .fcv-icon { color: var(--fcv-or); margin-top: .2rem; }
.fcv-social-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fcv-social-list a { display: inline-flex; align-items: center; gap: .5rem; font-size: .92rem; }
.fcv-social-list .fcv-icon { color: var(--fcv-or); }

/* ---------------------------------------------------------------- Sponsoring */
.fcv-sponsoring { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-offer-card { background: #fff; border-radius: var(--fcv-radius); padding: 1.75rem; box-shadow: var(--fcv-shadow-sm); display: grid; gap: .75rem; align-content: start; border-top: 4px solid var(--fcv-roche); }
.fcv-offer-card--partenaire-officiel { border-top-color: var(--fcv-or); }
.fcv-offer-card--partenaire-premium { border-top-color: var(--fcv-bleu-600); }
.fcv-offer-card--partenaire { border-top-color: var(--fcv-bleu-800); }
.fcv-offer-card--soutien { border-top-color: var(--fcv-roche); }
.fcv-offer-card__title { margin: 0; font-size: 1.15rem; }
.fcv-offer-card__price { font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-or-sombre); margin: 0; }
.fcv-offer-card__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; font-size: .9rem; }
.fcv-offer-card__list li { display: flex; gap: .5rem; align-items: flex-start; }
.fcv-offer-card__list .fcv-icon { color: var(--fcv-or); margin-top: .2rem; }
.fcv-sponsoring__assets, .fcv-sponsoring__form { margin-top: 3rem; }
.fcv-sponsoring__form { max-width: 760px; }

/* ---------------------------------------------------------------- Espace membre, légal, 404 */
.fcv-member { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-member__hello { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.fcv-member__docs, .fcv-member__register { margin-top: 3rem; }
.fcv-legal { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-legal__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: var(--fcv-gap); align-items: start; }
@media (max-width: 900px) { .fcv-legal__layout { grid-template-columns: 1fr; } }
.fcv-legal__aside { background: #fff; border-radius: var(--fcv-radius); padding: 1.5rem; box-shadow: var(--fcv-shadow-sm); position: sticky; top: 100px; }
.fcv-legal__nav { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .35rem; font-size: .9rem; }
.fcv-legal__nav li.is-current a { font-weight: 700; color: var(--fcv-bleu); }
.fcv-legal__note { font-size: .78rem; color: var(--fcv-roche); margin: 0; }
.fcv-legal__content { background: #fff; border-radius: var(--fcv-radius); padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--fcv-shadow-sm); }
.fcv-legal__updated { margin-top: 2rem; font-size: .8rem; color: var(--fcv-roche); }
.fcv-legal-warning { background: #fff8e8; border-left: 4px solid var(--fcv-or); padding: .9rem 1.1rem; border-radius: var(--fcv-radius-sm); }

.fcv-404 { background: var(--fcv-bleu); color: #fff; padding-block: clamp(3rem, 8vw, 6rem); }
.fcv-404__code { font-family: var(--fcv-font-title); font-size: clamp(4rem, 12vw, 8rem); font-weight: 800; color: var(--fcv-or); line-height: 1; margin: 0; }
.fcv-404__title { color: #fff; }
.fcv-404__text { color: rgba(255,255,255,.82); max-width: 60ch; }
.fcv-404__search { max-width: 560px; margin: 1.5rem 0 2rem; }
.fcv-404__links { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; }
.fcv-404 .fcv-btn--ghost { color: #fff; }
.fcv-404 .fcv-btn--ghost:hover { background: rgba(255,255,255,.12); color: #fff; }

.fcv-result-card { background: #fff; border-radius: var(--fcv-radius); padding: 1.5rem; box-shadow: var(--fcv-shadow-sm); }
.fcv-result-card__type { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--fcv-or-sombre); margin: 0 0 .4rem; }
.fcv-result-card__title { font-size: 1.1rem; }
.fcv-result-card__excerpt { font-size: .9rem; color: #4a5058; }

/* Encart d'article (maillage interne) */
.fcv-inline-cta { background: var(--fcv-gris-fond); border-left: 4px solid var(--fcv-or); border-radius: var(--fcv-radius-sm); padding: 1.25rem 1.5rem; margin: 2rem 0; }
.fcv-inline-cta p { margin: 0 0 .75rem; }
.fcv-inline-cta p:last-child { margin-bottom: 0; }

/* Widgets */
.fcv-sidebar { display: grid; gap: 1.5rem; align-content: start; }
.fcv-sidebar .widget { background: #fff; border-radius: var(--fcv-radius); padding: 1.5rem; box-shadow: var(--fcv-shadow-sm); }
.widget-title { font-size: 1.05rem; }
.fcv-widget-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; font-size: .9rem; }
.fcv-widget-next__teams { font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); margin: 0 0 .25rem; }
.fcv-widget-next__date { font-size: .84rem; color: var(--fcv-roche); }

/* Pagination */
.fcv-pagination { margin-top: 2.5rem; }
.fcv-pagination ul { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; margin: 0; padding: 0; }
.fcv-pagination a, .fcv-pagination span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 .7rem;
	border-radius: var(--fcv-radius-pill); background: #fff;
	border: 1px solid rgba(11,35,64,.14); font-family: var(--fcv-font-title); font-weight: 600; font-size: .9rem;
}
.fcv-pagination .current { background: var(--fcv-bleu); color: #fff; border-color: var(--fcv-bleu); }
.fcv-pagination a:hover { border-color: var(--fcv-or); color: var(--fcv-bleu); }

/* Commentaires */
.fcv-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(11,35,64,.1); }
.fcv-comments__list { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; gap: 1.25rem; }
.fcv-comments__list .comment-body { background: #fff; border-radius: var(--fcv-radius-sm); padding: 1.25rem; box-shadow: var(--fcv-shadow-sm); }
.fcv-comments__list .children { list-style: none; padding-left: 1.5rem; margin-top: 1rem; }
.fcv-comments__note { font-size: .82rem; color: var(--fcv-roche); }
.comment-form { display: grid; gap: 1rem; }
.comment-form label { font-family: var(--fcv-font-title); font-size: .86rem; font-weight: 600; color: var(--fcv-bleu); display: block; margin-bottom: .3rem; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%; padding: .85rem 1rem; border: 1px solid rgba(11,35,64,.18);
	border-radius: var(--fcv-radius-sm); font-family: inherit;
}
.comment-form .submit { margin: 0; }

/* Article */
.fcv-single-head { position: relative; background: var(--fcv-bleu); color: #fff; }
.fcv-single-head__media { position: absolute; inset: 0; }
.fcv-single-head__img { width: 100%; height: 100%; object-fit: cover; opacity: .4; }
.fcv-single-head__scrim { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(6,20,38,.92), rgba(11,35,64,.5)); }
.fcv-single-head__content { position: relative; padding-block: clamp(2.5rem, 6vw, 4.5rem); }
.fcv-single-head__title { color: #fff; max-width: 30ch; }
.fcv-single-head__meta { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; font-size: .86rem; color: rgba(255,255,255,.8); }
.fcv-single-head .fcv-tag { background: var(--fcv-or); color: var(--fcv-bleu); }
.fcv-article__foot { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; align-items: center; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(11,35,64,.1); }
.fcv-article__tags a { display: inline-block; margin: 0 .35rem .35rem 0; padding: .3rem .7rem; border-radius: var(--fcv-radius-pill); background: var(--fcv-gris-fond); font-size: .8rem; }
.fcv-share { display: flex; align-items: center; gap: .5rem; }
.fcv-share__label { font-size: .8rem; color: var(--fcv-roche); }
.fcv-share__btn { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid rgba(11,35,64,.14); background: #fff; color: var(--fcv-bleu); cursor: pointer; }
.fcv-share__btn:hover { background: var(--fcv-bleu); color: #fff; border-color: var(--fcv-bleu); }
.fcv-related { margin-top: 3rem; }
.fcv-related__title { font-size: 1.3rem; }
.fcv-edit-link { font-size: .84rem; }

/* Journal d'écran (impression) */

/* ---------------------------------------------------------------- Utilitaires */
.fcv-text-center { text-align: center; }
.fcv-mt-0 { margin-top: 0; }
.fcv-mb-0 { margin-bottom: 0; }
.fcv-ok { color: var(--fcv-ok); font-weight: 700; }
.fcv-warn { color: var(--fcv-alerte); font-weight: 700; }
.fcv-help-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.fcv-help-list li { padding-left: 1.2rem; position: relative; }
.fcv-help-list li::before { content: "→"; position: absolute; left: 0; color: var(--fcv-or-sombre); }

/* ---------------------------------------------------------------- Page équipes */
.fcv-teams-page { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-teams-group { margin-bottom: 3rem; }
.fcv-teams-page__cta {
	background: var(--fcv-bleu); color: #fff; border-radius: var(--fcv-radius);
	padding: clamp(1.75rem, 3vw, 2.75rem); text-align: center; margin-top: 1rem;
}
.fcv-teams-page__cta h2 { color: #fff; }
.fcv-teams-page__cta p { color: rgba(255,255,255,.85); max-width: 62ch; margin-inline: auto; }

/* ---------------------------------------------------------------- Rejoindre le club */
.fcv-join { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-join__paths, .fcv-join__documents { margin-bottom: 3rem; }
.fcv-join__form-wrap {
	background: #fff; border-radius: var(--fcv-radius);
	padding: clamp(1.5rem, 3vw, 2.5rem); box-shadow: var(--fcv-shadow-sm);
	max-width: 780px; margin-bottom: 3rem;
}
.fcv-join__contact { margin-top: 1.5rem; font-size: .9rem; }

/* ---------------------------------------------------------------- Boutique en attente */
.fcv-shop-pending { padding-block: clamp(2rem, 4vw, 3rem); }
.fcv-shop-pending__grid { display: grid; gap: var(--fcv-gap); grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }

/* ---------------------------------------------------------------- Compte et formulaires Woo */
.fcv-account-intro { margin-bottom: 1.5rem; }
.fcv-account-intro h2 { font-size: 1.35rem; margin-bottom: .35rem; }

/* ---------------------------------------------------------------- Billet imprimable */
.fcv-ticket-doc { max-width: 760px; margin: 2rem auto; background: #fff; border-radius: var(--fcv-radius); box-shadow: var(--fcv-shadow); overflow: hidden; }
.fcv-ticket-doc__head { display: flex; align-items: center; gap: 1.25rem; background: var(--fcv-bleu); color: #fff; padding: 1.5rem; }
.fcv-ticket-doc__logo { height: 70px; width: auto; }
.fcv-ticket-doc__club { font-family: var(--fcv-font-title); font-weight: 800; font-size: 1.25rem; margin: 0; }
.fcv-ticket-doc__slogan { font-size: .82rem; color: var(--fcv-or); margin: 0; }
.fcv-ticket-doc__body { padding: clamp(1.5rem, 3vw, 2.5rem); }
.fcv-ticket-doc__title { font-size: clamp(1.3rem, 3vw, 1.8rem); }
.fcv-ticket-doc__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1rem; margin: 0 0 2rem; }
.fcv-ticket-doc__facts dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; color: var(--fcv-roche); }
.fcv-ticket-doc__facts dd { margin: .15rem 0 0; font-weight: 600; color: var(--fcv-bleu); }
.fcv-ticket-doc__code { border: 2px dashed var(--fcv-or); border-radius: var(--fcv-radius-sm); padding: 1.25rem; text-align: center; background: var(--fcv-gris-fond); }
.fcv-ticket-doc__code-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: var(--fcv-roche); margin: 0; }
.fcv-ticket-doc__code-value { font-family: ui-monospace, "SFMono-Regular", monospace; font-size: clamp(1.3rem, 4vw, 2rem); font-weight: 700; color: var(--fcv-bleu); letter-spacing: .05em; margin: .35rem 0; }
.fcv-ticket-doc__code-note { font-size: .8rem; color: var(--fcv-roche); margin: 0; }
.fcv-ticket-doc__foot { padding: 1.5rem; border-top: 1px solid rgba(11,35,64,.1); font-size: .8rem; color: var(--fcv-roche); }
.fcv-ticket-doc__foot p { margin: 0 0 .35rem; }

/* ---------------------------------------------------------------- Personnalisation maillot */
.fcv-perso { border: 1px solid rgba(212,175,55,.55); background: #fffdf5; border-radius: var(--fcv-radius-sm); padding: 1rem 1.1rem; margin-bottom: 1.25rem; }
.fcv-perso__title { display: flex; align-items: center; gap: .5rem; font-family: var(--fcv-font-title); font-weight: 700; color: var(--fcv-bleu); margin: 0 0 .6rem; }
.fcv-perso__title .fcv-icon { color: var(--fcv-or); }
.fcv-perso__fee { margin-left: auto; color: var(--fcv-or-sombre); }
.fcv-perso__fields { margin-top: .75rem; }
.fcv-perso__note { font-size: .78rem; color: var(--fcv-roche); margin: .35rem 0 0; }
.fcv-size-guide { margin: .5rem 0 1.25rem; }

/* ---------------------------------------------------------------- Compatibilité WordPress */
.alignwide { max-width: 1100px; margin-inline: auto; }
.alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.aligncenter { margin-inline: auto; display: block; }
img.alignleft { float: left; margin: 0 1.5rem 1rem 0; }
img.alignright { float: right; margin: 0 0 1rem 1.5rem; }
.screen-reader-text:focus { clip-path: none; width: auto; height: auto; }

.fcv-prose table { width: 100%; border-collapse: collapse; font-size: .92rem; margin: 1.5rem 0; }
.fcv-prose th, .fcv-prose td { padding: .6rem .75rem; border: 1px solid rgba(11,35,64,.12); text-align: left; }
.fcv-prose th { background: var(--fcv-gris-fond); font-family: var(--fcv-font-title); }
.fcv-prose figure { margin: 1.5rem 0; }
.fcv-prose figcaption { font-size: .82rem; color: var(--fcv-roche); margin-top: .5rem; }
.fcv-prose pre { background: var(--fcv-anthracite); color: #eaeaea; padding: 1rem; border-radius: var(--fcv-radius-sm); overflow-x: auto; }

.fcv-page-links { display: flex; gap: .4rem; margin-top: 1.5rem; }
.fcv-page-links a { padding: .4rem .8rem; border-radius: var(--fcv-radius-pill); background: var(--fcv-gris-fond); font-size: .85rem; }

.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .75rem; margin: 1.5rem 0; }
.gallery-item img { border-radius: var(--fcv-radius-sm); }

/* ---------------------------------------------------------------- Animations légères */
.fcv-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.fcv-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .fcv-reveal { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- Responsive */
@media (max-width: 782px) {
	.fcv-hero__title { max-width: none; }
	.fcv-next__teams { grid-template-columns: 1fr; }
	.fcv-scoreboard { grid-template-columns: 1fr; text-align: center; }
	.fcv-scoreboard__score { order: -1; }
	.fcv-next__actions .fcv-btn, .fcv-hero__actions .fcv-btn { flex: 0 1 auto; min-width: 160px; }
	.fcv-news-mini { grid-template-columns: 84px minmax(0, 1fr); }
	.fcv-document { flex-wrap: wrap; }
	.fcv-cookies__inner { padding: 1rem; }
	.fcv-cookies { left: .5rem; right: .5rem; bottom: .5rem; }
}

@media (max-width: 560px) {
	:root { --fcv-section-y: 2.3rem; }
	.fcv-countdown__unit { min-width: 52px; }
	.fcv-countdown__unit strong { font-size: 1.35rem; }
	.fcv-stats { grid-template-columns: 1fr 1fr; }
}

/* Accessibilité : taille de clic confortable sur mobile */
@media (pointer: coarse) {
	.fcv-btn { min-height: 46px; }
	.fcv-anchors a, .fcv-filter-bar a { min-height: 42px; display: inline-flex; align-items: center; }
}

