/*
Theme Name: Carlos Rallye Club
Theme URI: https://www.crc4l.fr/
Author: Carlos Rallye Club
Author URI: https://www.crc4l.fr/
Description: Thème blocs aux couleurs du Carlos Rallye Club (4L Trophy) : sable, vert piste et soleil, titres Anton, textes Barlow. Bannières photo avec vague, chiffres animés, compte à rebours, roadbook, grille partenaires et carnet de route — tout se modifie depuis l'éditeur WordPress.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.3.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: crc4l
Tags: block-patterns, full-site-editing, one-column, wide-blocks, custom-colors, editor-style, featured-images
*/

/* ==========================================================================
   Réglages communs
   ========================================================================== */
:root {
	--crc-sable: var(--wp--preset--color--sable);
	--crc-creme: var(--wp--preset--color--creme);
	--crc-vert: var(--wp--preset--color--vert);
	--crc-encre: var(--wp--preset--color--vert-encre);
	--crc-soleil: var(--wp--preset--color--soleil);
	--crc-vague: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0,40 C240,80 480,0 720,30 C960,60 1200,10 1440,40 L1440,70 L0,70 Z'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { overflow-x: hidden; -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; }
h1, h2, h3, h4, p { overflow-wrap: break-word; }
img { max-width: 100%; height: auto; }

/* Les sections s'enchaînent sans bande de couleur entre elles */
.wp-site-blocks > * { margin-block: 0; }

/* Liens dans les blocs de texte : soulignés, mais pas les boutons ni la navigation */
.wp-block-button__link { text-decoration: none; transition: transform .15s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }
.wp-block-button__link:hover { transform: translateY(-2px); }

/* ==========================================================================
   Surtitre (« eyebrow ») et petites capitales mono
   ========================================================================== */
.is-style-surtitre {
	display: flex;
	align-items: center;
	gap: .6em;
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .22em;
	text-transform: uppercase;
	line-height: 1.4;
}
.is-style-surtitre:not(.has-text-color) { color: var(--crc-soleil); }
.is-style-surtitre::before { content: ""; width: 26px; height: 2px; background: currentColor; flex: none; }
.is-style-surtitre.has-text-align-center { justify-content: center; }
.is-style-surtitre.has-text-align-right { justify-content: flex-end; }

.is-style-mono {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .18em;
	text-transform: uppercase;
	line-height: 1.4;
}
.is-style-mono:not(.has-text-color) { color: var(--crc-soleil); }

/* ==========================================================================
   Boutons (pilules)
   ========================================================================== */
.wp-block-button.is-style-contour .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	color: var(--crc-creme);
}
.wp-block-button.is-style-contour .wp-block-button__link:hover { background: var(--crc-creme); color: var(--crc-encre); border-color: var(--crc-creme); }
.wp-block-button.is-style-contour-vert .wp-block-button__link {
	background: transparent;
	border-color: currentColor;
	color: var(--crc-encre);
}
.wp-block-button.is-style-contour-vert .wp-block-button__link:hover { background: var(--crc-encre); color: var(--crc-creme); border-color: var(--crc-encre); }
.wp-block-button.is-style-encre .wp-block-button__link { background: var(--crc-encre); color: var(--crc-creme); }
.wp-block-button.is-style-encre .wp-block-button__link:hover { background: var(--crc-vert); }

/* ==========================================================================
   En-tête flottant (pilule)
   ========================================================================== */
.crc-header { z-index: 50; padding: 14px 0; }
.wp-site-blocks .crc-header {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	left: 0;
	right: 0;
}
.crc-header__bar {
	background: rgba(239, 227, 204, .82);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(16, 43, 30, .1);
	border-radius: 999px;
	padding: 10px 14px 10px 18px;
	transition: background-color .25s ease, border-color .25s ease;
}
.crc-header__bar > * { margin-block: 0; }
.crc-logo {
	font-family: var(--wp--preset--font-family--anton);
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	line-height: 1.1;
	margin: 0;
}
.crc-logo a { text-decoration: none; color: inherit; }
.crc-logo a:hover { color: inherit; }
.crc-header .wp-block-navigation { margin-left: auto; gap: 22px; }
.crc-header .wp-block-navigation-item__content { position: relative; padding: 4px 0; }
.crc-header .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 2px;
	background: var(--crc-soleil); transition: width .2s;
}
.crc-header .wp-block-navigation-item__content:hover::after,
.crc-header .current-menu-item > .wp-block-navigation-item__content::after { width: 100%; }
.crc-header .wp-block-navigation-item__content:hover { color: inherit; }
.crc-header .wp-block-buttons { margin-left: 8px; }
.crc-header .wp-block-button__link { padding: .7em 1.3em; }

/* Le lien « Nous soutenir » du menu ne sert que dans le menu mobile */
.crc-header .crc-nav-cta { display: none; }
.crc-header .is-menu-open .crc-nav-cta { display: block; }

/* Une fois la page défilée : barre verte, textes crème */
.crc-header.is-scrolled .crc-header__bar { background: rgba(16, 43, 30, .94); border-color: rgba(251, 246, 236, .16); }
.crc-header.is-scrolled .crc-logo,
.crc-header.is-scrolled .wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item__content,
.crc-header.is-scrolled .wp-block-navigation__responsive-container-open { color: var(--crc-creme); }

