/*
Garage Pouget — archives, recherche et pages (direction « sport & prestige »).
Mise en file par functions.php (handle `garage-pouget-archive`) sur les
archives, la recherche et les pages hors accueil.

Jetons : `--gp-*` (style.css), relayés par des alias locaux `--x-*` avec la
même valeur de repli.

Sources du balisage :
- Archives (catégorie, auteur, tag) : Éléments GP 1169 « First Post Template »
  (première carte, 2 colonnes) et 1159 « Post Archive Template » (cartes),
  pagination par l'Élément 1230 (boutons GB Précédent / Suivant).
- Recherche : gabarit GeneratePress par défaut (.inside-article, .post-image,
  .entry-header, .entry-summary, footer.entry-meta).
- Pages : gabarit GP ; les pages marques ont une image à la une
  (.page-header-image) et un titre soit dans .entry-header, soit en
  premier <h1> du contenu.

Le « CSS additionnel » du site, imprimé APRÈS, contient des règles d'élément
violettes (`h2`, `h3`, `table`, `th`, `td`, `blockquote`) : tout passe par un
préfixe de classe pour les battre.

Composants des autres modules, laissés intacts à l'intérieur :
`[class*="gp-lead"]` (formulaires), `[class*="gp-encart"]` (encarts CTA).
*/

