/* ==========================================================================
   Louis Design — Hypnose & Coaching Gap
   Ambiance : calme, chaleureuse, rassurante.
   ========================================================================== */

:root {
	--ld-font-head: "Fraunces", Georgia, "Times New Roman", serif;
	--ld-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

	--ld-bg: #faf8f5;
	--ld-surface: #ffffff;
	--ld-tint: #eef5fa;
	--ld-text: #3d4654;
	--ld-ink: #15253a;
	--ld-muted: #6c7684;
	--ld-heading: #15253a;
	--ld-border: #ebe6df;
	--ld-border-strong: #d8d2c9;

	--ld-primary: #1e7fbf;       /* bleu d'origine (#29b6f6) approfondi */
	--ld-primary-dark: #166698;
	--ld-accent-bar: #ef6b5e;    /* corail d'origine (#ff5959) adouci */
	--ld-link: #1e7fbf;
	--ld-link-hover: #ef6b5e;

	--ld-dark: #13212f;
	--ld-dark-gradient: linear-gradient(160deg, #15263a 0%, #0f1a26 100%);
}

/* Titres : serif élégant, poids modéré */
body h1, body h2, body h3,
body .site-title {
	font-weight: 500 !important;
	letter-spacing: .005em;
}

body:not(.fse-enabled) .site-title { font-weight: 600 !important; }

.entry-content h2 { font-variation-settings: "opsz" 96; }

/* ---------- Bandeau d'accueil ---------- */

.entry-content > link + h2,
.entry-content > h2:first-of-type {
	font-size: clamp(2rem, 1.3rem + 2.6vw, 3.1rem) !important;
	margin-top: clamp(3rem, 6vw, 5rem) !important;
	margin-bottom: clamp(2rem, 4vw, 3rem) !important;
	max-width: 16ch;
	margin-left: auto !important;
	margin-right: auto !important;
}

.wp-block-cover.has-parallax {
	min-height: min(88vh, 760px) !important;
}

.wp-block-cover.has-parallax h2 {
	font-family: var(--ld-font-head) !important;
	font-size: clamp(1.6rem, 1.1rem + 2vw, 2.6rem) !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	max-width: 22ch;
	margin: 0 auto;
}

.wp-block-cover.has-parallax .wp-block-columns {
	max-width: 1100px;
	margin: 2.5rem auto 0;
	align-items: center !important;
}

.wp-block-cover.has-parallax .wp-block-column p {
	font-size: 1.02rem;
	line-height: 1.9;
	letter-spacing: .01em;
}

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

@media (min-width: 782px) {
	.wp-block-cover.has-parallax .wp-block-columns > .wp-block-column:not(.is-vertically-aligned-center) {
		background: rgba(255, 255, 255, .08);
		border: 1px solid rgba(255, 255, 255, .18);
		-webkit-backdrop-filter: blur(8px);
		backdrop-filter: blur(8px);
		border-radius: var(--ld-radius);
		padding: 1.25rem 1rem .5rem;
	}
}

/* ---------- Bloc présentation + prise de RDV ---------- */

.wp-block-cover:has(.calendly-inline-widget) {
	padding-top: clamp(3rem, 6vw, 5rem) !important;
}

.wp-block-cover:has(.calendly-inline-widget) > .wp-block-cover__background {
	background: var(--ld-bg) !important;
}

.wp-block-cover:has(.calendly-inline-widget) .wp-block-columns.alignwide {
	max-width: 1160px;
	margin: 0 auto;
	align-items: center;
}

.wp-block-cover:has(.calendly-inline-widget) .wp-block-column:first-child p {
	font-size: 1.15rem !important;
	line-height: 1.75;
	color: var(--ld-text) !important;
}

.wp-block-cover:has(.calendly-inline-widget) .wp-block-column:first-child p a {
	color: var(--ld-primary) !important;
}

.wp-block-cover:has(.calendly-inline-widget) .wp-block-column:last-child {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 6px);
	box-shadow: var(--ld-shadow-lg);
	padding: 1.75rem 1rem 0 !important;
	overflow: hidden;
}

.wp-block-cover:has(.calendly-inline-widget) h3 {
	font-size: 1.5rem !important;
	color: var(--ld-ink) !important;
	margin-bottom: 0;
}

/* ---------- Les 3 colonnes Hypnose / Hypnologue / Fonctionnement ---------- */

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

.entry-content > .wp-block-columns h2.has-text-color {
	font-size: clamp(1.3rem, 1rem + .9vw, 1.65rem) !important;
	margin-bottom: .25rem;
}

.entry-content > .wp-block-columns h2.has-text-color mark { background: none !important; }

.entry-content > .wp-block-columns > .wp-block-column > p > a > strong,
.entry-content > .wp-block-columns > .wp-block-column > p > strong > a {
	font-weight: 600;
}

/* « En savoir + » et sous-titres : liens texte avec flèche */
.entry-content > .wp-block-columns > .wp-block-column > p:only-child > strong > a,
.entry-content > .wp-block-columns > .wp-block-column > p:only-child > a {
	color: var(--ld-primary) !important;
	text-decoration: none !important;
	font-size: .92rem;
	letter-spacing: .02em;
}