/* Menu mobile plein écran */
.crc-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px;
}
.crc-header .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 48px; }
.crc-header .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; }
.crc-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(251, 246, 236, .12); }
.crc-header .is-menu-open .wp-block-navigation-item__content { display: block; padding: 16px 4px; font-size: 1.15rem; }
.crc-header .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.crc-header .is-menu-open .crc-nav-cta { border: 0; margin-top: 20px; }
.crc-header .is-menu-open .crc-nav-cta .wp-block-navigation-item__content {
	background: var(--crc-soleil); color: var(--crc-creme); border-radius: 999px; text-align: center; font-weight: 700;
}

/* Bascule en menu burger sous 860 px, comme le site actuel */
@media (max-width: 860px) {
	.crc-header { padding: 12px 0; }
	.crc-header__bar { padding: 9px 12px 9px 16px; }
	.crc-header .wp-block-buttons { display: none; }
	.crc-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.crc-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 480px) {
	.crc-logo { font-size: .95rem; letter-spacing: .02em; }
	.crc-header__bar { padding: 8px 12px; }
}

/* ==========================================================================
   Bannières (bloc Couverture) et vagues de transition
   ========================================================================== */
.crc-hero { padding-top: 130px !important; padding-bottom: 96px !important; }
.crc-hero .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto; }
.crc-hero .wp-block-cover__image-background { object-position: top center; }
.crc-hero h1 { margin-top: .18em; margin-bottom: .28em; }
.crc-hero .crc-hero__sub { max-width: 44ch; }
.crc-page-hero { padding-top: 130px !important; padding-bottom: 100px !important; }
.crc-page-hero .crc-hero__sub { max-width: 640px; margin-inline: auto; }
.crc-page-hero h1 { font-size: clamp(3rem, 8vw, 4.5rem); }
.crc-page-hero { background-color: var(--crc-encre); }
.crc-page-hero .wp-block-post-date { color: var(--crc-soleil); }
.crc-recherche { max-width: 480px; margin-inline: auto; }

[class*="is-style-vague-"] { position: relative; }
[class*="is-style-vague-"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 70px;
	background: var(--crc-vague-couleur, var(--crc-sable));
	-webkit-mask: var(--crc-vague) center bottom / 100% 100% no-repeat;
	mask: var(--crc-vague) center bottom / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 2;
}
.is-style-vague-sable { --crc-vague-couleur: var(--wp--preset--color--sable); }
.is-style-vague-verte { --crc-vague-couleur: var(--wp--preset--color--vert); }
.is-style-vague-encre { --crc-vague-couleur: var(--wp--preset--color--vert-encre); }
.is-style-vague-creme { --crc-vague-couleur: var(--wp--preset--color--creme); }

/* Compte à rebours */
.crc-countdown__label { display: block; margin-bottom: 10px; }
.crc-countdown { display: flex; gap: 14px; flex-wrap: wrap; }
.crc-countdown__box {
	background: rgba(251, 246, 236, .1);
	border: 1px solid rgba(251, 246, 236, .25);
	border-radius: 14px;
	padding: 12px 18px;
	min-width: 78px;
	text-align: center;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.crc-countdown__num { font-family: var(--wp--preset--font-family--anton); font-size: 2.1rem; line-height: 1; color: var(--crc-creme); }
.crc-countdown__unit {
	display: block; margin-top: 6px;
	font-family: var(--wp--preset--font-family--mono); font-size: .62rem; letter-spacing: .18em;
	text-transform: uppercase; color: rgba(251, 246, 236, .7);
}
@media (max-width: 480px) {
	.crc-countdown { gap: 10px; }
	.crc-countdown__box { flex: 1 1 40%; min-width: 0; padding: 12px 4px; }
	.crc-countdown__num { font-size: 1.8rem; }
}

/* ==========================================================================
   Sections
   ========================================================================== */
.crc-section__head { max-width: 640px; }
.crc-section__head h2 { margin-top: .35em; margin-bottom: .3em; }
.crc-texte-doux { color: rgba(16, 43, 30, .78); }
.has-vert-background-color .crc-texte-doux,
.has-vert-encre-background-color .crc-texte-doux { color: rgba(251, 246, 236, .85); }

/* Chiffres clés */
.crc-stat__num {
	font-family: var(--wp--preset--font-family--anton);
	font-size: clamp(2.6rem, 6vw, 4.4rem);
	line-height: 1;
	margin: 0;
}
.crc-stat__label {
	font-family: var(--wp--preset--font-family--mono);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-top: 12px !important;
	opacity: .85;
}
@media (max-width: 480px) { .crc-stat__num { font-size: clamp(2rem, 8vw, 2.8rem); } }

/* Cartes */
.is-style-carte {
	background: var(--crc-creme);
	border: 1px solid rgba(16, 43, 30, .08);
	border-radius: 20px;
	padding: 30px 28px;
	transition: transform .18s ease, box-shadow .18s ease;
}
.is-style-carte:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -20px rgba(16, 43, 30, .4); }
.is-style-carte > :first-child { margin-top: 0; }
.is-style-carte h3 { margin-top: .5em; margin-bottom: .4em; }
.is-style-carte p:not([class*="is-style-"]) { color: rgba(16, 43, 30, .78); }

/* Carte « jauge » (objectif budget) */
.is-style-jauge {
	background: var(--crc-creme);
	border-radius: 24px;
	box-shadow: 0 15px 35px rgba(16, 43, 30, .06);
	padding: 50px 30px;
	text-align: center;
}
.crc-montant {
	font-family: var(--wp--preset--font-family--anton);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1;
	margin: 12px 0 18px !important;
}

/* Images arrondies des sections */
.crc-media img { border-radius: 22px; width: 100%; object-fit: cover; }
.crc-media--169 img { aspect-ratio: 16 / 9; }
.crc-media--43 img { aspect-ratio: 4 / 3; object-position: center 60%; }