body:is(.archive, .search, .page:not(.home)) {
	--x-bg: var(--gp-bg, #0d0d0f);
	--x-surface: var(--gp-surface, #16161a);
	--x-surface-2: var(--gp-surface-2, #1f1f25);
	--x-line: var(--gp-line, #2c2c33);
	--x-text: var(--gp-text, #f3efe7);
	--x-muted: var(--gp-muted, #a39e94);
	--x-accent: var(--gp-accent, #b8925a);
	--x-accent-ink: var(--gp-accent-ink, #0d0d0f);
	--x-red: var(--gp-red, #c8102e);
	--x-display: var(--gp-font-display, "Archivo", "Helvetica Neue", Arial, sans-serif);
	--x-serif: var(--gp-font-serif, "Cormorant Garamond", Georgia, serif);
	--x-body: var(--gp-font-body, "Sora", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	--x-radius: var(--gp-radius, 2px);
	--x-measure: 44rem;
	--x-wide: 66rem;
	--x-ease: cubic-bezier(0.22, 0.61, 0.36, 1);

	background-color: var(--x-bg);
	color: var(--x-text);
}

:is(.archive, .search, .page:not(.home)) :is(.site, .site-content, .container, .inside-article, .page-header, .paging-navigation, .no-results) {
	background-color: transparent;
	color: var(--x-text);
}

:is(.archive, .search, .page:not(.home)) :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--x-accent);
	outline-offset: 3px;
}

/* ==========================================================================
   EN-TÊTE D'ARCHIVE
   ========================================================================== */

:is(.archive, .search) .page-header {
	grid-column: 1 / -1;
	margin: 0 0 1rem;
	padding: clamp(1.5rem, 4vw, 3.5rem) 0 clamp(1.75rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--x-line);
}

:is(.archive, .search) .page-header .page-title {
	margin: 0;
	font-family: var(--x-display);
	font-size: clamp(2.1rem, 1.3rem + 4vw, 4.5rem);
	font-stretch: 122%;
	font-weight: 800;
	line-height: 0.98;
	letter-spacing: 0;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--x-text);
}

:is(.archive, .search) .page-header .page-title::before {
	content: "Archives";
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1.1rem;
	font-family: var(--x-body);
	font-size: 0.75rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1.4;
	color: var(--x-accent);
	background: linear-gradient(var(--x-accent), var(--x-accent)) no-repeat left center / 2.5rem 1px;
	padding-left: 3.35rem;
}

.category .page-header .page-title::before { content: "Rubrique"; }
.tag .page-header .page-title::before { content: "Mot-clé"; }
.author .page-header .page-title::before { content: "Auteur"; }
.search .page-header .page-title::before { content: "Recherche"; }

.search .page-header .page-title {
	font-size: clamp(1.6rem, 1.1rem + 2.6vw, 3rem);
}

.search .page-header .page-title span {
	color: var(--x-accent);
}

.author .page-header .page-title .avatar {
	width: 56px;
	height: 56px;
	margin-right: 1rem;
	vertical-align: middle;
	border: 1px solid var(--x-accent);
	border-radius: 50%;
}

:is(.archive, .search) .taxonomy-description,
.author .author-info {
	max-width: 46rem;
	margin-top: 1.25rem;
	font-family: var(--x-serif);
	font-size: clamp(1.2rem, 1.05rem + 0.5vw, 1.45rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.45;
	color: var(--x-muted);
}

:is(.archive, .search) .taxonomy-description p {
	margin: 0;
}

/* ==========================================================================
   GRILLE DE CARTES
   ========================================================================== */

:is(.archive, .search) .generate-columns-container,
:is(.archive, .search) .generate-columns-container:not(.masonry-container) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(2.25rem, 4vw, 3.5rem) clamp(1.25rem, 2.5vw, 2rem);
	margin: 0;
	padding: 0;
}

@media (max-width: 1024px) {
	:is(.archive, .search) .generate-columns-container {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	:is(.archive, .search) .generate-columns-container {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Neutralise les classes de colonnes de GP (float, %, padding 40px). */
:is(.archive, .search) .generate-columns-container > article {
	position: relative;
	float: none;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

:is(.archive, .search) .generate-columns-container > :is(.page-header, .featured-column, .paging-navigation) {
	grid-column: 1 / -1;
}

/* Paragraphe vide imprimé après chaque modèle. */
:is(.archive, .search) .generate-columns-container > article > p:empty {
	display: none;
}

/* --- Image 16:10 --------------------------------------------------------- */

:is(.archive, .search) .generate-columns-container article :is(.dynamic-featured-image, .post-image img) {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--x-radius);
	background: var(--x-surface);
	transition: transform 600ms var(--x-ease), filter 600ms var(--x-ease);
}

:is(.archive, .search) .generate-columns-container article :is(.gb-inside-container > a:first-child, .post-image a) {
	display: block;
	overflow: hidden;
	border-radius: var(--x-radius);
	box-shadow: inset 0 0 0 1px var(--x-line);
}

:is(.archive, .search) .generate-columns-container article:hover :is(.dynamic-featured-image, .post-image img) {
	transform: scale(1.035);
	filter: brightness(1.06);
}

/* --- Texte de la carte --------------------------------------------------- */

:is(.archive, .search) .post-summary > .gb-inside-container {
	padding: 1.15rem 0 0 !important;
}

:is(.archive, .search) .post-summary {
	font-size: 1rem !important;
}

/* Surtitre catégorie */
:is(.archive, .search) .dynamic-term-class,
.search .generate-columns-container footer.entry-meta {
	position: relative;
	z-index: 3;
	margin: 0 0 0.6rem !important;
	padding: 0 !important;
	font-family: var(--x-body);
	font-size: 0.6875rem !important;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.4 !important;
	text-transform: uppercase;
	color: var(--x-accent);
}

:is(.archive, .search) .dynamic-term-class a,
.search .generate-columns-container footer.entry-meta a {
	color: var(--x-accent) !important;
	text-decoration: none;
}

:is(.archive, .search) .dynamic-term-class a:hover,
.search .generate-columns-container footer.entry-meta a:hover {
	color: var(--x-text) !important;
}

.search .generate-columns-container footer.entry-meta .gp-icon {
	display: none;
}

/* Titre */
:is(.archive, .search) .generate-columns-container article :is(.post-summary h2.gb-headline, h2.entry-title) {
	margin: 0 0 0.7rem;
	font-family: var(--x-display);
	font-size: clamp(1.02rem, 0.95rem + 0.3vw, 1.18rem) !important;
	font-stretch: 112%;
	font-weight: 700;
	line-height: 1.22 !important;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--x-text);
}

:is(.archive, .search) .generate-columns-container article :is(.post-summary h2.gb-headline, h2.entry-title) a {
	color: var(--x-text) !important;
	text-decoration: none;
	transition: color 160ms var(--x-ease);
}

:is(.archive, .search) .generate-columns-container article:hover :is(.post-summary h2.gb-headline, h2.entry-title) a {
	color: var(--x-accent) !important;
}

/* Toute la carte est cliquable, par le lien du titre. */
:is(.archive, .search) .generate-columns-container article :is(.post-summary h2.gb-headline, h2.entry-title) a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

:is(.archive, .search) .generate-columns-container article :is(.post-summary h2.gb-headline, h2.entry-title) a:focus-visible {
	outline: none;
}

:is(.archive, .search) .generate-columns-container article :is(.post-summary h2.gb-headline, h2.entry-title) a:focus-visible::after {
	outline: 2px solid var(--x-accent);
	outline-offset: 6px;
}

/* Extrait court */
:is(.archive, .search) .generate-columns-container article :is(.dynamic-entry-excerpt, .entry-summary) {
	margin: 0;
	font-family: var(--x-body);
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 1.6;
	color: var(--x-muted);
}

:is(.archive, .search) .generate-columns-container article :is(.dynamic-entry-excerpt, .entry-summary) p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin: 0;
	overflow: hidden;
}

:is(.archive, .search) .generate-columns-container article .read-more {
	display: none;
}

/* Méta auteur / date : sans avatar, en une ligne discrète. */
:is(.archive, .search) .post-summary .inline-post-meta-area:has(.avatar) > .gb-inside-container {
	padding-top: 1rem !important;
}

:is(.archive, .search) .post-summary .inline-post-meta-area .avatar {
	display: none;
}

:is(.archive, .search) .post-summary .inline-post-meta-area .gb-grid-column > .gb-container > .gb-inside-container {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 0.6rem;
}

:is(.archive, .search) .post-summary .inline-post-meta-area p.gb-headline {
	margin: 0 !important;
	font-family: var(--x-body);
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	letter-spacing: 0.04em;
	color: var(--x-muted);
}

:is(.archive, .search) .post-summary .inline-post-meta-area p.gb-headline + p.gb-headline::before {
	content: "·";
	margin-right: 0.6rem;
	color: var(--x-accent);
}

/* --- Première carte « à la une » (Élément 1169) -------------------------- */

:is(.archive, .search) .generate-columns-container > article.featured-column > .gb-grid-wrapper {
	align-items: center;
	padding-right: 12%;
	padding-bottom: clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid var(--x-line);
}

:is(.archive, .search) .generate-columns-container > article.featured-column .post-summary > .gb-inside-container {
	padding-top: 0 !important;
}

:is(.archive, .search) .generate-columns-container > article.featured-column .post-summary h2.gb-headline {
	font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem) !important;
	font-stretch: 110%;
	font-weight: 800;
	line-height: 1.06 !important;
}

:is(.archive, .search) .generate-columns-container > article.featured-column .dynamic-entry-excerpt {
	font-family: var(--x-serif) !important;
	font-size: 1.2rem !important;
	font-style: italic;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

:is(.archive, .search) .generate-columns-container > article.featured-column .dynamic-entry-excerpt p {
	-webkit-line-clamp: 4;
}

:is(.archive, .search) .generate-columns-container > article.featured-column .gb-inside-container > a:first-child img {
	aspect-ratio: 16 / 10;
}

@media (max-width: 1024px) {
	:is(.archive, .search) .featured-column .post-summary > .gb-inside-container {
		padding-top: 1.25rem !important;
	}
}

/* --- Recherche : gabarit GP par défaut ----------------------------------- */

.search .generate-columns-container article .inside-article {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0 !important;
}

.search .generate-columns-container article .post-image {
	float: none;
	order: 0;
	margin: 0 0 1.15rem !important;
}

.search .generate-columns-container article footer.entry-meta { order: 1; }
.search .generate-columns-container article .entry-header { order: 2; }
.search .generate-columns-container article .entry-summary { order: 3; }

.search .generate-columns-container article .entry-header .entry-meta {
	margin: 0 0 0.6rem;
	font-size: 0.75rem;
	color: var(--x-muted);
}

.search .generate-columns-container article .entry-header .entry-meta a {
	color: var(--x-muted);
}

.search .generate-columns-container article .entry-header .entry-meta .byline {
	display: none;
}

/* Recherche sans résultat */
.search .no-results .inside-article {
	max-width: var(--x-measure);
	margin: 0 auto;
	padding: clamp(2rem, 6vw, 4rem) 0 !important;
}

.search .no-results .entry-title {
	margin: 0 0 1rem;
	font-family: var(--x-display);
	font-size: clamp(1.8rem, 1.2rem + 3vw, 3rem);
	font-stretch: 120%;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--x-text);
}

.search .no-results .entry-content p {
	color: var(--x-muted);
}

/* ==========================================================================
   PAGINATION — Élément 1230 (boutons GB) et pagination GP numérotée
   ========================================================================== */

:is(.archive, .search) .paging-navigation {
	margin: clamp(2.5rem, 5vw, 4rem) 0 0;
	padding: 2rem 0 0 !important;
	border-top: 1px solid var(--x-line);
}

:is(.archive, .search) .paging-navigation :is(.gb-button-wrapper, .nav-links) {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
}

:is(.archive, .search) .paging-navigation :is(a.gb-button, .page-numbers) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-width: 3rem;
	min-height: 3rem;
	margin: 0;
	padding: 0.85rem 1.6rem;
	border: 1px solid var(--x-line);
	border-radius: var(--x-radius);
	background: transparent;
	font-family: var(--x-display);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--x-text);
	transition: border-color 160ms var(--x-ease), background-color 160ms var(--x-ease), color 160ms var(--x-ease);
}

:is(.archive, .search) .paging-navigation :is(a.gb-button, a.page-numbers):hover,
:is(.archive, .search) .paging-navigation :is(a.gb-button, a.page-numbers):focus-visible {
	border-color: var(--x-accent);
	background: var(--x-accent);
	color: var(--x-accent-ink);
}

:is(.archive, .search) .paging-navigation .page-numbers.current {
	border-color: var(--x-accent);
	color: var(--x-accent);
}

:is(.archive, .search) .paging-navigation .gb-icon {
	padding: 0 !important;
}

/* ==========================================================================
   PAGES — base commune
   ========================================================================== */

.page:not(.home) .inside-article {
	padding-bottom: clamp(2.5rem, 6vw, 5rem);
}

.page:not(.home) .entry-header {
	max-width: var(--x-measure);
	margin: 0 auto clamp(1.75rem, 4vw, 3rem);
	padding-top: clamp(1rem, 4vw, 3rem);
}

.page:not(.home) .entry-header .entry-title,
.page:not(.home) .entry-content > h1:first-child {
	margin: 0;
	font-family: var(--x-display);
	font-size: clamp(2rem, 1.2rem + 3.6vw, 4rem);
	font-stretch: 120%;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--x-text);
}

.page:not(.home) .entry-header .entry-title::after {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2px;
	margin-top: 1.4rem;
	background: var(--x-accent);
}

/* Colonne de lecture centrée ; les blocs larges respirent davantage. */
.page:not(.home) .entry-content {
	font-family: var(--x-body);
	font-size: clamp(1.0625rem, 0.97rem + 0.3vw, 1.1875rem);
	font-weight: 300;
	line-height: 1.7;
	color: var(--x-text);
	overflow-wrap: break-word;
}

.page:not(.home) .entry-content > * {
	max-width: var(--x-measure);
	margin-left: auto;
	margin-right: auto;
}

.page:not(.home) .entry-content > * + * {
	margin-top: 1.4em;
}

.page:not(.home) .entry-content > :is(figure, .wp-block-table, .wp-block-image, .wp-block-columns, .wp-block-group, .wp-block-cover, .alignwide, [class*="gp-lead"], [class*="gp-encart"]) {
	max-width: var(--x-wide);
}

.page:not(.home) .entry-content > .alignfull {
	max-width: none;
}

.page:not(.home) .entry-content > :is([class*="gp-lead"], [class*="gp-encart"]) {
	clear: both;
	margin-top: clamp(2.5rem, 5vw, 4rem);
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.page:not(.home) .entry-content > :is([class*="gp-lead"], [class*="gp-encart"]) + * {
	margin-top: 0;
}

.page:not(.home) .entry-content > p {
	margin-bottom: 0;
}

.page:not(.home) .entry-content > p:empty {
	display: none;
}

.page:not(.home) .entry-content strong {
	font-weight: 600;
	color: var(--x-text);
}

.page:not(.home) .entry-content a:not(.gb-button):not(.wp-block-button__link):not(:is([class*="gp-lead"], [class*="gp-encart"], .wpcf7) *) {
	color: var(--x-text);
	text-decoration: underline;
	text-decoration-color: var(--x-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition: color 160ms var(--x-ease);
}

.page:not(.home) .entry-content a:not(.gb-button):not(.wp-block-button__link):not(:is([class*="gp-lead"], [class*="gp-encart"], .wpcf7) *):hover {
	color: var(--x-accent);
	text-decoration-thickness: 2px;
}

/* Chapeau */
.page:not(.home) .entry-content > h1:first-child + p,
.page:not(.home) .entry-content > p:first-child {
	font-family: var(--x-serif);
	font-size: 1.45em;
	font-style: italic;
	font-weight: 500;
	line-height: 1.42;
	color: var(--x-text);
}

.page:not(.home) .entry-content > h1:first-child + p {
	margin-top: 1.75rem;
}

/* --- Titres -------------------------------------------------------------- */

.page:not(.home) .entry-content h2 {
	position: relative;
	margin-top: clamp(3rem, 6vw, 4.5rem);
	margin-bottom: 1.25rem;
	padding-top: 1.4rem;
	border: 0;
	font-family: var(--x-display);
	font-size: clamp(1.4rem, 1.05rem + 1.4vw, 2.1rem);
	font-stretch: 115%;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: 0.005em;
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--x-text);
}

.page:not(.home) .entry-content h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 2.5rem;
	height: 2px;
	background: var(--x-accent);
}

.page:not(.home) .entry-content h3 {
	margin-top: 2.4rem;
	margin-bottom: 0.75rem;
	font-family: var(--x-display);
	font-size: clamp(1.1rem, 1rem + 0.45vw, 1.35rem);
	font-stretch: 108%;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	color: var(--x-text);
}

.page:not(.home) .entry-content h4 {
	margin-top: 2rem;
	margin-bottom: 0.5rem;
	font-family: var(--x-body);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--x-accent);
}

.page:not(.home) .entry-content h2 + h3 {
	margin-top: 1.5rem;
}

.page:not(.home) .entry-content :is(h2, h3)[id] {
	scroll-margin-top: 6rem;
}

/* --- Listes -------------------------------------------------------------- */

.page:not(.home) .entry-content > :is(ul, ol) {
	margin-bottom: 0;
	padding-left: 0;
}

.page:not(.home) .entry-content > ul {
	list-style: none;
}

.page:not(.home) .entry-content > ul > li {
	position: relative;
	margin: 0 0 0.6em;
	padding-left: 1.6rem;
}

.page:not(.home) .entry-content > ul > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.85em;
	width: 0.75rem;
	height: 1px;
	background: var(--x-accent);
}

.page:not(.home) .entry-content > ol:not(:has(a[href^="#"])) {
	padding-left: 1.4rem;
}

.page:not(.home) .entry-content > ol:not(:has(a[href^="#"])) > li {
	margin: 0 0 0.6em;
	padding-left: 0.4rem;
}

.page:not(.home) .entry-content > ol:not(:has(a[href^="#"])) > li::marker {
	font-family: var(--x-display);
	font-weight: 700;
	color: var(--x-accent);
}

/* --- Sommaire : « h2 Sommaire » + liste d'ancres -------------------------- */

.page:not(.home) .entry-content > h2:has(+ ol a[href^="#"]) {
	margin-top: clamp(2.5rem, 5vw, 3.5rem);
	margin-bottom: 0;
	padding: 1.5rem 1.75rem 0;
	border: 1px solid var(--x-line);
	border-top: 2px solid var(--x-accent);
	border-bottom: 0;
	background: var(--x-surface);
	font-family: var(--x-body);
	font-size: 0.75rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0.22em;
	color: var(--x-accent);
}

.page:not(.home) .entry-content > h2:has(+ ol a[href^="#"])::before {
	content: none;
}

.page:not(.home) .entry-content > ol:has(a[href^="#"]) {
	padding: 0.75rem 1.75rem 1.4rem;
	border: 1px solid var(--x-line);
	border-top: 0;
	background: var(--x-surface);
	list-style: none;
	counter-reset: gp-toc;
	font-size: 0.9375rem;
}

.page:not(.home) .entry-content > h2:has(+ ol a[href^="#"]) + ol {
	margin-top: 0;
}

/* Liste d'ancres sans titre au-dessus */
.page:not(.home) .entry-content > :not(h2) + ol:has(a[href^="#"]) {
	padding-top: 1.4rem;
	border-top: 2px solid var(--x-accent);
}

@media (min-width: 768px) {
	.page:not(.home) .entry-content > ol:has(a[href^="#"]) {
		columns: 2;
		column-gap: 2.5rem;
	}
}

.page:not(.home) .entry-content > ol:has(a[href^="#"]) > li {
	counter-increment: gp-toc;
	position: relative;
	margin: 0;
	padding: 0.55rem 0 0.55rem 2.4rem;
	border-bottom: 1px solid var(--x-line);
	line-height: 1.45;
	break-inside: avoid;
}

.page:not(.home) .entry-content > ol:has(a[href^="#"]) > li::before {
	content: counter(gp-toc, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0.65rem;
	font-family: var(--x-display);
	font-size: 0.8rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--x-accent);
}

.page:not(.home) .entry-content > ol:has(a[href^="#"]) > li > a {
	color: var(--x-text) !important;
	text-decoration: none !important;
}

.page:not(.home) .entry-content > ol:has(a[href^="#"]) > li > a:hover {
	color: var(--x-accent) !important;
}

/* --- Tableaux ------------------------------------------------------------ */

.page:not(.home) .entry-content :is(.wp-block-table, div:has(> table)) {
	margin-top: 2.25rem;
	margin-bottom: 2.25rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--x-line);
	border-radius: var(--x-radius);
	background: var(--x-surface);
	scrollbar-color: var(--x-accent) var(--x-surface);
}

.page:not(.home) .entry-content table {
	width: 100%;
	min-width: 32rem;
	margin: 0;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	border-spacing: 0;
	overflow: visible;
	table-layout: auto;
	font-size: 0.875em;
	line-height: 1.55;
	font-variant-numeric: tabular-nums;
	color: var(--x-text);
	background: transparent;
}

.page:not(.home) .entry-content > table {
	display: block;
	overflow-x: auto;
	border: 1px solid var(--x-line);
	background: var(--x-surface);
}

.page:not(.home) .entry-content :is(thead th, tbody > tr:first-child:has(> th + th) > th) {
	padding: 0.95rem 1.1rem;
	border: 0;
	border-bottom: 1px solid var(--x-accent);
	background: var(--x-surface-2);
	font-family: var(--x-display);
	font-size: 0.72rem;
	font-stretch: 110%;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: left;
	vertical-align: bottom;
	color: var(--x-accent);
}

.page:not(.home) .entry-content :is(td, tbody th[scope="row"]) {
	padding: 0.85rem 1.1rem;
	border: 0;
	border-top: 1px solid var(--x-line);
	background: transparent;
	text-align: left;
	vertical-align: top;
	color: var(--x-text);
}

.page:not(.home) .entry-content tbody :is(td:first-child, th[scope="row"]) {
	font-weight: 500;
}

.page:not(.home) .entry-content tbody tr:nth-child(even) > :is(td, th) {
	background: rgba(255, 255, 255, 0.025);
}

.page:not(.home) .entry-content tbody tr:hover > td {
	background: rgba(184, 146, 90, 0.07);
}

.page:not(.home) .entry-content .wp-block-table figcaption {
	padding: 0.75rem 1.1rem;
	font-size: 0.8125rem;
	color: var(--x-muted);
}

/* --- Citations, images, boutons ----------------------------------------- */

.page:not(.home) .entry-content blockquote {
	margin-top: 3rem;
	margin-bottom: 3rem;
	padding: 0.5rem 0 0.5rem 2rem;
	border: 0;
	border-left: 1px solid var(--x-accent);
	border-radius: 0;
	background: none;
	font-family: var(--x-serif);
	font-size: 1.55em;
	font-style: italic;
	font-weight: 500;
	line-height: 1.36;
	color: var(--x-text);
}

.page:not(.home) .entry-content blockquote p {
	margin: 0;
}

.page:not(.home) .entry-content blockquote cite {
	display: block;
	margin-top: 0.85rem;
	font-family: var(--x-body);
	font-size: 0.75rem;
	font-style: normal;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--x-accent);
}

