/*
Theme Name: Jour Deux
Theme URI: https://jour-deux.fr
Author: Jour Deux
Description: Thème de blocs léger de Jour Deux — équipements de récupération sportive. Identité piste 3 « Le lettrage ». Les données commerciales vivent dans l’extension jour-deux-core.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jour-deux
*/

/* =====================================================================
   Système « Terrain », version 3 (27 septembre 2026)
   Porté depuis la maquette d'accueil validée (design/maquette-accueil).
   Un seul rail, des bandes pleine largeur, des photos qui touchent le bord.
   Préfixe « t- » : composants de mise en page. Préfixe « jd- » : sorties
   de l'extension jour-deux-core, restylées ici.
   ===================================================================== */

@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(assets/fonts/ibm-plex-mono-latin-500.woff2) format("woff2");
}
@font-face {
	font-family: "IBM Plex Mono";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url(assets/fonts/ibm-plex-mono-latin-600.woff2) format("woff2");
}

:root {
	--foret: #17211D;
	--craie: #F4F2EA;
	--mineral: #DCE5DF;
	--citron: #D7F34A;
	--blanc: #FFFFFF;
	--encre: rgba(23, 33, 29, 0.92);
	--doux: rgba(23, 33, 29, 0.66);
	--ligne: rgba(23, 33, 29, 0.14);
	--ligne-moyenne: rgba(23, 33, 29, 0.22);
	--ligne-forte: rgba(23, 33, 29, 0.9);
	--craie-douce: rgba(244, 242, 234, 0.8);
	--craie-ligne: rgba(244, 242, 234, 0.22);
	--rail: 75rem;
	--lecture: 42rem;
	--marge: clamp(1rem, 4vw, 3rem);
	--section: clamp(3.5rem, 7vw, 6rem);
	--gouttiere: clamp(1.25rem, 2.4vw, 2rem);
	--sans: "Manrope", "Segoe UI", system-ui, sans-serif;
	--mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
html, body { overflow-x: clip; }
body {
	margin: 0;
	background: var(--craie);
	color: var(--encre);
	font-family: var(--sans);
	font-size: 1.0625rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--foret); outline-offset: 3px; }
:where(.t-sombre, .t-hero, .t-photo-bande, .t-pied, .jd-footer) :where(a, button, summary):focus-visible { outline-color: var(--citron); }
h1, h2, h3, h4 { color: var(--foret); font-weight: 800; letter-spacing: -0.03em; text-wrap: balance; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* Le contenu d'une page est une pile de bandes : aucune marge héritée entre elles. */
.t-main { margin: 0 !important; padding: 0 !important; }
.t-main > *, .t-contenu > *, .t-contenu > .wp-block-group, .t-rail > *, .t-bande > * { margin-block: 0; }
.t-contenu { margin: 0 !important; }

/* ---------- Rail et bandes ---------- */
.t-rail { box-sizing: border-box; width: 100%; max-width: calc(var(--rail) + 2 * var(--marge)); margin-inline: auto !important; padding-inline: var(--marge); }
.t-bande { padding-block: var(--section); }
.t-bande--serre { padding-block: clamp(2rem, 4vw, 3rem); }
.t-bande--haut-nul { padding-top: 0 !important; }
.t-bande--bas-nul { padding-bottom: 0 !important; }
.t-bande--blanc { background: var(--blanc); }
.t-bande--mineral { background: var(--mineral); }
.t-bande--craie { background: var(--craie); }
.t-sombre { background: var(--foret); color: var(--craie); }
.t-sombre h2, .t-sombre h3, .t-sombre h4 { color: var(--craie); }
.t-filet-haut { border-top: 1px solid var(--ligne); }

/* ---------- Boutons et liens ---------- */
.t-bouton, .wp-block-button__link, .wp-element-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
	box-sizing: border-box; min-height: 3.1rem; padding: 0.85rem 1.5rem;
	border: 2px solid var(--foret) !important; border-radius: 0 !important;
	background: var(--citron) !important; color: var(--foret) !important;
	font-family: var(--sans); font-weight: 800; font-size: 0.98rem; line-height: 1.2; letter-spacing: 0;
	text-decoration: none !important; text-align: center; cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}
.t-bouton:hover, .wp-block-button__link:hover, .wp-element-button:hover { background: var(--foret) !important; color: var(--citron) !important; }
.t-bouton--creux, .is-style-outline > .wp-block-button__link { background: transparent !important; }
.t-bouton--creux:hover, .is-style-outline > .wp-block-button__link:hover { background: var(--foret) !important; color: var(--craie) !important; }
:where(.t-sombre, .t-hero, .t-photo-bande) .t-bouton--creux { color: var(--craie) !important; border-color: var(--craie) !important; }
:where(.t-sombre, .t-hero, .t-photo-bande) .t-bouton--creux:hover { background: var(--craie) !important; color: var(--foret) !important; }
.t-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.t-lien {
	font-weight: 800; text-decoration: none;
	background-image: linear-gradient(var(--citron), var(--citron)); background-repeat: no-repeat;
	background-size: 100% 0.36em; background-position: 0 88%;
	transition: background-size 0.15s ease;
}
.t-lien:hover { background-size: 100% 100%; }
.t-sombre .t-lien { color: var(--craie); background-image: linear-gradient(rgba(215, 243, 74, 0.55), rgba(215, 243, 74, 0.55)); }
.t-sombre .t-lien:hover { color: var(--foret); background-image: linear-gradient(var(--citron), var(--citron)); }
.t-suite { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; align-items: center; margin-top: clamp(1.75rem, 3vw, 2.5rem) !important; }

/* ---------- Libellés et en-têtes de section ---------- */
.t-label {
	display: flex; align-items: center; gap: 0.6rem; margin: 0;
	font-family: var(--mono); font-size: 0.76rem; font-weight: 600; line-height: 1.3;
	text-transform: uppercase; letter-spacing: 0.1em; color: var(--doux);
}
.t-label::before { content: ""; flex: 0 0 auto; width: 0.7rem; height: 0.7rem; background: var(--citron); outline: 1px solid var(--foret); }
.t-sombre .t-label, .t-hero .t-label, .t-photo-bande .t-label { color: var(--craie-douce); }
.t-sombre .t-label::before { outline-color: var(--citron); }
.t-sec-tete { display: grid; gap: 0.9rem; padding-top: 1.1rem; border-top: 2px solid var(--ligne-forte); margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
.t-sombre .t-sec-tete { border-top-color: var(--citron); }
.t-sec-ligne { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.75rem 2rem; }
.t-sec-ligne h2, .t-sec-tete h2 { margin: 0; font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.04; max-width: 22ch; }
.t-sec-intro { margin: 0; max-width: 62ch; font-size: 1.125rem; color: var(--doux); }
.t-sombre .t-sec-intro { color: var(--craie-douce); }
.t-mention { margin: clamp(1.5rem, 3vw, 2.25rem) 0 0; font-size: 0.92rem; color: var(--doux); max-width: 70ch; }
.t-credit { position: absolute; right: var(--marge); bottom: 0.9rem; margin: 0; font-family: var(--mono); font-size: 0.68rem; color: var(--craie-douce); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }

/* =====================================================================
   EN-TÊTE ET PIED DE PAGE
   ===================================================================== */
.jd-header { background: var(--craie); border-bottom: 1px solid var(--ligne); padding: 0 !important; position: relative; z-index: 20; }
.jd-header > .t-rail { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 0.9rem; }
.jd-logo { display: inline-block; line-height: 0; padding: 0.35rem 0; }
.jd-logo img { width: 124px; height: auto; display: block; }
@media (max-width: 480px) { .jd-logo img { width: 108px; } }
.jd-header .wp-block-navigation { gap: clamp(1rem, 2.2vw, 2rem); }
.jd-header .wp-block-navigation a { font-size: 0.95rem; font-weight: 500; color: var(--foret); text-decoration: none; padding-block: 0.4rem; }
.jd-header .wp-block-navigation a:hover,
.jd-header .wp-block-navigation a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.35em; }
.jd-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--craie) !important; border: 0 !important; border-top: 3px solid var(--citron) !important;
	box-shadow: 0 18px 40px rgba(23, 33, 29, 0.14); padding: 0.6rem 0 !important; min-width: 16rem !important;
}
.jd-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 0.55rem 1.25rem !important; font-weight: 600; }
.jd-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: var(--mineral); text-decoration: none; }
.jd-header__cta.t-bouton { min-height: 0; padding: 0.6rem 1rem; font-size: 0.9rem; white-space: nowrap; }
@media (max-width: 62rem) { .jd-header__cta { display: none !important; } }
/* Menu mobile (surcouche plein écran) : logo, rubriques en accordéon, deux actions. */
.jd-header .wp-block-navigation__responsive-container-open,
.jd-header .wp-block-navigation__responsive-container-close {
	min-width: 44px; min-height: 44px; align-items: center; justify-content: center; gap: 0.45rem;
	border: 2px solid var(--foret); border-radius: 0; padding: 0 0.8rem; color: var(--foret); background: transparent;
}
@media (max-width: 599px) { .jd-header .wp-block-navigation__responsive-container-open { display: inline-flex; } }
.jd-header .wp-block-navigation__responsive-container-open::after { content: "Menu"; font-weight: 700; font-size: 0.95rem; }
.jd-header .wp-block-navigation__responsive-container-open:active,
.jd-header .wp-block-navigation__responsive-container-close:active { background: var(--citron); }

