/* ==========================================================================
   Louis Design — Coach Mental (préparation mentale du sportif)
   Ambiance : sportive, énergique, contrastée.
   ========================================================================== */

:root {
	--ld-font-head: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
	--ld-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--ld-bg: #f6f7f9;
	--ld-surface: #ffffff;
	--ld-tint: #f1f3f6;
	--ld-text: #3b4250;
	--ld-ink: #0e1116;
	--ld-muted: #6b7280;
	--ld-heading: #0e1116;
	--ld-border: #e4e7ec;
	--ld-border-strong: #d0d5dd;

	--ld-primary: #dc3232;       /* rouge d'origine */
	--ld-primary-dark: #b82424;
	--ld-accent-bar: #dc3232;
	--ld-link: #c42a2a;
	--ld-link-hover: #0963c4;    /* bleu d'origine */

	--ld-dark: #0e1116;
	--ld-dark-gradient: linear-gradient(160deg, #161a22 0%, #0b0d11 100%);
}

/* Titres : condensés, capitales, percutants */
body h1, body h2, body h3,
body .site-title {
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.entry-content h2 {
	font-size: clamp(2rem, 1.3rem + 2.4vw, 3rem) !important;
	line-height: 1.05 !important;
}

.entry-content h3 {
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem) !important;
	line-height: 1.1;
}

/* ---------- En-tête ---------- */

.site-header { gap: .25rem 2rem; }

.site-logo img {
	max-width: none !important;
	width: auto !important;
	height: clamp(44px, 5vw, 58px) !important;
}

.main-navigation a,
.main-navigation a:link,
.main-navigation a:visited {
	--ld-nav-size: 13px;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.social-navigation ul { justify-content: center; gap: .25rem; }

/* ---------- Intro ---------- */

.entry-content > h2:first-of-type {
	font-size: clamp(2.2rem, 1.3rem + 3.4vw, 3.8rem) !important;
	max-width: 20ch;
	margin-left: auto !important;
	margin-right: auto !important;
}

.entry-content > .wp-block-columns.alignwide.has-background {
	max-width: 1160px;
	margin: 2.5rem auto 0 !important;
	padding: clamp(1.5rem, 4vw, 3rem) !important;
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 6px);
	box-shadow: var(--ld-shadow);
	background: var(--ld-surface) !important;
	gap: clamp(1.5rem, 4vw, 3rem);
}

.entry-content > .wp-block-columns.alignwide.has-background p {
	font-size: 1.05rem;
	line-height: 1.8;
	text-align: left !important;
}

.has-drop-cap:not(:focus)::first-letter {
	font-family: var(--ld-font-head);
	font-weight: 800;
	color: var(--ld-primary);
	font-size: 4.6em;
	line-height: .8;
	margin: .08em .12em 0 0;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-image img {
	border-radius: var(--ld-radius) !important;
	width: 100%;
}

/* Thématiques : liste de cartes */
.entry-content > .wp-block-columns.alignwide.has-background .wp-block-buttons {
	display: block;
	margin: 0 0 .6rem;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button,
.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link {
	display: block;
	width: 100%;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	text-align: left;
	border-radius: var(--ld-radius-sm) !important;
	border-width: 1px !important;
	border-color: var(--ld-border-strong) !important;
	color: var(--ld-ink) !important;
	font-size: .9rem !important;
	padding: .9rem 1.1rem !important;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link::before { display: none !important; }

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link[href]::after {
	content: '\2192';
	flex: none;
	height: auto !important;
	width: auto !important;
	margin: 0 !important;
	color: var(--ld-primary);
	transition: transform .2s var(--ld-ease), color .2s;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link[href]:hover {
	background: var(--ld-ink) !important;
	border-color: var(--ld-ink) !important;
	color: #fff !important;
	transform: none;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-button__link[href]:hover::after {
	color: #fff;
	transform: translateX(4px);
}

/* Thématiques « en révision » (sans lien) */
a.wp-block-button__link:not([href]) {
	opacity: .5;
	cursor: default;
	border-style: dashed !important;
	transform: none !important;
}

a.wp-block-button__link:not([href]):hover {
	background: transparent !important;
	color: inherit !important;
}

.entry-content > .wp-block-columns.alignwide.has-background a.wp-block-button__link:not([href]):hover {
	color: var(--ld-ink) !important;
	border-color: var(--ld-border-strong) !important;
}

.entry-content > .wp-block-columns.alignwide.has-background .wp-block-spacer { display: none; }

/* ---------- Bandeaux sombres (séances, ateliers, contact) ---------- */

.wp-block-cover:has(> .has-foreground-background-color) {
	padding-left: clamp(1rem, 4vw, 3rem) !important;
	padding-right: clamp(1rem, 4vw, 3rem) !important;
}

.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container {
	max-width: 1160px;
	margin: 0 auto;
}

.wp-block-cover:has(> .has-foreground-background-color) h3 {
	color: #fff;
	margin-bottom: .75rem;
}

.wp-block-cover:has(> .has-foreground-background-color) h3::after {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
	margin: .8rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.wp-block-cover:has(> .has-foreground-background-color) p {
	color: rgba(255, 255, 255, .78);
	font-size: 1rem;
	line-height: 1.7;
	max-width: 46ch;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-cover:has(> .has-foreground-background-color) p strong {
	color: #fff;
	font-weight: 500;
}

.wp-block-cover:has(> .has-foreground-background-color) .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .45);
}

.wp-block-cover:has(> .has-foreground-background-color) .wp-block-columns + .wp-block-columns {
	margin-top: 1.5rem;
}

/* Intertitres juste avant les bandeaux sombres */
.entry-content > h2.has-text-align-center:has(+ .wp-block-cover) {
	margin-bottom: 2rem;
}

/* ---------- « Un coach mental — pour qui ? » ---------- */

.wp-block-cover:has(.wp-block-cover__image-background) h2 {
	font-size: clamp(2.4rem, 1.5rem + 3.5vw, 4.2rem) !important;
	line-height: 1 !important;
	color: #fff !important;
}

.wp-block-cover:has(.wp-block-cover__image-background) .wp-block-columns {
	max-width: 1000px;
	margin: 0 auto 2.5rem !important;
}

.wp-block-cover .wp-block-column.has-background-color {
	background: rgba(14, 17, 22, .55);
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: var(--ld-radius);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	padding: 1.5rem 1rem 1rem;
}

.wp-block-cover .wp-block-column.has-background-color h3 {
	color: var(--ld-primary) !important;
	font-size: 1.6rem !important;
	margin-top: 0;
	text-shadow: none;
}

.wp-block-cover .wp-block-column.has-background-color p {
	line-height: 1.9;
	font-size: .95rem;
}

.wp-block-cover .wp-block-column.has-background-color p strong { font-weight: 500; }

/* Bouton « Formules » */
.wp-block-cover .wp-block-button.is-style-fill .wp-block-button__link {
	background: var(--ld-primary) !important;
	padding: 1rem 2.4rem !important;
	font-size: 1rem !important;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.wp-block-cover .wp-block-buttons + .wp-block-buttons {
	margin-top: 1.25rem;
	gap: .6rem;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-cover .wp-block-buttons + .wp-block-buttons .wp-block-button__link {
	font-size: .85rem !important;
	padding: .55rem 1.1rem !important;
}

/* ---------- Réseaux sociaux / contact ---------- */

.entry-content .wp-block-social-links .wp-social-link {
	transition: transform .2s var(--ld-ease);
}

.entry-content .wp-block-social-links .wp-social-link:hover { transform: translateY(-3px); }

.entry-content > .wp-block-cover:last-of-type h2 {
	color: #fff;
}

.entry-content > .wp-block-cover:last-of-type h2::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	margin: 1rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.entry-content > .wp-block-cover:last-of-type .wp-block-columns {
	margin-top: 2.5rem;
	align-items: flex-start;
}

.entry-content > .wp-block-cover:last-of-type p {
	max-width: none;
	margin-left: 0;
	text-align: left;
}

.entry-content > .wp-block-cover:last-of-type p:first-child strong {
	font-family: var(--ld-font-head);
	font-size: 1.4rem;
	letter-spacing: .06em;
	color: #fff;
}

.whatsapp-block__button {
	border-radius: 999px !important;
	font-family: var(--ld-font-body) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	min-height: 0 !important;
	/* le logo WhatsApp est une image de fond à gauche : on lui laisse sa place */
	padding: .7rem 1.4rem .7rem 3.2rem !important;
	background-position: left 1rem center !important;
	background-size: 22px 22px !important;
	transition: transform .2s var(--ld-ease), box-shadow .2s;
}

.whatsapp-block__button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(37, 211, 102, .35);
}

.entry-content > .wp-block-cover:last-of-type iframe {
	width: 100%;
	border-radius: var(--ld-radius);
}

/* Formulaire de contact sur fond sombre */
.wp-block-cover .contact-form label,
.wp-block-cover .grunion-field-label {
	color: rgba(255, 255, 255, .85) !important;
}

.wp-block-cover .contact-form input:not([type="submit"]),
.wp-block-cover .contact-form textarea {
	background: rgba(255, 255, 255, .06) !important;
	border-color: rgba(255, 255, 255, .2) !important;
	color: #fff !important;
}

/* Séparateur décoratif inutile avant « Articles récents » */
.entry-content > hr.wp-block-separator { display: none; }

/* Pied de page : liste des catégories en pastilles */
.footer-navigation .footer-menu {
	max-width: 900px;
	margin: 0 auto;
	gap: .5rem;
}

.footer-navigation .footer-menu a {
	display: inline-block;
	padding: .3rem .8rem !important;
	border: 1px solid rgba(255, 255, 255, .15);
	border-radius: 999px;
	font-size: .78rem !important;
}

.footer-navigation .footer-menu a:hover { border-color: var(--ld-primary); }

@media only screen and (min-width: 1200px) {
	.site-header {
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.site-header .main-navigation { flex: 1; }
}

@media only screen and (min-width: 1200px) {
	.main-navigation > div > ul { gap: 0; }

	.main-navigation > div > ul > li > a { padding: 12px 10px !important; }

	.main-navigation > div > ul > li > a::before { left: 10px; right: 10px; }
}

@media only screen and (min-width: 1360px) {
	.site-header .main-navigation > div { display: block; }

	.main-navigation > div > ul { flex-wrap: nowrap; }

	.main-navigation > div > ul > li > a { white-space: nowrap; }
}

/* ---------- Blocs média + texte (image pleine hauteur à côté du texte) ---------- */

.wp-block-media-text.alignfull .wp-block-media-text__content {
	padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 4.5rem) !important;
	max-width: 680px;
}

.wp-block-media-text.has-media-on-the-right.alignfull .wp-block-media-text__content { justify-self: end; }

.wp-block-media-text.alignfull .wp-block-media-text__content h2 {
	font-size: clamp(2rem, 1.4rem + 2vw, 2.9rem) !important;
	margin: 0 0 1.5rem;
	color: var(--ld-ink);
}

.wp-block-media-text.alignfull .wp-block-media-text__content h2::after {
	content: '';
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 1rem;
	border-radius: 3px;
	background: var(--ld-primary);
}

.wp-block-media-text.alignfull .wp-block-media-text__content p {
	font-size: 1.05rem;
	line-height: 1.8;
	text-align: left !important;
}

.wp-block-media-text.alignfull .wp-block-media-text__content p.has-background { background: none !important; padding: 0; }

.wp-block-media-text.alignfull.is-image-fill .wp-block-media-text__media { min-height: 420px; }

/* ---------- Page « Coaching mental » (page-id-235) ---------- */

.page-id-235 .entry-content { margin-top: 0 !important; }

.page-id-235 .entry-content > .wp-block-cover:first-child {
	margin-top: 0 !important;
	min-height: 360px !important;
}

.page-id-235 .entry-content > .wp-block-cover:first-child > .wp-block-cover__gradient-background {
	background: linear-gradient(120deg, rgba(14, 17, 22, .88) 0%, rgba(14, 17, 22, .55) 55%, rgba(220, 50, 50, .55) 100%) !important;
	opacity: 1 !important;
}

.page-id-235 .entry-content > .wp-block-cover:first-child h2 {
	font-size: clamp(2.6rem, 1.6rem + 4vw, 4.8rem) !important;
	line-height: .95 !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.page-id-235 .entry-content > .wp-block-cover:first-child h2::after { content: none; }

.page-id-235 .entry-content > .wp-block-cover:first-child h2 + h2 { color: var(--ld-primary) !important; }

.page-id-235 .entry-content > .wp-block-cover:first-child p:empty,
.page-id-235 .entry-content > .wp-block-spacer { display: none; }

/* « Reprenez le contrôle » */
.page-id-235 .wp-block-cover:has(#reprenez-le-controle) {
	min-height: 0 !important;
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) > .wp-block-cover__gradient-background { background: var(--ld-bg) !important; }

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-cover__inner-container {
	max-width: 1000px;
	margin: 0 auto;
}

.page-id-235 #reprenez-le-controle {
	font-size: clamp(2.2rem, 1.5rem + 2.5vw, 3.2rem) !important;
	margin-bottom: 2.5rem;
}

.page-id-235 #reprenez-le-controle::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	margin: 1rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-columns {
	gap: 1.5rem;
	margin: 0 !important;
}

/* icônes : posées en haut des cartes */
.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-columns:has(+ .wp-block-columns) { margin-bottom: -48px !important; position: relative; z-index: 1; }

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-image img {
	width: 96px !important;
	height: 96px !important;
	padding: 14px;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	object-fit: contain;
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-columns + .wp-block-columns > .wp-block-column {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 4px);
	box-shadow: var(--ld-shadow);
	padding: 4rem 2rem 2rem !important;
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-large-font-size {
	font-size: 1.05rem !important;
	line-height: 2 !important;
	color: var(--ld-text) !important;
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-large-font-size strong { font-weight: 500; }

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-spacer { height: 2.5rem !important; }

/* phrase « Objectif » */
.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-secondary-color {
	max-width: 760px;
	margin: 0 auto;
	padding: 1.5rem 2rem;
	background: var(--ld-dark);
	border-radius: var(--ld-radius);
	color: #fff !important;
	font-size: 1.15rem;
	line-height: 1.6;
}

.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-secondary-color em { font-style: normal; font-weight: 500; }

.page-id-235 .entry-content > .jetpack-contact-form-container { margin-top: 1rem !important; margin-bottom: var(--ld-section) !important; }

@media (max-width: 781px) {
	.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-columns:has(+ .wp-block-columns) { display: none; }
	.page-id-235 .wp-block-cover:has(#reprenez-le-controle) .wp-block-columns + .wp-block-columns > .wp-block-column { padding: 1.5rem 1.25rem !important; }
	.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-large-font-size { line-height: 1.8 !important; }
	.page-id-235 .wp-block-cover:has(#reprenez-le-controle) p.has-secondary-color { font-size: 1.05rem; padding: 1.25rem 1.5rem; }
	.wp-block-media-text.alignfull.is-image-fill .wp-block-media-text__media { min-height: 260px; }
}

.page-id-235 .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container { width: 100%; }

/* ---------- Page « Témoignages » (page-id-2163) ---------- */

.page-id-2163 .entry-content > .wp-block-cover:first-child {
	margin-top: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	aspect-ratio: 1400 / 425 !important;   /* le titre est incrusté dans l'image : on l'affiche en entier */
}

.page-id-2163 .entry-content > .wp-block-cover:first-child img.wp-block-cover__image-background { object-position: 0 50% !important; }

.page-id-2163 .entry-content > .wp-block-cover:first-child > .wp-block-cover__background { display: none; }

.page-id-2163 .entry-content > .wp-block-cover:first-child .wp-block-cover__inner-container p:only-child { margin: 0; }

.page-id-2163 .entry-content > .wp-block-columns {
	width: auto !important;
	max-width: 1160px;
	margin: 1.75rem auto 0 !important;
	padding: 0 clamp(1rem, 4vw, 2rem) !important;
	gap: 1.75rem;
	align-items: flex-start !important;
}

.page-id-2163 .entry-content > .wp-block-cover:first-child + .wp-block-columns { margin-top: clamp(2.5rem, 5vw, 4rem) !important; }

.page-id-2163 .entry-content > .wp-block-columns:last-child { margin-bottom: var(--ld-section) !important; }

.page-id-2163 .entry-content > .wp-block-columns > .wp-block-column:empty { display: none; }

.page-id-2163 .entry-content > .wp-block-columns > .wp-block-column:not(:empty) {
	position: relative;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-top: 4px solid var(--ld-primary);
	border-radius: calc(var(--ld-radius) + 2px);
	box-shadow: var(--ld-shadow);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	transition: box-shadow .25s;
}

.page-id-2163 .entry-content > .wp-block-columns > .wp-block-column:not(:empty):hover { box-shadow: var(--ld-shadow-lg); }

/* guillemet décoratif */
.page-id-2163 .entry-content > .wp-block-columns > .wp-block-column:not(:empty) > h2:first-child::before {
	content: '\201C';
	position: absolute;
	top: .75rem;
	right: 1.5rem;
	font-family: Georgia, serif;
	font-size: 5rem;
	line-height: 1;
	color: var(--ld-primary);
	opacity: .15;
}

.page-id-2163 .entry-content > .wp-block-columns h2 {
	font-size: clamp(1.6rem, 1.3rem + 1vw, 2rem) !important;
	line-height: 1.05 !important;
	margin: 0 0 .6rem;
	padding-right: 3rem;
	color: var(--ld-ink);
}

.page-id-2163 .entry-content > .wp-block-columns h2 + h2 { margin-top: 2rem; }

.page-id-2163 .entry-content > .wp-block-columns h3.has-text-color {
	display: inline-block;
	font-size: .95rem !important;
	line-height: 1.35;
	letter-spacing: .06em;
	color: var(--ld-primary) !important;
	background: color-mix(in srgb, var(--ld-primary) 9%, transparent);
	border-radius: 6px;
	padding: .35rem .7rem;
	margin: 0 0 1.25rem;
}

.page-id-2163 .entry-content > .wp-block-columns p {
	font-size: .97rem;
	line-height: 1.75;
	text-align: left !important;
	color: var(--ld-text);
	margin-bottom: .9rem;
}

.page-id-2163 .entry-content > .wp-block-columns p em { font-style: normal; }

/* ligne « NOTE GLOBALE » */
.page-id-2163 .entry-content > .wp-block-columns p:has(> strong:only-child) {
	margin: 1.25rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid var(--ld-border);
	font-size: .8rem;
	letter-spacing: .08em;
	color: var(--ld-muted);
}

.page-id-2163 .entry-content > .wp-block-columns p:has(> strong:only-child) strong { font-weight: 600; }


/* ---------- Carrousel « Témoignages » de l'accueil (Smart Slider n°4) — mobile ---------- */

/* Smart Slider masque les témoignages des slides 2 et 3 en mobile portrait : on les réaffiche */
#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-layer[data-hidemobileportrait="1"] { display: block !important; }

/* Titre « TÉMOIGNAGES » : tenait en 55px, débordait de l'écran */
#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-text.n2-ow[id^="n2-ss-4item"] {
	font-size: clamp(1.9rem, 9vw, 2.6rem) !important;
	line-height: 1.2 !important;
	text-align: center !important;
	margin-bottom: .5rem;
}

/* Texte des témoignages : plus petit, moins gras, mieux contrasté sur la photo */
#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-item-content p {
	font-size: 1rem !important;
	line-height: 1.6 !important;
	font-weight: 500 !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}

#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-item-content p b { font-weight: 700; }

#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-layer-row-inner > .n2-ss-layer[data-sstype="col"] + .n2-ss-layer[data-sstype="col"] {
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, .25);
}

/* Fond plus sombre pour la lisibilité */
#n2-ss-4[data-device-mode="mobilePortrait"] .n2-ss-slide-background-image { opacity: .25 !important; }


/* ==========================================================================
   Passe de révision — octobre 2026
   ========================================================================== */

/* ---------- Global ---------- */

/* Titres sans couleur choisie dans l'éditeur : encre, pas le gris du thème */
.entry-content :is(h1, h2, h3, h4):not(.has-text-color):not(.wp-block-cover *):not(.has-background *),
.page-title,
.comment-reply-title,
.comments-title {
	color: var(--ld-heading);
}

/* Pied de page toujours en bas de l'écran, même sur les pages courtes */
#page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

#page > .site-content { flex: 1 0 auto; width: 100%; }

/* Page terminée par un bandeau plein écran : pas de bande claire avant le pied de page */
body:has(.entry-content > .wp-block-cover:last-child) .site-main { padding-bottom: 0; }
body:has(.entry-content > .wp-block-cover:last-child) .site-footer {
	margin-top: 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

/* Pastille Calendly « Prendre rendez-vous » */
.calendly-badge-widget .calendly-badge-content {
	font-family: var(--ld-font-body) !important;
	font-weight: 600 !important;
	box-shadow: 0 8px 22px color-mix(in srgb, var(--ld-primary) 35%, transparent) !important;
}

/* Réseaux sociaux posés seuls dans la page : centrés */
.entry-content > .wp-block-social-links:not([class*="is-content-justification"]) { justify-content: center; }

/* ---------- Accueil : diaporamas Smart Slider aux polices du site ---------- */

.n2-ss-slider h1.n2-ss-text,
.n2-ss-slider h2.n2-ss-text,
.n2-ss-slider .n2-ss-text[class*="n2-font-f8e7e2ea2544bad214788f743e093989"] {  /* « Dépassez vos limites » */
	font-family: var(--ld-font-head) !important;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.n2-ss-slider .n2-ss-text:not(h1):not(h2):not([class*="n2-font-f8e7e2ea2544bad214788f743e093989"]),
.n2-ss-slider .n2-ss-button-container a {
	font-family: var(--ld-font-body) !important;
}

/* ---------- Accueil : « Pour qui ? » — cartes de même hauteur ---------- */

.wp-block-cover .wp-block-columns:has(> .wp-block-column.has-background-color) {
	width: 100%;
	max-width: 1000px !important;
	align-items: stretch !important;
}

.wp-block-cover .wp-block-column.has-background-color {
	align-self: stretch !important;
	padding: 1.75rem 1.25rem 1.25rem;
}

/* ---------- Bandeaux sombres en mobile : chaque texte suivi de sa photo ---------- */

@media (max-width: 781px) {
	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) {
		display: flex;
		flex-direction: column;
	}

	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) > .wp-block-columns { display: contents; }

	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) > .wp-block-columns > .wp-block-column {
		order: 1;
		margin: 0 0 1.25rem !important;
	}

	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) > .wp-block-columns > .wp-block-column:nth-child(2) { order: 2; }

	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) > .wp-block-columns > .wp-block-column:has(img) { margin-bottom: 3rem !important; }

	.wp-block-cover:has(> .has-foreground-background-color) .wp-block-cover__inner-container:has(> .wp-block-columns + .wp-block-columns) > .wp-block-columns:last-child > .wp-block-column:last-child { margin-bottom: 0 !important; }
}

/* ---------- Page « Service » : bandeaux sombres en colonnes pleine largeur ---------- */

.entry-content > .wp-block-columns.alignfull.has-background {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
	padding: var(--ld-section) max(clamp(1rem, 4vw, 3rem), calc((100vw - 1160px) / 2)) !important;
	background: var(--ld-dark-gradient) !important;
	color: rgba(255, 255, 255, .78) !important;
	gap: clamp(2.5rem, 5vw, 3.5rem);
}

.entry-content > .wp-block-columns.alignfull.has-background h2 {
	font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem) !important;
	line-height: 1.1 !important;
	color: #fff !important;
	margin: 0 0 1.25rem !important;
}

.entry-content > .wp-block-columns.alignfull.has-background h2::after {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
	margin: .8rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.entry-content > .wp-block-columns.alignfull.has-background p {
	color: rgba(255, 255, 255, .78);
	font-size: 1rem;
	line-height: 1.7;
	max-width: 46ch;
	margin-left: auto;
	margin-right: auto;
}

.entry-content > .wp-block-columns.alignfull.has-background p strong { color: #fff; font-weight: 500; }

.entry-content > .wp-block-columns.alignfull.has-background p:empty,
.entry-content > .wp-block-columns.alignfull.has-background .wp-block-separator { display: none; }

.entry-content > .wp-block-columns.alignfull.has-background .wp-block-image { margin: 1.75rem 0 0; }

.entry-content > .wp-block-columns.alignfull.has-background .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .45);
}

.entry-content > h2.has-text-align-center:has(+ .wp-block-columns.alignfull.has-background) { margin-bottom: 2rem; }

.entry-content > .wp-block-columns.alignfull.has-background + .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin: 2.5rem 0 1.5rem !important;
}

/* ---------- Page « Formules » (page-id-431) ---------- */

.page-id-431 .entry-content > .wp-block-columns {
	width: auto !important;
	max-width: 1000px;
	margin: clamp(2.5rem, 5vw, 4rem) auto 0 !important;
	padding: 0 clamp(1rem, 4vw, 2rem) !important;
	gap: 1.75rem;
}

.page-id-431 .entry-content > .wp-block-columns:has(p.has-text-color) { align-items: stretch !important; }

.page-id-431 .entry-content > .wp-block-columns:has(p.has-text-color) > .wp-block-column {
	flex: 1 1 0 !important;
	align-self: stretch !important;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-top: 4px solid var(--ld-primary);
	border-radius: calc(var(--ld-radius) + 2px);
	box-shadow: var(--ld-shadow);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
}

/* intitulés bleus d'origine → titres de carte */
.page-id-431 .entry-content > .wp-block-columns:has(p.has-text-color) p.has-text-color:first-child {
	margin: 0 0 1rem;
	color: var(--ld-ink) !important;
	font-family: var(--ld-font-head);
	font-size: clamp(1.5rem, 1.25rem + .8vw, 1.9rem) !important;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.page-id-431 .entry-content > .wp-block-columns:has(p.has-text-color) p.has-text-color:first-child::after {
	content: '';
	display: block;
	width: 40px;
	height: 3px;
	margin: .8rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.page-id-431 .entry-content > .wp-block-columns:has(p.has-text-color) p { line-height: 1.8; }

.page-id-431 .entry-content > .wp-block-columns:has(.calendly-inline-widget) { align-items: flex-start !important; margin-bottom: var(--ld-section) !important; }

/* ---------- Page « Votre coach » : expériences en cartes ---------- */

.entry-content > .wp-block-media-text.alignwide.has-background {
	max-width: 1000px;
	margin: 0 auto 1.5rem !important;
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 2px);
	box-shadow: var(--ld-shadow);
	overflow: hidden;
	color: var(--ld-text) !important;
}

.entry-content > .wp-block-media-text.alignwide.has-background .wp-block-media-text__content { padding: clamp(1.25rem, 3vw, 2rem) !important; }

.entry-content > .wp-block-media-text.alignwide.has-background p { font-size: .97rem; line-height: 1.75; }

/* ---------- Page protégée par mot de passe ---------- */

.post-password-form {
	max-width: 480px;
	margin: clamp(3rem, 8vw, 6rem) auto !important;
	padding: clamp(1.5rem, 4vw, 2.25rem) !important;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-top: 4px solid var(--ld-primary);
	border-radius: calc(var(--ld-radius) + 2px);
	box-shadow: var(--ld-shadow);
	box-sizing: border-box;
}

.post-password-form p:first-child { margin-top: 0; font-size: .95rem; }

.post-password-form label {
	display: block;
	font-size: .9rem;
	font-weight: 600;
}

.post-password-form input[type="password"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin-top: .4rem;
	font-family: var(--ld-font-body);
	background: var(--ld-surface);
	color: var(--ld-text);
	border: 1px solid var(--ld-border-strong);
	border-radius: var(--ld-radius-sm);
	padding: .75rem .9rem;
}

.post-password-form input[type="password"]:focus {
	outline: none;
	border-color: var(--ld-primary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ld-primary) 18%, transparent);
}

.post-password-form input[type="submit"] { width: 100%; margin-top: 1rem; }

/* ---------- Articles et archives ---------- */

body .entry-title,
body .entry-title a,
.page-title {
	font-family: var(--ld-font-head) !important;
	font-weight: 700 !important;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--ld-ink);
	text-decoration: none;
}