.page:not(.home) .entry-content img {
	max-width: 100%;
	height: auto;
	border-radius: var(--x-radius);
}

.page:not(.home) .entry-content figcaption {
	margin-top: 0.75rem;
	font-size: 0.8125rem;
	color: var(--x-muted);
}

.page:not(.home) .entry-content .wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.page:not(.home) .entry-content .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	padding: 1rem 1.75rem;
	border: 1px solid var(--x-accent);
	border-radius: var(--x-radius);
	background: var(--x-accent);
	font-family: var(--x-display);
	font-size: 0.8125rem;
	font-stretch: 110%;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--x-accent-ink);
	transition: background-color 160ms var(--x-ease), color 160ms var(--x-ease);
}

.page:not(.home) .entry-content .wp-block-button__link:hover,
.page:not(.home) .entry-content .wp-block-button__link:focus-visible {
	background: transparent;
	color: var(--x-accent);
}

.page:not(.home) .entry-content .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--x-text);
	border-color: var(--x-line);
}

.page:not(.home) .entry-content .is-style-outline .wp-block-button__link:hover,
.page:not(.home) .entry-content .is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--x-accent);
	color: var(--x-accent);
}

/* ==========================================================================
   PAGES D'ATTERRISSAGE — pages avec image à la une (marques, modèles…)
   L'image passe en plein cadre sous l'en-tête, le titre (h1 du contenu ou
   .entry-header) vient mordre sur son bas, au-dessus d'un dégradé sombre.
   ========================================================================== */