.jd-header .wp-block-navigation__responsive-container.is-menu-open { padding: 0 !important; background: var(--craie) !important; overflow-y: auto; }
.jd-header .is-menu-open .wp-block-navigation__responsive-close { max-width: none; width: 100%; }
.jd-header .is-menu-open .wp-block-navigation__responsive-dialog { position: relative; margin: 0 !important; padding: 0 var(--marge, 1rem) 2rem; }
/* Barre du haut : même logo et même hauteur que l'en-tête. */
.jd-header .is-menu-open .wp-block-navigation__responsive-dialog::before {
	content: ""; display: block; height: 4.6rem; border-bottom: 2px solid var(--foret);
	background: url(assets/images/logo-foret-320.webp) no-repeat left center / 108px auto;
}
.jd-header .is-menu-open .wp-block-navigation__responsive-container-close {
	display: inline-flex; position: absolute; top: 0.8rem; right: var(--marge, 1rem); left: auto;
}
.jd-header .is-menu-open .wp-block-navigation__responsive-container-close::after { content: "Fermer"; font-weight: 700; font-size: 0.95rem; }
.jd-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 20px; height: 20px; }

.jd-header .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; align-items: stretch !important; }
.jd-header .is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch !important; justify-content: flex-start !important; gap: 0 !important; }
.jd-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative; width: 100%; display: flex; flex-direction: column; align-items: stretch !important; border-bottom: 1px solid var(--ligne-moyenne, var(--ligne));
}
.jd-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: flex; align-items: center; min-height: 3.75rem; padding: 0 3.75rem 0 0 !important;
	font-size: 1.5rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.1; text-decoration: none;
}
.jd-header .is-menu-open .wp-block-navigation-item__content[aria-current="page"] { text-decoration: none; box-shadow: inset 0 -0.3em 0 var(--citron); }

/* Accordéon : ajouté par assets/menu.js ; sans script, tout reste visible. */
.jd-nav-toggle { display: none; }
.jd-header .is-menu-open .jd-nav-toggle {
	display: flex; align-items: center; justify-content: center; position: absolute; top: 0.45rem; right: 0;
	width: 2.9rem; height: 2.9rem; padding: 0; background: var(--craie); color: var(--foret); border: 2px solid var(--foret); border-radius: 0; cursor: pointer; z-index: 2;
}
.jd-nav-toggle::before { content: ""; width: 0.6rem; height: 0.6rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-0.15rem) rotate(45deg); transition: transform 0.2s ease; }
.jd-header .is-menu-open .jd-ouvert > .jd-nav-toggle { background: var(--citron); }
.jd-ouvert > .jd-nav-toggle::before { transform: translateY(0.15rem) rotate(-135deg); }
.jd-header .is-menu-open .jd-accordeon:not(.jd-ouvert) > .wp-block-navigation__submenu-container { display: none !important; }
.jd-header .is-menu-open .wp-block-navigation__submenu-container {
	display: flex !important; flex-direction: column; gap: 0 !important; width: 100%;
	padding: 0 0 1rem !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important;
}
.jd-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { width: 100%; }
.jd-header .is-menu-open .wp-block-navigation__submenu-container a {
	display: flex; align-items: center; width: 100%; min-height: 2.9rem; padding: 0 0 0 1rem !important;
	font-size: 1.05rem !important; font-weight: 500 !important; letter-spacing: 0; border-left: 2px solid var(--ligne-moyenne, var(--ligne)) !important;
}
.jd-header .is-menu-open .wp-block-navigation__submenu-container a[aria-current="page"] { border-left: 3px solid var(--foret) !important; font-weight: 700 !important; text-decoration: none; background: var(--mineral); }
.jd-header .is-menu-open .wp-block-navigation__submenu-container a:hover { background: transparent; border-left-color: var(--foret); }

/* Deux actions en bas du menu (masquées sur ordinateur : le bouton d'en-tête suffit). */
.jd-header .wp-block-navigation-item.jd-nav-cta { display: none; }
.jd-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item.jd-nav-cta { display: flex; border-bottom: 0; margin-top: 0.75rem; }
.jd-header .is-menu-open .wp-block-navigation__container > .jd-nav-cta:first-of-type,
.jd-header .is-menu-open .wp-block-navigation__container > .jd-nav-cta:not(.jd-nav-cta--creux) { margin-top: 1.75rem; }
.jd-header .is-menu-open .wp-block-navigation__container > .jd-nav-cta > .wp-block-navigation-item__content {
	justify-content: center; min-height: 3.25rem; padding: 0 1rem !important; font-size: 1.02rem; font-weight: 700; letter-spacing: 0;
	background: var(--citron); border: 2px solid var(--foret);
}
.jd-header .is-menu-open .wp-block-navigation__container > .jd-nav-cta--creux > .wp-block-navigation-item__content { background: transparent; }

/* Le bandeau de mesure ne recouvre pas le menu ouvert. */
.has-modal-open .jd-consent { display: none !important; }

.jd-footer { background: var(--foret); color: var(--craie-douce); padding: clamp(3rem, 6vw, 5rem) 0 2rem !important; font-size: 0.95rem; margin: 0 !important; }
.jd-footer a { color: var(--craie); text-decoration: none; }
.jd-footer a:hover { text-decoration: underline; text-underline-offset: 0.25em; }
.t-pied__haut { display: grid; grid-template-columns: minmax(0, 1.3fr) repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); padding-bottom: 2.5rem; border-bottom: 1px solid var(--craie-ligne); }
.t-pied__marque { display: grid; gap: 1rem; align-content: start; }
.t-pied__marque img { width: 132px; height: auto; }
.t-pied__marque p { margin: 0; }
.t-pied__marque strong { color: var(--craie); }
.jd-footer h2 { margin: 0 0 0.9rem; font-family: var(--mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--citron); }
.jd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.jd-footer .jd-cond-link { margin: 0; }
.t-pied__bas { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; font-size: 0.86rem; }
.t-pied__bas p { max-width: 70ch; margin: 0; }
@media (max-width: 62rem) { .t-pied__haut { grid-template-columns: repeat(2, minmax(0, 1fr)); } .t-pied__marque { grid-column: 1 / -1; } }

/* Fil d'Ariane */
.jd-breadcrumb ol, .t-ariane ol { display: flex; flex-wrap: wrap; gap: 0.35rem 0.6rem; list-style: none; margin: 0; padding: 0; font-size: 0.86rem; color: var(--doux); }
.jd-breadcrumb li + li::before, .t-ariane li + li::before { content: "/"; margin-right: 0.6rem; opacity: 0.5; }
.jd-breadcrumb a, .t-ariane a { text-decoration: none; }
.jd-breadcrumb a:hover, .t-ariane a:hover { text-decoration: underline; }

/* =====================================================================
   ACCUEIL (et bandeau photo réutilisable)
   ===================================================================== */
.t-hero { position: relative; isolation: isolate; color: var(--craie); background: var(--foret); overflow: hidden; }
.t-hero__photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100% !important; object-fit: cover; object-position: 50% 58%; }
.t-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(23, 33, 29, 0.9) 0%, rgba(23, 33, 29, 0.72) 38%, rgba(23, 33, 29, 0.15) 72%, rgba(23, 33, 29, 0.05) 100%); }
.t-hero > .t-rail { display: flex; align-items: flex-end; min-height: clamp(30rem, 66vh, 42rem); padding-block: clamp(3rem, 7vw, 5.5rem); }
.t-hero__texte { max-width: 38rem; display: grid; gap: 1.25rem; }
.t-hero__label { margin: 0; font-family: var(--mono); font-size: 0.78rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--citron); }
.t-hero h1 { margin: 0; color: var(--craie); font-size: clamp(2.6rem, 6.4vw, 5rem); line-height: 0.96; letter-spacing: -0.045em; }
.t-hero__chapeau { margin: 0; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.5; color: var(--craie-douce); max-width: 34rem; }
.t-hero .t-actions { margin-top: 0.5rem; }
@media (max-width: 44rem) {
	.t-hero::before { background: linear-gradient(0deg, rgba(23, 33, 29, 0.92) 0%, rgba(23, 33, 29, 0.7) 55%, rgba(23, 33, 29, 0.25) 100%); }
	.t-hero > .t-rail { min-height: 34rem; }
}