.entry-title a:hover { color: var(--ld-primary); }

.entry-meta,
.entry-footer,
.post-navigation,
.comments-area {
	font-family: var(--ld-font-body) !important;
}

.entry-meta,
.entry-footer { font-size: .8rem !important; color: var(--ld-muted); }

.entry-meta a,
.entry-footer a { color: var(--ld-muted) !important; font-weight: 500; }

.entry-meta a:hover,
.entry-footer a:hover { color: var(--ld-primary) !important; }

/* Archive (catégories, étiquettes) : une carte par article */
.archive .page-header { margin: clamp(2.5rem, 5vw, 4rem) auto 2rem; padding: 0 1rem; text-align: center; }

.archive .page-title {
	font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem) !important;
	line-height: 1.1;
}

.archive .page-title::after {
	content: '';
	display: block;
	width: 56px;
	height: 3px;
	margin: 1rem auto 0;
	border-radius: 3px;
	background: var(--ld-primary);
}

.archive .site-main > article {
	max-width: 860px;
	margin: 0 auto 2rem !important;
	padding: 0 0 1.5rem !important;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 2px);
	box-shadow: var(--ld-shadow);
	overflow: hidden;
}

@media (max-width: 899px) {
	.archive .site-main > article { margin-left: 1rem !important; margin-right: 1rem !important; }
}