@media (max-width: 781px) {
	.crc-inverse-mobile { flex-direction: column-reverse; }
}

/* Roadbook */
.wp-block-group.crc-roadbook { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.crc-roadbook::before {
	content: ""; position: absolute; top: 9px; left: 3%; right: 3%;
	border-top: 2px dashed rgba(251, 246, 236, .3);
}
.crc-etape { flex: 1; text-align: center; position: relative; z-index: 1; }
.crc-etape::before {
	content: ""; display: block; width: 20px; height: 20px; border-radius: 50%;
	background: var(--crc-soleil); border: 4px solid var(--crc-encre); margin: 0 auto 16px;
	box-sizing: border-box;
}
.crc-etape > * { margin: 0 !important; }
.crc-etape__lieu { font-family: var(--wp--preset--font-family--anton); text-transform: uppercase; font-size: 1.15rem; margin: 6px 0 4px !important; }
.crc-etape__note { font-size: .82rem; opacity: .7; }
@media (max-width: 860px) {
	.wp-block-group.crc-roadbook { flex-direction: column; align-items: stretch; gap: 28px; }
	.crc-roadbook::before { top: 0; bottom: 0; left: 9px; right: auto; border-top: 0; border-left: 2px dashed rgba(251, 246, 236, .3); }
	.crc-etape { text-align: left; padding-left: 36px; }
	.crc-etape::before { position: absolute; left: 0; top: 2px; margin: 0; }
}

/* Partenaires : cases logo */
.is-style-logo {
	aspect-ratio: 3 / 2;
	border: 1px solid rgba(16, 43, 30, .14);
	border-radius: 16px;
	background: var(--crc-creme);
	padding: 22px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 0;
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.is-style-logo:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -22px rgba(16, 43, 30, .5); }
.is-style-logo .wp-block-image { margin: 0; display: flex; justify-content: center; max-height: 100%; }
.is-style-logo .wp-block-image img { max-height: 110px; width: auto; border-radius: 0; object-fit: contain; }
.crc-logo-cta { border: 2px solid var(--crc-soleil); background: transparent; color: var(--crc-soleil); text-align: center; gap: 6px; }
.crc-logo-cta:hover { background: var(--crc-soleil); color: var(--crc-creme); }
.crc-logo-cta p { margin: 0; }
.crc-logo-cta a { text-decoration: none; color: inherit; }
.crc-logo-cta a::after { content: ""; position: absolute; inset: 0; }
.crc-logo-cta { position: relative; }
@media (max-width: 480px) { .is-style-logo { padding: 12px; } }

/* ==========================================================================
   Pages intérieures (reprises de crc4l.fr)
   ========================================================================== */

/* Contenu des pages : les sections pleine largeur s'enchaînent sans espace */
.crc-contenu { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--70); }
.crc-contenu:has(> .alignfull:first-child) { padding-top: 0; }
.crc-contenu:has(> .alignfull:last-child) { padding-bottom: 0; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-top: 0; }

/* En-tête de section centré */
.crc-section__head--centre { max-width: 700px; margin-inline: auto; text-align: center; }
.crc-section__head--centre h2 { font-size: clamp(2rem, 5vw, 2.8rem); }