body.page:not(.home):has(.page-header-image) {
	overflow-x: clip;
}

.page:not(.home):has(.inside-article > .page-header-image) .site-content {
	padding-top: 0;
}

.page:not(.home) .inside-article:has(> .page-header-image) {
	display: flex;
	flex-direction: column;
	padding-top: 0;
}

.page:not(.home) .inside-article > .page-header-image {
	order: -1;
	position: relative;
	width: 100vw;
	max-width: none;
	margin: 0 0 0 calc(50% - 50vw) !important;
	padding: 0;
	text-align: left;
}

.page:not(.home) .inside-article > .page-header-image img {
	display: block;
	width: 100%;
	height: clamp(300px, 64vh, 700px);
	object-fit: cover;
	object-position: center 55%;
}

.page:not(.home) .inside-article > .page-header-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(0deg, rgba(13, 13, 15, 1) 0%, rgba(13, 13, 15, 0.85) 22%, rgba(13, 13, 15, 0.25) 58%, rgba(13, 13, 15, 0.45) 100%),
		linear-gradient(90deg, rgba(13, 13, 15, 0.55) 0%, rgba(13, 13, 15, 0) 70%);
	pointer-events: none;
}

/* Titre qui mord sur l'image — deux balisages. */
.page:not(.home) .inside-article:has(> .page-header-image) > .entry-header,
.page:not(.home) .inside-article:has(> .page-header-image) > .entry-content > h1:first-child {
	position: relative;
	z-index: 1;
	margin-top: calc(-1 * clamp(5.5rem, 15vh, 9.5rem));
}