.t-reperes { background: var(--craie); border-bottom: 1px solid var(--ligne); }
.t-reperes ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.t-reperes li { padding: 1.6rem 1.25rem 1.6rem 0; border-right: 1px solid var(--ligne); }
.t-reperes li + li { padding-left: 1.25rem; }
.t-reperes li:last-child { border-right: 0; }
.t-reperes a, .t-reperes li > div { display: grid; gap: 0.25rem; text-decoration: none; }
.t-reperes strong { font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--foret); }
.t-reperes span { font-size: 0.92rem; color: var(--doux); line-height: 1.4; }
.t-reperes a:hover span { color: var(--foret); text-decoration: underline; text-underline-offset: 0.25em; }
.t-reperes--texte strong { font-size: 1.05rem; letter-spacing: -0.01em; line-height: 1.3; }
@media (max-width: 48rem) {
	.t-reperes ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t-reperes li:nth-child(2) { border-right: 0; }
	.t-reperes li:nth-child(n+3) { border-top: 1px solid var(--ligne); }
	.t-reperes li:nth-child(3) { padding-left: 0; }
}
@media (max-width: 30rem) { .t-reperes--texte ul { grid-template-columns: 1fr; } .t-reperes--texte li { border-right: 0 !important; padding-left: 0 !important; border-top: 1px solid var(--ligne); } .t-reperes--texte li:first-child { border-top: 0; } }

.t-sommaire { background: var(--craie); }
.t-sommaire > .t-rail { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem 1.5rem; padding-block: 1.4rem; }
.t-sommaire p { margin: 0 0.5rem 0 0; font-family: var(--mono); font-size: 0.76rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--doux); }
.t-sommaire a { font-size: 0.95rem; font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--citron); padding-bottom: 0.1rem; }
.t-sommaire a:hover { border-bottom-color: var(--foret); }

/* Grille bord à bord : les colonnes 1 et 4 absorbent les marges. */
.t-bord { display: grid; grid-template-columns: minmax(var(--marge), 1fr) minmax(0, calc(var(--rail) / 2)) minmax(0, calc(var(--rail) / 2)) minmax(var(--marge), 1fr); }
.t-split { min-height: clamp(24rem, 38vw, 34rem); background: var(--blanc); }
.t-split + .t-split { border-top: 1px solid var(--ligne); }
.t-split__media { grid-column: 1 / 3; grid-row: 1; position: relative; overflow: hidden; background: var(--mineral); margin: 0; }
.t-split__media > img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.t-split__corps { grid-column: 3 / 4; grid-row: 1; display: grid; gap: 1rem; align-content: center; padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 5vw, 4.5rem); }
.t-split__corps > * { margin: 0; }
.t-split--inverse .t-split__media { grid-column: 3 / 5; }
.t-split--inverse .t-split__corps { grid-column: 2 / 3; padding-left: 0; padding-right: clamp(2rem, 5vw, 4.5rem); }
.t-split__num { font-family: var(--mono); font-size: 0.76rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--doux); }
.t-split h2, .t-split h3 { font-size: clamp(1.9rem, 3.4vw, 2.75rem); line-height: 1.02; letter-spacing: -0.04em; }
.t-split__texte { color: var(--encre); }
.t-split__prix { font-family: var(--mono); font-size: 0.82rem; color: var(--doux); }
.t-liens { display: grid; margin-top: 0.4rem !important; border-top: 1px solid var(--ligne); }
.t-liens a { display: flex; justify-content: space-between; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--ligne); text-decoration: none; font-weight: 600; }
.t-liens a::after { content: "→"; }
.t-liens a:hover { background: linear-gradient(90deg, rgba(215, 243, 74, 0.55), transparent 70%); }
.t-split .t-credit { right: auto; left: 1rem; bottom: auto; top: 0.9rem; }
.t-split--inverse .t-credit { left: auto; right: 1rem; }
@media (max-width: 52rem) {
	.t-bord { grid-template-columns: var(--marge) minmax(0, 1fr) var(--marge); }
	.t-split__media, .t-split--inverse .t-split__media { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 4 / 3; }
	.t-split__corps, .t-split--inverse .t-split__corps { grid-column: 2 / 3; grid-row: 2; padding: 2rem 0 2.75rem; }
}

/* Vignette produit posée sur une photo : l'équipement et son décor ensemble. */
.jd-vignette {
	position: absolute; right: 0; bottom: 0; z-index: 2;
	width: clamp(10rem, 15vw, 13.5rem);
	display: grid; background: var(--blanc); text-decoration: none; color: var(--foret);
	border-top: 2px solid var(--foret); border-left: 2px solid var(--foret);
}
.t-split--inverse .jd-vignette { right: auto; left: 0; border-left: 0; border-right: 2px solid var(--foret); }
.jd-vignette img { aspect-ratio: 1 / 1; width: 100%; height: auto; object-fit: contain; padding: 10%; box-sizing: border-box; mix-blend-mode: multiply; }
.jd-vignette span { display: grid; gap: 0.1rem; padding: 0.6rem 0.75rem 0.7rem; border-top: 1px solid var(--ligne); font-size: 0.82rem; font-weight: 700; line-height: 1.25; }
.jd-vignette small { font-family: var(--mono); font-size: 0.68rem; font-weight: 600; color: var(--doux); }
.jd-vignette:hover span { background: var(--citron); }
@media (max-width: 52rem) { .jd-vignette { width: 8.5rem; } }

/* Bande photo : pleine largeur, peu haute, une phrase en surimpression. */
.t-photo-bande { position: relative; isolation: isolate; overflow: hidden; background: var(--foret); color: var(--craie); margin: 0; }
.t-photo-bande > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100% !important; object-fit: cover; }
.t-photo-bande::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(23, 33, 29, 0.85) 0%, rgba(23, 33, 29, 0.4) 45%, rgba(23, 33, 29, 0) 78%); }
.t-photo-bande > .t-rail { display: grid; align-content: end; gap: 1rem; min-height: clamp(19rem, 38vw, 31rem); padding-block: clamp(2rem, 4vw, 3.25rem); }
.t-photo-bande--haut::before { background: linear-gradient(180deg, rgba(23, 33, 29, 0.78) 0%, rgba(23, 33, 29, 0.35) 42%, rgba(23, 33, 29, 0) 70%); }
.t-photo-bande--haut > .t-rail { align-content: start; }
.t-photo-bande--muette > .t-rail { min-height: clamp(15rem, 30vw, 26rem); }
.t-photo-bande--muette::before { display: none; }
.t-photo-bande__phrase { margin: 0; max-width: 18ch; font-size: clamp(2.2rem, 5.2vw, 4.4rem); font-weight: 800; line-height: 0.98; letter-spacing: -0.045em; color: var(--craie); }
.t-photo-bande__suite { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2.5rem; }
.t-photo-bande__suite p { margin: 0; max-width: 54ch; color: var(--craie-douce); font-size: 1.05rem; }
.t-photo-bande .t-credit { bottom: auto; top: 0.9rem; }
.t-photo-bande--haut .t-credit { top: auto; bottom: 0.9rem; }
@media (max-width: 44rem) {
	.t-photo-bande > img { position: static; display: block; aspect-ratio: 16 / 10; }
	.t-photo-bande::before { display: none; }
	.t-photo-bande > .t-rail { min-height: 0; padding-block: 1.75rem 2.25rem; }
	.t-photo-bande--muette > .t-rail { display: none; }
	.t-photo-bande .t-credit { top: 0.6rem; bottom: auto; }
}