/* Pictogrammes : paragraphe vide qui affiche une icône dans un carré ou un rond */
.crc-icone {
	position: relative; flex: none;
	width: 64px; height: 64px; border-radius: 16px;
	background: var(--wp--preset--color--sable-fonce); color: var(--crc-encre);
	font-size: 0 !important; line-height: 0; margin: 0 0 24px !important;
	transition: background-color .3s ease, color .3s ease;
}
.crc-icone::after {
	content: ""; position: absolute; inset: 0; margin: auto; width: 44%; height: 44%;
	background: currentColor;
	-webkit-mask: var(--crc-ic) center / contain no-repeat;
	mask: var(--crc-ic) center / contain no-repeat;
}
.crc-icone--rond { width: 70px; height: 70px; border-radius: 50%; margin: 0 auto 20px !important; }
.crc-icone--seul { width: 30px; height: 30px; background: none; color: var(--crc-soleil); margin: 0 0 12px !important; }
.crc-icone--seul::after { width: 100%; height: 100%; }
.crc-ic-euro { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 7a7 7 0 1 0 0 10'/%3E%3Cpath d='M4 10h9M4 14h9'/%3E%3C/svg%3E"); }
.crc-ic-outils { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.6 2.6-2.4-.6-.6-2.4z'/%3E%3C/svg%3E"); }
.crc-ic-megaphone { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10v4h3l8 5V5L6 10z'/%3E%3Cpath d='M18 9a4 4 0 0 1 0 6'/%3E%3C/svg%3E"); }
.crc-ic-check { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12.5l2.8 2.8L16 9.5'/%3E%3C/svg%3E"); }
.crc-ic-voiture { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 16v-3l2-5h14l2 5v3z'/%3E%3Ccircle cx='7.5' cy='16.5' r='1.5'/%3E%3Ccircle cx='16.5' cy='16.5' r='1.5'/%3E%3C/svg%3E"); }
.crc-ic-calendrier { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
.crc-ic-compteur { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 17a8 8 0 1 1 16 0'/%3E%3Cpath d='M12 17l4-5'/%3E%3C/svg%3E"); }
.crc-ic-engrenage { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9 7 7M17 17l2.1 2.1M4.9 19.1 7 17M17 7l2.1-2.1'/%3E%3C/svg%3E"); }
.crc-ic-ecole { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2.5 9 2.5 12 0v-5'/%3E%3C/svg%3E"); }
.crc-ic-croix { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.crc-ic-goutte { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c4 5 6 8 6 11a6 6 0 0 1-12 0c0-3 2-6 6-11z'/%3E%3C/svg%3E"); }
.crc-ic-feuille { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19C5 10 11 5 19 5c0 8-5 14-14 14z'/%3E%3Cpath d='M5 19l8-8'/%3E%3C/svg%3E"); }

/* Équipage */
.crc-profil { text-align: center; padding: 40px 32px; }
.crc-profil .wp-block-image {
	width: 220px; height: 220px; margin: 0 auto 24px; padding: 6px;
	border: 2px dashed var(--crc-soleil); border-radius: 50%;
	transition: transform .4s ease, border-color .4s ease;
}
.crc-profil:hover .wp-block-image { transform: rotate(5deg) scale(1.05); border-color: var(--crc-encre); }
.crc-profil .wp-block-image img {
	width: 100%; height: 100%; object-fit: cover; border-radius: 50% !important;
	background: var(--wp--preset--color--sable-fonce);
}
.crc-profil h3 { font-size: 2.2rem; margin-bottom: 5px; }
.crc-profil .crc-profil__role { font-size: .8rem; letter-spacing: .1em; margin: 0 0 20px !important; }
.crc-profil .crc-profil__desc { color: rgba(16, 43, 30, .8); font-size: 1.05rem; line-height: 1.6; text-align: justify; }
.crc-profil .wp-block-social-links { gap: 12px; margin-top: 24px; justify-content: center; }
.crc-profil .wp-block-social-links.is-style-logos-only .wp-social-link {
	width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: rgba(16, 43, 30, .06); color: var(--crc-encre); transition: all .2s ease;
}
.crc-profil .wp-block-social-links.is-style-logos-only .wp-social-link:hover { background: var(--crc-soleil); color: var(--crc-creme); transform: translateY(-3px); }
.crc-profil .wp-block-social-links .wp-block-social-link-anchor { padding: 0; }
.crc-profil .wp-block-social-links svg { width: 20px; height: 20px; }
@media (max-width: 860px) { .crc-profil .wp-block-image { width: 190px; height: 190px; } }

/* La 4L : fiche technique (encadré vert qui chevauche la bannière) */
.crc-specs {
	position: relative; z-index: 3; margin-top: -30px !important;
	border-radius: 24px; padding: 40px !important; box-shadow: 0 20px 40px rgba(16, 43, 30, .15);
}
.crc-specs h2 { font-size: 2.2rem; margin: 0 0 12px; }
.crc-specs .crc-specs__intro { color: rgba(251, 246, 236, .8); font-size: 1.05rem; line-height: 1.5; }
.crc-spec {
	background: rgba(251, 246, 236, .06); border: 1px solid rgba(251, 246, 236, .12);
	border-radius: 16px; padding: 24px; display: flex; flex-direction: column;
}
.crc-spec > * { margin: 0 !important; }
.crc-spec .crc-spec__label {
	font-family: var(--wp--preset--font-family--mono); font-size: .75rem; text-transform: uppercase;
	letter-spacing: .1em; color: rgba(251, 246, 236, .6); margin-bottom: 4px !important;
}
.crc-spec .crc-spec__valeur { font-family: var(--wp--preset--font-family--anton); font-size: 1.4rem; letter-spacing: .02em; text-transform: uppercase; line-height: 1.2; }
@media (max-width: 781px) { .crc-specs { padding: 30px !important; } }

/* La 4L : étapes de préparation */
.crc-prep { padding: 0 !important; overflow: hidden; }
.crc-prep .wp-block-image { margin: 0; }
.crc-prep .wp-block-image img { width: 100%; height: 220px; object-fit: cover; border-radius: 0; background: var(--wp--preset--color--sable-fonce); }
.crc-prep__info { padding: 30px 24px; }
.crc-prep h3 { font-size: 1.6rem; letter-spacing: .02em; margin: 0 0 12px; }
.crc-prep p { color: rgba(16, 43, 30, .8); }

/* Partenaires : cartes logo + texte */
.crc-partenaire {
	background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .1); border-radius: 24px; padding: 50px 30px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.crc-partenaire:hover { transform: translateY(-6px); border-color: var(--crc-soleil); box-shadow: 0 20px 40px rgba(16, 43, 30, .08); }
.crc-partenaire .wp-block-image { margin: 0 0 20px; }
.crc-partenaire .wp-block-image img { max-width: 80%; max-height: 100px; width: auto; object-fit: contain; border-radius: 0; margin-inline: auto; transition: transform .3s ease; }
.crc-partenaire:hover .wp-block-image img { transform: scale(1.05); }
.crc-partenaire p { font-size: .95rem; color: rgba(16, 43, 30, .7); margin: 0; }

/* Partenaires : offres */
.crc-offre {
	background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .1); border-radius: 24px; padding: 40px 30px;
	transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.crc-offre:hover { transform: translateY(-6px); border-color: var(--crc-vert); box-shadow: 0 15px 30px rgba(16, 43, 30, .08); }
.crc-offre:hover .crc-icone { background: var(--crc-vert); color: var(--crc-creme); }
.crc-offre h3 { font-size: 1.4rem; letter-spacing: .02em; margin: 0 0 12px; }
.crc-offre p:not(.crc-icone) { font-size: .95rem; color: rgba(16, 43, 30, .75); }

/* Partenaires : encadré vert des engagements */
.crc-engage { border-radius: 24px; padding: 70px 60px !important; margin-top: 60px !important; }
.crc-engage .crc-section__head--centre p { color: rgba(251, 246, 236, .8); }
.crc-engage__item > * { margin: 0 !important; }
.crc-engage__item h4 { font-family: var(--wp--preset--font-family--barlow); text-transform: none; font-weight: 700; font-size: 1.15rem; letter-spacing: 0; margin-bottom: 8px !important; }
.crc-engage__item p:not(.crc-icone) { color: rgba(251, 246, 236, .8); font-size: .95rem; }
@media (max-width: 781px) { .crc-engage { padding: 40px 24px !important; } }

/* Carte d'aide / contact */
.crc-aide { border-radius: 24px; padding: 50px 40px !important; text-align: center; }
.crc-aide h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: .4em; }
.crc-aide p { max-width: 56ch; margin-inline: auto; color: rgba(16, 43, 30, .8); font-size: 1.05rem; }
@media (max-width: 781px) { .crc-aide { padding: 40px 24px !important; } }

/* Solidarité : encadré de l'association */
.crc-ilot { background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .1); border-radius: 24px; padding: 40px !important; }
.crc-ilot__logo {
	background: #fff; padding: 25px; border-radius: 16px; box-shadow: 0 10px 20px rgba(16, 43, 30, .05);
	text-align: center; transition: transform .3s ease;
}
.crc-ilot__logo:hover { transform: translateY(-4px); }
.crc-ilot__logo .wp-block-image { margin: 0; }
.crc-ilot__logo img { border-radius: 0; }
.crc-ilot h2 { font-size: clamp(1.8rem, 4vw, 2.4rem); margin: 0 0 15px; }
.crc-ilot p { color: rgba(16, 43, 30, .8); font-size: 1.05rem; }
.crc-ilot strong { color: var(--wp--preset--color--soleil-fonce); font-weight: 600; }
@media (max-width: 781px) { .crc-ilot { padding: 30px 20px !important; } .crc-ilot__logo { max-width: 300px; margin-inline: auto; } }

/* Solidarité : chiffres sur cartes vertes */
.crc-stat-verte {
	background: var(--crc-vert); color: var(--crc-creme); padding: 30px 20px; border-radius: 20px; text-align: center;
	box-shadow: 0 15px 30px rgba(16, 43, 30, .15); border: 1px solid rgba(251, 246, 236, .1);
}
.crc-stat-verte > * { margin: 0 !important; }
.crc-stat-verte .crc-stat-verte__v { font-family: var(--wp--preset--font-family--anton); font-size: clamp(2rem, 4vw, 2.8rem); color: var(--crc-soleil); line-height: 1; margin-bottom: 8px !important; }
.crc-stat-verte .crc-stat-verte__k { font-family: var(--wp--preset--font-family--mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(251, 246, 236, .8); }

/* Solidarité : causes soutenues */
.crc-asso {
	background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .1); border-radius: 20px; padding: 40px 30px;
	text-align: center; transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.crc-asso:hover { transform: translateY(-6px); border-color: var(--crc-soleil); box-shadow: 0 20px 40px rgba(16, 43, 30, .08); }
.crc-asso:hover .crc-icone { background: var(--crc-soleil); color: var(--crc-creme); }
.crc-asso h3 { font-size: 1.6rem; margin: 0 0 12px; }
.crc-asso p:not(.crc-icone) { color: rgba(16, 43, 30, .75); }
.crc-asso strong { color: var(--crc-encre); }

/* ==========================================================================
   Carnet de route (articles)
   ========================================================================== */
.crc-post-card { height: 100%; display: flex; flex-direction: column; padding: 0 !important; overflow: hidden; }
.crc-post-card .wp-block-post-featured-image { margin: 0; }
.crc-post-card .wp-block-post-featured-image img { border-radius: 0; aspect-ratio: 16 / 10; object-fit: cover; }
.crc-post-card__body { padding: 22px 24px 26px; }
.crc-post-card .wp-block-post-title { font-size: 1.4rem; line-height: 1.1; }
.crc-post-card .wp-block-post-title a:hover { color: var(--crc-soleil); }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }

.wp-block-query-pagination a { text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { color: var(--crc-soleil); }

/* Contenu d'article / de page */
.crc-contenu > * + h2 { margin-top: 1.6em; }
.crc-contenu h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.crc-contenu .wp-block-image img { border-radius: 18px; }

/* Formulaires (recherche, commentaires) */
.wp-block-search__input { border-radius: 999px; border: 1px solid rgba(16, 43, 30, .2); padding: .7em 1.2em; background: var(--crc-creme); font: inherit; }
.wp-block-search__button { margin-left: 8px; }
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	border: 1px solid rgba(16, 43, 30, .2); border-radius: 14px; padding: .8em 1em; background: var(--crc-creme); font: inherit; width: 100%;
}

/* ==========================================================================
   Pied de page
   ========================================================================== */
.crc-footer a { text-decoration: none; color: inherit; }
.crc-footer a:hover { color: var(--crc-creme); }
.crc-footer ul { list-style: none; padding-left: 0; }
.crc-footer li { margin-bottom: 10px; }
.crc-footer .crc-footer__bottom { border-top: 1px solid rgba(251, 246, 236, .15); padding-top: 24px; color: rgba(251, 246, 236, .55); }

/* ==========================================================================
   Apparition au défilement (seulement si JavaScript est actif)
   ========================================================================== */
.crc-js .crc-reveal { opacity: 0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.crc-js .crc-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.crc-js .crc-reveal { opacity: 1; transform: none; transition: none; }
	.wp-block-button__link:hover, .is-style-carte:hover, .is-style-logo:hover, .crc-profil:hover .wp-block-image,
	.crc-partenaire:hover, .crc-offre:hover, .crc-asso:hover, .crc-ilot__logo:hover { transform: none; }
}

/* Les pictogrammes gardent leur marge dans les cartes qui remettent les marges à zéro */
.crc-spec .crc-icone { margin-bottom: 12px !important; }
.crc-engage__item .crc-icone { margin-bottom: 14px !important; }

/* ==========================================================================
   Animation d'arrivée : la 4L entre, s'arrête, puis repart
   ========================================================================== */
.crc-intro { display: none; }
.crc-js .crc-intro {
	display: block; position: fixed; inset: 0; z-index: 99999; overflow: hidden;
	background:
		radial-gradient(ellipse at 20% 50%, rgba(200, 185, 150, .5) 0%, transparent 60%),
		radial-gradient(ellipse at 80% 50%, rgba(180, 165, 130, .4) 0%, transparent 60%),
		var(--crc-sable);
	transition: opacity .8s ease, visibility .8s ease;
}
.crc-intro.is-hidden { opacity: 0; visibility: hidden; }
html.crc-intro-active, html.crc-intro-active body { overflow: hidden; }
.crc-intro__scene { position: absolute; inset: 0; }
.crc-intro__car {
	position: absolute; top: 50%; left: 50%; width: 450px; max-width: 80vw; z-index: 2;
	transform: translate(-150vw, -50%);
	animation: crc-intro-drive 5s forwards .2s;
}
.crc-intro__car img {
	display: block; width: 100%; height: auto; position: relative; z-index: 2;
	filter: drop-shadow(0 16px 40px rgba(33, 80, 60, .35));
}
/* La carrosserie tressaute un peu tant que le moteur tourne */
.crc-intro__car.is-driving img { animation: crc-intro-bump .32s infinite ease-in-out; }

.crc-intro__exhaust { position: absolute; bottom: 22%; left: -3%; width: 40px; height: 40px; z-index: 1; }
.crc-intro__exhaust span {
	position: absolute; bottom: 0; left: 0; width: 25px; height: 25px; opacity: 0;
	background: rgba(130, 115, 95, .7); border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; filter: blur(6px);
	box-shadow: 10px -5px 15px rgba(130, 115, 95, .5), -5px 10px 10px rgba(130, 115, 95, .4);
}
.crc-intro__car.is-driving .crc-intro__exhaust span:nth-child(1) { animation: crc-intro-puff .8s infinite ease-out; }
.crc-intro__car.is-driving .crc-intro__exhaust span:nth-child(2) { animation: crc-intro-puff 1.1s infinite ease-out .3s; }
.crc-intro__car.is-driving .crc-intro__exhaust span:nth-child(3) { animation: crc-intro-puff .9s infinite ease-out .6s; }

/* Trace de poussière au sol */
.crc-intro__dust {
	position: absolute; left: 0; right: 0; top: calc(50% + min(95px, 17vw)); height: 3px; z-index: 1;
	background: linear-gradient(90deg, transparent, rgba(130, 115, 95, .35) 30%, rgba(130, 115, 95, .35) 70%, transparent);
	transform: scaleX(0); transform-origin: left; animation: crc-intro-dust 5s forwards .2s;
}

.crc-intro__skip {
	position: absolute; right: 24px; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); z-index: 3;
	font: 700 .72rem/1 var(--wp--preset--font-family--mono); letter-spacing: .18em; text-transform: uppercase;
	color: var(--crc-encre); background: rgba(251, 246, 236, .6); border: 1px solid rgba(16, 43, 30, .2);
	border-radius: 999px; padding: .8em 1.3em; cursor: pointer;
}
.crc-intro__skip:hover { background: var(--crc-creme); }

@keyframes crc-intro-drive {
	0% { transform: translate(-150vw, -50%) rotate(0deg); animation-timing-function: cubic-bezier(.25, 1, .5, 1); }
	28% { transform: translate(-50%, -50%) rotate(2deg); }
	30% { transform: translate(-50%, -50%) rotate(0deg); }
	70% { transform: translate(-50%, -50%) rotate(0deg); animation-timing-function: cubic-bezier(.5, 0, .75, 0); }
	72% { transform: translate(-45%, -50%) rotate(-2deg); }
	100% { transform: translate(150vw, -50%) rotate(0deg); }
}
@keyframes crc-intro-bump { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px); } }
@keyframes crc-intro-puff {
	0% { transform: scale(.3) translate(0, 0) rotate(0deg); opacity: .9; }
	50% { opacity: .6; }
	100% { transform: scale(3.5) translate(-25px, -15px) rotate(60deg); opacity: 0; }
}
@keyframes crc-intro-dust {
	0% { transform: scaleX(0); opacity: 1; }
	28% { transform: scaleX(.5); opacity: 1; }
	70% { transform: scaleX(.5); opacity: .6; }
	100% { transform: scaleX(1); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) { .crc-js .crc-intro { display: none; } }

/* ==========================================================================
   Page contact
   ========================================================================== */
.crc-page-hero--contact { padding-top: 110px !important; padding-bottom: 50px !important; }
.crc-page-hero--contact h1 { font-size: clamp(2.8rem, 8vw, 5.5rem); margin: .1em 0; }
.crc-contact h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 24px; }
.crc-contact__intro { font-size: 1.1rem; color: rgba(16, 43, 30, .8); }
.crc-contact__infos { margin-top: 32px !important; padding-top: 32px; border-top: 1px solid rgba(16, 43, 30, .1); }
.crc-contact__infos > * { margin: 0 !important; }
.crc-contact__label { color: var(--crc-vert) !important; font-size: .65rem !important; margin-bottom: 8px !important; }
.crc-contact__valeur { font-weight: 700; font-size: 1.1rem; margin-bottom: 20px !important; }

.crc-form {
	background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .08); border-radius: 20px; padding: 40px;
	box-shadow: 0 18px 40px -20px rgba(16, 43, 30, .15);
}
.crc-form__champ { margin: 0 0 24px; }
.crc-form label {
	display: block; margin-bottom: 8px; font: 700 .75rem/1.3 var(--wp--preset--font-family--mono);
	letter-spacing: .1em; text-transform: uppercase; color: var(--crc-encre);
}
.crc-form input:not([type="hidden"]):not(.crc-form__pot), .crc-form textarea {
	width: 100%; background: var(--crc-sable); border: 1px solid rgba(16, 43, 30, .1); color: var(--crc-encre);
	padding: 14px 18px; border-radius: 12px; font: 1rem/1.4 var(--wp--preset--font-family--barlow);
	outline: none; transition: all .2s ease;
}
.crc-form input::placeholder, .crc-form textarea::placeholder { color: rgba(16, 43, 30, .4); }
.crc-form input:focus, .crc-form textarea:focus { border-color: var(--crc-soleil); background: #fff; box-shadow: 0 0 0 3px rgba(226, 98, 43, .1); }
.crc-form textarea { height: 160px; resize: vertical; }
.crc-form input[type="file"] { padding: 10px !important; background: rgba(16, 43, 30, .03) !important; border-style: dashed !important; border-color: rgba(16, 43, 30, .2) !important; cursor: pointer; font-size: .9rem !important; }
.crc-form__pot { position: absolute !important; left: -9999px; top: -9999px; opacity: 0; width: 1px; height: 1px; }
.crc-form__envoyer { width: 100%; margin-top: 10px; cursor: pointer; }
.crc-form__erreur {
	padding: 20px; border-radius: 14px; margin-bottom: 30px; border: 1px solid var(--crc-soleil);
	background: rgba(226, 98, 43, .1); color: var(--wp--preset--color--soleil-fonce); font-weight: 500;
}
.crc-form-ok { background: var(--crc-vert); color: var(--crc-creme); text-align: center; padding: 48px 30px; border-radius: 20px; }
.crc-form-ok p { color: rgba(251, 246, 236, .85); font-size: 1.1rem; margin: 0 0 24px; }
.crc-form-ok .crc-form-ok__titre { font-family: var(--wp--preset--font-family--anton); text-transform: uppercase; font-size: 2.4rem; line-height: 1; color: var(--crc-soleil); margin-bottom: 16px; }
.crc-form-ok__lien {
	display: inline-block; padding: .85em 1.5em; border: 2px solid currentColor; border-radius: 999px;
	color: var(--crc-creme); font-weight: 700; text-decoration: none; transition: all .2s ease;
}
.crc-form-ok__lien:hover { background: var(--crc-creme); color: var(--crc-encre); }
@media (max-width: 480px) { .crc-form { padding: 24px 20px; } }

/* Pictogrammes supplémentaires (presse) */
.crc-ic-journal { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='15' height='16' rx='2'/%3E%3Cpath d='M18 8h3v10a2 2 0 0 1-2 2'/%3E%3Cpath d='M7 8h7M7 12h7M7 16h4'/%3E%3C/svg%3E"); }
.crc-ic-tv { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='6' width='20' height='13' rx='2'/%3E%3Cpath d='M8 2l4 4 4-4'/%3E%3C/svg%3E"); }
.crc-ic-radio { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='12' rx='2'/%3E%3Cpath d='M7 8l10-5'/%3E%3Ccircle cx='15' cy='14' r='2.5'/%3E%3Cpath d='M6 12h4M6 16h4'/%3E%3C/svg%3E"); }
.crc-ic-personnes { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16 14c3 0 5 2.4 5 5'/%3E%3C/svg%3E"); }
.crc-ic-imprimante { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9V3h12v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M6 14h12v7H6z'/%3E%3C/svg%3E"); }
.crc-ic-antenne { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='10' r='2'/%3E%3Cpath d='M12 12l-4 10M12 12l4 10M9 17h6'/%3E%3Cpath d='M7.8 5.8a6 6 0 0 0 0 8.4M16.2 5.8a6 6 0 0 1 0 8.4M5 3a10 10 0 0 0 0 14M19 3a10 10 0 0 1 0 14'/%3E%3C/svg%3E"); }
.crc-ic-etoile { --crc-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l2.7 5.6 6.1.9-4.4 4.3 1 6.1L12 17l-5.4 2.9 1-6.1-4.4-4.3 6.1-.9z'/%3E%3C/svg%3E"); }

/* ==========================================================================
   Accueil : contenu de la bannière aligné sur la grille du site (1180 px)
   ========================================================================== */
.wp-block-cover.crc-hero.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
.wp-block-cover.crc-hero .wp-block-cover__inner-container {
	width: 100%; max-width: calc(var(--wp--style--global--wide-size) - 48px); margin-inline: auto;
}

/* Cartes crème lisibles même posées sur un fond vert */
.is-style-carte { color: var(--crc-encre); }
.is-style-carte h3 { color: var(--crc-encre); }
.crc-icone--centre { margin-inline: auto !important; }
.crc-titre-moyen { font-size: clamp(2rem, 5vw, 3.2rem) !important; margin: .35em 0 .4em !important; }

/* ==========================================================================
   Parcours
   ========================================================================== */
.crc-phero { position: relative; overflow: hidden; isolation: isolate; }
/* Petit cercle orange en pointillés dans le coin (le grand cercle est dessiné en fond) */
.crc-phero::before {
	content: ""; position: absolute; right: -40px; top: -40px; width: 300px; height: 300px; border-radius: 50%;
	border: 2px dashed rgba(226, 98, 43, .25); z-index: -1; pointer-events: none;
}
.crc-phero h1 { font-size: clamp(2.8rem, 9vw, 6.4rem); margin: .22em 0 .3em; }
.crc-phero h1 em { font-style: normal; color: var(--crc-soleil); }
.crc-phero .crc-phero__sub { max-width: 52ch; font-size: clamp(1rem, 2vw, 1.2rem); color: rgba(251, 246, 236, .85); margin-bottom: 34px; }
/* Cercles en pointillés dans le coin, comme sur le site */
.crc-phero { background-image:
	radial-gradient(circle at calc(100% + 120px - 230px) 110px, transparent 228px, rgba(251, 246, 236, .12) 229px, rgba(251, 246, 236, .12) 230px, transparent 231px); }
@media (max-width: 860px) { .crc-phero { padding-top: 130px !important; } }

.crc-route__map { position: sticky; top: 110px; display: flex; justify-content: center; }
.crc-route__map .wp-block-image { margin: 0; }
.crc-route__map img { width: 100%; max-width: 520px; height: auto; filter: drop-shadow(0 24px 30px rgba(16, 43, 30, .18)); }
.crc-route__badge {
	position: absolute; left: 0; bottom: 8%; background: var(--crc-encre); color: var(--crc-creme);
	border-radius: 18px; padding: 16px 20px; box-shadow: 0 18px 40px -18px rgba(16, 43, 30, .6);
}
.crc-route__badge > * { margin: 0 !important; }
.crc-route__badge-v { font-family: var(--wp--preset--font-family--anton); font-size: 2.2rem; line-height: 1; color: var(--crc-soleil); }
.crc-route__badge-k { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: rgba(251, 246, 236, .8); }
@media (max-width: 781px) {
	.crc-route__map { position: relative; top: auto; }
	.crc-route__map img { max-width: 420px; }
}
@media (max-width: 480px) { .crc-route__map img { max-width: 320px; } .crc-route__badge { padding: 12px 14px; bottom: 4%; } .crc-route__badge-v { font-size: 1.7rem; } }

.crc-key { background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .08); border-radius: 16px; padding: 16px 14px; text-align: center; }
.crc-key > * { margin: 0 !important; }
.crc-key__v { font-family: var(--wp--preset--font-family--anton); font-size: clamp(1.6rem, 3.4vw, 2.2rem); line-height: 1; color: var(--crc-soleil); }
.crc-key__k { margin-top: 8px !important; font-family: var(--wp--preset--font-family--mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(16, 43, 30, .7); }

.crc-steps { position: relative; }
.crc-steps > * + * { margin-top: 26px !important; }
.crc-steps::before { content: ""; position: absolute; left: 9px; top: 8px; bottom: 8px; border-left: 2px dashed rgba(16, 43, 30, .25); }
.crc-step {
	position: relative; margin-left: 38px; background: var(--crc-creme); border: 1px solid rgba(16, 43, 30, .08);
	border-radius: 18px; padding: 18px 20px;
}
.crc-step::before {
	content: ""; position: absolute; left: -38px; top: 20px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--crc-soleil); border: 4px solid var(--crc-sable); box-sizing: border-box; z-index: 1;
}
.crc-step > * { margin: 0 !important; }
.crc-step__top { gap: 10px; }
.crc-step__top p { margin: 0; }
.crc-step__type {
	font-family: var(--wp--preset--font-family--mono); font-weight: 700; font-size: .6rem; letter-spacing: .14em; text-transform: uppercase;
	background: var(--wp--preset--color--sable-2); color: var(--crc-encre); padding: 4px 9px; border-radius: 999px; line-height: 1.4;
}
.crc-step__type--chaud { background: var(--crc-soleil); color: var(--crc-creme); }
.crc-step__lieu { font-family: var(--wp--preset--font-family--anton); text-transform: uppercase; font-size: 1.5rem; line-height: 1.1; margin: 6px 0 !important; }
.crc-step__lieu em { font-family: var(--wp--preset--font-family--barlow); font-style: normal; text-transform: none; font-size: .88rem; font-weight: 600; color: rgba(16, 43, 30, .55); margin-left: 8px; }
.crc-step__texte { font-size: .98rem; color: rgba(16, 43, 30, .78); }
@media (max-width: 480px) { .crc-step { margin-left: 32px; } .crc-step::before { left: -32px; } }

/* ==========================================================================
   Presse
   ========================================================================== */
.crc-stat-verte--presse { padding: 35px 20px; }
.crc-stat-verte--presse .crc-icone { width: 34px; height: 34px; margin-bottom: 15px !important; }
.crc-stat-verte--presse .crc-stat-verte__v { color: var(--crc-creme); }
.crc-stat-verte--presse .crc-stat-verte__k { color: var(--crc-soleil); }
.crc-media-carte:hover { border-color: var(--crc-soleil); }
.crc-media-carte:hover .crc-icone { background: var(--crc-soleil); color: var(--crc-creme); }
.crc-media-carte p:not(.crc-icone):not(.crc-tag) { margin-bottom: 20px; line-height: 1.6; }
.crc-tags { margin-top: 0 !important; }
.crc-tags .crc-tag {
	margin: 0; background: rgba(16, 43, 30, .06); color: var(--crc-encre); font-size: .8rem !important; padding: 6px 14px;
	border-radius: 50px; font-weight: 600; border: 1px solid rgba(16, 43, 30, .1); line-height: 1.3;
}