/* Titre et chapeau s'alignent sur le bord gauche de la colonne large. */
.page:not(.home) .inside-article:has(> .page-header-image) > .entry-header,
.page:not(.home) .inside-article:has(> .page-header-image) > .entry-content > h1:first-child {
	max-width: none;
	margin-left: max(0px, calc((100% - var(--x-wide)) / 2));
	margin-right: 0;
	margin-bottom: 0;
	padding-top: 0;
}

.page:not(.home) .inside-article:has(> .page-header-image) :is(.entry-header .entry-title, .entry-content > h1:first-child) {
	max-width: 22ch;
	font-size: clamp(2rem, 1rem + 4.4vw, 4.6rem);
	font-stretch: 125%;
	line-height: 0.98;
}

.page:not(.home) .inside-article:has(> .page-header-image) :is(.entry-header .entry-title, .entry-content > h1:first-child)::before {
	content: "Sport & prestige";
	display: flex;
	align-items: center;
	margin-bottom: 1.1rem;
	padding-left: 3.35rem;
	background: linear-gradient(var(--x-accent), var(--x-accent)) no-repeat left center / 2.5rem 1px;
	font-family: var(--x-body);
	font-size: 0.75rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0.22em;
	line-height: 1.4;
	color: var(--x-accent);
}