/* Situations : colonnes bord à bord, photo basse. */
.t-situations { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--ligne); border-bottom: 1px solid var(--ligne); background: var(--blanc); }
.t-situations--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t-sit { display: grid; grid-template-rows: auto 1fr; border-right: 1px solid var(--ligne); }
.t-sit:last-child { border-right: 0; }
.t-sit__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--mineral); margin: 0; }
.t-sit__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 0.4s ease; }
.t-sit:hover .t-sit__media img { transform: scale(1.03); }
.t-sit__num { position: absolute; left: 0; top: 0; padding: 0.4rem 0.65rem; background: var(--citron); color: var(--foret); font-family: var(--mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.06em; }
.t-sit__corps { display: grid; gap: 0.9rem; align-content: start; padding: clamp(1.4rem, 2.4vw, 2rem) clamp(1.1rem, 2vw, 1.75rem) clamp(2rem, 3.5vw, 3rem); }
.t-sit__corps > * { margin: 0; }
.t-sit:first-child .t-sit__corps { padding-left: max(var(--marge), 1.1rem); }
.t-sit h3 { font-size: 1.35rem; line-height: 1.15; }
.t-sit h3 a { text-decoration: none; }
.t-sit h3 a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.t-sit p { font-size: 0.98rem; line-height: 1.55; }
.t-sit__liens { display: grid; gap: 0.35rem; font-size: 0.95rem; justify-items: start; }
@media (max-width: 68rem) {
	.t-situations, .t-situations--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t-sit:nth-child(2n) { border-right: 0; }
	.t-sit:nth-child(n+3) { border-top: 1px solid var(--ligne); }
	.t-sit:nth-child(2n+1) .t-sit__corps { padding-left: max(var(--marge), 1.1rem); }
}
@media (max-width: 36rem) {
	.t-situations, .t-situations--3 { grid-template-columns: 1fr; }
	.t-sit { border-right: 0; }
	.t-sit + .t-sit { border-top: 1px solid var(--ligne); }
	.t-sit .t-sit__corps { padding-inline: var(--marge) !important; }
}

/* Mosaïque : trois photos bord à bord. */
.t-mosaique { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 3px; background: var(--craie); }
.t-mosaique figure { margin: 0; position: relative; height: clamp(13rem, 24vw, 22rem); overflow: hidden; }
.t-mosaique img { width: 100%; height: 100% !important; object-fit: cover; }
.t-mosaique figcaption { position: absolute; left: 0; bottom: 0; padding: 0.35rem 0.6rem; background: rgba(23, 33, 29, 0.78); color: var(--craie); font-family: var(--mono); font-size: 0.66rem; }
@media (max-width: 44rem) { .t-mosaique { grid-template-columns: 1fr 1fr; } .t-mosaique figure:first-child { grid-column: 1 / -1; } .t-mosaique figure { height: 12rem; } }

/* Phrase de rythme. */
.t-phrase { padding-block: clamp(3rem, 7vw, 6rem); background: var(--craie); }
.t-phrase p { margin: 0; max-width: 24ch; font-size: clamp(1.9rem, 4.4vw, 3.6rem); font-weight: 800; line-height: 1.04; letter-spacing: -0.04em; color: var(--foret); }
.t-phrase em { font-style: normal; background: linear-gradient(transparent 62%, var(--citron) 62%, var(--citron) 92%, transparent 92%); }

/* Critères numérotés. */
.t-criteres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem); }
.t-criteres__col > h3 { margin: 0 0 0.25rem; font-size: 1.55rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--foret); }
.t-critere { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: 0 0.9rem; padding: 1.2rem 0; border-bottom: 1px solid var(--ligne); }
.t-critere__num { font-family: var(--mono); font-size: 0.8rem; font-weight: 600; color: var(--doux); padding-top: 0.25rem; }
.t-critere h3, .t-critere h4 { margin: 0 0 0.4rem; font-size: 1.12rem; letter-spacing: -0.015em; padding: 0; border: 0; }
.t-critere p { margin: 0; font-size: 0.98rem; line-height: 1.58; }
.t-critere .t-lien { display: inline-block; margin-top: 0.55rem; font-size: 0.92rem; }
@media (max-width: 58rem) { .t-criteres { grid-template-columns: 1fr; } }

/* Marques. */
.t-marques { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--foret); }
.t-marque { display: grid; gap: 0.55rem; align-content: start; padding: 1.4rem 1.25rem 1.5rem 0; border-bottom: 1px solid var(--ligne-moyenne); text-decoration: none; }
.t-marque:not(:nth-child(4n+1)) { padding-left: 1.25rem; border-left: 1px solid var(--ligne-moyenne); }
.t-marque__nom { font-size: 1.35rem; font-weight: 800; letter-spacing: -0.03em; color: var(--foret); }
.t-marque p { margin: 0; font-size: 0.95rem; line-height: 1.5; }
.t-marque__suivi { font-family: var(--mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; color: var(--doux); text-transform: uppercase; }
.t-marque:hover { background: rgba(215, 243, 74, 0.35); }
.t-marque--toutes { background: var(--foret); color: var(--craie); padding-left: 1.25rem !important; }
.t-marque--toutes .t-marque__nom { color: var(--citron); }
.t-marque--toutes .t-marque__suivi { color: var(--craie-douce); }
.t-marque--toutes:hover { background: #22302a; }
@media (max-width: 62rem) {
	.t-marques { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.t-marque { padding-left: 0 !important; border-left: 0 !important; }
	.t-marque:nth-child(even) { padding-left: 1.25rem !important; border-left: 1px solid var(--ligne-moyenne) !important; }
}

/* Listes de guides. */
.t-guides { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3.5rem); }
.t-guides__col > h3 { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0; font-size: 1.4rem; padding-bottom: 0.8rem; border-bottom: 2px solid var(--foret); }
.t-guides__col > h3 span { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; color: var(--doux); }
.t-guide { display: grid; gap: 0.3rem; padding: 1.05rem 0; border-bottom: 1px solid var(--ligne); text-decoration: none; }
.t-guide strong { font-size: 1.06rem; font-weight: 800; letter-spacing: -0.012em; color: var(--foret); }
.t-guide span { font-size: 0.94rem; line-height: 1.5; color: var(--doux); }
.t-guide:hover strong { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
@media (max-width: 58rem) { .t-guides { grid-template-columns: 1fr; } }
/* Trois guides décisifs (accueil). */
.t-guides--trois { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(1.5rem, 3vw, 2.5rem); border-top: 2px solid var(--foret); }
@media (max-width: 58rem) { .t-guides--trois { grid-template-columns: 1fr; } }

/* Fiche : pour qui, à vérifier, alternative. */
.t-decision { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 5vw, 4.5rem); margin-bottom: clamp(2rem, 4vw, 3rem); }
.t-decision h2 { margin: 0.4rem 0 0.8rem; font-size: clamp(1.4rem, 2.4vw, 1.8rem); padding-bottom: 0.8rem; border-bottom: 2px solid var(--foret); }
.t-decision__texte { margin: 0; font-size: 1.08rem; line-height: 1.55; }
.t-decision ul { margin: 0; padding: 0; list-style: none; }
.t-decision li { padding: 0.75rem 0; border-bottom: 1px solid var(--ligne); font-size: 0.98rem; line-height: 1.5; }
.t-decision + .t-sec-tete, .t-decision ~ .jd-picks { max-width: 40rem; }
@media (max-width: 58rem) { .t-decision { grid-template-columns: 1fr; } }

/* Cartes de guides illustrées (index des guides, « à lire ensuite »). */
.t-cartes-guides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); list-style: none; margin: 0; padding: 0; }
.t-carte-guide { display: grid; grid-template-rows: auto 1fr; gap: 1rem; text-decoration: none; }
.t-carte-guide__media { aspect-ratio: 3 / 2; overflow: hidden; background: var(--mineral); margin: 0; position: relative; }
.t-carte-guide__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 0.4s ease; }
.t-carte-guide:hover img { transform: scale(1.03); }
.t-carte-guide__corps { display: grid; gap: 0.45rem; align-content: start; }
.t-carte-guide__corps > * { margin: 0; }
.t-carte-guide__cat { font-family: var(--mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--doux); }
.t-carte-guide h3 { font-size: 1.25rem; line-height: 1.18; letter-spacing: -0.02em; }
.t-carte-guide:hover h3 { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.t-carte-guide p { font-size: 0.95rem; line-height: 1.5; color: var(--doux); }
@media (max-width: 62rem) { .t-cartes-guides { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 36rem) { .t-cartes-guides { grid-template-columns: 1fr; } }

/* Méthode (bande sombre). */
.t-methode { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.t-methode__texte { display: grid; gap: 1.1rem; font-size: 1.08rem; color: var(--craie-douce); }
.t-methode__texte p { margin: 0; }
.t-methode__texte strong { color: var(--craie); }
.t-engagements { display: grid; border-top: 1px solid var(--craie-ligne); list-style: none; margin: 0; padding: 0; }
.t-engagements li { display: grid; gap: 0.3rem; padding: 1.1rem 0; border-bottom: 1px solid var(--craie-ligne); }
.t-engagements b { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--citron); }
.t-engagements span { color: var(--craie); font-size: 1rem; }
@media (max-width: 58rem) { .t-methode { grid-template-columns: 1fr; } }

/* Questions. */
.t-faq { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.t-faq__liste { border-top: 2px solid var(--foret); }
.t-faq details, .t-faq .wp-block-details { border-bottom: 1px solid var(--ligne); margin: 0; }
.t-faq summary { display: flex; justify-content: space-between; gap: 1rem; padding: 1.15rem 0; cursor: pointer; list-style: none; font-weight: 800; font-size: 1.08rem; letter-spacing: -0.01em; color: var(--foret); }
.t-faq summary::-webkit-details-marker { display: none; }
.t-faq summary::after { content: "+"; font-family: var(--mono); font-weight: 600; font-size: 1.2rem; line-height: 1.2; }
.t-faq details[open] summary::after { content: "–"; }
.t-faq details p { margin: 0; padding: 0 0 1.25rem; color: var(--encre); max-width: 62ch; }
.t-faq details p a { font-weight: 700; }
@media (max-width: 58rem) { .t-faq { grid-template-columns: 1fr; } }

/* =====================================================================
   PAGES CATÉGORIE, THÉMATIQUES ET MARQUES
   ===================================================================== */
.t-page-tete { background: var(--craie); border-bottom: 1px solid var(--ligne); }
.t-page-tete.t-bord { min-height: clamp(26rem, 40vw, 36rem); }
.t-page-tete__corps { grid-column: 2 / 3; display: grid; gap: 1.2rem; align-content: center; padding: clamp(2.5rem, 5vw, 4.5rem) clamp(2rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 4.5rem) 0; }
.t-page-tete__corps > * { margin: 0; }
.t-page-tete h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 0.98; letter-spacing: -0.045em; max-width: 16ch; }
.t-chapeau { font-size: clamp(1.1rem, 1.5vw, 1.25rem); line-height: 1.55; color: var(--encre); max-width: 40rem; }
.t-page-tete__media { grid-column: 3 / 5; position: relative; overflow: hidden; margin: 0; background: var(--mineral); }
.t-page-tete__media > img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.t-page-tete__media--produit { background: var(--blanc); display: grid; place-items: center; }
.t-page-tete__media--produit .jd-visuel { margin: 0; width: 100%; height: 100%; display: grid; place-items: center; }
.t-page-tete__media--produit .jd-visuel a { display: block; width: 78%; }
.t-page-tete__media--produit .jd-visuel img { position: static; width: 100%; height: auto !important; max-height: 28rem; object-fit: contain; mix-blend-mode: multiply; }
.t-page-tete__media--produit figcaption { position: absolute; left: 1rem; bottom: 0.8rem; font-family: var(--mono); font-size: 0.68rem; color: var(--doux); }
.t-page-tete .t-credit { top: 0.9rem; bottom: auto; }
@media (max-width: 52rem) {
	.t-page-tete.t-bord { min-height: 0; }
	.t-page-tete__corps { grid-column: 2 / 3; grid-row: 1; padding: 2rem 0 2.25rem; }
	.t-page-tete__media { grid-column: 1 / -1; grid-row: 2; aspect-ratio: 4 / 3; }
}

/* Texte en deux colonnes : titre à gauche, développement à droite. */
.t-deux-col { display: grid; }
.t-deux-col__ligne { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.5fr); gap: clamp(1.5rem, 5vw, 5rem); padding-block: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--ligne); }
.t-deux-col__ligne:first-child { border-top: 2px solid var(--foret); }
.t-deux-col__titre { margin: 0; font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.1; letter-spacing: -0.03em; align-self: start; position: sticky; top: 1.5rem; }
.t-deux-col__num { display: block; margin-bottom: 0.6rem; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.1em; color: var(--doux); }
@media (max-width: 52rem) { .t-deux-col__ligne { grid-template-columns: 1fr; } .t-deux-col__titre { position: static; } }