.entry-content > .wp-block-columns > .wp-block-column > p:only-child > strong > a::after {
	content: ' \2192';
	display: inline-block;
	transition: transform .2s var(--ld-ease);
}

.entry-content > .wp-block-columns > .wp-block-column > p:only-child > strong > a:hover::after {
	transform: translateX(4px);
}

/* « C'est quoi l'hypnose ? » — deux cartes */
.entry-content > .wp-block-columns.are-vertically-aligned-top > .wp-block-column {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
}

.entry-content > .wp-block-columns.are-vertically-aligned-top h2 {
	font-size: 1.6rem !important;
	color: var(--ld-primary) !important;
	margin-top: 0;
}

.entry-content > .wp-block-columns.are-vertically-aligned-top p {
	text-align: left !important;
	font-size: .98rem;
}

/* Témoignages : grille aérée */
.entry-content > .wp-block-columns:has(.wp-block-quote) {
	margin-top: 2rem;
}

/* ---------- Bandeau contact ---------- */

.wp-block-jetpack-contact-info {
	max-width: 520px;
	margin: 0 auto;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: rgba(15, 26, 38, .55);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: calc(var(--ld-radius) + 4px);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.wp-block-jetpack-contact-info p {
	font-size: 1.05rem !important;
	line-height: 1.6;
	margin: 0;
}

.wp-block-jetpack-contact-info p:first-child {
	font-family: var(--ld-font-head);
	font-size: 1.4rem !important;
}

.wp-block-jetpack-contact-info p:first-child strong { font-weight: 500; }

.wp-block-jetpack-contact-info .wp-block-spacer { height: 1rem !important; }

.wp-block-jetpack-contact-info p a {
	display: inline-block;
	margin-top: .5rem;
	padding: .55rem 1.4rem;
	border-radius: 999px;
	background: var(--ld-accent-bar);
	color: #fff !important;
	text-decoration: none !important;
	text-shadow: none;
}

.wp-block-jetpack-contact-info p a:hover { background: #fff; color: var(--ld-ink) !important; }

.wp-block-cover iframe {
	width: 100%;
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow-lg);
}

/* Séparateurs décoratifs superflus avant « Articles récents » */
.entry-content > hr.wp-block-separator,
.entry-content > .wp-block-group:has(> .wp-block-group__inner-container > hr:only-child) {
	display: none;
}

/* Logo du syndicat */
.entry-content > .wp-block-columns:last-of-type {
	margin-top: var(--ld-section);
	font-size: .9rem;
	color: var(--ld-muted);
}

/* Bandeaux unis en bleu vif saisis dans l'éditeur : teinte douce */
.wp-block-cover:not(:has(.wp-block-cover__image-background)) > .wp-block-cover__background[style*="background-color"] {
	background: var(--ld-tint) !important;
	opacity: 1 !important;
}

.entry-content p.has-background[style*="#66c9f7"] {
	background: transparent !important;
}

/* ==========================================================================
   Page « Informations utiles / Contact » (page-id-60)
   ========================================================================== */

/* Encart Calendly */
.page-id-60 .entry-content > .wp-block-media-text:first-of-type {
	width: auto !important;
	max-width: 860px;
	margin: 0 auto !important;
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 4vw, 2.5rem);
	grid-template-columns: minmax(140px, 220px) 1fr !important;
	gap: 2rem;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 6px);
	box-shadow: var(--ld-shadow);
}

.page-id-60 .entry-content > .wp-block-media-text:first-of-type .wp-block-media-text__content { padding: 0 !important; }

.page-id-60 .entry-content > .wp-block-media-text:first-of-type p { margin-bottom: .75rem; font-size: 1.05rem; }

.page-id-60 .wp-block-button__width-25 { width: auto !important; }

.page-id-60 .wp-block-button__width-25 .wp-block-button__link { padding: .85rem 2.4rem !important; }

/* Bandeaux blancs pleine largeur : fond de page */
.page-id-60 .wp-block-cover > .has-background-background-color { background: var(--ld-bg) !important; }

.page-id-60 .wp-block-cover { min-height: 0 !important; }