.page:not(.home) .inside-article:has(> .page-header-image) .entry-header .entry-title::after {
	content: none;
}

/* Le chapeau s'aligne sur la colonne large, avec un filet or. */
.page:not(.home) .inside-article:has(> .page-header-image) > .entry-content > :is(h1:first-child + p, p:first-child) {
	max-width: var(--x-wide);
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
	padding-bottom: clamp(2rem, 4vw, 3rem);
	border-bottom: 1px solid var(--x-line);
}


.page:not(.home) .inside-article:has(> .page-header-image) > .entry-content > p:first-child {
	margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.page:not(.home) .inside-article:has(> .page-header-image) > .entry-content {
	margin-top: 0;
}

/* Sur ces pages, la section sommaire s'élargit en carte à deux colonnes. */
.page:not(.home) .inside-article:has(> .page-header-image) .entry-content > h2:has(+ ol a[href^="#"]),
.page:not(.home) .inside-article:has(> .page-header-image) .entry-content > h2:has(+ ol a[href^="#"]) + ol {
	max-width: var(--x-wide);
}

@media (max-width: 768px) {
	.page:not(.home) .inside-article > .page-header-image img {
		height: clamp(260px, 52vh, 420px);
	}
}

/* ==========================================================================
   CONTACT FORM 7 — /contact/
   ========================================================================== */

.page:not(.home) .entry-content > .wpcf7 {
	max-width: var(--x-measure);
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px solid var(--x-line);
	border-top: 2px solid var(--x-accent);
	border-radius: var(--x-radius);
	background: var(--x-surface);
}

.page:not(.home) .wpcf7 form > p {
	margin: 0 0 1.4rem;
}

.page:not(.home) .wpcf7 label {
	display: block;
	font-family: var(--x-body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--x-muted);
}

.page:not(.home) .wpcf7 label br {
	display: none;
}

.page:not(.home) .wpcf7 .wpcf7-form-control-wrap {
	display: block;
	margin-top: 0.55rem;
}

.page:not(.home) .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) {
	display: block;
	width: 100%;
	padding: 0.9rem 1rem;
	border: 1px solid var(--x-line);
	border-radius: var(--x-radius);
	background: var(--x-bg);
	font-family: var(--x-body);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--x-text);
	transition: border-color 160ms var(--x-ease);
}