/* Texte courant (colonne de lecture) : blocs WordPress natifs. */
.t-texte { max-width: var(--lecture); }
.t-texte > * { margin: 0 0 1.15rem; }
.t-texte > *:last-child { margin-bottom: 0; }
.t-texte p, .t-texte li { font-size: 1.0625rem; line-height: 1.68; color: var(--encre); }
.t-texte h2 { margin: clamp(2.5rem, 5vw, 3.5rem) 0 1rem; padding-top: 1rem; border-top: 2px solid var(--foret); font-size: clamp(1.55rem, 2.6vw, 2.1rem); line-height: 1.1; letter-spacing: -0.03em; scroll-margin-top: 1.5rem; }
.t-texte > h2:first-child { margin-top: 0; }
.t-texte h3 { margin: 1.9rem 0 0.6rem; padding-left: 0.85rem; border-left: 4px solid var(--citron); font-size: 1.22rem; line-height: 1.25; letter-spacing: -0.015em; }
.t-texte ul, .t-texte ol { padding-left: 1.2rem; }
.t-texte li { margin-bottom: 0.45rem; }
.t-texte li::marker { color: var(--doux); }
.t-texte a:not(.t-bouton):not(.wp-block-button__link) {
	font-weight: 700; text-decoration: none;
	background-image: linear-gradient(var(--citron), var(--citron)); background-repeat: no-repeat;
	background-size: 100% 0.3em; background-position: 0 90%;
}
.t-texte a:not(.t-bouton):not(.wp-block-button__link):hover { background-size: 100% 100%; }
.t-texte strong { font-weight: 800; color: var(--foret); }
.t-deux-col .t-texte > p:first-child { margin-top: 0.2rem; }

/* Liens de maillage « pour aller plus loin ». */
.t-calendrier { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--foret); }
.t-calendrier li { display: grid; grid-template-columns: minmax(11rem, 16rem) minmax(0, 1.4fr) minmax(0, 1fr); gap: 0.4rem 1.5rem; align-items: baseline; padding: 1.05rem 0; border-bottom: 1px solid var(--ligne); }
.t-calendrier__date { font-weight: 600; font-variant-numeric: tabular-nums; }
.t-calendrier__nom { font-size: 1.1rem; font-weight: 600; }
.t-calendrier__lieu { color: var(--texte-doux, inherit); font-size: 0.95rem; }
@media (max-width: 52rem) { .t-calendrier li { grid-template-columns: 1fr; gap: 0.15rem; } }
.t-maillage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--foret); list-style: none; margin: 0; padding: 0; }
.t-maillage li { border-bottom: 1px solid var(--ligne); }
.t-maillage li:not(:nth-child(3n+1)) { border-left: 1px solid var(--ligne); }
.t-maillage a { display: grid; gap: 0.3rem; height: 100%; box-sizing: border-box; padding: 1.25rem 1.25rem 1.4rem; text-decoration: none; }
.t-maillage li:nth-child(3n+1) a { padding-left: 0; }
.t-maillage small { font-family: var(--mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--doux); }
.t-maillage strong { font-size: 1.08rem; font-weight: 800; letter-spacing: -0.015em; color: var(--foret); }
.t-maillage a:hover { background: rgba(215, 243, 74, 0.35); }
@media (max-width: 52rem) { .t-maillage { grid-template-columns: 1fr; } .t-maillage li { border-left: 0 !important; } .t-maillage a { padding-left: 0; } }

/* =====================================================================
   ARTICLES (guides)
   ===================================================================== */
