/*
Theme Name: Something Health
Theme URI: https://lab.elium.be
Description: Thème enfant de Twenty Twenty-Five pour Something Health.
Author: Something Health
Template: twentytwentyfive
Version: 0.4.9
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: something-health
*/

/* ---------- Base ---------- */
@property --sh-hl { syntax: '<percentage>'; inherits: true; initial-value: 100%; }
/* Ancres (#missions…) : défilement doux, et la cible ne passe pas sous l'en-tête collant */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
[id] { scroll-margin-top: var(--sh-header-h, 105px); }
/* « About » → la notice : on atterrit sur la feuille (≈ 40 px d'air sous l'en-tête), pas sur le haut de la section verte */
#leaflet { scroll-margin-top: calc(var(--sh-header-h, 105px) - var(--sh-sec-t, clamp(5.5rem, 12vh, 10rem)) + 2.5rem); }
body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
:where(h1, h2, h3) strong { font-weight: 600; }

/* Sections pleine largeur collées les unes aux autres */
.sh-section {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding-top: var(--sh-sec-t, clamp(5.5rem, 12vh, 10rem));
	padding-bottom: var(--sh-sec-b, clamp(6rem, 13vh, 11rem));
}
/* Sections « chapitre » : au moins la hauteur de l'écran, contenu centré verticalement (même logique que le hero) */
.sh-chapter {
	min-height: calc(100vh - var(--sh-header-h, 105px));
	min-height: calc(100svh - var(--sh-header-h, 105px));
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}
.sh-chapter > * { width: 100%; }
/* Section épinglée par GSAP : GSAP fixe une largeur sans tenir compte du box-sizing, on la remet à pleine largeur */
.pin-spacer > .sh-chapter { width: 100% !important; max-width: none !important; }
.is-layout-constrained > .pin-spacer {
	max-width: none !important;
	margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1) !important;
	margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1) !important;
}
@media (max-width: 781px) { .sh-chapter { min-height: 0; } }
/* Respiration entre le titre et sa phrase d'appui */
.sh-section h2 + p.has-large-font-size { margin-top: 1.75rem; }
.sh-section > * { position: relative; z-index: 1; }
.sh-section,
.sh-hero,
.wp-block-post-content > .alignfull,
.wp-site-blocks > * + main { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Sur-titre : IN HEALTHCARE, INSIGHT, WHAT WE DO… */
.is-style-eyebrow {
	font-size: .8125rem !important;
	letter-spacing: .26em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 2.75rem !important;
}
/* Texte étroit calé sur le bord gauche de la colonne de contenu (1260px), quelle que soit la largeur d'écran */
/* Sur-titre dont la casse compte (SmPC) */
.is-style-eyebrow.sh-keep-case { text-transform: none; letter-spacing: .14em; font-size: .9375rem !important; }
.sh-narrow { max-width: 820px; margin-left: max(0px, calc((100% - 1260px) / 2)) !important; }

/* ---------- En-tête ---------- */
/* L'en-tête colle en haut : c'est la zone « template part » qui doit être sticky, pas le groupe à l'intérieur */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
.sh-header {
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background: rgba(255, 255, 255, .88);
	border-bottom: 1px solid rgba(4, 68, 57, .08);
}
.sh-header .wp-block-navigation a { text-decoration: none; }
.sh-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: .35em; }
.sh-logo img { display: block; height: auto; }
.sh-btn-small .wp-block-button__link { padding: .8rem 1.35rem; font-size: .8125rem; }
/* ---------- Menu mobile (sous 900 px) : bouton 44 px, panneau vert plein écran sous l'en-tête ---------- */
.sh-burger { display: none; }
.sh-menu { display: none; }
@media (max-width: 899px) {
	.sh-nav { display: none !important; }
	.sh-burger {
		display: inline-flex; align-items: center; justify-content: center;
		width: 44px; height: 44px; margin-right: -10px; padding: 0;
		background: none; border: 0; cursor: pointer; color: var(--wp--preset--color--sh-ink);
		-webkit-tap-highlight-color: transparent;
	}
	.sh-burger-box { position: relative; width: 24px; height: 12px; display: block; }
	.sh-burger-box span {
		position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor;
		transition: transform .35s cubic-bezier(.65, 0, .35, 1), top .35s cubic-bezier(.65, 0, .35, 1);
	}
	.sh-burger-box span:first-child { top: 0; }
	.sh-burger-box span:last-child { top: 10px; }
	.sh-menu-open .sh-burger-box span:first-child { top: 5px; transform: rotate(45deg); }
	.sh-menu-open .sh-burger-box span:last-child { top: 5px; transform: rotate(-45deg); }

	.sh-menu {
		display: block;
		position: fixed; z-index: 99; left: 0; right: 0; bottom: 0;
		top: var(--sh-menu-top, 64px);
		background: var(--wp--preset--color--sh-ink); color: #fff;
		overflow-y: auto; overscroll-behavior: contain;
		visibility: hidden;
		clip-path: inset(0 0 100% 0);
		transition: clip-path .45s cubic-bezier(.65, 0, .35, 1), visibility 0s linear .45s;
	}
	.sh-menu-open .sh-menu { visibility: visible; clip-path: inset(0); transition: clip-path .5s cubic-bezier(.65, 0, .35, 1), visibility 0s; }
	.sh-menu-open, .sh-menu-open body { overflow: hidden; }
	.sh-menu-inner {
		min-height: 100%; box-sizing: border-box;
		display: flex; flex-direction: column;
		padding: 2.25rem 1.25rem calc(2rem + env(safe-area-inset-bottom));
	}
	.sh-menu-links { list-style: none; margin: 0; padding: 0; }
	.sh-menu-links li { border-bottom: 1px solid rgba(108, 226, 207, .2); }
	.sh-menu-links a {
		display: flex; align-items: baseline; gap: 1rem;
		padding: 1.1rem 0;
		color: #fff; text-decoration: none;
		font-size: clamp(2rem, 9vw, 2.75rem); font-weight: 600; line-height: 1.05; letter-spacing: -.01em;
	}
	.sh-menu-n { font-size: .8125rem; font-weight: 500; letter-spacing: .12em; color: var(--wp--preset--color--sh-aqua-ui); min-width: 1.6rem; }
	.sh-menu-links a:active { color: var(--wp--preset--color--sh-aqua-ui); }
	.sh-menu-cta {
		display: block; margin-top: 2.25rem; padding: 1.4rem 1.5rem; border-radius: 16px;
		background: var(--wp--preset--color--sh-aqua-ui); color: var(--wp--preset--color--sh-ink); text-decoration: none;
	}
	.sh-menu-kicker { display: block; margin-bottom: .35rem; font-size: .8125rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
	.sh-menu-cta-t { display: block; font-size: 1.5rem; font-weight: 600; line-height: 1.2; }
	.sh-menu-foot { margin: auto 0 0; padding-top: 2.5rem; font-size: .9375rem; line-height: 1.7; color: rgba(255, 255, 255, .72); }
	.sh-menu-foot a { color: #fff; text-decoration: underline; text-decoration-color: rgba(108, 226, 207, .6); text-underline-offset: .25em; }

	/* Entrée des liens en cascade, une fois le panneau ouvert */
	.sh-menu-links li, .sh-menu-cta, .sh-menu-foot { opacity: 0; transform: translateY(14px); transition: opacity .3s ease, transform .3s ease; }
	.sh-menu-open .sh-menu-links li, .sh-menu-open .sh-menu-cta, .sh-menu-open .sh-menu-foot { opacity: 1; transform: none; transition: opacity .45s ease, transform .55s cubic-bezier(.2, .7, .2, 1); }
	.sh-menu-open .sh-menu-links li:nth-child(1) { transition-delay: .12s; }
	.sh-menu-open .sh-menu-links li:nth-child(2) { transition-delay: .18s; }
	.sh-menu-open .sh-menu-links li:nth-child(3) { transition-delay: .24s; }
	.sh-menu-open .sh-menu-cta { transition-delay: .32s; }
	.sh-menu-open .sh-menu-foot { transition-delay: .4s; }
}
@media (max-width: 899px) and (prefers-reduced-motion: reduce) {
	.sh-menu, .sh-menu-open .sh-menu { clip-path: none; transition: visibility 0s; }
	.sh-menu-links li, .sh-menu-cta, .sh-menu-foot { transform: none !important; transition: opacity .2s ease !important; }
}
/* En-tête plus compact sur téléphone : il reste collé en haut, autant qu'il prenne peu de place */
@media (max-width: 599px) {
	html:root { --sh-header-h: 68px; }
	.sh-header-cta { display: none !important; }
	.sh-header > .wp-block-group { padding-top: .75rem !important; padding-bottom: .75rem !important; }
	.sh-logo img { width: 136px !important; }
}

/* ---------- Boutons ---------- */
.wp-block-button__link { transition: filter .15s ease, transform .15s ease, background-color .15s ease; }
.wp-block-button__link:hover { filter: brightness(1.05); transform: translateY(-1px); }
.sh-btn-ghost .wp-block-button__link {
	background: transparent !important;
	border: 1px solid #8C8C8C !important;
	color: #5E5E5E !important;
	font-weight: 400;
}
.sh-btn-ghost .wp-block-button__link:hover { border-color: var(--wp--preset--color--sh-ink) !important; color: var(--wp--preset--color--sh-ink) !important; }

/* ---------- Ouverture : plein écran ---------- */
:root { --sh-header-h: 105px; }
.sh-hero {
	position: relative;
	padding-left: max(1.25rem, calc((100vw - 1260px) / 2));
	padding-right: max(1.25rem, calc((100vw - 1260px) / 2));
	overflow: hidden;
	min-height: calc(100vh - var(--sh-header-h));
	min-height: calc(100svh - var(--sh-header-h));
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
}
.admin-bar .sh-hero {
	min-height: calc(100vh - var(--sh-header-h) - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100svh - var(--sh-header-h) - var(--wp-admin--admin-bar--height, 32px));
}
.sh-hero-cols { margin: 0 !important; width: 100%; }
.sh-hero-text { padding: 2rem 0 5rem; position: relative; z-index: 2; }
.sh-hero-text h1 { margin-top: 0; }
.sh-hero-text .has-large-font-size { margin-top: 2.25rem; }
/* Le blister (pas l'image, qui a du blanc autour) s'aligne sur le bord droit de la page, comme le bouton du menu */
.sh-hero-media img { width: 150%; max-width: none; height: auto; display: block; margin-left: -23%; }
.sh-scroll-cue {
	position: absolute;
	left: 50%;
	bottom: 1.75rem;
	transform: translateX(-50%);
	margin: 0 !important;
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .3em;
	text-transform: uppercase;
}
.sh-scroll-cue a { text-decoration: none; display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.sh-scroll-cue a::after { content: ""; width: 1px; height: 42px; background: currentColor; opacity: .5; }
@media (max-width: 781px) {
	.sh-hero { padding-right: 1.25rem; min-height: 0; }
	.sh-hero-text { padding: 2rem 0 1rem; }
	.sh-hero-media img { width: 100%; max-width: 100%; margin-left: 0; }
	.sh-scroll-cue { display: none; }
}

/* ---------- Section verte : monogramme en trame ---------- */
.sh-dots::before {
	content: "";
	position: absolute;
	z-index: 0;
	right: max(1rem, calc((100vw - 1366px) / 2 + 47px));
	top: 4.5rem;
	width: min(46vw, 630px);
	aspect-ratio: 1;
	background: url("assets/img/monogram-dots.png") center / contain no-repeat;
	pointer-events: none;
	opacity: var(--sh-dots-o, 1);
	transform: translateY(var(--sh-dots-y, 0px)) scale(var(--sh-dots-s, 1)) rotate(var(--sh-dots-r, 0deg));
}
/* Soulignement aqua (« Hence our name. » dans le hero) */
.sh-hl {
	background: linear-gradient(var(--wp--preset--color--sh-aqua-ui), var(--wp--preset--color--sh-aqua-ui)) left 95% / var(--sh-hl, 100%) .14em no-repeat;
	padding-bottom: .05em;
	/* Sur plusieurs lignes, chaque ligne a son propre trait */
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
/* « active » : soulignement aqua qui se dessine */
.sh-answer h2 strong {
	background: linear-gradient(var(--wp--preset--color--sh-aqua-ui), var(--wp--preset--color--sh-aqua-ui)) left 92% / var(--sh-hl, 100%) .12em no-repeat;
}
.sh-insight .sh-i-q, .sh-insight .sh-i-a { display: inline-block; }
.sh-answer .sh-word-mask { display: inline-block; overflow: clip; overflow-clip-margin: .1em; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.sh-quality-title { font-size: 1.5rem; font-weight: 600; line-height: 1.1; margin: 0 0 1.25rem; }
.sh-quality-text { font-size: 1.375rem; line-height: 1.12; margin: 0; }
.sh-rule-left { position: relative; padding-left: 1.5rem; }
.sh-rule-left::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 2px;
	background: var(--wp--preset--color--sh-aqua-ui);
	transform-origin: top;
	transform: scaleY(var(--sh-rule, 1));
}
@media (max-width: 781px) {
	.sh-dots::before { width: 80vw; right: -25vw; top: auto; bottom: -10vw; opacity: .7; }
}

/* ---------- Insight ---------- */
.sh-icon { margin: 0 0 1.75rem; }
.sh-icon img { width: auto; display: block; }
.sh-label-caps { font-size: .8125rem; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; margin: 0 0 .9rem; }
.sh-insight-text { font-size: 1.1875rem; line-height: 1.47; margin: 0; }

/* ---------- Cartes missions ---------- */
.sh-card {
	border-radius: 12px;
	padding: 1.9rem 1.7rem 2.2rem;
	min-height: 256px;
	box-sizing: border-box;
	/* « translate » et non « transform » : GSAP anime transform à l'apparition, les deux ne doivent pas se battre */
	transition: translate .25s ease, box-shadow .25s ease;
}
.sh-card:hover { translate: 0 -4px; box-shadow: 0 18px 40px rgba(4, 68, 57, .10); }
.sh-card-num { font-size: 1.25rem; font-weight: 700; margin: 0 0 1.75rem; }
.sh-card-title { font-size: 1.8125rem !important; font-weight: 600; line-height: 1.15; margin: 0 0 .9rem; }
.sh-card-text { font-size: 1.0625rem; line-height: 1.65; margin: 0; }

/* ---------- Notice (package leaflet) ---------- */
.sh-leaflet { background: #EEF8F6; }
.sh-lf-sheet {
	/* Notice dépliée : papier plié en 16 (photo détourée) */
	background: url("assets/img/leaflet-paper-soft.webp") center / 100% 100% no-repeat;
	padding: clamp(2.25rem, 6vw, 5.5rem);
	filter: drop-shadow(0 22px 34px rgba(4, 68, 57, .14));
}
/* Sur mobile la feuille est trop étroite et trop haute : la photo serait étirée, on garde un papier blanc uni */
@media (max-width: 781px) {
	.sh-lf-sheet { background: #fff; border-radius: 4px; filter: none; box-shadow: 0 2px 0 #DCE9E6, 0 18px 40px rgba(4, 68, 57, .08); padding: 2rem 1.5rem; }
}
.sh-lf-top { border-bottom: 2px solid var(--wp--preset--color--sh-ink); padding-bottom: 1.25rem; gap: 1rem; }
.sh-lf-top .is-style-eyebrow, .sh-lf-trust .is-style-eyebrow { margin: 0 !important; }
.sh-lf-warn { margin: 0; font-size: .9375rem; }
.sh-lf-title { margin: 2.5rem 0 .5rem; font-size: clamp(2rem, 3.6vw, 3.25rem); }
.sh-lf-sub { margin: 0 0 3rem; font-size: 1.125rem; }
.sh-lf-grid { gap: 2.5rem 3.5rem !important; }
.sh-lf-item { border-top: 1px solid var(--wp--preset--color--sh-ink); padding-top: 1rem; }
.sh-lf-label { margin: 0 0 .75rem; font-size: .9375rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.sh-lf-text { margin: 0; font-size: 1rem; line-height: 1.55; }
.sh-lf-trust { margin-top: 3.5rem !important; border-top: 1px solid #BCE3DD; padding-top: 1.5rem; gap: .75rem 2rem; }
.sh-lf-clients { margin: 0; font-size: 1rem; color: #1C443A; }

/* ---------- Notre travail ---------- */
.sh-work-cols { gap: 4rem !important; }
.sh-w-title { font-size: clamp(2.5rem, 5vw, 4.5rem); margin-top: 0; }
.sh-w-title .sh-w-a, .sh-w-title .sh-w-b { display: inline-block; }
.sh-w-text { margin-top: 2rem; font-size: 1.25rem; line-height: 1.5; max-width: 620px; color: #D5ECE7; }
.sh-w-doors { display: grid; gap: 1.25rem; }
.sh-door {
	display: block;
	text-decoration: none;
	border: 1.5px solid var(--wp--preset--color--sh-aqua-ui);
	color: #fff;
	border-radius: 20px;
	padding: 2rem;
	transition: translate .25s ease, background-color .25s ease;
}
.sh-door:hover { translate: 0 -3px; }
.sh-door--primary { background: var(--wp--preset--color--sh-aqua-ui); color: var(--wp--preset--color--sh-ink); }
.sh-door:not(.sh-door--primary):hover { background: rgba(108, 226, 207, .08); }
.sh-door-kicker { display: block; margin-bottom: .4rem; font-size: .875rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.sh-door-cta { display: block; font-size: 1.75rem; line-height: 1.2; font-weight: 600; }

/* ---------- Pages intérieures : en-tête ---------- */
.sh-page-head { padding-top: clamp(4rem, 10vh, 8rem); padding-bottom: clamp(3rem, 7vh, 5rem); }
.sh-ph-title { margin-top: 0; max-width: 24ch; }
/* Titre et intro étroits, calés à gauche de la colonne de contenu (et non centrés) */
.sh-ph-title, .sh-ph-intro { margin-left: max(0px, calc((100% - 1260px) / 2)) !important; margin-right: auto !important; }
.sh-ph-title strong, .sh-ph-title .sh-ph-b { display: inline-block; }
.sh-ph-intro { margin-top: 2rem; max-width: 640px; }

/* Ce qui reste à compléter : bien visible sur le site de test */
.sh-todo { background: #FFF3A6; color: #5a4a00; padding: 0 .3em; border-radius: 3px; font-size: .9em; }

/* ---------- Contact : équipe, coordonnées, accès ---------- */
.sh-team { padding-top: 0; }
.sh-people { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.sh-person-card { border-top: 2px solid var(--wp--preset--color--sh-aqua-ui); padding-top: 1.25rem; }
.sh-person-card p { margin: 0; }
.sh-person-name { font-weight: 600; font-size: 1.375rem; line-height: 1.2; }
.sh-person-role { font-size: 1rem; opacity: .8; margin-bottom: 1rem !important; }
.sh-person-link { font-size: 1rem; line-height: 1.8; }
.sh-visit-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; }
.sh-visit-info p { margin: 0; }
.sh-visit-info .sh-label-caps { margin-bottom: 1rem; }
.sh-info-main { font-size: 1.25rem; line-height: 1.5; margin-bottom: 1.25rem !important; }
.sh-info-line { font-size: 1.125rem; line-height: 1.8; }
.sh-info-small { font-size: .9375rem; line-height: 1.6; opacity: .85; margin-top: .5rem !important; }
.sh-getting { margin-top: 2.5rem !important; }
.sh-info-line a, .sh-person-link a, .sh-maps-link a { text-decoration: none; border-bottom: 1px solid var(--wp--preset--color--sh-aqua-ui); }
.sh-maps-link { margin-top: 1rem !important; font-size: .9375rem; }
.sh-visit .sh-embed { min-height: 420px; background-color: #fff; }
.sh-map { border-radius: 16px; overflow: hidden; min-height: 420px; background: #fff; }
.sh-map iframe { display: block; width: 100%; height: 100%; min-height: 420px; border: 0; }
/* Carte statique (pas de cookie) : image recolorée, repère aqua au centre, bouton vers Google */
.sh-map--static { position: relative; margin: 0; background: #EEF8F6; min-height: 0 !important; align-self: center; aspect-ratio: 720 / 504; }
.sh-map--static img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sh-map-street { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; background: rgba(255,255,255,.92); color: var(--wp--preset--color--sh-ink); font-size: .75rem; font-weight: 600; letter-spacing: .01em; padding: .2rem .55rem; border-radius: 4px; box-shadow: 0 1px 4px rgba(4,68,57,.15); pointer-events: none; }
.sh-map-street--hw { background: var(--wp--preset--color--sh-ink); color: #fff; }
.sh-map-pin { position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%; background: var(--wp--preset--color--sh-aqua-ui); box-shadow: 0 0 0 5px rgba(255,255,255,.9), 0 6px 18px rgba(4,68,57,.35); }
.sh-map-pin::after { content: ''; position: absolute; inset: -14px; border-radius: 50%; border: 2px solid var(--wp--preset--color--sh-aqua-ui); opacity: 0; animation: sh-pin-pulse 2.4s ease-out infinite; }
@keyframes sh-pin-pulse { 0% { transform: scale(.4); opacity: .9; } 100% { transform: scale(1.6); opacity: 0; } }
.sh-map-pin-label { position: absolute; left: 50%; bottom: calc(100% + 14px); transform: translateX(-50%); white-space: nowrap; background: var(--wp--preset--color--sh-ink); color: #fff; font-size: .8125rem; font-weight: 600; letter-spacing: .02em; padding: .35rem .7rem; border-radius: 999px; }
.sh-map-btn { position: absolute; right: 1rem; bottom: 1rem; background: #fff; color: var(--wp--preset--color--sh-ink); text-decoration: none; font-size: .875rem; font-weight: 600; padding: .6rem 1rem; border-radius: 999px; box-shadow: 0 4px 14px rgba(4,68,57,.18); }
.sh-map-btn:hover, .sh-map-btn:focus-visible { background: var(--wp--preset--color--sh-aqua-ui); }
.sh-map-credit { position: absolute; left: .75rem; bottom: .5rem; font-size: .6875rem; color: var(--wp--preset--color--sh-ink); opacity: .75; }
.sh-map-credit a { color: inherit; }
@media (prefers-reduced-motion: reduce) { .sh-map-pin::after { animation: none; } }
.sh-visit .sh-embed.is-loaded iframe { height: 100%; min-height: 420px; }
@media (max-width: 781px) { .sh-visit-grid { grid-template-columns: 1fr; } }
.sh-next { padding-top: clamp(3rem, 7vh, 5rem); padding-bottom: clamp(3rem, 7vh, 5rem); }
.sh-next-doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.25rem; }

/* Contenu Google chargé au clic */
.sh-embed {
	position: relative;
	border-radius: 12px;
	min-height: 260px;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: .75rem;
	padding: 2rem;
	text-align: center;
	background: #EEF8F6 url("assets/img/monogram-dots.png") right -60px bottom -60px / 260px no-repeat;
	overflow: hidden;
}
.sh-embed--calendar { min-height: 520px; }
.sh-embed p { margin: 0; }
.sh-embed-title { font-weight: 600; font-size: 1.25rem; }
.sh-embed-note { font-size: .8125rem; opacity: .7; max-width: 32ch; }
.sh-embed-btn {
	font: inherit; font-size: .875rem; font-weight: 500; letter-spacing: .04em; text-transform: uppercase;
	background: var(--wp--preset--color--sh-aqua-ui); color: var(--wp--preset--color--sh-ink);
	border: 0; border-radius: 10px; padding: .9rem 1.4rem; cursor: pointer;
}
.sh-embed-btn:hover { filter: brightness(1.05); }
.sh-embed.is-loaded { padding: 0; display: block; background: none; }
.sh-embed.is-loaded iframe { display: block; width: 100%; height: 360px; border: 0; }
.sh-embed--calendar.is-loaded iframe { height: 720px; }

/* ---------- Book a presentation : quatre formats de rendez-vous ---------- */
.sh-formats-sec { padding-bottom: clamp(4rem, 9vh, 7rem); }
.sh-formats-sec .sh-ph-intro { font-size: 1.125rem; margin-bottom: clamp(2.5rem, 5vh, 3.5rem); opacity: .85; }
.sh-formats-sec .sh-format { background: var(--wp--preset--color--sh-grey); }
.sh-formats-sec .sh-format.is-selected { background: #EEF8F6; }
.sh-book-h { font-size: clamp(1.75rem, 2.8vw, 2.75rem); margin-top: 0; margin-bottom: 2.5rem; }
.sh-formats-sec .sh-book-h { max-width: 22ch; margin-left: max(0px, calc((100% - 1260px) / 2)) !important; margin-right: auto !important; }
.sh-formats { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.25rem; }
.sh-format {
	display: flex; flex-direction: column; gap: .75rem;
	background: #fff; border: 1.5px solid transparent; border-radius: 16px; padding: 1.75rem 1.6rem 1.5rem;
	text-decoration: none; color: var(--wp--preset--color--sh-ink);
	transition: translate .25s ease, border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.sh-format:hover { translate: 0 -4px; box-shadow: 0 18px 40px rgba(4, 68, 57, .10); }
.sh-format.is-selected { border-color: var(--wp--preset--color--sh-ink); background: #EEF8F6; }
.sh-format-when { font-size: .75rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; opacity: .75; }
.sh-format-name { font-size: 1.625rem; font-weight: 600; line-height: 1.1; }
.sh-format-text { font-size: 1rem; line-height: 1.55; flex: 1; }
.sh-format-go { margin-top: .75rem; font-size: .875rem; font-weight: 500; border-top: 1px solid rgba(4, 68, 57, .15); padding-top: .9rem; }
.sh-format.is-selected .sh-format-go::before { content: "✓ "; }
.sh-book-chosen { font-size: 1.0625rem; margin: -1.25rem 0 2rem; }
/* Dès que le vrai formulaire est là, ses pastilles montrent le format choisi : la ligne de rappel devient inutile */
#book-form:has(.fluentform) .sh-book-chosen { display: none !important; }
.sh-book-chosen a { color: inherit; }
.sh-book-promise { margin-top: 0; font-size: 1.25rem; line-height: 1.5; color: #D5ECE7; max-width: 26ch; }
/* Formulaire sur fond vert foncé, dans la largeur de la page */
.sh-book { padding-top: clamp(4rem, 9vh, 7rem); padding-bottom: clamp(4rem, 9vh, 7rem); }
.sh-book-cols { gap: clamp(2.5rem, 6vw, 6rem) !important; }
.sh-book .sh-book-h { color: #fff; }
.sh-book .fluentform .ff-el-input--label label { color: #D5ECE7 !important; }
.sh-book .fluentform .ff-el-is-required.asterisk-right label::after { color: var(--wp--preset--color--sh-aqua-ui) !important; opacity: 1; }
.sh-book .fluentform .ff-el-form-control { border-color: transparent !important; }
.sh-book .fluentform .ff-el-form-control:focus { box-shadow: 0 0 0 4px rgba(108, 226, 207, .6) !important; }
.sh-book .fluentform .sh-ff-format .ff-el-form-check-label span { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .45); }
.sh-book .fluentform .sh-ff-format .ff-el-form-check-label:hover span { border-color: #fff; }
.sh-book .fluentform .sh-ff-format .ff-el-form-check-input:checked + span { background: var(--wp--preset--color--sh-aqua-ui); border-color: var(--wp--preset--color--sh-aqua-ui); color: var(--wp--preset--color--sh-ink); }
.sh-book .fluentform .ff_tc_checkbox, .sh-book .fluentform .ff-el-tc label, .sh-book .fluentform .sh-ff-full .ff-el-form-check-label { color: #D5ECE7; }
.sh-book .fluentform input[type=checkbox] { accent-color: var(--wp--preset--color--sh-aqua-ui); }
.sh-book .fluentform .error, .sh-book .fluentform .text-danger { color: #FFB4AB !important; }
.sh-book .ff-message-success { background: rgba(255, 255, 255, .08) !important; color: #fff !important; }
.sh-book .sh-form-placeholder { border-color: rgba(255, 255, 255, .3); }

/* ---------- Formulaires (Fluent Forms) : habillage Something Health ---------- */
.sh-form-placeholder { box-sizing: border-box; border: 2px dashed rgba(4, 68, 57, .25); border-radius: 12px; padding: 3rem 2rem; text-align: center; }
.fluentform { --ff-ink: var(--wp--preset--color--sh-ink); --ff-aqua: var(--wp--preset--color--sh-aqua-ui); font-family: inherit; }
.fluentform form fieldset { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1.25rem; border: 0; padding: 0; margin: 0; min-width: 0; }
.fluentform .ff-el-group { grid-column: 1 / -1; margin: 0 0 1.5rem !important; }
.fluentform .ff-el-group.sh-ff-half { grid-column: auto; }
@media (max-width: 600px) { .fluentform form fieldset { grid-template-columns: 1fr; } }

/* Libellés : petites capitales espacées, comme les sur-titres */
.fluentform .ff-el-input--label { margin-bottom: .55rem !important; }
.fluentform .ff-el-input--label label {
	font-size: .75rem !important; font-weight: 500 !important; letter-spacing: .16em; text-transform: uppercase;
	color: var(--ff-ink) !important;
}
.fluentform .ff-el-is-required.asterisk-right label::after { color: var(--ff-ink) !important; opacity: .45; margin-left: .2em; }

/* Champs : blancs, filet fin, grands, coins doux */
.fluentform .ff-el-form-control {
	box-sizing: border-box; width: 100%;
	font-family: inherit !important; font-size: 1.0625rem !important; color: var(--ff-ink) !important;
	background: #fff !important; border: 1px solid rgba(4, 68, 57, .22) !important; border-radius: 12px !important;
	padding: 1rem 1.1rem !important; min-height: 56px; box-shadow: none !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.fluentform textarea.ff-el-form-control { min-height: 140px; resize: vertical; }
.fluentform .ff-el-form-control::placeholder { color: rgba(4, 68, 57, .4); }
.fluentform .ff-el-form-control:hover { border-color: rgba(4, 68, 57, .45) !important; }
.fluentform .ff-el-form-control:focus { border-color: var(--ff-ink) !important; box-shadow: 0 0 0 4px rgba(108, 226, 207, .45) !important; outline: none; }

/* Format : pastilles au lieu de boutons radio */
.fluentform .sh-ff-format .ff-el-input--content { display: flex; flex-wrap: wrap; gap: .6rem; }
.fluentform .sh-ff-format .ff-el-form-check { margin: 0 !important; }
.fluentform .sh-ff-format .ff-el-form-check-label { position: relative; display: inline-block; cursor: pointer; margin: 0; }
.fluentform .sh-ff-format .ff-el-form-check-input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fluentform .sh-ff-format .ff-el-form-check-label span {
	display: inline-block; padding: .7rem 1.15rem; border-radius: 999px;
	border: 1px solid rgba(4, 68, 57, .25); background: #fff; color: var(--ff-ink);
	font-size: .9375rem; font-weight: 500; transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.fluentform .sh-ff-format .ff-el-form-check-label:hover span { border-color: var(--ff-ink); }
.fluentform .sh-ff-format .ff-el-form-check-input:checked + span { background: var(--ff-ink); border-color: var(--ff-ink); color: #fff; }
.fluentform .sh-ff-format .ff-el-form-check-input:focus-visible + span { box-shadow: 0 0 0 4px rgba(108, 226, 207, .55); }

/* Consentement */
.fluentform .ff_tc_checkbox, .fluentform .ff-el-tc label, .fluentform .sh-ff-full .ff-el-form-check-label { font-size: .9375rem; line-height: 1.5; color: var(--ff-ink); }
.fluentform input[type=checkbox] { accent-color: var(--ff-ink); width: 1.1rem; height: 1.1rem; margin-right: .5rem; vertical-align: -2px; }

/* Bouton d'envoi */
.fluentform .ff_submit_btn_wrapper, .fluentform .sh-ff-submit { grid-column: 1 / -1; margin-top: .5rem; }
.fluentform .ff-btn-submit {
	font-family: inherit !important; font-size: .9375rem !important; font-weight: 500 !important; letter-spacing: .06em; text-transform: uppercase;
	background: var(--ff-aqua) !important; color: var(--ff-ink) !important; border: 0 !important; border-radius: 12px !important;
	padding: 1.15rem 2rem !important; min-width: 240px; cursor: pointer; box-shadow: none !important;
	transition: filter .15s ease, translate .15s ease;
}
.fluentform .ff-btn-submit:hover { filter: brightness(1.05); translate: 0 -1px; }

/* Erreurs et confirmation */
.fluentform .error, .fluentform .text-danger { color: #B3261E !important; font-size: .8125rem; margin-top: .4rem; }
.fluentform .ff-el-is-error .ff-el-form-control { border-color: #B3261E !important; }
.ff-message-success {
	border: 0 !important; border-radius: 16px; background: #EEF8F6 !important; color: var(--wp--preset--color--sh-ink) !important;
	padding: 2rem !important; font-size: 1.25rem; line-height: 1.5; box-shadow: none !important;
}

/* ---------- 404 ---------- */
.sh-404 { min-height: calc(100svh - var(--sh-header-h, 105px) - 200px); }
.sh-404-cols { max-width: 1260px; margin: 0 auto !important; gap: 3rem !important; }
.sh-404-text .sh-ph-title, .sh-404-text .sh-ph-intro, .sh-404-text .sh-404-doors { margin-left: 0 !important; }
.sh-404 .sh-ph-title { font-size: clamp(2.5rem, 4.2vw, 3.6rem) !important; max-width: none; }
.sh-404 .sh-404-doors { max-width: none; }
.sh-404 .sh-door { padding: 1.5rem 1.6rem; }
.sh-404 .sh-door-cta { font-size: 1.5rem; }
.sh-404 .sh-door-kicker { letter-spacing: .08em; }
.sh-404-blister { display: block; width: 108%; max-width: none; height: auto; margin-left: -4%; transform: rotate(-6deg); filter: drop-shadow(0 30px 40px rgba(4, 68, 57, .18)); }
@media (max-width: 781px) { .sh-404-blister { width: 90%; margin: 0 auto; } }
.sh-404-leaflet { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.5rem 2.5rem; max-width: 980px; margin-top: 2.5rem; margin-left: max(0px, calc((100% - 1260px) / 2)) !important; }
.sh-404-item { border-top: 1px solid var(--wp--preset--color--sh-ink); padding-top: .9rem; }
.sh-404-item p { margin: 0; font-size: 1rem; line-height: 1.5; }
.sh-404-item .sh-404-label { font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-bottom: .5rem; }
.sh-404-doors { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.25rem; max-width: 820px; margin-top: 3rem; margin-left: max(0px, calc((100% - 1260px) / 2)) !important; }
.sh-door--light { border-color: rgba(4, 68, 57, .25); color: var(--wp--preset--color--sh-ink); }
.sh-door--light:hover { border-color: var(--wp--preset--color--sh-ink); }

/* ---------- Pied de page ---------- */
/* Collé à la dernière section, séparé par un filet très fin */
.wp-site-blocks > footer { margin-block-start: 0 !important; }
.sh-footer { border-top: 1px solid rgba(108, 226, 207, .18); }
.sh-footer a { color: inherit; }
.sh-small { font-size: var(--wp--preset--font-size--small); opacity: .9; }

/* ---------- Accessibilité ---------- */
:where(a, button, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--wp--preset--color--sh-aqua-ui);
	outline-offset: 3px;
}

/* ---------- Apparitions et assemblages (site public uniquement) ---------- */
@media (prefers-reduced-motion: no-preference) {
	@keyframes shUp    { from { opacity: 0; transform: translateY(48px); } to { opacity: 1; transform: none; } }
	@keyframes shFromL { from { opacity: 0; transform: translateX(-90px) rotate(-2.5deg); } to { opacity: 1; transform: none; } }
	@keyframes shFromR { from { opacity: 0; transform: translateX(90px) rotate(2.5deg); } to { opacity: 1; transform: none; } }
	@keyframes shPop   { from { opacity: 0; transform: scale(.55) rotate(-8deg); } to { opacity: 1; transform: none; } }
	@keyframes shPunch { from { opacity: 0; transform: translateY(.35em); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
	@keyframes shUnderline { from { --sh-hl: 0%; } to { --sh-hl: 100%; } }
	@keyframes shDots  { from { opacity: 0; transform: scale(.7) rotate(-6deg); } to { opacity: 1; transform: none; } }

	/* Au chargement : l'ouverture se compose */
	.sh-anim .sh-ld { animation: shUp .9s cubic-bezier(.2, .7, .2, 1) both; }
	.sh-anim .sh-ld-2 { animation-delay: .12s; }
	/* Le titre d'abord, un temps, puis la chute « Usually by yesterday. », puis le reste */
	.sh-anim .sh-punch { display: inline-block; animation: shPunch .8s cubic-bezier(.2, .7, .2, 1) 1.1s both; }
	.sh-anim .sh-ld-3 { animation-delay: 1.65s; }
	.sh-anim .sh-ld-4 { animation-delay: 1.8s; }
	.sh-anim .sh-hero .sh-hl { animation: shUnderline .6s cubic-bezier(.65, 0, .35, 1) 2.3s both; }
	.sh-anim .sh-ld-r { animation: shFromR 1.2s cubic-bezier(.2, .7, .2, 1) .25s both; }

	/* Au défilement (navigateurs qui gèrent les animations liées au défilement) */
	@supports (animation-timeline: view()) {
		.sh-anim .sh-rv { animation: shUp linear both; animation-timeline: view(); animation-range: entry 5% entry 75%; }
		.sh-anim .sh-dots:not(.sh-answer)::before { animation: shDots linear both; animation-timeline: view(); animation-range: entry 0% cover 45%; }

		.sh-anim .sh-st > * { animation: shUp linear both; animation-timeline: view(); animation-range: entry 5% entry 85%; }
		.sh-anim .sh-st > *:nth-child(3n+1) { animation-name: shFromL; }
		.sh-anim .sh-st > *:nth-child(3n) { animation-name: shFromR; }
		.sh-anim .sh-st > *:nth-child(3n+2) { animation-range: entry 15% entry 95%; }
		.sh-anim .sh-st > *:nth-child(3n) { animation-range: entry 25% cover 40%; }

		.sh-anim .sh-st4 > * { animation: shUp linear both; animation-timeline: view(); }
		.sh-anim .sh-st4 > *:nth-child(1) { animation-range: entry 10% entry 70%; }
		.sh-anim .sh-st4 > *:nth-child(2) { animation-range: entry 20% entry 80%; }
		.sh-anim .sh-st4 > *:nth-child(3) { animation-range: entry 30% entry 90%; }
		.sh-anim .sh-st4 > *:nth-child(4) { animation-range: entry 40% entry 100%; }

		.sh-anim .sh-pop .sh-icon img { animation: shPop linear both; animation-timeline: view(); animation-range: entry 10% entry 80%; }
	}
}
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* ---------- Conditions générales (/cgv) : 17 articles, lisibles comme une notice ---------- */
.sh-cgv { padding-top: 0; }
.sh-cgv-pdf a { font-weight: 600; white-space: nowrap; }
.sh-cgv-list {
	list-style: none; counter-reset: sh-art; padding: 0; margin: 0;
	border-top: 2px solid var(--wp--preset--color--sh-ink); padding-top: 2.5rem;
	font-size: 1rem; line-height: 1.65;
}
.sh-cgv-list > li {
	counter-increment: sh-art; position: relative; padding-left: 3.25rem; margin: 0 0 1.75rem;
	break-inside: avoid; hyphens: auto;
}
.sh-cgv-list > li::before {
	content: counter(sh-art, decimal-leading-zero); position: absolute; left: 0; top: -.05em;
	font-weight: 600; font-size: 1.125rem; color: var(--wp--preset--color--sh-ink);
	border-bottom: 3px solid var(--wp--preset--color--sh-aqua-ui); line-height: 1.3;
}
@media (min-width: 1000px) {
	.sh-cgv-list { columns: 2; column-gap: clamp(3rem, 6vw, 6rem); }
}

/* ---------- Mentions légales ---------- */
.sh-legal { padding-top: 0; }
.sh-legal-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 6rem); border-top: 2px solid var(--wp--preset--color--sh-ink); padding-top: 2.5rem; }
.sh-legal-id { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: .9rem 1.5rem; font-size: 1rem; line-height: 1.5; align-content: start; }
.sh-legal-id dt { font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding-top: .15em; }
.sh-legal-id dd { margin: 0; }
.sh-legal-text { font-size: 1rem; line-height: 1.65; max-width: 640px; }
.sh-legal-text h2 { font-size: 1.25rem; line-height: 1.3; margin: 2rem 0 .5rem; }
.sh-legal-text h2:first-child { margin-top: 0; }
.sh-legal-text p { margin: 0; }
@media (max-width: 860px) {
	.sh-legal-grid { grid-template-columns: 1fr; }
	.sh-legal-id { grid-template-columns: 1fr; gap: .2rem; }
	.sh-legal-id dd { margin-bottom: .8rem; }
}

/* ---------- Téléphone : resserrer et agrandir ce qu'on touche du doigt ---------- */
@media (max-width: 781px) {
	:root { --sh-sec-t: 4.5rem; --sh-sec-b: 5rem; }
	.sh-card { min-height: 0; }
	.sh-map, .sh-map iframe { min-height: 300px; }
	.sh-map-street { font-size: .6875rem; }
	.sh-map-btn { right: .75rem; bottom: .75rem; }
	/* Liens du pied de page : cibles d'au moins 40 px de haut */
	.sh-footer .sh-small a { display: inline-block; padding: .45rem 0; }
	.sh-footer .sh-small { line-height: 1.4; }
}

/* ---------- Complianz : carte en attente de consentement + bannière aux couleurs SH ---------- */
/* Tant que le visiteur n'a pas accepté : notre carte statique au lieu du visuel générique de Complianz */
.sh-map .cmplz-blocked-content-container {
	background-image: url('assets/img/map-buzzy-park-v3.jpg') !important;
	background-size: cover !important;
	background-position: 50% 50% !important;
	min-height: 420px;
}
.sh-map .cmplz-blocked-content-container::before {
	/* repère au centre, comme sur la carte statique */
	content: ''; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border-radius: 50%;
	background: var(--wp--preset--color--sh-aqua-ui); box-shadow: 0 0 0 5px rgba(255,255,255,.9), 0 6px 18px rgba(4,68,57,.35); z-index: 1;
}
.sh-map .cmplz-blocked-content-notice {
	top: auto !important; bottom: 1rem !important; left: 50% !important; transform: translateX(-50%) !important;
	max-width: calc(100% - 2rem) !important; width: auto !important; white-space: nowrap;
	background: #fff !important; color: var(--wp--preset--color--sh-ink) !important;
	font-family: inherit !important; font-size: .875rem !important; font-weight: 600 !important; line-height: 1.2 !important;
	padding: .7rem 1.1rem !important; border-radius: 999px !important; border: 0 !important;
	box-shadow: 0 4px 14px rgba(4,68,57,.2) !important; z-index: 2;
}
.sh-map .cmplz-blocked-content-notice:hover, .sh-map .cmplz-blocked-content-notice:focus-visible { background: var(--wp--preset--color--sh-aqua-ui) !important; }
@media (max-width: 781px) { .sh-map .cmplz-blocked-content-container { min-height: 300px; } .sh-map .cmplz-blocked-content-notice { white-space: normal; text-align: center; } }

/* Bannière */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	font-family: var(--wp--preset--font-family--sh-sans, inherit) !important;
	color: var(--wp--preset--color--sh-ink) !important;
	background: #fff !important;
	border-radius: 16px !important;
	box-shadow: 0 12px 40px rgba(4,68,57,.18) !important;
	border: 1px solid rgba(4,68,57,.08) !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-weight: 600 !important; font-size: 1rem !important; color: var(--wp--preset--color--sh-ink) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font-size: .8125rem !important; line-height: 1.5 !important; color: var(--wp--preset--color--sh-ink) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn {
	font-family: inherit !important; font-weight: 600 !important; font-size: .8125rem !important; letter-spacing: .02em;
	border-radius: 999px !important; height: auto !important; padding: .7rem 1rem !important;
	background: #fff !important; color: var(--wp--preset--color--sh-ink) !important; border: 1px solid var(--wp--preset--color--sh-ink) !important;
}
/* Accepter et Refuser au même niveau visuel (exigence APD) : seul « Accept » prend l'aqua */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: var(--wp--preset--color--sh-aqua-ui) !important; border-color: var(--wp--preset--color--sh-aqua-ui) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-btn:hover { filter: brightness(.96); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a, #cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-link { color: var(--wp--preset--color--sh-ink) !important; font-size: .75rem !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close { color: var(--wp--preset--color--sh-ink) !important; }
#cmplz-manage-consent .cmplz-manage-consent { font-family: inherit !important; background: var(--wp--preset--color--sh-ink) !important; color: #fff !important; border-radius: 8px 8px 0 0 !important; }

/* Cookie Policy : ouverture + document Complianz dans la grille du site */
.sh-cookie-head .sh-ph-title { font-size: clamp(2.5rem, 4.2vw, 3.6rem) !important; max-width: none; }
.sh-cookie-blister { display: block; width: 112%; max-width: none; height: auto; margin-left: -6%; filter: drop-shadow(0 30px 40px rgba(4, 68, 57, .16)); }
@media (max-width: 781px) { .sh-cookie-blister { width: 100%; margin: 0; } }
.sh-cookie-doc { padding-bottom: clamp(4rem, 9vh, 7rem); }
.sh-cookie-doc #cmplz-document { max-width: 760px; font-size: 1rem; line-height: 1.6; }
.sh-cookie-doc #cmplz-document h3, .sh-cookie-doc #cmplz-document h4 { font-weight: 600; margin-top: 2rem; }