.page:not(.home) .wpcf7 textarea {
	min-height: 10rem;
	resize: vertical;
}

.page:not(.home) .wpcf7 :is(input, select, textarea):hover {
	border-color: #45454e;
}

.page:not(.home) .wpcf7 :is(input, select, textarea):focus {
	border-color: var(--x-accent);
	background: var(--x-bg);
	color: var(--x-text);
	outline: 2px solid var(--x-accent);
	outline-offset: 1px;
}

.page:not(.home) .wpcf7 ::placeholder {
	color: var(--x-muted);
	opacity: 1;
}

.page:not(.home) .wpcf7 input[type="submit"] {
	display: inline-flex;
	padding: 1rem 2.25rem;
	border: 1px solid var(--x-accent);
	border-radius: var(--x-radius);
	background: var(--x-accent);
	font-family: var(--x-display);
	font-size: 0.8125rem;
	font-stretch: 110%;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--x-accent-ink);
	cursor: pointer;
	transition: background-color 160ms var(--x-ease), color 160ms var(--x-ease);
}

.page:not(.home) .wpcf7 input[type="submit"]:hover,
.page:not(.home) .wpcf7 input[type="submit"]:focus-visible {
	background: transparent;
	color: var(--x-accent);
}

.page:not(.home) .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 0.4rem;
	font-size: 0.8125rem;
	letter-spacing: 0;
	text-transform: none;
	color: #ff8a98;
}