.t-art-tete { background: var(--craie); padding-block: clamp(2rem, 4vw, 3rem) clamp(2rem, 4vw, 3.25rem); }
.t-art-tete > .t-rail { display: grid; gap: 1.1rem; }
.t-art-tete > .t-rail > * { margin: 0; }
.t-art-tete h1 { font-size: clamp(2.3rem, 5.2vw, 4.4rem); line-height: 1; letter-spacing: -0.045em; max-width: 20ch; }
.t-art-tete .t-chapeau { max-width: 46rem; font-size: clamp(1.15rem, 1.6vw, 1.35rem); }
.t-signature { display: flex; flex-wrap: wrap; gap: 0.35rem 1.25rem; font-family: var(--mono); font-size: 0.76rem; font-weight: 500; color: var(--doux); padding-top: 1rem; border-top: 1px solid var(--ligne); }
.t-signature span + span::before { content: "·"; margin-right: 1.25rem; opacity: 0.6; }
.t-couverture { position: relative; margin: 0; height: clamp(15rem, 34vw, 30rem); overflow: hidden; background: var(--mineral); }
.t-couverture img { width: 100%; height: 100% !important; object-fit: cover; display: block; }
.t-couverture .t-credit { top: auto; bottom: 0.9rem; }
.t-art { display: grid; grid-template-columns: 15rem minmax(0, var(--lecture)); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.t-art__aside { position: sticky; top: 1.5rem; display: grid; gap: 1.5rem; }
.t-art-sommaire { border-top: 2px solid var(--foret); padding-top: 0.9rem; }
.t-art-sommaire p { margin: 0 0 0.75rem; font-family: var(--mono); font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--doux); }
.t-art-sommaire ol { list-style: none; margin: 0; padding: 0; counter-reset: s; display: grid; gap: 0.1rem; }
.t-art-sommaire li { counter-increment: s; }
.t-art-sommaire a { display: grid; grid-template-columns: 1.8rem 1fr; padding: 0.4rem 0; font-size: 0.9rem; line-height: 1.35; font-weight: 600; text-decoration: none; color: var(--encre); }
.t-art-sommaire a::before { content: counter(s, decimal-leading-zero); font-family: var(--mono); font-size: 0.72rem; color: var(--doux); padding-top: 0.12rem; }
.t-art-sommaire a:hover { color: var(--foret); text-decoration: underline; text-underline-offset: 0.2em; }
.t-art__offre { border-top: 1px solid var(--ligne); padding-top: 1rem; }
.t-art__offre .jd-cta-offre { display: grid; gap: 0.6rem; }
@media (max-width: 62rem) {
	.t-art { grid-template-columns: 1fr; }
	.t-art__aside { position: static; }
	.t-art-sommaire ol { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.5rem; }
}
@media (max-width: 36rem) { .t-art-sommaire ol { grid-template-columns: 1fr; } }
.t-essentiel { background: var(--mineral); padding: clamp(1.4rem, 3vw, 2rem); margin: 0 0 2rem !important; }
.t-essentiel > p:first-child { margin: 0 0 0.8rem; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--foret); display: flex; align-items: center; gap: 0.6rem; }
.t-essentiel > p:first-child::before { content: ""; width: 0.7rem; height: 0.7rem; background: var(--citron); outline: 1px solid var(--foret); }
.t-essentiel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.t-essentiel li { position: relative; padding-left: 1.4rem; margin: 0; font-size: 1rem; line-height: 1.55; }
.t-essentiel li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 0.6rem; height: 2px; background: var(--foret); }
.t-figure { margin: 2rem 0 !important; }
.t-figure img { width: 100%; height: auto; display: block; aspect-ratio: 16 / 10; object-fit: cover; }
.t-figure figcaption { margin-top: 0.5rem; font-family: var(--mono); font-size: 0.72rem; color: var(--doux); }

/* =====================================================================
   COMPARATIFS
   ===================================================================== */
.t-outil-tete { background: var(--craie); padding-block: clamp(2rem, 4vw, 3rem) clamp(1.5rem, 3vw, 2.25rem); border-bottom: 1px solid var(--ligne); }
.t-outil-tete > .t-rail { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.1rem clamp(2rem, 5vw, 4rem); align-items: end; }
.t-outil-tete > .t-rail > * { margin: 0; }
.t-outil-tete h1 { grid-column: 1; font-size: clamp(2.2rem, 4.6vw, 3.8rem); line-height: 1; letter-spacing: -0.045em; max-width: 18ch; }
.t-outil-tete .t-ariane, .t-outil-tete .t-label { grid-column: 1 / -1; }
.t-outil-tete .t-chapeau { grid-column: 1; }
.t-outil-tete .t-outil-tete__cote { grid-column: 2; grid-row: 3 / span 2; display: grid; gap: 0.8rem; align-content: end; }
.t-outil-tete .t-signature { grid-column: 1 / -1; }
@media (max-width: 52rem) { .t-outil-tete > .t-rail { grid-template-columns: 1fr; } .t-outil-tete .t-outil-tete__cote { grid-column: 1; grid-row: auto; } }

/* =====================================================================
   FICHES PRODUIT
   ===================================================================== */
.t-fiche-tete { background: var(--craie); padding-block: clamp(1.25rem, 3vw, 2rem) clamp(2.5rem, 5vw, 4rem); }
.t-fiche-tete > .t-rail > * { margin: 0; }
.t-fiche-grille { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; margin-top: 1.25rem !important; }
.t-fiche-grille > * { margin: 0; }
.t-fiche-media { background: var(--blanc); position: relative; margin: 0; }
.t-fiche-media .wp-block-post-featured-image { margin: 0; aspect-ratio: 1 / 1; }
.t-fiche-media img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 7%; box-sizing: border-box; mix-blend-mode: multiply; background: transparent !important; border-radius: 0 !important; }
.t-fiche-achat { position: sticky; top: 1.5rem; display: grid; gap: 1rem; }
.t-fiche-achat > * { margin: 0 !important; }
.t-fiche-achat .wp-block-post-title { font-size: clamp(2rem, 4vw, 3.1rem) !important; line-height: 1; letter-spacing: -0.045em; }
.t-fiche-achat .jd-summary, .t-fiche-achat .wp-block-post-excerpt { font-size: 1.12rem; line-height: 1.55; color: var(--encre); }
.t-fiche-achat .wp-block-post-excerpt__excerpt { margin: 0; }
.jd-offer { display: grid; gap: 0.5rem; padding: 1.25rem 0; border-top: 2px solid var(--foret); border-bottom: 1px solid var(--ligne); }
.jd-offer p { margin: 0; }
.jd-offer__price { font-size: 0.9rem; color: var(--doux); }
.jd-offer__price strong { font-size: 2.1rem; font-weight: 800; letter-spacing: -0.04em; color: var(--foret); font-variant-numeric: tabular-nums; margin-right: 0.35rem; }
.jd-offer__date { display: block; font-family: var(--mono); font-size: 0.72rem; margin-top: 0.2rem; }
.jd-offer__seller { font-weight: 700; color: var(--foret); }
.jd-offer__availability { font-size: 0.9rem; color: var(--doux); }
.jd-offer__cta { margin-top: 0.4rem !important; }
.jd-offer__cta .wp-block-button__link { width: 100%; font-size: 1.02rem; min-height: 3.4rem; }
.jd-offer__mention { font-size: 0.85rem; color: var(--doux); }
.jd-status-wrap { margin: 0; }
.jd-status { margin: 0; font-family: var(--mono); font-size: 0.72rem; color: var(--doux); }
.jd-status a { color: inherit; }
.jd-credit { margin: 0; font-family: var(--mono); font-size: 0.7rem; color: var(--doux); opacity: 1; }
.jd-credit a { color: inherit; }
.jd-admin-note { background: #fff3c4; border: 1px dashed var(--foret); padding: 0.75rem 1rem; font-size: 0.85rem; }
.jd-flag { display: inline-block; margin: 0; padding: 0.2rem 0.5rem; background: var(--mineral); font-family: var(--mono); font-size: 0.72rem; }
.t-fiche-corps { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.t-fiche-corps > * { margin: 0; }
.t-fiche-corps .jd-section { margin: 0; }
.jd-section h2 { margin: 0 0 1rem; padding-top: 1rem; border-top: 2px solid var(--foret); font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.1; letter-spacing: -0.03em; }
.t-fiche-texte > * { margin: 0 0 1rem; }
.t-fiche-texte h2 { margin: 0 0 1rem; padding-top: 1rem; border-top: 2px solid var(--foret); font-size: clamp(1.45rem, 2.4vw, 1.9rem); line-height: 1.1; }
.t-fiche-texte h3 { margin: 1.5rem 0 0.5rem; font-size: 1.1rem; }
.t-fiche-texte p, .t-fiche-texte li { line-height: 1.65; }
.jd-specs--fiche { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.jd-specs--fiche th, .jd-specs--fiche td { padding: 0.8rem 0; border-bottom: 1px solid var(--ligne); text-align: left; vertical-align: top; font-size: 0.97rem; }
.jd-specs--fiche th { width: 42%; padding-right: 1rem; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--doux); padding-top: 0.95rem; }
.jd-specs--fiche td { font-weight: 700; color: var(--foret); }
.jd-specs--fiche td small { display: block; margin-top: 0.2rem; font-weight: 500; font-size: 0.86rem; color: var(--doux); }
.jd-conditions { margin: 0; display: grid; }
.jd-conditions > div { display: grid; grid-template-columns: 42% 1fr; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--ligne); }
.jd-conditions dt { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--doux); padding-top: 0.15rem; }
.jd-conditions dd { margin: 0; font-size: 0.97rem; line-height: 1.55; }
@media (max-width: 52rem) {
	.t-fiche-grille, .t-fiche-corps { grid-template-columns: 1fr; }
	.t-fiche-achat { position: static; }
}
.jd-sources { font-size: 0.88rem; color: var(--doux); }
.jd-sources h2 { font-size: 1rem; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.08em; border-top-width: 1px; }
.jd-sources ul { margin: 0 0 0.75rem; padding-left: 1.1rem; }
.jd-sources li { margin-bottom: 0.3rem; }
.jd-sources p { margin: 0 0 0.4rem; }

/* =====================================================================
   SORTIES DE L'EXTENSION : cartes, sélection, tableau
   ===================================================================== */