.archive .site-main > article > .entry-header {
	margin: 1.75rem auto .25rem !important;
	padding: 0 clamp(1.25rem, 4vw, 2.25rem);
}

.archive .entry-title {
	max-width: none;
	margin: 0 !important;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem) !important;
	line-height: 1.1 !important;
	text-align: center;
}

.archive .post-thumbnail { margin: 1.25rem 0 0 !important; max-width: none !important; }

.archive .site-main > article > .entry-content > :first-child { margin-top: 0 !important; }

.archive .post-thumbnail img { display: block; width: 100%; height: auto; }

.archive .site-main > article > .entry-content,
.archive .site-main > article > .entry-footer {
	max-width: none;
	margin: 1.25rem auto 0 !important;
	padding: 0 clamp(1.25rem, 4vw, 2.25rem) !important;
}

.archive .pagination,
.archive .navigation.posts-navigation { max-width: 860px; margin: 0 auto 2rem; }

/* Article seul */
/* l'en-tête vidé par base.css (marge 0) reste centré : il porte la ligne auteur/date */
.single article > .entry-header { margin: 0 auto !important; }

.single .entry-header .entry-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .25rem 1.1rem;
	max-width: 750px;
	margin: clamp(2rem, 4vw, 3rem) auto 1.5rem;
	padding: 0 1rem;
	text-align: center;
}