.page:not(.home) .wpcf7 :is(input, textarea)[aria-invalid="true"] {
	border-color: var(--x-red);
}

.page:not(.home) .wpcf7 form .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--x-line);
	border-left: 2px solid var(--x-accent);
	border-radius: var(--x-radius);
	font-size: 0.875rem;
	color: var(--x-text);
}

.page:not(.home) .wpcf7 form:is(.invalid, .unaccepted, .failed, .aborted, .spam) .wpcf7-response-output {
	border-left-color: var(--x-red);
}

.page:not(.home) .wpcf7 form.sent .wpcf7-response-output {
	border-left-color: #6fbf8a;
}

/* ==========================================================================
   Accessibilité — mouvements réduits
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	:is(.archive, .search, .page:not(.home)) *,
	:is(.archive, .search, .page:not(.home)) *::before,
	:is(.archive, .search, .page:not(.home)) *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}

	:is(.archive, .search) .generate-columns-container article:hover :is(.dynamic-featured-image, .post-image img) {
		transform: none;
	}
}

/* Tableaux : pas de coupure de mot (hérité de overflow-wrap) ni du filet
   épais que WordPress pose sous le <thead> des blocs tableau. */
.page:not(.home) .entry-content table {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

.page:not(.home) .entry-content .wp-block-table thead {
	border-bottom: 0;
}

.page:not(.home) .entry-content .wp-block-table :is(td, th) {
	border-left: 0;
	border-right: 0;
}