.jd-picks, .jd-cards { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 2rem) !important; list-style: none; margin: 0; padding: 0; }
.jd-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 68rem) { .jd-picks, .jd-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 34rem) { .jd-picks, .jd-cards { grid-template-columns: 1fr; } }
.jd-pick, .jd-card-product { position: relative; display: flex; flex-direction: column; background: transparent; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; padding: 0 !important; margin: 0; }
.jd-pick__media, .jd-card-product__media { position: relative; aspect-ratio: 1 / 1 !important; background: var(--blanc); overflow: hidden; border-radius: 0 !important; margin: 0; }
.t-bande--blanc .jd-pick__media, .t-bande--blanc .jd-card-product__media { background: var(--craie); }
.jd-pick__media img, .jd-card-product__media img { width: 100% !important; height: 100% !important; object-fit: contain !important; padding: 8%; box-sizing: border-box; mix-blend-mode: multiply; }
.jd-pick__body, .jd-card-product__body { display: flex; flex-direction: column; gap: 0.7rem; flex: 1; padding: 1.1rem 0 0 !important; }
.jd-pick__body > *, .jd-card-product__body > * { margin: 0 !important; }
.jd-pick__badge { position: absolute; left: 0; top: 0; z-index: 1; padding: 0.35rem 0.6rem !important; background: var(--citron) !important; color: var(--foret) !important; font-family: var(--mono) !important; font-size: 0.7rem !important; font-weight: 600 !important; letter-spacing: 0.06em !important; text-transform: uppercase; border: 0 !important; border-radius: 0 !important; line-height: 1.3; }
.jd-pick__title, .jd-card-product__title { font-size: 1.3rem !important; line-height: 1.15 !important; letter-spacing: -0.02em !important; font-weight: 800 !important; }
.jd-pick__title a, .jd-card-product__title a { text-decoration: none; }
.jd-pick__title a:hover, .jd-card-product__title a:hover { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.jd-card-product__title a::after { content: ""; position: absolute; inset: 0; }
.jd-card-product__brand { font-family: var(--mono); font-size: 0.72rem; color: var(--doux); }
.jd-pick__raison, .jd-card-product__use { font-size: 0.98rem !important; line-height: 1.5; color: var(--encre); }
.jd-pick__limite { font-size: 0.9rem; line-height: 1.45; color: var(--doux); padding-left: 0.7rem; border-left: 2px solid var(--ligne); }
.jd-pick__limite strong { color: var(--encre); font-weight: 700; }
.jd-pick__specs, .jd-card-product__specs { list-style: none; margin: 0; padding: 0 !important; display: grid !important; gap: 0 !important; border-top: 1px solid var(--ligne); }
.jd-pick__specs li, .jd-card-product__specs li { display: flex !important; justify-content: space-between; gap: 1rem; padding: 0.5rem 0 !important; border-top: 0 !important; border-bottom: 1px solid var(--ligne); font-size: 0.92rem; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
.jd-pick__specs li span, .jd-card-product__specs li span { font-family: var(--mono); font-size: 0.7rem !important; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; color: var(--doux); text-align: left; padding-top: 0.12rem; }
.jd-pick__specs li strong { font-weight: 700; }
.jd-pick__price, .jd-card-product__price { margin-top: auto !important; padding-top: 0.4rem; font-size: 1.6rem !important; font-weight: 800; letter-spacing: -0.035em; line-height: 1.1; font-variant-numeric: tabular-nums; color: var(--foret); }
.jd-pick__price small, .jd-card-product__price small { display: block; margin-top: 0.2rem; font-family: var(--mono); font-size: 0.72rem !important; font-weight: 500; letter-spacing: 0; color: var(--doux); opacity: 1 !important; }
.jd-pick__price--sans { font-size: 1rem !important; }
.jd-pick__actions { display: grid; gap: 0.6rem; margin-top: 0.3rem !important; }
.jd-pick__actions .wp-block-button__link { width: 100%; font-size: 0.92rem; }
.jd-pick__sous { margin: 0; }
.jd-pick__more, .jd-card-product__more a { font-size: 0.9rem; font-weight: 800; text-decoration: none; border: 0 !important; background-image: linear-gradient(var(--citron), var(--citron)); background-repeat: no-repeat; background-size: 100% 0.36em; background-position: 0 88%; }
.jd-card-product__more { margin-top: auto !important; }
.jd-picks__mention { margin: clamp(1.5rem, 3vw, 2.25rem) 0 0 !important; font-size: 0.92rem; color: var(--doux); max-width: 70ch; }
.jd-card-product__media--neutre { display: grid; place-items: center; background: var(--mineral) !important; }
.jd-card-product__media--neutre span { font-weight: 800; font-size: 1.4rem; color: var(--foret); }

.jd-chips ul { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; margin: 0 0 1.5rem; padding: 0; }
.jd-chips a { display: inline-block; padding: 0.45rem 0.85rem; border: 1px solid var(--foret); font-size: 0.88rem; font-weight: 600; text-decoration: none; border-radius: 0; }
.jd-chips a[aria-current="true"], .jd-chips a:hover { background: var(--foret); color: var(--craie); }
.jd-empty { background: var(--mineral); padding: 1.5rem; }
.jd-empty p { margin: 0; }

.jd-table-hint { display: none; margin: 0 0 0.5rem; font-family: var(--mono); font-size: 0.74rem; color: var(--doux); }
@media (max-width: 56rem) { .jd-table-hint { display: block; } }
.jd-table-wrap { overflow-x: auto; }
.jd-table-scroll { background: var(--blanc); border-top: 2px solid var(--foret); }
.jd-compare { width: 100%; min-width: 56rem; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.jd-compare caption { caption-side: bottom; text-align: left; padding: 0.9rem 1rem 0; font-family: var(--mono); font-size: 0.74rem; color: var(--doux); }
.jd-compare th, .jd-compare td { padding: 0.95rem 1rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ligne); font-size: 0.95rem; line-height: 1.4; }
.jd-compare thead th { font-family: var(--mono); font-size: 0.7rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--doux); background: var(--craie); }
.jd-compare tbody th { font-weight: 800; min-width: 12rem; }
.jd-compare tbody th a { text-decoration: none; }
.jd-compare tbody th a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.jd-compare tbody th small { display: block; font-weight: 500; font-size: 0.8rem; color: var(--doux); margin-top: 0.15rem; opacity: 1; }
.jd-compare tbody tr:hover { background: rgba(215, 243, 74, 0.18); }
.jd-compare__offre { white-space: nowrap; }
.jd-compare__offre strong { font-size: 1.05rem; font-weight: 800; }
.jd-compare__offre a { font-weight: 700; font-size: 0.88rem; }
.jd-compare__offre small { white-space: normal; display: inline-block; font-family: var(--mono); font-size: 0.7rem; color: var(--doux); opacity: 1; }
/* Contraste 4,5:1 au moins sur fond blanc : pas d'opacité cumulée (audit du 06/10/2026). */
.jd-unknown { color: var(--doux); opacity: 1; text-decoration: none; cursor: help; }
.jd-compare + .has-small-font-size, .jd-table-wrap + p { margin: 0.9rem 0 0; font-size: 0.86rem; color: var(--doux); max-width: 75ch; }

.jd-cta-offre { display: grid; gap: 0.55rem; padding: 1.25rem; background: var(--mineral); margin: 1.5rem 0 !important; }
.jd-cta-offre p { margin: 0; }
.jd-cta-offre__price strong { font-size: 1.45rem; font-weight: 800; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.jd-cta-offre__price small { display: block; font-family: var(--mono); font-size: 0.72rem; color: var(--doux); }
.jd-cta-offre__cta .wp-block-button__link { width: 100%; }
.jd-cta-offre__mention { font-size: 0.82rem; color: var(--doux); }
.jd-cta-offre__fiche a { font-weight: 800; font-size: 0.9rem; }
.t-art__aside .jd-cta-offre { margin: 0 !important; }

.jd-visuel { margin: 0; }
.jd-visuel img { display: block; }

/* =====================================================================
   PAGES INSTITUTIONNELLES
   ===================================================================== */
.t-simple-tete { background: var(--craie); padding-block: clamp(2.25rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.25rem); }
.t-simple-tete > .t-rail { display: grid; gap: 1rem; }
.t-simple-tete > .t-rail > * { margin: 0; }
.t-simple-tete h1 { font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1; letter-spacing: -0.045em; max-width: 20ch; }
.t-simple .t-texte { max-width: 46rem; }

/* 404 et archives */
.t-archive .wp-block-post-template { list-style: none; margin: 0; padding: 0; }

/* Compléments */
.t-deux-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 3rem); margin-bottom: 1.75rem !important; }
.t-deux-intro p { margin: 0; }
@media (max-width: 52rem) { .t-deux-intro { grid-template-columns: 1fr; } }
.t-pied__col .jd-cond-link { margin: 0.5rem 0 0; }
.t-pied__col .jd-cond-link a { color: var(--craie); }
.t-fiche-alternatives:not(:has(.jd-section)) { display: none; }
.t-faq__tete .t-sec-tete { margin-bottom: 0 !important; }
.t-points { display: grid; grid-template-columns: 12rem minmax(0, 1fr); gap: 1rem clamp(1.5rem, 4vw, 3rem); align-items: start; }
.t-points ul { grid-column: 1 / -1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0 clamp(1.5rem, 3vw, 2.5rem); }
.t-points li { display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); padding: 0.9rem 0; border-top: 1px solid var(--ligne-moyenne); }
.t-points li span { font-family: var(--mono); font-size: 0.76rem; font-weight: 600; color: var(--doux); padding-top: 0.2rem; }
.t-points li p { margin: 0; font-size: 1rem; line-height: 1.55; }
@media (max-width: 52rem) { .t-points { grid-template-columns: 1fr; } .t-points ul { grid-template-columns: 1fr; } }
.t-sources { font-size: 0.86rem; color: var(--doux); max-width: 60rem; }
.t-sources p { margin: 0 0 0.4rem; }
.t-sources ul { margin: 0; padding-left: 1.1rem; columns: 2; column-gap: 2.5rem; }
.t-sources li { margin-bottom: 0.3rem; break-inside: avoid; }
.t-sources a { color: inherit; }
@media (max-width: 44rem) { .t-sources ul { columns: 1; } }
.t-fiche-usage { display: grid; gap: 1rem; max-width: 46rem; }
.t-fiche-usage > * { margin: 0; }
.t-fiche-usage h2, .t-split--fiche h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.05; letter-spacing: -0.035em; }
.t-split--fiche { min-height: clamp(22rem, 34vw, 30rem); }
.t-split--fiche .jd-conditions > div { grid-template-columns: 7rem 1fr; }
/* Crédit lisible sur tout fond */
.t-credit { padding: 0.2rem 0.45rem; background: rgba(23, 33, 29, 0.55); color: var(--craie); text-shadow: none; z-index: 3; }
.t-fiche-corps > *, .t-fiche-grille > *, .t-art > *, .t-deux-col__ligne > * { min-width: 0; }
.jd-specs--fiche { table-layout: fixed; }
@media (max-width: 36rem) {
	.jd-specs--fiche, .jd-specs--fiche tbody, .jd-specs--fiche tr, .jd-specs--fiche th, .jd-specs--fiche td { display: block; width: 100%; }
	.jd-specs--fiche th { padding: 0.8rem 0 0.2rem; border-bottom: 0; }
	.jd-specs--fiche td { padding: 0 0 0.8rem; }
	.jd-conditions > div, .t-split--fiche .jd-conditions > div { grid-template-columns: 1fr; gap: 0.25rem; }
}
@media (max-width: 44rem) {
	.t-signature { flex-direction: column; gap: 0.2rem; }
	.t-signature span + span::before { display: none; }
}
@media (max-width: 62rem) { .t-art__offre { display: none; } }