.single .post-thumbnail { max-width: 1160px; margin-left: auto !important; margin-right: auto !important; padding: 0 clamp(1rem, 4vw, 2rem); }

.single .post-thumbnail img { display: block; border-radius: var(--ld-radius); box-shadow: var(--ld-shadow-lg); }

.single .entry-content > .wp-block-columns:is(.alignwide, .alignfull) {
	width: auto !important;
	max-width: 1160px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 clamp(1rem, 4vw, 2rem);
}

.single .entry-content .wp-block-image img { border-radius: var(--ld-radius-sm); }

/* vignettes-titres (blocs Couverture en colonnes) : le titre tient dans la vignette */
@media (min-width: 782px) {
	.single .entry-content .wp-block-column .wp-block-cover h2 {
		font-size: clamp(2rem, 1rem + 2.6vw, 4.4rem) !important;
		line-height: 1 !important;
	}
}

.single .entry-footer {
	margin-top: 3rem !important;
	padding-top: 1.5rem !important;
	border-top: 1px solid var(--ld-border);
}

/* Navigation article précédent / suivant */
.post-navigation .nav-links { gap: 1rem; }

.post-navigation .nav-links > div > a {
	display: block;
	height: 100%;
	box-sizing: border-box;
	padding: 1.1rem 1.4rem;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow);
	transition: box-shadow .25s, transform .25s var(--ld-ease);
}