/* Coordonnées + formulaire : deux cartes */
.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-columns {
	max-width: 1100px;
	gap: 1.75rem;
	align-items: stretch !important;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .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: clamp(1.5rem, 3vw, 2.25rem) !important;
	line-height: 1.6 !important;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child {
	background: var(--ld-dark-gradient);
	border-color: transparent;
	color: #fff;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child p {
	color: rgba(255, 255, 255, .85) !important;
	font-size: 1rem;
	margin: 0;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child p:first-child strong {
	font-family: var(--ld-font-head);
	font-size: 1.6rem;
	font-weight: 500;
	color: #fff;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child .wp-block-spacer { height: 1.25rem !important; }

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child .wp-block-button__link {
	background: rgba(255, 255, 255, .1) !important;
	border: 1px solid rgba(255, 255, 255, .3) !important;
	box-shadow: none;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child .wp-block-button__link:hover {
	background: #fff !important;
}

.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child .wp-block-button__link:hover span {
	color: var(--ld-ink) !important;
}

.page-id-60 .wp-block-cover .wp-block-jetpack-contact-form { max-width: none; }

/* Titres : on retire les surlignages blancs de l'éditeur */
.page-id-60 .tadv-background-color { background: none !important; }

/* Tarifs */
.page-id-60 .entry-content > h2 + p.has-text-align-center {
	font-size: .95rem !important;
	margin-top: -.5rem;
}

.page-id-60 .entry-content > h2 + p.has-text-align-center,
.page-id-60 .entry-content > h2 + p.has-text-align-center * {
	color: var(--ld-muted) !important;
	font-weight: 500;
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] {
	max-width: 900px;
	margin: 2rem auto 1.5rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	gap: 1.25rem;
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] > .wp-block-column {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 4px);
	box-shadow: var(--ld-shadow);
	padding: 1.75rem 1.25rem 1.5rem;
	transition: transform .25s var(--ld-ease), box-shadow .25s;
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] > .wp-block-column:hover {
	transform: translateY(-4px);
	box-shadow: var(--ld-shadow-lg);
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] p {
	margin: 0 0 .5rem;
	font-size: .95rem;
	color: var(--ld-muted);
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] p:first-child {
	font-size: .8rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ld-ink);
	margin-bottom: .9rem;
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] p:last-child {
	margin: auto 0 0;
	padding-top: 1rem;
	font-family: var(--ld-font-head);
	font-size: 2.6rem;
	line-height: 1;
	color: var(--ld-primary);
}

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] .wp-block-spacer { display: none; }

.page-id-60 .entry-content > .wp-block-columns[style*="border-radius"] ~ p {
	text-align: center;
	font-size: .9rem;
	color: var(--ld-muted);
	max-width: 900px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Lieu de consultation */
.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.alignwide {
	max-width: 1000px;
	gap: 1.5rem;
	align-items: stretch;
}

.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.alignwide:first-of-type .wp-block-column > * { height: 100%; margin: 0; }

.page-id-60 .wp-block-cover:has(iframe) .wp-block-image img {
	width: 100% !important;
	height: 380px !important;
	object-fit: cover;
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow-lg);
}

.page-id-60 .wp-block-cover:has(iframe) iframe {
	width: 100%;
	height: 380px;
}

.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.are-vertically-aligned-top .wp-block-column:empty { display: none; }

.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.are-vertically-aligned-top .wp-block-column:first-child {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: var(--ld-radius);
	box-shadow: var(--ld-shadow);
	padding: 1.5rem 1.75rem !important;
	text-align: center;
}

.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.are-vertically-aligned-top p {
	font-size: 1.05rem !important;
	line-height: 1.7;
	margin: 0 0 .5rem;
}

.page-id-60 .wp-block-cover:has(iframe) .wp-block-columns.are-vertically-aligned-top p em { color: var(--ld-muted); }

/* Mentions : encadré */
.page-id-60 .entry-content > .wp-block-group {
	max-width: 860px;
	margin: var(--ld-section) auto 0 !important;
}

.page-id-60 .entry-content > .wp-block-group p.has-text-align-justify:has(> img) {
	position: relative;
	text-align: left !important;
	font-size: .95rem !important;
	line-height: 1.7;
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-left: 3px solid var(--ld-accent-bar);
	border-radius: var(--ld-radius-sm);
	padding: 1rem 1.25rem;
	margin-bottom: .9rem;
}

.page-id-60 .entry-content > .wp-block-group p.has-text-align-justify:has(> img) > img:first-child { display: none; }

.page-id-60 .entry-content > .wp-block-group .wp-block-media-text {
	align-items: center;
	max-width: 520px;
	margin: 2.5rem auto !important;
}

.page-id-60 .entry-content > .wp-block-group .wp-block-spacer { height: 1.5rem !important; }

.page-id-60 .entry-content > .wp-block-group .wp-block-jetpack-contact-form {
	background: var(--ld-surface);
	border: 1px solid var(--ld-border);
	border-radius: calc(var(--ld-radius) + 4px);
	box-shadow: var(--ld-shadow);
	padding: clamp(1.25rem, 3vw, 2rem);
}

@media (min-width: 782px) {
	.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column:first-child { flex: 0 1 38% !important; }
	.page-id-60 .entry-content > .wp-block-group .wp-block-media-text { grid-template-columns: 120px 1fr !important; }
}

@media (max-width: 781px) {
	.page-id-60 .wp-block-cover:has(.wp-block-jetpack-contact-form) .wp-block-column { flex-basis: 100% !important; }
	.page-id-60 .entry-content > .wp-block-group .wp-block-media-text { text-align: center; }
	.page-id-60 .entry-content > .wp-block-group .wp-block-media-text img { max-width: 120px; margin: 0 auto; }
	.page-id-60 .entry-content > .wp-block-media-text:first-of-type { text-align: center; }
	.page-id-60 .entry-content > .wp-block-media-text:first-of-type img { max-width: 200px; margin: 0 auto; }
	.page-id-60 .wp-block-cover:has(iframe) .wp-block-image img,
	.page-id-60 .wp-block-cover:has(iframe) iframe { height: 260px !important; }
}