/* Formulaire de contact */
.jd-contact { max-width: 46rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 2px solid var(--foret); }
.jd-contact__form { display: grid; gap: 1.1rem; }
.jd-contact__form p { margin: 0; }
.jd-contact__ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
@media (max-width: 36rem) { .jd-contact__ligne { grid-template-columns: 1fr; } }
.jd-contact label { display: block; margin-bottom: 0.35rem; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--foret); }
.jd-contact label span { text-transform: none; letter-spacing: 0; font-weight: 500; color: var(--doux); }
.jd-contact input, .jd-contact select, .jd-contact textarea { box-sizing: border-box; width: 100%; padding: 0.8rem 0.9rem; border: 1px solid var(--ligne-forte); border-radius: 0; background: var(--blanc); font: inherit; font-size: 1rem; color: var(--foret); }
.jd-contact input:focus, .jd-contact select:focus, .jd-contact textarea:focus { outline: 3px solid var(--citron); outline-offset: 0; border-color: var(--foret); }
.jd-contact textarea { resize: vertical; min-height: 10rem; }
.jd-contact__info { font-size: 0.86rem; color: var(--doux); }
.jd-contact__piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jd-contact__etat { padding: 0.9rem 1rem; font-weight: 700; margin: 0 0 1.25rem !important; }
.jd-contact__etat--ok { background: var(--citron); color: var(--foret); }
.jd-contact__etat--ko { background: #f6d9d2; color: #6b1d0f; }

/* Alertes par e-mail : rappel d'épreuve, alerte de prix */
.jd-alerte { max-width: 46rem; padding: 1.25rem; background: var(--blanc); border-top: 2px solid var(--foret); }
.jd-alerte p { margin: 0; }
.jd-alerte__titre { font-size: 1.2rem; font-weight: 800; letter-spacing: -0.02em; color: var(--foret); }
.jd-alerte__texte { margin-top: 0.35rem !important; color: var(--doux); }
.jd-alerte__form { display: grid; grid-template-columns: 1fr auto; gap: 0.9rem; align-items: end; margin-top: 1rem; }
.jd-alerte__champ--large { grid-column: 1 / -1; }
@media (max-width: 36rem) { .jd-alerte__form { grid-template-columns: 1fr; } .jd-alerte__envoi .wp-block-button__link { width: 100%; } }
.jd-alerte label { display: block; margin-bottom: 0.35rem; font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--foret); }
.jd-alerte input, .jd-alerte select { box-sizing: border-box; width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; border: 1px solid var(--ligne-forte); border-radius: 0; background: var(--blanc); font: inherit; font-size: 1rem; color: var(--foret); }
.jd-alerte input:focus, .jd-alerte select:focus { outline: 3px solid var(--citron); outline-offset: 0; border-color: var(--foret); }
.jd-alerte__envoi .wp-block-button__link { min-height: 3rem; cursor: pointer; }
.jd-alerte__info { margin-top: 0.8rem !important; font-size: 0.86rem; color: var(--doux); }
.jd-alerte__piege { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jd-alerte__etat { padding: 0.9rem 1rem; font-weight: 700; margin: 0.8rem 0 0 !important; }
.jd-alerte__etat--ok { background: var(--citron); color: var(--foret); }
.jd-alerte__etat--ko { background: #f6d9d2; color: #6b1d0f; }
.jd-alerte--repli { padding: 0; background: none; border-top: 1px solid var(--ligne); margin-top: 0.5rem; }
.jd-alerte--repli summary { padding: 0.85rem 0 0.2rem; font-weight: 700; color: var(--foret); cursor: pointer; text-decoration: underline; text-underline-offset: 0.2em; }
.jd-alerte--repli summary:focus-visible { outline: 3px solid var(--citron); outline-offset: 2px; }
.jd-alerte--repli .jd-alerte__form { grid-template-columns: 1fr; }
.jd-alerte--repli .jd-alerte__envoi .wp-block-button__link { width: 100%; }
.jd-alerte--flottant { position: fixed; z-index: 60; left: 1rem; right: 1rem; bottom: 1rem; margin-inline: auto; padding: 0; border: 0; box-shadow: 0 0.5rem 2rem rgba(23, 33, 29, 0.25); }
.jd-alerte--flottant .jd-alerte__etat { margin: 0 !important; }
.t-rail > .jd-alerte { margin-top: 2rem; }
.t-rail > .jd-alerte:first-child { margin-top: 0; }

/* Bandeau de consentement */
.jd-consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 100; display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; max-width: 60rem; margin-inline: auto; padding: 1.1rem 1.25rem; background: var(--foret); color: var(--craie); border-top: 3px solid var(--citron); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25); }
.jd-consent[hidden] { display: none; }
.jd-consent__corps { flex: 1 1 26rem; }
.jd-consent p { margin: 0; font-size: 0.92rem; line-height: 1.5; color: var(--craie-douce); }
.jd-consent .jd-consent__titre { font-family: var(--mono); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--citron); margin-bottom: 0.35rem; }
.jd-consent a { color: var(--craie); font-weight: 700; }
.jd-consent__actions { display: flex; gap: 0.6rem; }
.jd-consent__bouton { min-height: 2.9rem; padding: 0.6rem 1.3rem; border: 2px solid var(--craie); background: transparent; color: var(--craie); font: inherit; font-weight: 800; font-size: 0.95rem; cursor: pointer; border-radius: 0; }
.jd-consent__bouton:hover, .jd-consent__bouton:focus-visible { background: var(--craie); color: var(--foret); outline: 3px solid var(--citron); outline-offset: 2px; }