.post-navigation .nav-links > div > a:hover { box-shadow: var(--ld-shadow-lg); transform: translateY(-2px); }

.post-navigation .meta-nav {
	font-size: .75rem !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ld-muted) !important;
}

.post-navigation .post-title {
	display: block;
	margin-top: .3rem;
	font-family: var(--ld-font-head) !important;
	font-size: 1.35rem !important;
	font-weight: 700;
	line-height: 1.15;
	text-transform: uppercase;
	color: var(--ld-ink) !important;
}

.post-navigation a:hover .post-title { color: var(--ld-primary) !important; }

/* Commentaires : cases d'abonnement Jetpack lisibles */
.comment-form .comment-subscription-form {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: .5rem 0 !important;
}

.comment-form .comment-subscription-form input[type="checkbox"] { flex: none; margin-top: .3rem; }

.comment-form .comment-subscription-form label {
	width: auto !important;
	font-size: .9rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

/* ---------- Page « Contact » (page-id-8) : phrase d'accroche plus mesurée ---------- */

.page-id-8 .entry-content > .wp-block-cover:first-child p {
	font-size: clamp(1.15rem, 1rem + 1vw, 1.6rem) !important;
	font-weight: 500;
	line-height: 1.45 !important;
	max-width: 36ch;
	margin-left: auto;
	margin-right: auto;
}
