/*
Theme Name:   Divi Child — Centre du canal carpien
Description:  Thème enfant Divi 5 — design system "Continuité" (Wenew)
Author:       Erwan
Template:     Divi
Version:      2.7.7
Text Domain:  divi-child-ccc
*/

/* Polices (dans style.css pour que le fichier se suffise à lui-même) */
@import url("https://fonts.googleapis.com/css2?family=Red+Hat+Display:wght@500;600;700;800;900&family=Red+Hat+Text:wght@400;500;600;700&display=swap");


/* ==========================================================================
   0. TOKENS (DESIGN.md)
   Les mêmes valeurs sont à créer en Variables Divi 5 pour les modules.
   ========================================================================== */
:root {
	--ccc-brume: #EEF1F6;
	--ccc-blanc: #FFFFFF;
	--ccc-marine: #17264D;
	--ccc-marine-2: #22356A;
	--ccc-marine-3: #2E4380;
	--ccc-ciel: #B9C7E6;
	--ccc-ciel-pale: #DFE6F4;
	--ccc-corail: #FF8466;
	--ccc-corail-2: #FF9B82;
	--ccc-corail-texte: #B0401F;
	--ccc-second: #4D5873;
	--ccc-trait: #D3DAE8;
	--ccc-doctolib: #0596DE;

	--ccc-font-display: "Red Hat Display", sans-serif;
	--ccc-font-text: "Red Hat Text", sans-serif;

	--ccc-r-pill: 999px;
	--ccc-r-shell: 32px;
	--ccc-r-core: 26px;
	--ccc-r-card: 20px;

	--ccc-shadow-nav: 0 24px 48px -28px rgba(23, 38, 77, .35);
	--ccc-shadow-soft: 0 18px 40px -24px rgba(23, 38, 77, .28);

	--ccc-ease: cubic-bezier(.32, .72, 0, 1);
	--ccc-dur: 500ms;

	--ccc-section-y: 112px;
	--ccc-max: 1240px;
}

@media (max-width: 980px) {
	:root { --ccc-section-y: 72px; }
}

/* ==========================================================================
   1. BASE
   ========================================================================== */
/* Écrase entièrement le body du style.css parent de Divi
   (Open Sans 14px, #666, line-height 1.7em, font-weight 500) */
html body {
	background: var(--ccc-brume) !important;
	color: var(--ccc-marine) !important;
	font-family: var(--ccc-font-text) !important;
	font-size: 18px !important;
	line-height: 1.62 !important;
	font-weight: 400 !important;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1, .et_pb_module h2, .et_pb_module h3, .et_pb_module h4 {
	font-family: var(--ccc-font-display);
	color: inherit;
	padding-bottom: 0;
}

/* Fond brume partout (Divi met un fond blanc par défaut sur le contenu) */
html,
body { background-color: var(--ccc-brume) !important; }
#page-container,
#et-main-area,
#main-content,
#main-content .container,
#left-area,
article.page,
article.et_pb_post,
.entry-content,
#et-boc,
.et-l,
.et-l--body,
.et-l--post,
.et_builder_inner_content { background-color: transparent !important; }
/* Sections : transparentes par défaut (Divi les met en blanc) ; la section escalier reste blanche */
.et_pb_section[class*="hm-"] { background-color: transparent !important; }

/* Largeur de contenu : 1240px / 90% */
.ccc-section .et_pb_row,
.ccc-row {
	max-width: var(--ccc-max);
	width: 90%;
}

/* Rythme vertical des sections */
.ccc-section { padding-top: var(--ccc-section-y) !important; padding-bottom: var(--ccc-section-y) !important; }
.ccc-section--white { background: var(--ccc-blanc) !important; }
/* Section qui "monte" avec un arrondi supérieur (section récupération) */
.ccc-section--rise { background: var(--ccc-blanc) !important; border-radius: var(--ccc-r-shell) var(--ccc-r-shell) 0 0; }

/* Textes utilitaires */
.ccc-lead, .ccc-lead p { font-size: 21px; line-height: 1.5; max-width: 34ch; }
.ccc-body p { max-width: 58ch; }
.ccc-muted, .ccc-muted p { color: var(--ccc-second); }
.ccc-on-navy, .ccc-on-navy p { color: var(--ccc-ciel); }
.ccc-on-navy h1, .ccc-on-navy h2, .ccc-on-navy h3 { color: var(--ccc-blanc); }

/* Label "moment" : La nuit, Au quotidien… (corail, jamais en capitales) */
.ccc-moment, .ccc-moment p {
	font-family: var(--ccc-font-display);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ccc-corail-texte);
	text-transform: none;
}

/* Petite pastille de surtitre ("Comprendre & traiter") */
.ccc-eyebrow, .ccc-eyebrow p {
	display: inline-block;
	padding: 6px 14px;
	border-radius: var(--ccc-r-pill);
	background: var(--ccc-ciel-pale);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
}

@media (max-width: 767px) {
	html body { font-size: 17px !important; line-height: 1.6 !important; }
	.ccc-lead, .ccc-lead p { font-size: 19px; }
}

/* ==========================================================================
   2. HEADER — île de navigation (Theme Builder > Global Header)
   Classe à mettre sur la SECTION du header : ccc-nav-wrap
   Classe à mettre sur la ROW : ccc-nav
   ========================================================================== */
/* Le sticky se règle dans Divi : Section > Avancé > Effets de défilement > Sticky (haut, décalage 14px).
   Un position:sticky en CSS ne fonctionne pas dans le wrapper du Theme Builder. */
.ccc-nav-wrap {
	background: transparent !important;
	padding: 14px 16px !important;
}
/* Sticky Divi : une fois collé, Divi passe la section en position fixed avec une largeur et un left
   en pixels (style inline) qu'il ne recalcule qu'après le redimensionnement → le header « saute ».
   On l'ancre aux deux bords de la fenêtre : il suit la largeur en continu, sans attendre le JS. */
html body .ccc-nav-wrap.ccc-nav-wrap:is(.et_pb_sticky, .et_pb_sticky--top, [style*="fixed"]) {
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: none !important;
	transition: none !important;
}

/* Desktop (HTML home) : la pilule prend la largeur de son contenu et se centre
   (header flex justify-center + nav sans largeur fixe), pas les 1240px du contenu. */
.ccc-nav {
	width: fit-content !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	background: var(--ccc-blanc);
	border-radius: var(--ccc-r-pill);
	padding: 9px 9px 9px 22px !important;
	box-shadow: var(--ccc-shadow-nav);
}
/* Colonne unique en ligne : marque | menu | téléphone | bouton (gap-7 = 28px) */
.ccc-nav > .et_pb_column {
	display: flex !important;
	align-items: center;
	gap: 28px;
	width: auto !important;
	margin: 0 !important;
}
.ccc-nav > .et_pb_column > .et_pb_module { margin-bottom: 0 !important; }
.ccc-nav .et_pb_menu { flex: 0 0 auto !important; width: auto !important; }

/* Liens du menu : gap-6 = 24px */
.ccc-nav .et-menu { display: flex !important; align-items: center; gap: 1.5rem !important; column-gap: 1.5rem !important; margin: 0 !important; padding: 0 !important; }
.ccc-nav .et-menu > li { padding: 0 !important; margin: 0 !important; line-height: 1.5 !important; }
.ccc-nav .et-menu > li > a { padding: 0 !important; line-height: 1.5 !important; }
.ccc-nav .et_pb_menu__wrap,
.ccc-nav .et_pb_menu__menu,
.ccc-nav .et-menu-nav { display: flex !important; align-items: center; margin: 0 !important; padding: 0 !important; }

/* Textes du header : aucun padding/marge de paragraphe Divi (sinon décalage vertical) */
.ccc-nav p { padding: 0 !important; margin: 0 !important; line-height: 1.5; }
.ccc-nav .et_pb_text_inner { display: flex; align-items: center; }

/* Bloc marque (module Texte) */
.ccc-brand { display: flex; align-items: center; gap: 14px; padding-right: 8px; white-space: nowrap; color: var(--ccc-marine); }

/* < 1024px (lg) : les liens disparaissent, comme dans le HTML desktop */
@media (max-width: 1023px) {
	.ccc-nav .et_pb_menu { display: none !important; }
}

/* < 768px (md) : téléphone masqué */
@media (max-width: 767px) {
	.ccc-nav .ccc-phone { display: none !important; }
}

/* Mobile (HTML home mobile) : pilule pleine largeur max 448px, marque + bouton "RDV" */
@media (max-width: 767px) {
	.ccc-nav-wrap { padding: 12px 16px !important; }
	.ccc-nav {
		width: 100% !important;
		max-width: 448px !important;
		padding: 10px 16px !important;
		background: rgba(255, 255, 255, .95);
		-webkit-backdrop-filter: blur(12px);
		backdrop-filter: blur(12px);
		border: 1px solid rgba(255, 255, 255, .6);
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	}
	.ccc-nav > .et_pb_column { width: 100% !important; justify-content: space-between; gap: 12px; }
	.ccc-brand { gap: 12px; padding-right: 0; }
	.ccc-mono { width: 36px !important; height: 36px !important; min-width: 36px !important; }
	.ccc-brand-title { font-size: 12px !important; line-height: 1.25 !important; }
	.ccc-brand-sub { font-size: 11px !important; font-weight: 500; line-height: 1.25 !important; }

	/* Bouton header -> pastille "RDV" (px 16, py 6, 12px bold, sans rond fléché) */
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button,
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button:hover {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 6px 16px !important;
		font-size: 0 !important;
		line-height: 0 !important;
		column-gap: 0 !important;
	}
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button::after,
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button:hover::after { display: none !important; content: none !important; }
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button::before,
	html body .ccc-nav .ccc-btn--sm.ccc-btn.et_pb_button:hover::before {
		content: "RDV" !important;
		display: block !important;
		position: static !important;
		transform: none !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		width: auto !important;
		height: auto !important;
		text-align: center !important;
		opacity: 1 !important;
		margin: 0 !important;
		font-family: var(--ccc-font-text) !important;
		font-size: 12px !important;
		font-weight: 700 !important;
		letter-spacing: .025em !important;
		line-height: 1.33 !important;
		color: var(--ccc-blanc) !important;
	}
}

/* Monogramme : cercle marine 38px + point corail 12px */
.ccc-mono {
	position: relative;
	width: 38px;
	height: 38px;
	min-width: 38px;
	border-radius: 50%;
	background: var(--ccc-marine);
}
.ccc-mono::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--ccc-corail);
	transform: translate(-50%, -50%);
}

.ccc-brand-title { font-family: var(--ccc-font-display); font-weight: 700; font-size: 15px; line-height: 1.2; }
.ccc-brand-sub { font-size: 13px; color: var(--ccc-second); line-height: 1.2; }

.ccc-nav .et-menu > li > a,
.ccc-nav .et_pb_menu__menu a {
	font-family: var(--ccc-font-text);
	font-size: 15px;
	font-weight: 500;
	color: var(--ccc-marine);
	transition: color 150ms cubic-bezier(.4, 0, .2, 1);
}
.ccc-nav .et-menu > li > a:hover { color: var(--ccc-corail); opacity: 1; }

.ccc-phone, .ccc-phone a, .ccc-phone p { font-family: var(--ccc-font-display); font-size: 15px; font-weight: 700; color: var(--ccc-marine); white-space: nowrap; transition: color 150ms; }
.ccc-phone { padding-left: 8px; }
.ccc-phone a:hover { color: var(--ccc-corail); }

/* Le bouton et le téléphone ne doivent jamais être écrasés par le flex */
.ccc-nav .ccc-phone,
.ccc-nav .ccc-btn,
.ccc-nav .et_pb_button_module_wrapper { flex: 0 0 auto !important; width: auto !important; }

/* Menu mobile */
.ccc-nav .mobile_menu_bar::before { color: var(--ccc-marine); }
.ccc-nav .et_mobile_menu {
	border-top: 0;
	border-radius: var(--ccc-r-card);
	box-shadow: var(--ccc-shadow-nav);
	margin-top: 12px;
}

/* ==========================================================================
   3. BOUTONS — repris à l'identique du HTML de la home (wireframe Wenew)
   Classes (un seul attribut class) :
     Hero corail ........ ccc-btn
     CTA marine ......... ccc-btn ccc-btn--navy
     Header ............. ccc-btn ccc-btn--navy ccc-btn--sm
     Ghost (sur marine) . ccc-btn ccc-btn--ghost
   Survol : seule la couleur change (transition-colors), la flèche ne bouge pas.
   Spécificité renforcée (html body + classe doublée) pour passer devant le CSS de Divi 5.
   ========================================================================== */

/* --- Base : hero corail (h 52px, pl 24 / pr 8, gap 16, 17px semibold, rond navy 38px) --- */
html body .ccc-btn.ccc-btn.et_pb_button,
html body .ccc-btn.ccc-btn.et_pb_button:hover {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	column-gap: 16px !important;
	row-gap: 0 !important;
	width: auto !important;
	height: 52px;
	min-height: 52px;
	padding: 0 8px 0 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: var(--ccc-marine) !important;
	font-family: var(--ccc-font-text) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color 150ms cubic-bezier(.4, 0, .2, 1), opacity 150ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body .ccc-btn.ccc-btn.et_pb_button { background: var(--ccc-corail) !important; opacity: 1; }
html body .ccc-btn.ccc-btn.et_pb_button:hover { background: var(--ccc-corail) !important; opacity: .95; }

/* Rond fléché (flèche Heroicons, trait 2.5, 16px) — dans le flux, ne bouge jamais */
html body .ccc-btn.ccc-btn.et_pb_button::after,
html body .ccc-btn.ccc-btn.et_pb_button:hover::after {
	content: "" !important;
	position: static !important;
	inset: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: inline-block !important;
	flex-shrink: 0;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	border-radius: 50%;
	background-color: var(--ccc-marine);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
}
html body .ccc-btn.ccc-btn.et_pb_button::before { display: none !important; }

/* --- CTA marine (pl 24 / pr 8, py 10, gap 16, 16px medium, rond corail 36px) --- */
html body .ccc-btn--navy.ccc-btn.et_pb_button,
html body .ccc-btn--navy.ccc-btn.et_pb_button:hover {
	height: auto;
	min-height: 0;
	padding: 10px 8px 10px 24px !important;
	column-gap: 16px !important;
	color: var(--ccc-blanc) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	opacity: 1;
}
html body .ccc-btn--navy.ccc-btn.et_pb_button { background: var(--ccc-marine) !important; }
html body .ccc-btn--navy.ccc-btn.et_pb_button:hover { background: var(--ccc-marine-2) !important; }
html body .ccc-btn--navy.ccc-btn.et_pb_button::after,
html body .ccc-btn--navy.ccc-btn.et_pb_button:hover::after {
	width: 36px !important;
	height: 36px !important;
	background-color: var(--ccc-corail);
}

/* --- Header (pl 20 / pr 8, py 8, gap 12, 15px medium, rond corail 30px) --- */
html body .ccc-btn--sm.ccc-btn.et_pb_button,
html body .ccc-btn--sm.ccc-btn.et_pb_button:hover {
	padding: 8px 8px 8px 20px !important;
	column-gap: 12px !important;
	font-size: 15px !important;
}
html body .ccc-btn--sm.ccc-btn.et_pb_button::after,
html body .ccc-btn--sm.ccc-btn.et_pb_button:hover::after {
	width: 30px !important;
	height: 30px !important;
}

/* --- Ghost sur fond marine (h 52, px 32, bordure 1.5px ciel, 16px medium, pas de rond) --- */
html body .ccc-btn--ghost.ccc-btn.et_pb_button,
html body .ccc-btn--ghost.ccc-btn.et_pb_button:hover {
	height: 52px;
	min-height: 52px;
	padding: 0 32px !important;
	justify-content: center !important;
	border: 1.5px solid var(--ccc-ciel) !important;
	color: var(--ccc-blanc) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	opacity: 1;
}
html body .ccc-btn--ghost.ccc-btn.et_pb_button { background: transparent !important; }
html body .ccc-btn--ghost.ccc-btn.et_pb_button:hover { background: rgba(255, 255, 255, .1) !important; }
html body .ccc-btn--ghost.ccc-btn.et_pb_button::after,
html body .ccc-btn--ghost.ccc-btn.et_pb_button:hover::after { display: none !important; content: none !important; }

/* ==========================================================================
   4. HERO SHELL — bloc marine arrondi
   Classe sur la ROW du hero : ccc-shell
   ========================================================================== */
.ccc-shell {
	background: var(--ccc-marine);
	border-radius: var(--ccc-r-shell);
	padding: 72px 6% !important;
	color: var(--ccc-ciel);
}
.ccc-shell h1 { color: var(--ccc-blanc); font-size: 60px; line-height: 1.03; font-weight: 700; }
@media (max-width: 767px) {
	.ccc-shell { padding: 40px 24px !important; }
	.ccc-shell h1 { font-size: 42px; line-height: 1.08; }
}

/* ==========================================================================
   5. DOUBLE BEZEL
   Image : classe ccc-bezel sur le module Image (portrait 4:5)
   Carte CTA : classe ccc-bezel-card sur la ROW, ccc-bezel-core sur la colonne/groupe intérieur
   ========================================================================== */
.ccc-bezel {
	padding: 8px;
	border-radius: var(--ccc-r-shell);
	background: rgba(185, 199, 230, .12);
}
.ccc-bezel img,
.ccc-bezel .et_pb_image_wrap {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--ccc-r-core);
}

.ccc-bezel-card {
	background: var(--ccc-brume);
	border-radius: var(--ccc-r-shell);
	padding: 8px !important;
}
.ccc-bezel-core {
	background: var(--ccc-blanc);
	border-radius: var(--ccc-r-core);
	padding: 56px !important;
}
@media (max-width: 767px) { .ccc-bezel-core { padding: 32px 24px !important; } }

/* ==========================================================================
   6. BADGES CHIFFRÉS (signature)
   Classe sur le module (Blurb ou Texte) : ccc-badge  (+ ccc-badge--coral)
   Structure attendue : le chiffre dans un élément .ccc-badge__num
   ========================================================================== */
.ccc-badge { display: flex; align-items: center; gap: 16px; }
.ccc-badge__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	min-width: 96px;
	border-radius: 50%;
	background: var(--ccc-blanc);
	box-shadow: var(--ccc-shadow-soft);
	font-family: var(--ccc-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.05;
	color: var(--ccc-marine);
	text-align: center;
}
.ccc-badge--coral .ccc-badge__num { background: var(--ccc-corail); }
.ccc-badge__label { font-size: 15px; line-height: 1.4; color: var(--ccc-second); max-width: 18ch; }
@media (max-width: 767px) { .ccc-badge__num { font-size: 21px; } }

/* ==========================================================================
   7. CARTES / BENTO
   Classe sur la colonne ou le module : ccc-card + variante
   ========================================================================== */
.ccc-card {
	border-radius: var(--ccc-r-card);
	padding: 36px !important;
	height: 100%;
}
.ccc-card--white { background: var(--ccc-blanc); box-shadow: var(--ccc-shadow-soft); }
.ccc-card--pale  { background: var(--ccc-ciel-pale); }
.ccc-card--coral { background: var(--ccc-corail); color: var(--ccc-marine); }
.ccc-card--coral p { color: var(--ccc-marine); }
.ccc-card--navy  { background: var(--ccc-marine); color: var(--ccc-ciel); }
.ccc-card--navy h3, .ccc-card--navy h4 { color: var(--ccc-blanc); }
.ccc-card h3 { font-size: 26px; line-height: 1.2; font-weight: 600; }
.ccc-card--lead h3 { font-size: 32px; line-height: 1.15; }
@media (max-width: 767px) {
	.ccc-card { padding: 28px 24px !important; }
	.ccc-card h3 { font-size: 24px; }
}

/* Ligne de lieu (point corail) */
.ccc-place {
	position: relative;
	background: var(--ccc-ciel-pale);
	border-radius: var(--ccc-r-card);
	padding: 18px 22px 18px 42px !important;
}
.ccc-place::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 26px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ccc-corail);
}

/* ==========================================================================
   8. ESCALIER DE RÉCUPÉRATION (signature)
   Classe sur la ROW (6 colonnes) : ccc-stairs
   ========================================================================== */
.ccc-stairs { display: flex !important; align-items: flex-end; gap: 12px; }
.ccc-stairs > .et_pb_column {
	flex: 1 1 0;
	margin: 0 !important;
	width: auto !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background: var(--ccc-ciel-pale);
	border-radius: var(--ccc-r-card);
	padding: 20px !important;
}
.ccc-stairs > .et_pb_column:nth-child(1) { min-height: 170px; }
.ccc-stairs > .et_pb_column:nth-child(2) { min-height: 210px; }
.ccc-stairs > .et_pb_column:nth-child(3) { min-height: 250px; }
.ccc-stairs > .et_pb_column:nth-child(4) { min-height: 290px; }
.ccc-stairs > .et_pb_column:nth-child(5) { min-height: 330px; }
.ccc-stairs > .et_pb_column:nth-child(6) {
	min-height: 370px;
	background: var(--ccc-marine);
	color: var(--ccc-ciel);
}
.ccc-stairs > .et_pb_column:nth-child(6) .ccc-step-time { color: var(--ccc-corail); }
.ccc-step-time { font-family: var(--ccc-font-display); font-weight: 600; font-size: 17px; }

/* Mobile : marches empilées, largeur croissante */
@media (max-width: 767px) {
	.ccc-stairs { flex-direction: column; align-items: flex-start; }
	.ccc-stairs > .et_pb_column { min-height: 0 !important; width: 100% !important; }
	.ccc-stairs > .et_pb_column:nth-child(1) { max-width: 60%; }
	.ccc-stairs > .et_pb_column:nth-child(2) { max-width: 68%; }
	.ccc-stairs > .et_pb_column:nth-child(3) { max-width: 76%; }
	.ccc-stairs > .et_pb_column:nth-child(4) { max-width: 84%; }
	.ccc-stairs > .et_pb_column:nth-child(5) { max-width: 92%; }
	.ccc-stairs > .et_pb_column:nth-child(6) { max-width: 100%; }
}

/* ==========================================================================
   9. ÉTAPES NUMÉROTÉES (page passerelle)
   Classe sur la row : ccc-step  — numéro dans .ccc-step__num
   ========================================================================== */
.ccc-step { border-top: 1px solid var(--ccc-trait); padding: 36px 0 !important; }
.ccc-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--ccc-ciel-pale);
	font-family: var(--ccc-font-display);
	font-weight: 700;
	font-size: 18px;
}

/* ==========================================================================
   10. FOOTER — repris du HTML de la home (Theme Builder > Global Footer)
   SECTION : ccc-footer
   LIGNE 1 (3 colonnes) : ccc-footer-cols   -> 5/12 · 3/12 · 4/12, gap 40px
   LIGNE 2 (1 colonne)  : ccc-footer-legal  -> filet + mention santé
   ========================================================================== */
html body .ccc-footer.ccc-footer {
	background: var(--ccc-marine) !important;
	color: var(--ccc-ciel);
	padding: 80px 0 40px !important;   /* pt-20 pb-10 */
}
.ccc-footer .et_pb_row {
	max-width: var(--ccc-max) !important;
	width: 90% !important;
	padding: 0 !important;
}

/* Grille 12 colonnes : 5 / 3 / 4 */
.ccc-footer-cols {
	display: grid !important;
	grid-template-columns: 5fr 3fr 4fr;
	gap: 40px;
}
.ccc-footer-cols > .et_pb_column {
	width: auto !important;
	margin: 0 !important;
}
.ccc-footer .et_pb_module { margin-bottom: 0 !important; }

/* Titres de colonne : blanc, 18px bold, mb 12px */
.ccc-footer h3,
.ccc-footer h4 {
	font-family: var(--ccc-font-display);
	color: var(--ccc-blanc) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

.ccc-footer p {
	color: var(--ccc-ciel);
	font-size: 15px;
	line-height: 1.625;   /* leading-relaxed */
	max-width: 38ch;
	padding: 0 !important;
}

/* Listes de liens : 15px, espacement 8px */
.ccc-footer ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 15px;
	line-height: 1.5;
}
.ccc-footer li { padding: 0 !important; margin: 0 !important; }
.ccc-footer li + li { margin-top: 8px !important; }
.ccc-footer a {
	color: var(--ccc-ciel) !important;
	text-decoration: none;
	transition: color 150ms cubic-bezier(.4, 0, .2, 1);
}
.ccc-footer a:hover { color: var(--ccc-blanc) !important; }

/* Filet + mention santé : mt 60px, pt 24px, 14px */
.ccc-footer-legal {
	margin-top: 60px !important;
	padding-top: 24px !important;
	border-top: 1px solid var(--ccc-marine-3);
}
.ccc-footer-legal p,
.ccc-footer .ccc-disclaimer p {
	font-size: 14px;
	line-height: 1.625;
	max-width: none;
}

/* Tablette (md) : 2 colonnes */
@media (max-width: 1023px) {
	.ccc-footer-cols { grid-template-columns: 1fr 1fr; }
}

/* Mobile : version empilée du HTML mobile */
@media (max-width: 767px) {
	html body .ccc-footer.ccc-footer { padding: 40px 0 48px !important; }  /* pt-10 pb-12 */
	.ccc-footer .et_pb_row { width: auto !important; margin: 0 24px !important; }  /* px-6 */
	.ccc-footer-cols { grid-template-columns: 1fr; gap: 0; }

	/* Bloc marque */
	.ccc-footer-cols > .et_pb_column:nth-child(1) h3,
	.ccc-footer-cols > .et_pb_column:nth-child(1) h4 { font-size: 18px !important; margin-bottom: 8px !important; }
	.ccc-footer-cols > .et_pb_column:nth-child(1) p { font-size: 13.5px; margin-bottom: 32px !important; max-width: none; }

	/* Blocs Contact / Informations */
	.ccc-footer-cols > .et_pb_column:nth-child(2),
	.ccc-footer-cols > .et_pb_column:nth-child(3) { margin-bottom: 28px !important; }
	.ccc-footer-cols > .et_pb_column:nth-child(3) { margin-bottom: 32px !important; }
	.ccc-footer-cols > .et_pb_column:nth-child(n+2) h3,
	.ccc-footer-cols > .et_pb_column:nth-child(n+2) h4 { font-size: 15px !important; margin-bottom: 10px !important; }
	.ccc-footer ul { font-size: 14px; }
	.ccc-footer li + li { margin-top: 6px !important; }
	.ccc-footer ul a { text-decoration: underline; }

	/* Filet blanc 10% + mention 12px */
	.ccc-footer-legal {
		margin-top: 0 !important;
		padding-top: 24px !important;
		border-top-color: rgba(255, 255, 255, .1);
	}
	.ccc-footer-legal p,
	.ccc-footer .ccc-disclaimer p { font-size: 12px; color: rgba(185, 199, 230, .8); }
}

/* ==========================================================================
   11. FORMULAIRES (page contact)
   ========================================================================== */
.ccc-form input[type="text"],
.ccc-form input[type="email"],
.ccc-form input[type="tel"],
.ccc-form textarea,
.ccc-form .input {
	background: var(--ccc-brume) !important;
	border: 1px solid var(--ccc-trait) !important;
	border-radius: 14px !important;
	padding: 14px 16px !important;
	color: var(--ccc-marine) !important;
	font-family: var(--ccc-font-text);
}
.ccc-form input:focus,
.ccc-form textarea:focus { border-color: var(--ccc-marine) !important; outline: none; }

/* Créneaux (agenda statique) */
.ccc-slot.et_pb_button,
.ccc-slot .et_pb_button {
	background: var(--ccc-blanc) !important;
	border: 1px solid var(--ccc-trait) !important;
	border-radius: 12px !important;
	color: var(--ccc-marine) !important;
	font-size: 15px !important;
	padding: 10px 16px !important;
}
.ccc-slot.et_pb_button::after,
.ccc-slot .et_pb_button::after { display: none !important; }
.ccc-slot.et_pb_button:hover,
.ccc-slot .et_pb_button:hover,
.ccc-slot--active.et_pb_button,
.ccc-slot--active .et_pb_button { background: var(--ccc-marine) !important; color: var(--ccc-blanc) !important; border-color: var(--ccc-marine) !important; }

/* Bloc alerte (urgence) */
.ccc-alert {
	background: #FBE3DC;
	border-radius: var(--ccc-r-card);
	padding: 28px 32px !important;
}

/* ==========================================================================
   13. HOME — modules Divi natifs, calée sur code.html desktop + mobile (préfixe hm-)
   --------------------------------------------------------------------------
   Aucune balise à écrire dans les modules : les classes sont posées sur les
   sections / lignes / modules, le contenu se modifie dans les champs Divi.
   SECTION hm-hero ............ LIGNE hm-hero-shell (2 col) + LIGNE hm-badges (4 col)
   SECTION hm-bento (#syndrome) LIGNE hm-head (1 col) + LIGNE hm-bento-grid (4 col)
   SECTION hm-stairs (#apres) . LIGNE hm-stairs-head (2 col) + LIGNE hm-stairs-grid (6 col) + LIGNE hm-stairs-note
   SECTION hm-cta (#rdv) ...... LIGNE hm-cta-card (2 col)
   Breakpoints du HTML (Tailwind) : < 768 mobile, 768-1023 tablette, >= 1024 desktop
   ========================================================================== */

/* --- Divi 5 met un écart par défaut entre lignes / modules (flex) : on l'annule,
       seuls les écarts de la maquette (déclarés plus bas) s'appliquent --- */
:where(.et_pb_section[class*="hm-"]),
:where(.et_pb_section[class*="hm-"]) .et_pb_row,
:where(.et_pb_section[class*="hm-"]) .et_pb_column {
	gap: 0 !important;
}

/* --- Remises à zéro --- */
.et_pb_section[class*="hm-"] {
	padding: 0 !important;
	background-color: transparent;
}
[class*="hm-"] > .et_pb_row {
	width: 90% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}
.et_pb_section[class*="hm-"] .et_pb_column { margin: 0 !important; }
:where(.et_pb_section[class*="hm-"]) .et_pb_module { margin: 0 !important; }
:where(.et_pb_section[class*="hm-"]) p { padding: 0 !important; margin: 0; }
.et_pb_section[class*="hm-"] h1,
.et_pb_section[class*="hm-"] h2,
.et_pb_section[class*="hm-"] h3,
.et_pb_section[class*="hm-"] h4 {
	font-family: var(--ccc-font-display) !important;
	color: var(--ccc-marine);
	padding: 0 !important;
	margin: 0;
}

/* Rythme : main mt-8, gap 112, mb 112 */
html body .et_pb_section.hm-hero { margin-top: 32px !important; }
html body .et_pb_section.hm-bento,
html body .et_pb_section.hm-stairs,
html body .et_pb_section.hm-cta { margin-top: 112px !important; }
html body .et_pb_section.hm-cta { margin-bottom: 112px !important; }

/* Les colonnes suivent la grille CSS de leur ligne */
.hm-hero-shell > .et_pb_column,
.hm-badges > .et_pb_column,
.hm-bento-grid > .et_pb_column,
.hm-stairs-head > .et_pb_column,
.hm-stairs-grid > .et_pb_column,
.hm-cta-card > .et_pb_column { width: auto !important; min-width: 0; }

/* ---------- HERO ----------
   Col. 1 : Titre (h1) · Texte · Bouton ccc-btn · Bouton ccc-btn ccc-btn--ghost
   Col. 2 : Image (classe hm-portrait) */
html body .hm-hero-shell.hm-hero-shell {
	display: grid !important;
	grid-template-columns: 7fr 5fr;
	gap: 48px !important;
	align-items: center;
	background: var(--ccc-marine);
	border-radius: 32px;
	/* lg:px-[6%] = 6 % de la largeur du bloc (min(90vw, 1240px)), pas de la section pleine largeur */
	padding: 72px calc(min(90vw, 1240px) * 0.06) !important;
	color: var(--ccc-blanc);
}
.hm-hero-shell > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px !important;
}
.hm-hero-shell > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
.hm-hero-shell > .et_pb_column:first-child > .et_pb_text { margin-bottom: 24px !important; }
.hm-hero-shell h1 {
	color: var(--ccc-blanc) !important;
	font-size: 60px !important;
	font-weight: 700 !important;
	line-height: 1.03 !important;
	letter-spacing: -0.025em;
	margin-bottom: 24px !important;
}
.hm-hero-shell p { color: var(--ccc-ciel); font-size: 21px; line-height: 1.5; max-width: 34ch; }
.hm-hero-shell > .et_pb_column:last-child { display: flex !important; justify-content: flex-end; }
.hm-portrait {
	width: 100%;
	max-width: 420px !important;
	padding: 8px !important;
	border-radius: 32px;
	background: rgba(185, 199, 230, .1);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.hm-portrait .et_pb_image_wrap { display: block; width: 100%; }
.hm-portrait img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 26px;
	background: var(--ccc-marine-2);
}

/* ---------- PASTILLES ----------
   Chaque colonne : Texte (le chiffre, classe hm-badge-num [+ --coral] [+ --short]) · Texte (la légende) */
html body .et_pb_section .hm-badges.hm-badges {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px !important;
	align-items: center;
	margin-top: 56px !important;
	padding: 0 16px !important;
}
.hm-badges > .et_pb_column {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 16px !important;
}
.hm-badges p { font-size: 15px; line-height: 1.375; color: var(--ccc-second); }
.hm-badges .hm-badge-num {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 96px !important;
	width: 96px !important;
	height: 96px;
	border-radius: 50%;
	background: var(--ccc-blanc);
	box-shadow: var(--ccc-shadow-nav);
}
.hm-badges .hm-badge-num--coral { background: var(--ccc-corail); box-shadow: none; }
.hm-badges .hm-badge-num p {
	font-family: var(--ccc-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	color: var(--ccc-marine);
	text-align: center;
	white-space: nowrap;
}

/* ---------- BENTO ----------
   Ligne hm-head : Titre (h2) · Texte
   Ligne hm-bento-grid, chaque colonne : Texte (libellé, classe hm-label) · Titre (h3) · Texte
   La carte 4 (corail) n'a pas de libellé. Couleurs des cartes selon leur position. */
.hm-head { margin-bottom: 40px !important; }
.hm-head h2,
.hm-cta-card h2 {
	font-size: 44px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
}
.hm-head p { font-size: 18px; line-height: 1.625; color: var(--ccc-second); max-width: 58ch; }

.hm-bento-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 20px !important;
}
.hm-bento-grid > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	border-radius: 20px;
	padding: 36px !important;
	background: var(--ccc-ciel-pale);
}
/* justify-between : le dernier texte est poussé en bas */
.hm-bento-grid > .et_pb_column > .et_pb_module:last-child { margin-top: auto !important; }
.hm-bento-grid > .et_pb_column:nth-child(1) { background: var(--ccc-blanc); box-shadow: var(--ccc-shadow-nav); }
.hm-bento-grid > .et_pb_column:nth-child(4) { background: var(--ccc-corail); justify-content: center; }
.hm-bento-grid > .et_pb_column:nth-child(4) > .et_pb_module:last-child { margin-top: 0 !important; }

.hm-label p {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	color: var(--ccc-corail-texte);
}
.hm-bento-grid .hm-label { margin-bottom: 12px !important; }
.hm-bento-grid > .et_pb_column:nth-child(3) .hm-label p { color: var(--ccc-second); }
.hm-bento-grid h3 {
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.375 !important;
	margin-bottom: 16px !important;
}
.hm-bento-grid > .et_pb_column:nth-child(1) h3 { font-size: 26px !important; }
.hm-bento-grid > .et_pb_column:nth-child(4) h3 { line-height: 1.5 !important; }
.hm-bento-grid p { font-size: 16px; line-height: 1.625; color: var(--ccc-second); }
.hm-bento-grid > .et_pb_column:nth-child(4) p { color: var(--ccc-marine); font-weight: 500; }

/* ---------- ESCALIER ----------
   Ligne hm-stairs-head : col. 1 Titre (h2) · col. 2 Texte
   Ligne hm-stairs-grid, chaque colonne : Titre (h4) · Texte
   Ligne hm-stairs-note : Texte */
html body .et_pb_section.hm-stairs {
	background: var(--ccc-blanc) !important;
	border-radius: 32px 32px 0 0;
	padding: 80px 0 64px !important;
}
.hm-stairs-head {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px !important;
	margin-bottom: 64px !important;
}
.hm-stairs-head h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.25 !important; max-width: 16ch; }
.hm-stairs-head .et_pb_text p { font-size: 17px; line-height: 1.625; color: var(--ccc-second); max-width: 48ch; padding-top: 8px !important; }

.hm-stairs-grid {
	display: grid !important;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px !important;
	align-items: end;
	margin-bottom: 32px !important;
}
.hm-stairs-grid > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end;
	background: var(--ccc-ciel-pale);
	border-radius: 20px;
	padding: 20px !important;
}
.hm-stairs-grid > .et_pb_column:nth-child(1) { height: 170px; }
.hm-stairs-grid > .et_pb_column:nth-child(2) { height: 210px; }
.hm-stairs-grid > .et_pb_column:nth-child(3) { height: 250px; }
.hm-stairs-grid > .et_pb_column:nth-child(4) { height: 290px; }
.hm-stairs-grid > .et_pb_column:nth-child(5) { height: 330px; }
.hm-stairs-grid > .et_pb_column:nth-child(6) { height: 370px; background: var(--ccc-marine); }
.hm-stairs-grid h4 { font-size: 19px !important; font-weight: 700 !important; line-height: 1.5 !important; margin-bottom: 8px !important; }
.hm-stairs-grid p { font-size: 14px; line-height: 1.375; color: var(--ccc-second); }
.hm-stairs-grid > .et_pb_column:nth-child(6) h4 { color: var(--ccc-corail) !important; }
.hm-stairs-grid > .et_pb_column:nth-child(6) p { color: var(--ccc-ciel); }
.hm-stairs-note p { font-size: 15px; line-height: 1.5; color: var(--ccc-second); max-width: 56rem; }

/* ---------- CARTE CONSULTATION ----------
   Col. 1 : Titre (h2) · Texte · Bouton ccc-btn ccc-btn--navy
   Col. 2 : un module Blurb par clinique (classe hm-place, sans image ni icône)
   Le bezel extérieur (p 8, r 32, bordure border-subtle/40) est dessiné en box-shadow. */
html body .et_pb_section.hm-cta > .hm-cta-card {
	width: calc(90% - 16px) !important;
	max-width: 1224px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 40px !important;
	align-items: center;
	background: var(--ccc-blanc);
	border-radius: 26px;
	padding: 56px !important;
	box-shadow:
		inset 0 0 0 1px var(--ccc-trait),
		0 0 0 8px var(--ccc-brume),
		0 0 0 9px rgba(211, 218, 232, .4);
}
.hm-cta-card > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start;
}
.hm-cta-card h2 { margin-bottom: 16px !important; }
.hm-cta-card > .et_pb_column:first-child p {
	font-size: 18px;
	line-height: 1.625;
	color: var(--ccc-second);
	max-width: 42ch;
}
.hm-cta-card > .et_pb_column:first-child > .et_pb_text { margin-bottom: 32px !important; }
.hm-cta-card > .et_pb_column:last-child {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

/* Clinique (module Blurb) : carte brume + point corail généré */
.hm-place {
	position: relative;
	background: var(--ccc-brume);
	border-radius: 20px;
	padding: 18px 24px 18px 48px !important;   /* 24 + point 8 + gap 16 */
	text-align: left !important;
}
.hm-place::before {
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: var(--ccc-corail);
}
.hm-place .et_pb_blurb_content { max-width: none !important; margin: 0 !important; text-align: left !important; }
.hm-place .et_pb_main_blurb_image { display: none !important; }
.hm-place .et_pb_blurb_container { padding: 0 !important; }
.hm-place h4,
.hm-place .et_pb_module_header { font-size: 18px !important; font-weight: 700 !important; line-height: 1.5 !important; padding: 0 !important; }
.hm-place .et_pb_blurb_description p,
.hm-place p { font-size: 15px; line-height: 1.5; color: var(--ccc-second); }

/* ======================= TABLETTE (768-1023) ======================= */
@media (max-width: 1023px) {
	html body .hm-hero-shell.hm-hero-shell { grid-template-columns: 1fr; padding: 48px !important; }
	.hm-hero-shell h1 { font-size: 54px !important; }
	.hm-hero-shell > .et_pb_column:last-child { justify-content: center; }
	html body .et_pb_section .hm-badges.hm-badges { grid-template-columns: repeat(2, 1fr); }
	.hm-stairs-head { flex-direction: column !important; }
	.hm-stairs-grid { grid-template-columns: repeat(3, 1fr); }
	html body .et_pb_section.hm-cta > .hm-cta-card { grid-template-columns: 1fr; }
}

/* ======================= MOBILE (< 768) — code.html mobile ======================= */
@media (max-width: 767px) {
	html body .et_pb_section[class*="hm-"] { max-width: 448px; margin-left: auto !important; margin-right: auto !important; }
	html body .et_pb_section.hm-hero,
	html body .et_pb_section.hm-bento,
	html body .et_pb_section.hm-stairs,
	html body .et_pb_section.hm-cta { margin-top: 0 !important; margin-bottom: 0 !important; }
	[class*="hm-"] > .et_pb_row { width: auto !important; }

	/* HERO */
	html body .et_pb_section.hm-hero { padding: 4px 0 0 !important; }
	html body .et_pb_section.hm-hero > .hm-hero-shell {
		margin: 0 12px !important;
		grid-template-columns: 1fr;
		gap: 0 !important;
		padding: 36px 24px 32px !important;
		border-radius: 32px;
		box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
	}
	.hm-hero-shell > .et_pb_column:first-child { flex-direction: column !important; align-items: stretch; gap: 12px !important; margin-bottom: 32px !important; }
	.hm-hero-shell > .et_pb_column:first-child > .et_pb_text { margin-bottom: 16px !important; }
	.hm-hero-shell h1 { font-size: 32px !important; font-weight: 800 !important; line-height: 1.08 !important; margin-bottom: 16px !important; }
	.hm-hero-shell p { font-size: 15px; line-height: 1.625; max-width: none; }
	.hm-hero-shell .et_pb_button_module_wrapper { width: 100% !important; }
	html body .hm-hero-shell .ccc-btn.ccc-btn.et_pb_button,
	html body .hm-hero-shell .ccc-btn.ccc-btn.et_pb_button:hover {
		width: 100% !important;
		height: auto;
		min-height: 0;
		justify-content: space-between !important;
		padding: 8px 8px 8px 24px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
	}
	html body .hm-hero-shell .ccc-btn.ccc-btn.et_pb_button:hover { background: var(--ccc-corail-2) !important; opacity: 1; }
	html body .hm-hero-shell .ccc-btn.ccc-btn.et_pb_button::after { width: 36px !important; height: 36px !important; }
	html body .hm-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button,
	html body .hm-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button:hover {
		justify-content: center !important;
		padding: 12px !important;
		font-weight: 600 !important;
		border: 1px solid rgba(185, 199, 230, .5) !important;
	}
	html body .hm-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button { background: rgba(23, 38, 77, .4) !important; }
	html body .hm-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button:hover { background: rgba(255, 255, 255, .1) !important; }
	.hm-hero-shell > .et_pb_column:last-child { justify-content: stretch; }
	.hm-portrait {
		max-width: none !important;
		border-radius: 24px;
		background: rgba(255, 255, 255, .05);
		border: 1px solid rgba(255, 255, 255, .1);
	}
	.hm-portrait img { border-radius: 16px; background: #203362; }

	/* PASTILLES */
	html body .et_pb_section .hm-badges.hm-badges {
		grid-template-columns: 1fr;
		gap: 20px !important;
		margin: 64px 0 0 !important;
		padding: 0 24px 24px !important;
	}
	.hm-badges > .et_pb_column { gap: 20px !important; }
	.hm-badges .hm-badge-num { flex-basis: 92px !important; width: 92px !important; height: 92px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
	.hm-badges .hm-badge-num p { font-size: 17px; font-weight: 900; letter-spacing: -0.025em; }
	.hm-badges .hm-badge-num--short p { font-size: 20px; letter-spacing: 0; }
	.hm-badges p { font-weight: 500; color: var(--ccc-marine); }

	/* BENTO */
	html body .et_pb_section.hm-bento { padding: 40px 20px 48px !important; }
	.hm-head { margin-bottom: 28px !important; }
	.hm-head h2 { font-size: 29px !important; font-weight: 800 !important; line-height: 1.25 !important; margin-bottom: 12px !important; }
	.hm-head p { font-size: 15px; max-width: none; }
	.hm-bento-grid { grid-template-columns: 1fr; gap: 16px !important; }
	.hm-bento-grid > .et_pb_column { border-radius: 22px; padding: 24px !important; }
	.hm-bento-grid > .et_pb_column:nth-child(1) { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); border: 1px solid rgba(0, 0, 0, .02); }
	.hm-bento-grid > .et_pb_column:nth-child(4) { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
	.hm-bento-grid .hm-label { margin-bottom: 6px !important; }
	.hm-label p { font-size: 12px; font-weight: 700; letter-spacing: .05em; line-height: 1.33; color: var(--ccc-second); }
	.hm-bento-grid > .et_pb_column:nth-child(1) .hm-label p { color: var(--ccc-corail); text-transform: uppercase; }
	.hm-bento-grid h3,
	.hm-bento-grid > .et_pb_column:nth-child(1) h3 { font-size: 18px !important; line-height: 1.375 !important; margin-bottom: 10px !important; }
	.hm-bento-grid > .et_pb_column:nth-child(4) h3 { font-size: 19px !important; font-weight: 800 !important; line-height: 1.25 !important; }
	.hm-bento-grid p { font-size: 14px; }
	.hm-bento-grid > .et_pb_column:nth-child(4) p { color: rgba(23, 38, 77, .9); }

	/* ESCALIER */
	html body .et_pb_section.hm-stairs {
		border-radius: 36px 36px 0 0;
		padding: 40px 20px 48px !important;
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	}
	.hm-stairs-head { gap: 0 !important; margin-bottom: 32px !important; }
	.hm-stairs-head h2 { font-size: 28px !important; font-weight: 800 !important; max-width: none; margin-bottom: 12px !important; }
	.hm-stairs-head .et_pb_text p { font-size: 15px; max-width: none; padding-top: 0 !important; }
	.hm-stairs-grid { display: flex !important; flex-direction: column !important; align-items: flex-start; gap: 14px !important; }
	.hm-stairs-grid > .et_pb_column { height: auto !important; padding: 16px !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(1) { width: 62% !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(2) { width: 70% !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(3) { width: 78% !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(4) { width: 85% !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(5) { width: 92% !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(6) {
		width: 100% !important;
		padding: 20px !important;
		box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
	}
	.hm-stairs-grid h4 { font-size: 15px !important; line-height: 1.375 !important; margin-bottom: 4px !important; }
	.hm-stairs-grid p { font-size: 13px; }
	.hm-stairs-grid > .et_pb_column:nth-child(6) h4 { font-size: 16px !important; font-weight: 800 !important; }
	.hm-stairs-grid > .et_pb_column:nth-child(6) p { font-size: 14px; }
	.hm-stairs-note p { font-size: 13px; line-height: 1.625; color: rgba(77, 88, 115, .9); }

	/* CARTE */
	html body .et_pb_section.hm-cta { padding: 24px 0 48px !important; }
	html body .et_pb_section.hm-cta > .hm-cta-card {
		width: auto !important;
		margin: 10px 22px !important;
		grid-template-columns: 1fr;
		gap: 0 !important;
		padding: 24px !important;
		box-shadow:
			0 1px 2px 0 rgba(0, 0, 0, .05),
			0 0 0 8px var(--ccc-brume),
			0 0 0 10px rgba(211, 218, 232, .7);
	}
	.hm-cta-card > .et_pb_column:first-child { align-items: stretch; margin-bottom: 28px !important; }
	.hm-cta-card h2 { font-size: 28px !important; font-weight: 800 !important; line-height: 1.25 !important; margin-bottom: 12px !important; }
	.hm-cta-card > .et_pb_column:first-child p { font-size: 14.5px; max-width: none; }
	.hm-cta-card > .et_pb_column:first-child > .et_pb_text { margin-bottom: 24px !important; }
	.hm-cta-card .et_pb_button_module_wrapper { width: 100% !important; }
	html body .hm-cta-card .ccc-btn.ccc-btn.et_pb_button,
	html body .hm-cta-card .ccc-btn.ccc-btn.et_pb_button:hover {
		width: 100% !important;
		justify-content: space-between !important;
		padding: 8px 8px 8px 24px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
	}
	html body .hm-cta-card .ccc-btn.ccc-btn.et_pb_button:hover { background: rgba(23, 38, 77, .9) !important; }
	.hm-cta-card > .et_pb_column:last-child { gap: 12px !important; }
	.hm-place { border-radius: 16px; padding: 16px 16px 16px 34px !important; background: #F1F4F9; }  /* 16 + point 8 + gap 10 */
	.hm-place::before { left: 16px; top: 23px; margin-top: 0; }
	.hm-place h4,
	.hm-place .et_pb_module_header { font-size: 15px !important; margin-bottom: 4px !important; }
	.hm-place .et_pb_blurb_description p,
	.hm-place p { font-size: 13px; line-height: 1.375; }
}

/* ==========================================================================
   14. PAGE SERVICE « Le syndrome du canal carpien » — calée sur
   pathologie_traitement_*_desktop/code.html (préfixe sv-)
   Contenu = version desktop ; mobile = adaptation responsive (codes visuels du HTML mobile)
   --------------------------------------------------------------------------
   SECTION sv-hero ........ LIGNE sv-hero-shell (2 col)
   SECTION sv-badges-sec .. LIGNE sv-badges (4 col)
   SECTION sv-anat #anatomie ... LIGNE sv-head + LIGNE sv-cards3 (3 col)
   SECTION sv-options-sec #operation ... LIGNE sv-head + LIGNE sv-options (2 col)
   SECTION sv-alert-sec ... LIGNE sv-alert (2 col)
   SECTION sv-post-sec #apres-operation ... LIGNE sv-head + LIGNE sv-post (4 col)
   SECTION sv-cta-sec ..... LIGNE sv-cta-card (2 col)
   ========================================================================== */

/* --- Écarts flex par défaut de Divi 5 annulés --- */
:where(.et_pb_section[class*="sv-"]),
:where(.et_pb_section[class*="sv-"]) .et_pb_row,
:where(.et_pb_section[class*="sv-"]) .et_pb_column {
	gap: 0 !important;
}

/* --- Remises à zéro --- */
.et_pb_section[class*="sv-"] {
	padding: 0 !important;
	background-color: transparent !important;
}
[class*="sv-"] > .et_pb_row {
	width: 90% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}
.et_pb_section[class*="sv-"] .et_pb_column { margin: 0 !important; width: auto !important; min-width: 0; }
:where(.et_pb_section[class*="sv-"]) .et_pb_module { margin: 0 !important; }
:where(.et_pb_section[class*="sv-"]) p { padding: 0 !important; margin: 0; }
.et_pb_section[class*="sv-"] h1,
.et_pb_section[class*="sv-"] h2,
.et_pb_section[class*="sv-"] h3,
.et_pb_section[class*="sv-"] h4 {
	font-family: var(--ccc-font-display) !important;
	color: var(--ccc-marine);
	padding: 0 !important;
	margin: 0;
}

/* Rythme : py 36 (space-lg), gap 112 (lg) / 72 */
html body .et_pb_section[class*="sv-"] { margin-top: 112px !important; }
html body .et_pb_section.sv-hero { margin-top: 36px !important; }
html body .et_pb_section.sv-cta-sec { margin-bottom: 36px !important; }

/* Titres de section (ligne sv-head) : surtitre (Texte sv-kicker) · Titre H2 · Texte */
.sv-head { margin-bottom: 36px !important; }
.sv-head > .et_pb_column { display: flex !important; flex-direction: column !important; gap: 8px !important; max-width: 42rem; }
.sv-kicker p {
	font-family: var(--ccc-font-display);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-corail-texte);
}
.sv-head h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.08 !important; }
.sv-head .et_pb_text:last-child p { font-size: 19px; line-height: 1.62; color: var(--ccc-second); }
.sv-head .sv-kicker p { font-size: 14px; line-height: 1.5; color: var(--ccc-corail-texte); }

/* ---------- HERO ----------
   Col. 1 : Texte (sv-eyebrow) · Titre H1 · Texte · Bouton ccc-btn · Bouton ccc-btn ccc-btn--ghost
   Col. 2 : Texte (sv-schema-head, 2 paragraphes) · Image (sv-schema-img) · Texte (sv-schema-legend, 2 paragraphes) */
html body .sv-hero-shell.sv-hero-shell {
	position: relative;
	overflow: hidden;
	display: grid !important;
	grid-template-columns: 7fr 5fr;
	gap: 20px !important;
	align-items: center;
	background: var(--ccc-marine);
	border-radius: 32px;
	padding: 64px !important;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
}
/* halo d'ambiance */
.sv-hero-shell::before {
	content: "";
	position: absolute;
	right: -128px;
	bottom: -128px;
	width: 384px;
	height: 384px;
	border-radius: 50%;
	background: rgba(46, 67, 128, .3);
	filter: blur(64px);
	pointer-events: none;
}
.sv-hero-shell > .et_pb_column { position: relative; z-index: 1; }
.sv-hero-shell > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	column-gap: 12px !important;
	row-gap: 20px !important;
}
.sv-hero-shell > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
.sv-hero-shell > .et_pb_column:first-child > .et_pb_button_module_wrapper { margin-top: 8px !important; }
/* Pastille surtitre */
.sv-eyebrow { flex: 0 0 auto !important; }
.sv-eyebrow .et_pb_text_inner {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.sv-eyebrow .et_pb_text_inner::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ccc-corail);
	flex-shrink: 0;
	animation: sv-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
@keyframes sv-pulse { 50% { opacity: .5; } }
.sv-eyebrow p {
	font-family: var(--ccc-font-display);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-ciel);
}
.sv-hero-shell h1 {
	color: var(--ccc-blanc) !important;
	font-size: 60px !important;
	font-weight: 700 !important;
	line-height: 1.03 !important;
	letter-spacing: -0.025em;
}
.sv-hero-shell > .et_pb_column:first-child p { font-size: 21px; line-height: 1.625; color: var(--ccc-ciel-pale); max-width: 36rem; }
.sv-hero-shell > .et_pb_column:first-child .sv-eyebrow p { font-size: 13px; line-height: 1.3; color: var(--ccc-ciel); max-width: none; }

/* Col. 2 : carte schéma (cœur r24 p20) + cadre translucide p8 r32 (box-shadow) */
.sv-hero-shell > .et_pb_column:last-child {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
	margin: 8px !important;
	padding: 20px !important;
	border-radius: 24px;
	background: rgba(23, 38, 77, .8);
	box-shadow: 0 0 0 8px rgba(255, 255, 255, .05), 0 4px 6px -1px rgba(0, 0, 0, .1);
}
.sv-schema-head { padding-bottom: 8px !important; border-bottom: 1px solid rgba(255, 255, 255, .1); }
.sv-schema-head .et_pb_text_inner { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sv-schema-head p:first-child {
	font-family: var(--ccc-font-display);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .025em;
	text-transform: uppercase;
	color: var(--ccc-blanc);
	display: flex;
	align-items: center;
	gap: 8px;
}
.sv-schema-head p:first-child::before {
	content: "";
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8466' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 12h-4l-3 9L9 3l-3 9H2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sv-schema-head p:last-child {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 12px;
	line-height: 1.4;
	color: var(--ccc-ciel);
	padding: 2px 8px !important;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	white-space: nowrap;
}
.sv-schema-img { padding: 8px 0 !important; }
.sv-schema-img img { display: block; width: 100% !important; height: auto; }
.sv-schema-legend .et_pb_text_inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	padding: 8px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
}
.sv-schema-legend p {
	position: relative;
	padding-left: 14px !important;
	font-size: 12px;
	line-height: 1.25;
	color: var(--ccc-ciel-pale);
}
.sv-schema-legend p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ccc-corail);
}
.sv-schema-legend p:last-child::before { background: var(--ccc-ciel); }
.sv-schema-legend strong { color: var(--ccc-ciel-pale); font-weight: 700; }

/* ---------- PASTILLES (même principe que la home : fond transparent, cercles seuls) ----------
   Chaque colonne : Texte (sv-badge-num : 2 paragraphes « 1 » / « Canal ») · Texte (sv-badge-title) · Texte */
html body .et_pb_section .sv-badges.sv-badges {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px !important;
	align-items: center;
	padding: 0 16px !important;
}
.sv-badges > .et_pb_column {
	display: grid !important;
	grid-template-columns: 96px 1fr;
	grid-template-rows: auto auto;
	align-content: center;
	column-gap: 16px !important;
	row-gap: 2px !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
.sv-badges .sv-badge-num {
	grid-row: 1 / span 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 96px !important;
	height: 96px;
	border-radius: 50%;
	background: var(--ccc-blanc);
	box-shadow: var(--ccc-shadow-nav);
}
.sv-badges .sv-badge-num .et_pb_text_inner { display: flex !important; flex-direction: column !important; align-items: center; text-align: center; }
.sv-badges .sv-badge-num p:first-child {
	font-family: var(--ccc-font-display);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.05;
	color: var(--ccc-marine);
	white-space: nowrap;
}
.sv-badges .sv-badge-num p:last-child:not(:first-child) {
	font-family: var(--ccc-font-display);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--ccc-second);
}
.sv-badges > .et_pb_column:nth-child(3) .sv-badge-num { background: var(--ccc-corail); box-shadow: none; }
.sv-badges > .et_pb_column:nth-child(3) .sv-badge-num p:last-child:not(:first-child) { color: var(--ccc-marine); font-weight: 700; margin-top: 2px; }
.sv-badges .sv-badge-title { align-self: end; }
.sv-badges .sv-badge-title p { font-family: var(--ccc-font-display); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--ccc-marine); }
.sv-badges > .et_pb_column > .et_pb_text:last-child { align-self: start; }
.sv-badges > .et_pb_column > .et_pb_text:last-child p { font-size: 14px; line-height: 1.375; color: var(--ccc-second); }

/* ---------- ÉTIOLOGIE : 3 cartes ----------
   Chaque colonne : Blurb (icône Divi, titre H3, texte ; sans classe) · Texte (sv-foot) */
.sv-cards3 {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px !important;
	align-items: stretch;
}
.sv-cards3 > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between;
	gap: 20px !important;
	padding: 32px !important;
	border-radius: 16px;
	background: var(--ccc-blanc);
	box-shadow: 0 16px 32px -12px rgba(23, 38, 77, .06);
}
.sv-cards3 > .et_pb_column:nth-child(2) { background: var(--ccc-ciel-pale); box-shadow: none; }

/* Blurb « icône en cercle + titre + texte » (cartes étiologie) */
.sv-cards3 .et_pb_blurb_content { max-width: none !important; margin: 0 !important; text-align: left !important; }
.sv-cards3 .et_pb_main_blurb_image { margin: 0 0 12px !important; text-align: left !important; width: auto !important; }
.sv-cards3 .et_pb_main_blurb_image .et_pb_image_wrap {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ccc-brume);
}
.sv-cards3 > .et_pb_column:nth-child(2) .et_pb_main_blurb_image .et_pb_image_wrap { background: rgba(255, 255, 255, .7); }
.sv-cards3 .et-pb-icon { font-size: 26px !important; color: var(--ccc-marine) !important; }
.sv-cards3 .et_pb_blurb_container { padding: 0 !important; }
.sv-cards3 h3,
.sv-cards3 h4,
.sv-cards3 .et_pb_module_header { font-size: 26px !important; font-weight: 600 !important; line-height: 1.2 !important; margin-bottom: 12px !important; padding: 0 !important; }
.sv-cards3 .et_pb_blurb_description p { font-size: 16px; line-height: 1.625; color: var(--ccc-second); }

/* Pied de carte avec point (étiologie + suites opératoires) */
.sv-foot { padding-top: 8px !important; border-top: 1px solid var(--ccc-trait); }
.sv-foot p {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ccc-font-display);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ccc-marine);
}
.sv-foot p::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ccc-corail); flex-shrink: 0; }
.sv-cards3 > .et_pb_column:nth-child(2) .sv-foot { border-top-color: rgba(23, 38, 77, .1); }
.sv-cards3 > .et_pb_column:nth-child(2) .sv-foot p::before { background: var(--ccc-marine); }

/* ---------- OPTIONS DE TRAITEMENT : 2 cartes ----------
   Chaque colonne : Texte (sv-tag) · Titre H3 · Texte (sv-desc) · 3 Blurbs (sv-item, sans icône) · Texte (sv-note)
   Col. 1 blanche (numéros 1-2-3) · Col. 2 marine (coches) */
.sv-options {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 20px !important;
	align-items: stretch;
}
.sv-options > .et_pb_column {
	position: relative;
	overflow: hidden;
	display: flex !important;
	flex-direction: column !important;
	padding: 40px !important;
	border-radius: 16px;
	background: var(--ccc-blanc);
	box-shadow: 0 16px 32px -12px rgba(23, 38, 77, .06);
	counter-reset: sv-step;
}
.sv-options > .et_pb_column:nth-child(2) {
	background: var(--ccc-marine);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);
}
.sv-options > .et_pb_column:nth-child(2)::before {
	content: "";
	position: absolute;
	right: -80px;
	top: -80px;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: rgba(46, 67, 128, .4);
	filter: blur(40px);
	pointer-events: none;
}
.sv-options > .et_pb_column > .et_pb_module { position: relative; z-index: 1; }
.sv-tag { margin-bottom: 20px !important; }
.sv-tag p {
	display: inline-block;
	padding: 4px 12px !important;
	border-radius: 999px;
	background: var(--ccc-ciel-pale);
	font-family: var(--ccc-font-display);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-marine);
}
.sv-options > .et_pb_column:nth-child(2) .sv-tag p { background: var(--ccc-corail); font-weight: 700; }
.sv-options h3 { font-size: 26px !important; font-weight: 600 !important; line-height: 1.2 !important; margin-bottom: 8px !important; }
.sv-options > .et_pb_column:nth-child(2) h3 { color: var(--ccc-blanc) !important; }
.sv-desc { margin-bottom: 28px !important; }
.sv-desc p { font-size: 16px; line-height: 1.62; color: var(--ccc-second); }
.sv-options > .et_pb_column:nth-child(2) .sv-desc p { color: var(--ccc-ciel-pale); }

/* Étapes (Blurb sv-item) : pastille 24px numérotée / cochée */
.sv-item { position: relative; padding-left: 36px !important; text-align: left !important; }
.sv-item + .sv-item { margin-top: 12px !important; }
.sv-item .et_pb_blurb_content { max-width: none !important; margin: 0 !important; text-align: left !important; }
.sv-item .et_pb_main_blurb_image { display: none !important; }
.sv-item .et_pb_blurb_container { padding: 0 !important; }
.sv-item::before {
	counter-increment: sv-step;
	content: counter(sv-step);
	position: absolute;
	left: 0;
	top: 2px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--ccc-ciel-pale);
	color: var(--ccc-marine);
	font-family: var(--ccc-font-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 24px;
	text-align: center;
}
.sv-options > .et_pb_column:nth-child(2) .sv-item::before { content: "✓"; background: var(--ccc-corail); }
.sv-item h4,
.sv-item .et_pb_module_header { font-size: 16px !important; font-weight: 600 !important; line-height: 1.3 !important; padding: 0 !important; }
.sv-item .et_pb_blurb_description p { font-size: 14px; line-height: 1.5; color: var(--ccc-second); }
.sv-options > .et_pb_column:nth-child(2) .sv-item h4,
.sv-options > .et_pb_column:nth-child(2) .sv-item .et_pb_module_header { color: var(--ccc-blanc) !important; }
.sv-options > .et_pb_column:nth-child(2) .sv-item .et_pb_blurb_description p { color: var(--ccc-ciel); line-height: 1.625; }

/* Encadré bas de carte (Texte sv-note), poussé en bas */
.sv-note { margin-top: auto !important; }
.sv-options > .et_pb_column > .sv-item:nth-last-child(2) { margin-bottom: 20px !important; }
.sv-note .et_pb_text_inner {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px;
	border-radius: 16px;
	background: var(--ccc-brume);
}
.sv-note .et_pb_text_inner::before {
	content: "";
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317264D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sv-note p { font-size: 13px; line-height: 1.5; color: var(--ccc-second); }
.sv-options > .et_pb_column:nth-child(2) .sv-note .et_pb_text_inner { background: rgba(255, 255, 255, .1); }
.sv-options > .et_pb_column:nth-child(2) .sv-note .et_pb_text_inner::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8466' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}
.sv-options > .et_pb_column:nth-child(2) .sv-note p { color: var(--ccc-ciel); }

/* ---------- ENCADRÉ ALERTE (corail) ----------
   Col. 1 : Texte (sv-pill-dark) · Titre H2 · Texte · Texte (sv-quote : citation + signature)
   Col. 2 : Bouton sv-btn sv-btn--dark sv-btn--cal · Bouton sv-btn sv-btn--light sv-btn--phone */
html body .sv-alert.sv-alert {
	display: grid !important;
	grid-template-columns: minmax(0, 42rem) auto;
	justify-content: space-between;
	align-items: center;
	gap: 36px !important;
	padding: 48px !important;
	border-radius: 16px;
	background: var(--ccc-corail);
	box-shadow: 0 20px 40px -15px rgba(255, 132, 102, .35);
}
.sv-alert > .et_pb_column:first-child { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.sv-alert > .et_pb_column:last-child { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.sv-pill-dark { align-self: flex-start; }
.sv-pill-dark .et_pb_text_inner {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--ccc-marine);
}
.sv-pill-dark .et_pb_text_inner::before {
	content: "";
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF8466' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sv-pill-dark p {
	font-family: var(--ccc-font-display);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-blanc) !important;
}
.sv-alert h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.sv-alert p { font-size: 17px; line-height: 1.625; color: var(--ccc-marine); }
.sv-quote { margin-top: 8px !important; }
.sv-quote .et_pb_text_inner {
	padding: 12px;
	border-radius: 16px;
	border-left: 4px solid var(--ccc-marine);
	background: rgba(255, 255, 255, .3);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.sv-quote p:first-child { font-size: 15px; font-style: italic; font-weight: 500; line-height: 1.62; }
.sv-quote p:last-child:not(:first-child) { margin-top: 4px; font-family: var(--ccc-font-display); font-size: 13px; font-weight: 700; font-style: normal; }

/* Boutons simples (sans rond fléché) : sombre / clair / contour, avec icône */
html body .sv-btn.sv-btn.et_pb_button,
html body .sv-btn.sv-btn.et_pb_button:hover {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	column-gap: 8px !important;
	width: auto !important;
	height: 52px;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	white-space: nowrap;
	transition: background-color 150ms cubic-bezier(.4, 0, .2, 1), transform 150ms !important;
}
html body .sv-btn.sv-btn.et_pb_button:active { transform: scale(.98); }
html body .sv-btn.sv-btn.et_pb_button::before,
html body .sv-btn.sv-btn.et_pb_button::after { display: none !important; }
html body .sv-btn--dark.sv-btn.et_pb_button { background: var(--ccc-marine) !important; color: var(--ccc-blanc) !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1); }
html body .sv-btn--dark.sv-btn.et_pb_button:hover { background: var(--ccc-marine-2) !important; }
html body .sv-btn--light.sv-btn.et_pb_button { background: var(--ccc-blanc) !important; color: var(--ccc-marine) !important; }
html body .sv-btn--light.sv-btn.et_pb_button:hover { background: rgba(255, 255, 255, .9) !important; }
html body .sv-btn--outline.sv-btn.et_pb_button { background: transparent !important; color: var(--ccc-marine) !important; border: 1px solid var(--ccc-trait) !important; }
html body .sv-btn--outline.sv-btn.et_pb_button:hover { background: var(--ccc-brume) !important; }
/* Icônes */
html body .sv-btn--cal.sv-btn.et_pb_button::after,
html body .sv-btn--phone.sv-btn.et_pb_button::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
html body .sv-btn--cal.sv-btn.et_pb_button::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
}
html body .sv-btn--phone.sv-btn.et_pb_button::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317264D' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}
.sv-alert .et_pb_button_module_wrapper,
.sv-alert .et_pb_button_module_wrapper .et_pb_button { width: 100% !important; }

/* ---------- SUITES OPÉRATOIRES : 4 cartes ----------
   Chaque colonne : Texte (sv-kicker) · Titre H3 · Texte · Texte (sv-foot) ; la 4e est marine */
.sv-post {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px !important;
}
.sv-post > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	padding: 20px !important;
	border-radius: 16px;
	background: var(--ccc-blanc);
	box-shadow: 0 16px 32px -12px rgba(23, 38, 77, .06);
}
.sv-post > .et_pb_column > .sv-foot { margin-top: auto !important; }
.sv-post > .et_pb_column > .et_pb_text:nth-last-child(2) { margin-bottom: 4px !important; }
.sv-post .sv-kicker p { font-size: 13px; line-height: 1.4; }
.sv-post h3 { font-size: 20px !important; font-weight: 600 !important; line-height: 1.2 !important; }
.sv-post p { font-size: 14px; line-height: 1.625; color: var(--ccc-second); }
.sv-post .sv-foot p { font-family: var(--ccc-font-text); font-size: 12px; line-height: 1.4; color: var(--ccc-marine); }
.sv-post > .et_pb_column:nth-child(4) { background: var(--ccc-marine); box-shadow: 0 16px 32px -12px rgba(23, 38, 77, .12); }
.sv-post > .et_pb_column:nth-child(4) .sv-kicker p { color: var(--ccc-corail); }
.sv-post > .et_pb_column:nth-child(4) h3 { color: var(--ccc-blanc) !important; }
.sv-post > .et_pb_column:nth-child(4) p { color: var(--ccc-ciel); }
.sv-post > .et_pb_column:nth-child(4) .sv-foot { border-top-color: var(--ccc-marine-3); }
.sv-post > .et_pb_column:nth-child(4) .sv-foot p { color: var(--ccc-ciel); }

/* ---------- CARTE CONSULTATION ----------
   Col. 1 : Texte (sv-pill) · Titre H2 · Texte · Bouton ccc-btn ccc-btn--navy · Bouton sv-btn sv-btn--outline sv-btn--phone
   Col. 2 : Texte (sv-kicker-muted) · 3 Blurbs (sv-place) · Texte (sv-urgent) */
html body .et_pb_section.sv-cta-sec > .sv-cta-card {
	width: calc(90% - 16px) !important;
	max-width: 1224px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 20px !important;
	align-items: center;
	padding: 56px !important;
	border-radius: 26px;
	background: var(--ccc-blanc);
	box-shadow: 0 24px 48px -28px rgba(23, 38, 77, .15);
}
.sv-cta-card > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 12px !important;
	row-gap: 12px !important;
}
.sv-cta-card > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
.sv-cta-card > .et_pb_column:first-child > .et_pb_button_module_wrapper { margin-top: 8px !important; }
.sv-pill p {
	display: inline-block;
	padding: 4px 12px !important;
	border-radius: 999px;
	background: var(--ccc-ciel-pale);
	font-family: var(--ccc-font-display);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-marine);
}
.sv-cta-card h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.sv-cta-card > .et_pb_column:first-child p { font-size: 17px; line-height: 1.625; color: var(--ccc-second); }
.sv-cta-card > .et_pb_column:first-child .sv-pill p { font-size: 12px; line-height: 1.4; color: var(--ccc-marine); }
html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button,
html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button:hover { font-size: 15px !important; font-family: var(--ccc-font-display) !important; font-weight: 600 !important; padding: 7px 7px 7px 20px !important; column-gap: 12px !important; }
html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button::after { width: 38px !important; height: 38px !important; }

.sv-cta-card > .et_pb_column:last-child { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.sv-kicker-muted { margin-bottom: 4px !important; }
.sv-kicker-muted p {
	font-family: var(--ccc-font-display);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-second);
}
/* Lieu (Blurb sv-place) */
.sv-place {
	position: relative;
	padding: 12px 12px 12px 36px !important;   /* 12 + point 12 + gap 12 */
	border-radius: 16px;
	background: var(--ccc-ciel-pale);
	text-align: left !important;
}
.sv-place::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 18px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--ccc-corail);
}
.sv-place .et_pb_blurb_content { max-width: none !important; margin: 0 !important; text-align: left !important; }
.sv-place .et_pb_main_blurb_image { display: none !important; }
.sv-place .et_pb_blurb_container { padding: 0 !important; }
.sv-place h4,
.sv-place .et_pb_module_header { font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important; padding: 0 !important; }
.sv-place .et_pb_blurb_description p { font-size: 14px; line-height: 1.5; color: var(--ccc-second); }
/* Mention urgence */
.sv-urgent { margin-top: 8px !important; }
.sv-urgent .et_pb_text_inner {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	border-radius: 16px;
	background: var(--ccc-brume);
}
.sv-urgent .et_pb_text_inner::before {
	content: "";
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B0401F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E") center / contain no-repeat;
}
.sv-urgent p { font-size: 12px; line-height: 1.5; color: var(--ccc-second); }
.sv-urgent strong { color: var(--ccc-marine); }

/* ======================= TABLETTE (< 1024) ======================= */
@media (max-width: 1023px) {
	html body .et_pb_section[class*="sv-"] { margin-top: 72px !important; }
	html body .et_pb_section.sv-hero { margin-top: 36px !important; }
	html body .sv-hero-shell.sv-hero-shell { grid-template-columns: 1fr; padding: 48px !important; }
	html body .et_pb_section .sv-badges.sv-badges { grid-template-columns: repeat(2, 1fr); }
	.sv-options { grid-template-columns: 1fr; }
	.sv-post { grid-template-columns: repeat(2, 1fr); }
	html body .et_pb_section.sv-cta-sec > .sv-cta-card { grid-template-columns: 1fr; padding: 48px !important; }
}

/* ======================= MOBILE (< 768) — codes visuels du HTML mobile ======================= */
@media (max-width: 767px) {
	html body .et_pb_section[class*="sv-"] { margin-top: 32px !important; }
	html body .et_pb_section.sv-hero { margin-top: 16px !important; }
	html body .et_pb_section.sv-cta-sec { margin-bottom: 48px !important; }
	[class*="sv-"] > .et_pb_row { width: auto !important; margin-left: 16px !important; margin-right: 16px !important; }
	.sv-head { margin-bottom: 16px !important; }
	.sv-head > .et_pb_column { gap: 4px !important; max-width: none; }
	.sv-head .sv-kicker p { font-size: 12px; }
	.sv-head h2 { font-size: 33px !important; line-height: 1.15 !important; letter-spacing: -0.025em; }
	.sv-head .et_pb_text:last-child p { font-size: 17px; line-height: 1.6; }

	/* Hero */
	html body .sv-hero-shell.sv-hero-shell {
		gap: 24px !important;
		padding: 24px !important;
		border-radius: 32px;
		box-shadow: 0 24px 48px -20px rgba(23, 38, 77, .4);
	}
	.sv-hero-shell > .et_pb_column:first-child { flex-direction: column !important; align-items: stretch; row-gap: 12px !important; }
	.sv-eyebrow { align-self: flex-start; }
	.sv-hero-shell h1 { font-size: 42px !important; line-height: 1.08 !important; }
	.sv-hero-shell > .et_pb_column:first-child p { font-size: 19px; line-height: 1.5; }
	.sv-hero-shell > .et_pb_column:first-child > .et_pb_button_module_wrapper { margin-top: 0 !important; width: 100% !important; }
	html body .sv-hero-shell .ccc-btn.ccc-btn.et_pb_button,
	html body .sv-hero-shell .ccc-btn.ccc-btn.et_pb_button:hover {
		width: 100% !important;
		height: auto;
		min-height: 52px;
		justify-content: space-between !important;
		padding: 8px 8px 8px 24px !important;
	}
	html body .sv-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button,
	html body .sv-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button:hover { justify-content: center !important; padding: 12px !important; }
	.sv-hero-shell > .et_pb_column:last-child { margin: 0 !important; padding: 16px !important; border-radius: 16px; background: rgba(0, 16, 56, .8); box-shadow: none; }
	.sv-schema-head p:first-child { font-size: 12px; }

	/* Pastilles : liste empilée comme la home (cercles 92px) */
	html body .et_pb_section .sv-badges.sv-badges { grid-template-columns: 1fr; gap: 20px !important; padding: 0 8px !important; }
	.sv-badges > .et_pb_column { grid-template-columns: 92px 1fr; column-gap: 20px !important; }
	.sv-badges .sv-badge-num { width: 92px !important; height: 92px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
	.sv-badges .sv-badge-num p:first-child { font-size: 17px; font-weight: 900; letter-spacing: -0.025em; }
	.sv-badges > .et_pb_column:nth-child(3) .sv-badge-num { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
	.sv-badges .sv-badge-title p { font-size: 15px; font-weight: 700; }
	.sv-badges > .et_pb_column > .et_pb_text:last-child p { font-size: 13px; }

	/* Cartes étiologie */
	.sv-cards3 { grid-template-columns: 1fr; gap: 16px !important; }
	.sv-cards3 > .et_pb_column { padding: 20px !important; border-radius: 20px; gap: 12px !important; box-shadow: 0 8px 20px -8px rgba(23, 38, 77, .05); }
	.sv-cards3 .et_pb_main_blurb_image .et_pb_image_wrap { width: 40px; height: 40px; border-radius: 12px; }
	.sv-cards3 .et-pb-icon { font-size: 22px !important; }
	.sv-cards3 h3, .sv-cards3 h4, .sv-cards3 .et_pb_module_header { font-size: 18px !important; font-weight: 700 !important; }
	.sv-cards3 .et_pb_blurb_description p { font-size: 17px; line-height: 1.6; }

	/* Options */
	.sv-options { gap: 16px !important; }
	.sv-options > .et_pb_column { padding: 20px !important; border-radius: 20px; }
	.sv-tag { margin-bottom: 16px !important; }
	.sv-tag p { font-size: 12px; }
	.sv-options h3 { font-size: 18px !important; font-weight: 700 !important; }
	.sv-desc { margin-bottom: 16px !important; }
	.sv-desc p { font-size: 17px; line-height: 1.6; }
	.sv-options > .et_pb_column:first-child .sv-item { padding: 14px 14px 14px 58px !important; border-radius: 12px; background: #F1F4F9; }
	.sv-options > .et_pb_column:first-child .sv-item::before { left: 14px; top: 14px; width: 32px; height: 32px; line-height: 32px; font-size: 12px; }
	.sv-options > .et_pb_column:nth-child(2) .sv-item { padding: 8px 8px 8px 40px !important; border-radius: 8px; background: rgba(34, 53, 106, .6); }
	.sv-options > .et_pb_column:nth-child(2) .sv-item::before { left: 8px; top: 8px; width: 22px; height: 22px; line-height: 22px; font-size: 12px; }
	.sv-item h4, .sv-item .et_pb_module_header { font-size: 14px !important; }
	.sv-item .et_pb_blurb_description p { font-size: 12px; }

	/* Alerte */
	html body .sv-alert.sv-alert { grid-template-columns: 1fr; gap: 20px !important; padding: 20px !important; border-radius: 20px; box-shadow: 0 16px 36px -12px rgba(255, 132, 102, .45); }
	.sv-alert h2 { font-size: 24px !important; line-height: 1.375 !important; }
	.sv-alert p { font-size: 14px; }
	.sv-quote p:first-child { font-size: 14px; }

	/* Suites opératoires */
	.sv-post { grid-template-columns: 1fr; gap: 12px !important; }
	.sv-post > .et_pb_column { padding: 16px !important; border-radius: 20px; box-shadow: 0 4px 16px -6px rgba(23, 38, 77, .05); }
	.sv-post h3 { font-size: 16px !important; font-weight: 700 !important; }
	.sv-post p { font-size: 12px; }

	/* Carte consultation */
	html body .et_pb_section.sv-cta-sec > .sv-cta-card {
		width: auto !important;
		margin: 8px 24px !important;
		gap: 24px !important;
		padding: 20px !important;
		box-shadow: 0 12px 28px -12px rgba(23, 38, 77, .08), 0 0 0 8px var(--ccc-brume);
	}
	.sv-cta-card h2 { font-size: 24px !important; line-height: 1.25 !important; }
	.sv-cta-card > .et_pb_column:first-child p { font-size: 14px; }
	.sv-cta-card > .et_pb_column:first-child { flex-direction: column !important; align-items: stretch; }
	.sv-cta-card > .et_pb_column:first-child > .et_pb_button_module_wrapper { width: 100% !important; margin-top: 0 !important; }
	html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button,
	html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button:hover,
	html body .sv-cta-card .sv-btn.sv-btn.et_pb_button { width: 100% !important; }
	html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button,
	html body .sv-cta-card .ccc-btn--navy.ccc-btn.et_pb_button:hover { justify-content: space-between !important; }
	.sv-place { padding: 14px 14px 14px 36px !important; border-radius: 20px; }
	.sv-place::before { left: 14px; top: 20px; width: 10px; height: 10px; }
	.sv-place h4, .sv-place .et_pb_module_header { font-size: 14px !important; }
	.sv-place .et_pb_blurb_description p { font-size: 12px; }
}

/* --- Schéma SVG collé tel quel depuis le wireframe (module Code, classe sv-schema-img) :
       traduction des classes Tailwind utilisées par ce SVG uniquement --- */
.sv-schema-img svg { display: block; width: 100%; height: auto; -webkit-user-select: none; user-select: none; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .05)); }
.sv-schema-img .text-marine-border { color: var(--ccc-marine-3); }
.sv-schema-img .text-white\/20 { color: rgba(255, 255, 255, .2); }
.sv-schema-img .text-corail { color: var(--ccc-corail); }
.sv-schema-img .text-ciel\/60 { color: rgba(185, 199, 230, .6); }
.sv-schema-img .fill-corail { fill: var(--ccc-corail); }
.sv-schema-img .fill-white\/80 { fill: rgba(255, 255, 255, .8); }
.sv-schema-img .fill-blanc { fill: var(--ccc-blanc); }
.sv-schema-img .fill-marine { fill: var(--ccc-marine); }
.sv-schema-img .fill-ciel { fill: var(--ccc-ciel); }
.sv-schema-img .font-label-moment { font-family: var(--ccc-font-display); font-weight: 600; }
.sv-schema-img .text-\[11px\] { font-size: 11px; }
.sv-schema-img .text-\[10px\] { font-size: 10px; }
.sv-schema-img .font-bold { font-weight: 700; }
.sv-schema-img .tracking-wider { letter-spacing: .05em; }
.sv-schema-img .animate-pulse { animation: sv-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; }

/* ==========================================================================
   15. CORRECTIFS DIVI 5
   ========================================================================== */
/* Divi 5 plafonne chaque colonne (classes et_flex_column_XX_24 → max-width en %).
   Dans nos grilles CSS, ce % s'applique à la piste et rétrécit les colonnes : on le retire. */
.et_pb_section[class*="hm-"] .et_pb_column,
.et_pb_section[class*="sv-"] .et_pb_column {
	max-width: none !important;
	flex-basis: auto !important;
}
/* … sauf l'en-tête de section de la page service (max 42rem) */
.et_pb_section .sv-head > .et_pb_column { max-width: 42rem !important; }
@media (max-width: 767px) {
	.et_pb_section .sv-head > .et_pb_column { max-width: none !important; }
}

/* Paragraphe du hero service : couleur forcée (Divi applique sa couleur de texte aux modules Texte) */
html body .sv-hero-shell > .et_pb_column:first-child .et_pb_text:not(.sv-eyebrow) p { color: var(--ccc-ciel-pale) !important; }
html body .hm-hero-shell > .et_pb_column:first-child .et_pb_text p { color: var(--ccc-ciel) !important; }

/* Schéma SVG : tailles des libellés sans dépendre des classes à crochets (text-[11px])
   que Divi ne conserve pas */
.sv-schema-img svg text { font-family: var(--ccc-font-display); font-size: 11px !important; font-weight: 600; }
.sv-schema-img svg text:nth-of-type(2) { font-size: 10px !important; }
.sv-schema-img svg text.font-bold { font-weight: 700; }

/* En-tête et légende du schéma : on impose la disposition (Divi 5 met le contenu du module Texte en colonne) */
html body .sv-schema-head .et_pb_text_inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
}
html body .sv-schema-legend .et_pb_text_inner {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 8px !important;
}
html body .sv-eyebrow .et_pb_text_inner,
html body .sv-pill-dark .et_pb_text_inner,
html body .sv-note .et_pb_text_inner,
html body .sv-urgent .et_pb_text_inner { flex-direction: row !important; }

/* Halo du hero : rogné dans la carte */
html body .sv-hero-shell.sv-hero-shell { overflow: hidden !important; isolation: isolate; }
html body .sv-options > .et_pb_column:nth-child(2) { overflow: hidden !important; isolation: isolate; }

/* « NERF MÉDIAN » tient dans l'ellipse blanche : ellipse élargie (liseré corail conservé), texte 9px */
.sv-schema-img svg ellipse.fill-white\/80 { rx: 30px; ry: 8.5px; }
.sv-schema-img svg text:nth-of-type(2) { font-size: 9px !important; letter-spacing: 0; }

/* ==========================================================================
   16. PASTILLES HOME RÉUTILISÉES (classes hm-badges / hm-badge-num) — extensions
   Sans effet sur la home actuelle (1 seul paragraphe par module).
   ========================================================================== */
/* Unité sous le chiffre : 2e paragraphe du cercle */
.hm-badges .hm-badge-num .et_pb_text_inner { display: flex !important; flex-direction: column !important; align-items: center; }
.hm-badges .hm-badge-num p + p {
	font-family: var(--ccc-font-display);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--ccc-second);
	margin-top: 2px;
}
.hm-badges .hm-badge-num--coral p + p { color: var(--ccc-marine); font-weight: 700; }
/* Titre + description dans le même module : le 1er paragraphe devient le titre */
.hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) {
	font-family: var(--ccc-font-display);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ccc-marine);
	margin-bottom: 2px;
}
.hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) ~ p { font-size: 14px; line-height: 1.375; }

/* Sur la page service, la ligne est dans sa propre section (déjà espacée de 112px) */
html body .et_pb_section.sv-badges-sec .hm-badges.hm-badges { margin-top: 0 !important; }
@media (max-width: 767px) {
	html body .et_pb_section.sv-badges-sec .hm-badges.hm-badges { margin-top: 0 !important; padding: 0 8px !important; }
	.hm-badges .hm-badge-num p + p { font-size: 10px; font-weight: 700; letter-spacing: 0; }
	.hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) { font-size: 15px; font-weight: 700; }
	.hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) ~ p { font-size: 13px; font-weight: 400; color: var(--ccc-second); }
}

/* Ombre des cercles (shadow-floating du wireframe) : forcée, et conteneurs non rognés */
html body .hm-badges.hm-badges,
html body .hm-badges.hm-badges > .et_pb_column,
html body .hm-badges .hm-badge-num .et_pb_text_inner { overflow: visible !important; }
html body .hm-badges .hm-badge-num.hm-badge-num { box-shadow: 0 24px 48px -28px rgba(23, 38, 77, .35) !important; }
html body .hm-badges .hm-badge-num.hm-badge-num--coral { box-shadow: none !important; }
@media (max-width: 767px) {
	html body .hm-badges .hm-badge-num.hm-badge-num,
	html body .hm-badges .hm-badge-num.hm-badge-num--coral { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05) !important; }
}

/* Même ombre forcée pour la variante sv- (sv-badges / sv-badge-num) */
html body .sv-badges.sv-badges,
html body .sv-badges.sv-badges > .et_pb_column,
html body .sv-badges .sv-badge-num .et_pb_text_inner { overflow: visible !important; }
html body .sv-badges .sv-badge-num.sv-badge-num { box-shadow: 0 24px 48px -28px rgba(23, 38, 77, .35) !important; }
html body .sv-badges > .et_pb_column:nth-child(3) .sv-badge-num.sv-badge-num { box-shadow: none !important; }
@media (max-width: 767px) {
	html body .sv-badges .sv-badge-num.sv-badge-num,
	html body .sv-badges > .et_pb_column:nth-child(3) .sv-badge-num.sv-badge-num { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05) !important; }
}

/* ==========================================================================
   17. ICÔNES DES CARTES ÉTIOLOGIE : image du Blurb = pastille complète
       (cercle + icône dans le PNG, 48px affichés)
   ========================================================================== */
html body .sv-cards3 .et_pb_main_blurb_image,
html body .sv-cards3 .et_pb_main_blurb_image .et_pb_image_wrap {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	max-width: none !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	background: none !important;
	border-radius: 0 !important;
	text-align: left !important;
}
html body .sv-cards3 .et_pb_main_blurb_image .et_pb_image_wrap { margin: 0 !important; }
html body .sv-cards3 .et_pb_main_blurb_image img {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 50% !important;
}
@media (max-width: 767px) {
	html body .sv-cards3 .et_pb_main_blurb_image,
	html body .sv-cards3 .et_pb_main_blurb_image .et_pb_image_wrap,
	html body .sv-cards3 .et_pb_main_blurb_image img { width: 40px !important; height: 40px !important; }
}

/* ==========================================================================
   18. PAGE SERVICE — fidélité au rendu réel du wireframe desktop
   Le HTML utilise « rounded-DEFAULT » (classe inexistante en Tailwind) : ces éléments
   s'affichent donc à angles droits. Sur mobile, le HTML mobile a de vrais arrondis (conservés).
   ========================================================================== */
@media (min-width: 768px) {
	html body .sv-cards3 > .et_pb_column,
	html body .sv-options > .et_pb_column,
	html body .sv-post > .et_pb_column,
	html body .sv-alert.sv-alert,
	html body .sv-place,
	html body .sv-note .et_pb_text_inner,
	html body .sv-quote .et_pb_text_inner,
	html body .sv-urgent .et_pb_text_inner,
	html body .sv-schema-legend .et_pb_text_inner { border-radius: 0 !important; }
}

/* Blurb des cartes étiologie : pas d'espacement interne Divi, 12px icône → titre → texte */
html body .sv-cards3 .et_pb_blurb_content,
html body .sv-cards3 .et_pb_blurb_container {
	display: block !important;
	gap: 0 !important;
	row-gap: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
html body .sv-cards3 .et_pb_main_blurb_image { margin: 0 0 12px !important; }
html body .sv-cards3 .et_pb_module_header,
html body .sv-cards3 .et_pb_blurb_container h3,
html body .sv-cards3 .et_pb_blurb_container h4 { margin: 0 0 12px !important; padding: 0 !important; }
html body .sv-cards3 .et_pb_blurb_description { margin: 0 !important; padding: 0 !important; }

/* Blurbs « étape » (sv-item) et « lieu » (sv-place) : pas d'espacement interne Divi 5 */
html body .sv-item .et_pb_blurb_content,
html body .sv-item .et_pb_blurb_container,
html body .sv-place .et_pb_blurb_content,
html body .sv-place .et_pb_blurb_container {
	display: block !important;
	gap: 0 !important;
	row-gap: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
html body .sv-item .et_pb_module_header,
html body .sv-place .et_pb_module_header { margin: 0 0 2px !important; padding: 0 !important; }
html body .sv-item .et_pb_blurb_description,
html body .sv-place .et_pb_blurb_description { margin: 0 !important; padding: 0 !important; }
html body .sv-item .et_pb_main_blurb_image,
html body .sv-place .et_pb_main_blurb_image { display: none !important; }

/* Icône à droite de l'étiquette des cartes d'options (module Image, classe sv-tag-icon, juste après sv-tag) */
html body .sv-options > .et_pb_column > .sv-tag-icon.sv-tag-icon {
	position: absolute !important;
	top: 40px;
	right: 40px;
	z-index: 2;
	width: 24px !important;
	height: 24px;
	margin: 0 !important;
}
html body .sv-options .sv-tag-icon .et_pb_image_wrap,
html body .sv-options .sv-tag-icon img {
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	max-width: none !important;
	margin: 0 !important;
}
@media (max-width: 767px) {
	html body .sv-options > .et_pb_column > .sv-tag-icon.sv-tag-icon { top: 20px; right: 20px; width: 20px !important; height: 20px; }
	html body .sv-options .sv-tag-icon .et_pb_image_wrap,
	html body .sv-options .sv-tag-icon img { width: 20px !important; height: 20px !important; }
}

/* Cartes de même hauteur dans les grilles (Divi 5 empêche l'étirement des colonnes) */
html body .sv-cards3 > .et_pb_column,
html body .sv-options > .et_pb_column,
html body .sv-post > .et_pb_column {
	align-self: stretch !important;
	height: auto !important;
}
/* Encadré du bas des cartes d'options : calé en bas, 20px minimum après le dernier point */
html body .sv-options > .et_pb_column > .sv-note { margin-top: auto !important; }
html body .sv-options > .et_pb_column > .sv-item:has(+ .sv-note),
html body .sv-options > .et_pb_column > .sv-item:nth-last-child(2) { margin-bottom: 20px !important; }
/* Même logique pour le pied des cartes étiologie et suites opératoires */
html body .sv-cards3 > .et_pb_column > .sv-foot,
html body .sv-post > .et_pb_column > .sv-foot { margin-top: auto !important; }

/* Encadrés du bas des options : même hauteur (2 lignes) quand les cartes sont côte à côte */
@media (min-width: 1024px) {
	html body .sv-options .sv-note .et_pb_text_inner { min-height: 63px; box-sizing: border-box; }
}

/* ==========================================================================
   19. ICÔNES OFFICIELLES MATERIAL SYMBOLS (Outlined 400) — tracés Google, en CSS
   info · check_circle · warning · calendar_today · call · emergency · vital_signs
   ========================================================================== */
html body .sv-note .et_pb_text_inner::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M453-280h60v-240h-60v240Zm50.5-323.2q9.5-9.2 9.5-22.8 0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2t23.52-9.2ZM480.27-80q-82.74 0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66Q143-709 197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5Q709-817 763-763t85.5 127Q880-563 880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80Zm.23-60Q622-140 721-239.5t99-241Q820-622 721.19-721T480-820q-141 0-240.5 98.81T140-480q0 141 99.5 240.5t241 99.5Zm-.5-340Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-options > .et_pb_column:nth-child(2) .sv-note .et_pb_text_inner::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='m421-298 283-283-46-45-237 237-120-120-45 45 165 166Zm59 218q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-156t86-127Q252-817 325-848.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 82-31.5 155T763-197.5q-54 54.5-127 86T480-80Zm0-60q142 0 241-99.5T820-480q0-142-99-241t-241-99q-141 0-240.5 99T140-480q0 141 99.5 240.5T480-140Zm0-340Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-pill-dark .et_pb_text_inner::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='m40-120 440-760 440 760H40Zm104-60h672L480-760 144-180Zm361.5-65.68q8.5-8.67 8.5-21.5 0-12.82-8.68-21.32-8.67-8.5-21.5-8.5-12.82 0-21.32 8.68-8.5 8.67-8.5 21.5 0 12.82 8.68 21.32 8.67 8.5 21.5 8.5 12.82 0 21.32-8.68ZM454-348h60v-224h-60v224Zm26-122Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-btn--cal.sv-btn.et_pb_button::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FFFFFF' d='M180-80q-24 0-42-18t-18-42v-620q0-24 18-42t42-18h65v-60h65v60h340v-60h65v60h65q24 0 42 18t18 42v620q0 24-18 42t-42 18H180Zm0-60h600v-430H180v430Zm0-490h600v-130H180v130Zm0 0v-130 130Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-btn--phone.sv-btn.et_pb_button::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M795-120q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-urgent .et_pb_text_inner::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23B0401F' d='M426-136v-250L210-261l-55-93 217-126-216-125 54-93 216 125v-251h108v251l216-125 54 93-216 125 217 126-55 93-216-125v250H426Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }
html body .sv-schema-head p:first-child::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M334-199q-13-9-18-23l-97-228H48v-60h213l102 241 187-467q5-14 18-23t29-9q16 0 29 9t18 23l97 226h171v60H699L597-689 410-222q-5 14-18 23t-29 9q-16 0-29-9Z'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important; }

/* Pilule d'alerte : 12px (prioritaire sur les paragraphes de l'encadré à 17px) */
html body .sv-alert .sv-pill-dark p {
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-family: var(--ccc-font-display) !important;
	font-weight: 600 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	color: var(--ccc-blanc) !important;
}

/* Icônes des boutons simples : centrées sur la ligne (Divi translate ses pseudo-éléments de -50 %) */
html body .sv-btn--cal.sv-btn.et_pb_button::after,
html body .sv-btn--cal.sv-btn.et_pb_button:hover::after,
html body .sv-btn--phone.sv-btn.et_pb_button::before,
html body .sv-btn--phone.sv-btn.et_pb_button:hover::before {
	transform: none !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	position: static !important;
	align-self: center !important;
	width: 20px !important;
	height: 20px !important;
	line-height: 0 !important;
	font-size: 0 !important;
	margin: 0 !important;
	opacity: 1 !important;
}

/* Pied des cartes « suites opératoires » : icônes Material officielles (corail, 18px) à la place du point */
html body .sv-post .sv-foot p { gap: 6px; }
html body .sv-post .sv-foot p::before {
	width: 18px !important;
	height: 18px !important;
	border-radius: 0 !important;
	background-color: transparent !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
}
html body .sv-post > .et_pb_column:nth-child(1) .sv-foot p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M484-80q-84 0-157.5-32t-128-86.5Q144-253 112-326.5T80-484q0-146 93-257.5T410-880q-18 98 11 192.63 29 94.64 100 165.74 71 71.1 165.5 100.14Q781-392.45 880-410.47q-26 144.2-138 237.34Q630-80 484-80Zm0-60q100 0 182-57t132-145q-90-8-173-41.5T478.5-480Q415-543 382-625.5T341-797q-88 48-144.5 130.5T140-484q0 143.33 100.33 243.67Q340.67-140 484-140Zm-6-340Z'/%3E%3C/svg%3E") !important; }
html body .sv-post > .et_pb_column:nth-child(2) .sv-foot p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M402-40q-27 0-51.5-12.5T311-88L54-468l20-16q17-15 39.5-19t44.57 13.19L280-397v-413q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38v528L166-410l195 288q7 11 17.5 16.5T402-100h288q38 0 64-26t26-64v-580q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38v580q0 63-43.5 106.5T690-40H402Zm45-440v-410q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38v410h-60Zm167 0v-370q0-12.75 8.68-21.38 8.67-8.62 21.5-8.62 12.82 0 21.32 8.62 8.5 8.63 8.5 21.38v370h-60ZM473-290Z'/%3E%3C/svg%3E") !important; }
html body .sv-post > .et_pb_column:nth-child(3) .sv-foot p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M483-277 303-98q-17 19-43 19t-43-19L98-217q-19-17-18.5-42.5T98-303l178-179L98-662q-17-17-19.5-40.5T93-743l124-124q17.57-18 42.79-18Q285-885 303-867l180 180 179-180q18-18 43-17.5t43 17.5l119 119q17 18 17.5 43T867-662L688-482l179 179q18 17.57 18 42.79Q885-235 867-217L743-93q-17 17-40.5 14.5T662-98L483-277Zm28-251.21q11-11.21 11-27.79t-11-27.79Q500-595 483-595t-28 11.21q-11 11.21-11 27.79t11 27.79Q466-517 483-517t28-11.21ZM315-521l127-126-180-179-124 124 177 181Zm94 77q16.58 0 27.79-11T448-483q0-17-11.21-28T409-522q-16.58 0-27.79 11T370-483q0 17 11.21 28T409-444Zm102 62.79q11-11.21 11-27.79t-11-27.79Q500-448 483-448t-28 11.21q-11 11.21-11 27.79t11 27.79Q466-370 483-370t28-11.21ZM556-444q16.58 0 27.79-11T595-483q0-17-11.21-28T556-522q-16.58 0-27.79 11T517-483q0 17 11.21 28T556-444Zm-34 126 180 180 124-124-179-179-125 123ZM358-606Zm248 248Z'/%3E%3C/svg%3E") !important; }
html body .sv-post > .et_pb_column:nth-child(4) .sv-foot p::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='m550-84-42-42 142-142-382-382-142 142-42-42 56-58-56-56 85-85-42-42 42-42 43 41 84-84 56 56 58-56 42 42-142 142 382 382 142-142 42 42-56 58 56 56-86 86 42 42-42 42-42-42-84 84-56-56-58 56Z'/%3E%3C/svg%3E") !important; }

/* Surtitres des cartes post-op : corail foncé (prioritaire sur la couleur des paragraphes) */
html body .sv-post .sv-kicker p {
	color: var(--ccc-corail-texte) !important;
	font-family: var(--ccc-font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}
html body .sv-post > .et_pb_column:nth-child(4) .sv-kicker p { color: var(--ccc-corail) !important; }

/* Bouton téléphone de la carte consultation : sans bordure (comme le rendu du wireframe),
   fond brume au survol uniquement — taille identique au repos et au survol */
html body .sv-btn--outline.sv-btn.et_pb_button,
html body .sv-btn--outline.sv-btn.et_pb_button:hover {
	border: 0 !important;
	padding: 0 20px !important;
	transform: none !important;
}
html body .sv-btn--outline.sv-btn.et_pb_button { background: transparent !important; }
html body .sv-btn--outline.sv-btn.et_pb_button:hover { background: var(--ccc-brume) !important; }

/* ==========================================================================
   20. PAGE PASSERELLE « Parcours de soins » — calée sur
   parcours_de_soins_*_desktop/code.html (préfixe pc-)
   Le HTML fourni utilise des classes Tailwind non déclarées (bg-blanc, text-marine,
   bg-corail, font-headline-h1…) : son screen.png est un rendu cassé. On intègre ici
   le rendu voulu, avec les valeurs du design system (DESIGN.md + tailwind.config du fichier).
   --------------------------------------------------------------------------
   SECTION pc-hero ............ LIGNE pc-hero-shell (1 col)
   SECTION pc-badges-sec ...... LIGNE hm-badges (4 col) — mêmes pastilles que la home
   SECTION pc-steps-sec ....... LIGNE pc-head (1 col) + 4 LIGNES pc-step (3 col)
   SECTION pc-triage-sec #triage LIGNE pc-head (1 col) + LIGNE pc-triage (3 col)
   SECTION pc-rdv-sec #rdv .... LIGNE pc-rdv-card (2 col)
   ========================================================================== */

/* --- Écarts flex par défaut de Divi 5 annulés --- */
:where(.et_pb_section[class*="pc-"]),
:where(.et_pb_section[class*="pc-"]) .et_pb_row,
:where(.et_pb_section[class*="pc-"]) .et_pb_column {
	gap: 0 !important;
}

/* --- Remises à zéro --- */
.et_pb_section[class*="pc-"] {
	padding: 0 !important;
	background-color: transparent !important;
}
[class*="pc-"] > .et_pb_row {
	width: 90% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}
.et_pb_section[class*="pc-"] .et_pb_column {
	margin: 0 !important;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	flex-basis: auto !important;
}
:where(.et_pb_section[class*="pc-"]) .et_pb_module { margin: 0 !important; }
:where(.et_pb_section[class*="pc-"]) p { padding: 0 !important; margin: 0; }
.et_pb_section[class*="pc-"] h1,
.et_pb_section[class*="pc-"] h2,
.et_pb_section[class*="pc-"] h3,
.et_pb_section[class*="pc-"] h4 {
	font-family: var(--ccc-font-display) !important;
	color: var(--ccc-marine);
	padding: 0 !important;
	margin: 0;
}

/* Rythme (main mt-8 · mt-24 pastilles · mt-32 sections · mb 112) */
html body .et_pb_section.pc-hero { margin-top: 32px !important; }
html body .et_pb_section.pc-badges-sec { margin-top: 56px !important; }   /* = écart hero → pastilles de la home */
html body .et_pb_section.pc-steps-sec,
html body .et_pb_section.pc-triage-sec,
html body .et_pb_section.pc-rdv-sec { margin-top: 128px !important; }
html body .et_pb_section.pc-rdv-sec { margin-bottom: 112px !important; }

/* Pastille ciel-pâle avec point corail (hero : pulsé ; carte RDV : fixe → pc-eyebrow--static) */
html body .pc-eyebrow .et_pb_text_inner {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 10px;
	padding: 6px 16px;
	border-radius: 999px;
	background: var(--ccc-ciel-pale);
	/* Divi 5 étire le contenu du module Texte sur toute la largeur : la pastille garde la largeur de son texte */
	width: fit-content !important;
	max-width: 100% !important;
	align-self: flex-start !important;
	box-sizing: border-box;
}
.pc-eyebrow .et_pb_text_inner::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--ccc-corail);
	flex-shrink: 0;
	animation: sv-pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
}
.pc-eyebrow--static .et_pb_text_inner::before { animation: none; }
html body .pc-eyebrow p {
	font-family: var(--ccc-font-display) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-marine) !important;
	max-width: none !important;
}

/* Surtitre de section (Texte pc-pill) */
html body .pc-pill p {
	display: inline-block;
	padding: 4px 14px !important;
	border-radius: 999px;
	background: var(--ccc-ciel-pale);
	font-family: var(--ccc-font-display) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-marine) !important;
}

/* En-tête de section (ligne pc-head) : Texte pc-pill · Titre H2 · Texte (facultatif) */
html body .pc-head.pc-head { margin-bottom: 48px !important; }
html body .pc-triage-sec .pc-head.pc-head { margin-bottom: 40px !important; }
.pc-head > .et_pb_column { display: flex !important; flex-direction: column !important; width: 100% !important; }
.pc-head .pc-pill { margin-bottom: 12px !important; }
.pc-head h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.08 !important; }
html body .pc-head .et_pb_text:not(.pc-pill) { margin-top: 8px !important; }
html body .pc-head .et_pb_text:not(.pc-pill) p { font-size: 18px !important; line-height: 1.62 !important; color: var(--ccc-second) !important; max-width: 640px; }

/* ---------- HERO (même coque marine que la home / page service) ----------
   Texte (pc-eyebrow) · Titre H1 (ou Texte au format « Titre 1 », 2e ligne en italique) · Texte
   · Bouton ccc-btn · Bouton ccc-btn ccc-btn--ghost */
html body .pc-hero-shell.pc-hero-shell {
	position: relative;
	overflow: hidden !important;
	isolation: isolate;
	display: flex !important;
	padding: 72px calc(min(90vw, 1240px) * 0.06) !important;
	border-radius: 32px;
	background: var(--ccc-marine);
	color: var(--ccc-blanc);
}
/* fond marine uni, comme la home (pas de halo) ; le clearfix Divi (::after) est neutralisé */
html body .pc-hero-shell.pc-hero-shell::before,
html body .pc-hero-shell.pc-hero-shell::after { display: none !important; content: none !important; }
html body .et_pb_section .pc-hero-shell > .et_pb_column {
	position: relative;
	z-index: 1;
	flex: 1 1 auto !important;
	width: 100% !important;
	max-width: 860px !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px !important;
	row-gap: 16px !important;
}
.pc-hero-shell > .et_pb_column > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
html body .pc-hero-shell .pc-eyebrow { margin-bottom: 8px !important; }
/* pastille sur fond marine (comme la page service) */
html body .pc-hero-shell .pc-eyebrow .et_pb_text_inner {
	gap: 8px;
	padding: 6px 12px;
	background: rgba(255, 255, 255, .1);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
html body .pc-hero-shell .pc-eyebrow .et_pb_text_inner::before { width: 8px; height: 8px; }
html body .pc-hero-shell .pc-eyebrow p { font-weight: 600 !important; color: var(--ccc-ciel) !important; }
.pc-hero-shell h1 {
	font-size: 60px !important;
	font-weight: 700 !important;
	line-height: 1.03 !important;
	letter-spacing: -0.025em;
	color: var(--ccc-blanc) !important;
	margin-bottom: 8px !important;
}
.pc-hero-shell h1 em,
.pc-hero-shell h1 i,
.pc-hero-shell h1 span {
	font-style: normal;
	font-weight: 400;
	color: var(--ccc-ciel) !important;
}
html body .pc-hero-shell .et_pb_text:not(.pc-eyebrow) p {
	font-size: 21px !important;
	line-height: 1.5 !important;
	color: var(--ccc-ciel) !important;
	max-width: 680px;
}
html body .pc-hero-shell .et_pb_text:not(.pc-eyebrow):has(+ .et_pb_button_module_wrapper) { margin-bottom: 24px !important; }

/* Bouton doux ciel-pâle (sv-btn--soft) — survol ciel */
html body .sv-btn--soft.sv-btn.et_pb_button { background: var(--ccc-ciel-pale) !important; color: var(--ccc-marine) !important; }
html body .sv-btn--soft.sv-btn.et_pb_button:hover { background: var(--ccc-ciel) !important; }

/* ---------- PASTILLES : ligne hm-badges dans sa propre section ---------- */
html body .et_pb_section.pc-badges-sec .hm-badges.hm-badges { margin-top: 0 !important; }

/* ---------- LES 4 PHASES : une ligne pc-step par étape ----------
   Col. 1 : Texte (pc-step-num [+ pc-step-num--navy]) « 01 »
   Col. 2 : Texte (pc-kicker [+ pc-kicker--muted]) · Titre H3 · Texte
   Col. 3 : Bouton (pc-link) */
html body .et_pb_section .pc-step.pc-step {
	display: grid !important;
	grid-template-columns: 64px minmax(0, 620px) 1fr;
	column-gap: 24px !important;
	row-gap: 24px !important;
	align-items: center;
	padding: 40px !important;
	border-radius: 20px;
	background: var(--ccc-blanc);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
	transition: transform 300ms cubic-bezier(.4, 0, .2, 1);
}
html body .et_pb_section .pc-step.pc-step:hover { transform: translateY(-4px); }
html body .et_pb_section .pc-step + .pc-step { margin-top: 24px !important; }
.pc-step > .et_pb_column:first-child { align-self: start; }
.pc-step > .et_pb_column:nth-child(2) { display: flex !important; flex-direction: column !important; }
.pc-step > .et_pb_column:last-child { justify-self: end; padding-left: 8px !important; }

/* Numéro dans un cercle */
html body .pc-step-num.pc-step-num {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 64px !important;
	height: 64px;
	border-radius: 50%;
	background: var(--ccc-ciel-pale);
}
html body .pc-step-num .et_pb_text_inner { display: flex !important; align-items: center; justify-content: center; }
html body .pc-step-num p {
	font-family: var(--ccc-font-display) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--ccc-marine) !important;
}
html body .pc-step-num--navy.pc-step-num { background: var(--ccc-marine); }
html body .pc-step-num--navy p { color: var(--ccc-blanc) !important; }

/* Surtitre (corail foncé ; --muted = gris-bleu) */
html body .pc-kicker p {
	font-family: var(--ccc-font-display) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-corail-texte) !important;
}
html body .pc-kicker--muted p { color: var(--ccc-second) !important; }
.pc-step h3 { font-size: 26px !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 4px 0 12px !important; }
html body .pc-step .et_pb_text:not(.pc-kicker):not(.pc-step-num) p { font-size: 16px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }

/* Lien fléché (Bouton pc-link) : texte marine + rond ciel-pâle 28px ; survol corail */
html body .pc-link.pc-link.et_pb_button,
html body .pc-link.pc-link.et_pb_button:hover {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	text-align: left;
	transition: color 150ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body .pc-link.pc-link.et_pb_button { color: var(--ccc-marine) !important; }
html body .pc-link.pc-link.et_pb_button:hover { color: var(--ccc-corail) !important; }
html body .pc-link.pc-link.et_pb_button::before { display: none !important; }
html body .pc-link.pc-link.et_pb_button::after,
html body .pc-link.pc-link.et_pb_button:hover::after {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 28px !important;
	height: 28px !important;
	flex-shrink: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	border-radius: 50%;
	background-color: var(--ccc-ciel-pale) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M686-450H160v-60h526L438-758l42-42 320 320-320 320-42-42 248-248Z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 14px !important;
	transition: background-color 150ms cubic-bezier(.4, 0, .2, 1);
}
html body .pc-link.pc-link.et_pb_button:hover::after { background-color: var(--ccc-corail) !important; }

/* ---------- ORIENTATION : 3 cartes ----------
   Chaque colonne : Image (pc-icon, pastille PNG) · Texte (pc-kicker) · Titre H3 · Texte
                    · Texte (pc-reco : « Recommandation… » / conseil) · Bouton (pc-reco-link ; carte 3 : pc-reco-call) */
html body .et_pb_section .pc-triage.pc-triage {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px !important;
	align-items: stretch;
}
.pc-triage > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	height: auto !important;
	padding: 32px !important;
	border-radius: 20px;
	background: var(--ccc-blanc);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
.pc-triage > .et_pb_column:nth-child(2) { background: var(--ccc-ciel-pale); box-shadow: none; }
.pc-triage > .et_pb_column:nth-child(3) { background: var(--ccc-corail); }

/* Pastille icône 48px */
html body .pc-icon.pc-icon { width: 48px !important; max-width: 48px !important; margin-bottom: 24px !important; }
html body .pc-icon .et_pb_image_wrap,
html body .pc-icon img {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 50% !important;
}
.pc-triage h3 { font-size: 22px !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 4px 0 12px !important; }
html body .pc-triage .pc-kicker p { color: var(--ccc-second) !important; }
html body .pc-triage > .et_pb_column:nth-child(3) .pc-kicker p { color: var(--ccc-corail-texte) !important; }
html body .pc-triage .et_pb_text:not(.pc-kicker):not(.pc-reco) { margin-bottom: 24px !important; }
html body .pc-triage .et_pb_text:not(.pc-kicker):not(.pc-reco) p { font-size: 15px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .pc-triage > .et_pb_column:nth-child(2) .et_pb_text:not(.pc-kicker):not(.pc-reco) p { color: var(--ccc-marine) !important; }
html body .pc-triage > .et_pb_column:nth-child(3) .et_pb_text:not(.pc-kicker):not(.pc-reco) p { color: rgba(23, 38, 77, .9) !important; font-weight: 500; }

/* Encadré de recommandation : Texte pc-reco (haut) + Bouton (bas) sur le même fond, calés en bas de carte */
html body .pc-triage .pc-reco {
	margin-top: auto !important;
	padding: 24px 16px 16px !important;
	border-radius: 12px 12px 0 0;
	background: #F1F4F9;
}
html body .pc-triage .pc-reco + .et_pb_button_module_wrapper {
	padding: 0 16px 16px !important;
	border-radius: 0 0 12px 12px;
	background: #F1F4F9;
}
html body .pc-triage > .et_pb_column:nth-child(2) .pc-reco,
html body .pc-triage > .et_pb_column:nth-child(2) .pc-reco + .et_pb_button_module_wrapper { background: rgba(255, 255, 255, .8); }
html body .pc-triage > .et_pb_column:nth-child(3) .pc-reco,
html body .pc-triage > .et_pb_column:nth-child(3) .pc-reco + .et_pb_button_module_wrapper { background: rgba(255, 255, 255, .9); }
html body .pc-reco p {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--ccc-second) !important;
}
html body .pc-reco p:first-child:not(:only-child) {
	font-size: 14px !important;
	font-weight: 600;
	color: var(--ccc-marine) !important;
	margin-bottom: 8px;
}
html body .pc-triage > .et_pb_column:nth-child(3) .pc-reco p:first-child:not(:only-child) { font-weight: 700; color: var(--ccc-corail-texte) !important; margin-bottom: 4px; }
html body .pc-triage > .et_pb_column:nth-child(3) .pc-reco p:not(:first-child) { font-weight: 500; }

/* Lien de recommandation (Bouton pc-reco-link) : « … → » */
html body .pc-reco-link.pc-reco-link.et_pb_button,
html body .pc-reco-link.pc-reco-link.et_pb_button:hover {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	transition: color 150ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body .pc-reco-link.pc-reco-link.et_pb_button { color: var(--ccc-marine) !important; }
html body .pc-reco-link.pc-reco-link.et_pb_button:hover { color: var(--ccc-corail) !important; }
html body .pc-reco-link.pc-reco-link.et_pb_button::before { display: none !important; }
html body .pc-reco-link.pc-reco-link.et_pb_button::after,
html body .pc-reco-link.pc-reco-link.et_pb_button:hover::after {
	content: "→" !important;
	display: inline !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	font-family: var(--ccc-font-text) !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: inherit !important;
}

/* Bouton d'appel pleine largeur (Bouton pc-reco-call, carte 3) */
html body .pc-reco + .et_pb_button_module_wrapper:has(.pc-reco-call) { width: 100% !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button,
html body .pc-reco-call.pc-reco-call.et_pb_button:hover {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	width: 100% !important;
	height: 44px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	color: var(--ccc-blanc) !important;
	white-space: nowrap;
	transition: background-color 150ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body .pc-reco-call.pc-reco-call.et_pb_button { background: var(--ccc-marine) !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button:hover { background: var(--ccc-marine-2) !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button::before { display: none !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button::after,
html body .pc-reco-call.pc-reco-call.et_pb_button:hover::after {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	flex-shrink: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FFFFFF' d='M795-120q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

/* ---------- PRENDRE RENDEZ-VOUS ----------
   Col. 1 : Texte (pc-eyebrow pc-eyebrow--static) · Titre H2 · Texte · Bouton ccc-btn ccc-btn--navy
            · Bouton sv-btn sv-btn--soft sv-btn--talk · Texte (pc-meta, 3 paragraphes)
   Col. 2 : Titre H3 · 3 Blurbs (pc-place : titre + 2 paragraphes adresse / métro) */
html body .et_pb_section.pc-rdv-sec > .pc-rdv-card {
	width: calc(90% - 24px) !important;
	max-width: 1216px !important;
	display: grid !important;
	grid-template-columns: 7fr 5fr;
	gap: 48px !important;
	align-items: center;
	padding: 64px !important;
	border-radius: 26px;
	background: var(--ccc-blanc);
	/* double cadre : anneau ciel-pâle 60 % de 12px + ombre flottante */
	box-shadow: 0 0 0 12px rgba(223, 230, 244, .6), var(--ccc-shadow-nav);
}
.pc-rdv-card > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px !important;
	row-gap: 16px !important;
}
.pc-rdv-card > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
html body .pc-rdv-card .pc-eyebrow { margin-bottom: 8px !important; }
.pc-rdv-card h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.25 !important; }
html body .pc-rdv-card > .et_pb_column:first-child .et_pb_text:not(.pc-eyebrow):not(.pc-meta) p {
	font-size: 17px !important;
	line-height: 1.625 !important;
	color: var(--ccc-second) !important;
	max-width: 560px;
}
html body .pc-rdv-card > .et_pb_column:first-child .et_pb_text:not(.pc-eyebrow):not(.pc-meta) { margin-bottom: 16px !important; }
/* Bouton Doctolib : 17px semibold, rond corail 38px (h 52) */
html body .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button,
html body .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button:hover {
	font-family: var(--ccc-font-display) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	padding: 7px 7px 7px 24px !important;
	column-gap: 16px !important;
}
html body .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button::after { width: 38px !important; height: 38px !important; }
/* Bouton téléphone (sv-btn--soft sv-btn--talk) : 16px bold, icône phone_in_talk */
html body .sv-btn--talk.sv-btn.et_pb_button,
html body .sv-btn--talk.sv-btn.et_pb_button:hover { padding: 0 24px !important; column-gap: 10px !important; font-size: 16px !important; font-weight: 700 !important; }
html body .sv-btn--talk.sv-btn.et_pb_button::before,
html body .sv-btn--talk.sv-btn.et_pb_button:hover::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M776-487q-5-121-89-205t-205-89v-60q72 2 135.5 30.5T729-734q48 48 76.5 111.5T836-487h-60Zm-169 0q-5-50-40-84.5T482-611v-60q75 5 127.5 57T667-487h-60Zm188 367q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
/* Ligne de mentions : « • » entre les paragraphes, point corail devant le 1er */
html body .pc-meta { margin-top: 8px !important; }
html body .pc-meta .et_pb_text_inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 16px;
	row-gap: 4px;
}
html body .pc-meta p {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--ccc-second) !important;
}
html body .pc-meta p:first-child::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ccc-corail); flex-shrink: 0; }
html body .pc-meta p + p::before { content: "•"; margin-right: 10px; }

.pc-rdv-card > .et_pb_column:last-child { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.pc-rdv-card h3 { font-size: 18px !important; font-weight: 700 !important; line-height: 1.4 !important; margin-bottom: 8px !important; }
/* Lieu (Blurb pc-place) */
html body .pc-place.pc-place {
	position: relative;
	padding: 20px 20px 20px 48px !important;   /* 20 + point 12 + écart 16 */
	border-radius: 20px;
	background: rgba(223, 230, 244, .7);
	text-align: left !important;
	transition: background-color 150ms cubic-bezier(.4, 0, .2, 1);
}
html body .pc-place.pc-place:hover { background: var(--ccc-ciel-pale); }
.pc-place::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 26px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--ccc-corail);
}
html body .pc-place .et_pb_blurb_content,
html body .pc-place .et_pb_blurb_container {
	display: block !important;
	max-width: none !important;
	gap: 0 !important;
	row-gap: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	text-align: left !important;
}
html body .pc-place .et_pb_main_blurb_image { display: none !important; }
html body .pc-place .et_pb_module_header,
html body .pc-place h3,
html body .pc-place h4 { font-size: 16px !important; font-weight: 700 !important; line-height: 1.5 !important; margin: 0 !important; padding: 0 !important; }
html body .pc-place .et_pb_blurb_description { margin: 0 !important; padding: 0 !important; }
html body .pc-place .et_pb_blurb_description p { font-size: 14px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
html body .pc-place .et_pb_blurb_description p + p { margin-top: 4px; font-size: 13px !important; font-weight: 500; color: #515F79 !important; }

/* ======================= TABLETTE (< 1024) ======================= */
@media (max-width: 1023px) {
	html body .pc-hero-shell.pc-hero-shell { padding: 48px !important; }
	html body .et_pb_section .pc-step.pc-step { grid-template-columns: 64px minmax(0, 1fr); padding: 32px !important; }
	.pc-step > .et_pb_column:last-child { grid-column: 2; justify-self: start; padding-left: 0 !important; }
	html body .et_pb_section.pc-rdv-sec > .pc-rdv-card { grid-template-columns: 1fr; padding: 48px !important; }
	.pc-rdv-card h2 { font-size: 36px !important; }
	/* bouton d'appel de la carte 3 : le texte passe à la ligne dans les cartes étroites */
	html body .pc-reco-call.pc-reco-call.et_pb_button,
	html body .pc-reco-call.pc-reco-call.et_pb_button:hover { white-space: normal; height: auto; min-height: 44px; padding: 10px 16px !important; line-height: 1.3 !important; text-align: left; }
}

/* ======================= MOBILE (< 768) ======================= */
@media (max-width: 767px) {
	html body .et_pb_section.pc-hero { margin-top: 16px !important; }
	html body .et_pb_section.pc-badges-sec { margin-top: 64px !important; }   /* = home mobile */
	html body .et_pb_section.pc-steps-sec,
	html body .et_pb_section.pc-triage-sec,
	html body .et_pb_section.pc-rdv-sec { margin-top: 56px !important; }
	html body .et_pb_section.pc-rdv-sec { margin-bottom: 56px !important; }
	[class*="pc-"] > .et_pb_row { width: auto !important; margin-left: 16px !important; margin-right: 16px !important; }
	html body .et_pb_section.pc-badges-sec .hm-badges.hm-badges { padding: 0 8px !important; }

	html body .pc-head.pc-head,
	html body .pc-triage-sec .pc-head.pc-head { margin-bottom: 20px !important; }
	.pc-head h2 { font-size: 33px !important; line-height: 1.15 !important; letter-spacing: -0.025em; }
	html body .pc-head .et_pb_text:not(.pc-pill) p { font-size: 17px !important; line-height: 1.6 !important; }

	/* Hero */
	html body .pc-hero-shell.pc-hero-shell { padding: 24px !important; border-radius: 32px; box-shadow: 0 24px 48px -20px rgba(23, 38, 77, .4); }
	html body .et_pb_section .pc-hero-shell > .et_pb_column { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch; row-gap: 12px !important; }
	.pc-hero-shell > .et_pb_column > .et_pb_module { flex: 0 0 auto !important; }
	html body .pc-hero-shell .pc-eyebrow { align-self: flex-start; margin-bottom: 4px !important; }
	html body .pc-eyebrow .et_pb_text_inner { padding: 4px 12px; gap: 6px; }
	html body .pc-eyebrow p { font-size: 12px !important; }
	.pc-hero-shell h1 { font-size: 42px !important; line-height: 1.08 !important; margin-bottom: 4px !important; }
	html body .pc-hero-shell .et_pb_text:not(.pc-eyebrow) p { font-size: 19px !important; line-height: 1.5 !important; }
	html body .pc-hero-shell .et_pb_text:not(.pc-eyebrow):has(+ .et_pb_button_module_wrapper) { margin-bottom: 8px !important; }
	.pc-hero-shell .et_pb_button_module_wrapper { width: 100% !important; }
	html body .pc-hero-shell .ccc-btn.ccc-btn.et_pb_button,
	html body .pc-hero-shell .ccc-btn.ccc-btn.et_pb_button:hover { width: 100% !important; justify-content: space-between !important; }
	html body .pc-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button,
	html body .pc-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button:hover { justify-content: center !important; padding: 12px !important; }

	/* Phases */
	html body .et_pb_section .pc-step.pc-step { grid-template-columns: 1fr; row-gap: 12px !important; padding: 20px !important; }
	html body .et_pb_section .pc-step + .pc-step { margin-top: 12px !important; }
	html body .et_pb_section .pc-step.pc-step:hover { transform: none; }
	.pc-step > .et_pb_column:last-child { grid-column: 1; }
	html body .pc-step-num.pc-step-num { width: 40px !important; height: 40px; }
	html body .pc-step-num p { font-size: 17px !important; }
	html body .pc-kicker p { font-size: 12px !important; }
	.pc-step h3 { font-size: 20px !important; font-weight: 700 !important; }
	html body .pc-step .et_pb_text:not(.pc-kicker):not(.pc-step-num) p { font-size: 15px !important; line-height: 1.6 !important; }
	html body .pc-link.pc-link.et_pb_button,
	html body .pc-link.pc-link.et_pb_button:hover { font-size: 14px !important; }
	html body .pc-link.pc-link.et_pb_button::after { width: 24px !important; height: 24px !important; background-size: 12px !important; }

	/* Orientation */
	html body .et_pb_section .pc-triage.pc-triage { grid-template-columns: 1fr; gap: 12px !important; }
	.pc-triage > .et_pb_column { padding: 20px !important; }
	html body .pc-icon.pc-icon,
	html body .pc-icon .et_pb_image_wrap,
	html body .pc-icon img { width: 40px !important; height: 40px !important; max-width: 40px !important; }
	html body .pc-icon.pc-icon { margin-bottom: 16px !important; }
	.pc-triage h3 { font-size: 19px !important; font-weight: 700 !important; }
	html body .pc-triage .et_pb_text:not(.pc-kicker):not(.pc-reco) { margin-bottom: 16px !important; }
	html body .pc-triage .pc-reco { padding: 16px 14px 12px !important; }
	html body .pc-triage .pc-reco + .et_pb_button_module_wrapper { padding: 0 14px 14px !important; }

	/* Rendez-vous */
	html body .et_pb_section.pc-rdv-sec > .pc-rdv-card {
		width: auto !important;
		margin-left: 24px !important;
		margin-right: 24px !important;
		gap: 32px !important;
		padding: 24px !important;
		box-shadow: 0 0 0 8px rgba(223, 230, 244, .6), var(--ccc-shadow-nav);
	}
	.pc-rdv-card > .et_pb_column:first-child { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch; row-gap: 12px !important; }
	.pc-rdv-card > .et_pb_column:first-child > .et_pb_module { flex: 0 0 auto !important; }
	html body .pc-rdv-card .pc-eyebrow { align-self: flex-start; }
	.pc-rdv-card h2 { font-size: 28px !important; }
	html body .pc-rdv-card > .et_pb_column:first-child .et_pb_text:not(.pc-eyebrow):not(.pc-meta) p { font-size: 15px !important; }
	html body .pc-rdv-card > .et_pb_column:first-child .et_pb_text:not(.pc-eyebrow):not(.pc-meta) { margin-bottom: 4px !important; }
	.pc-rdv-card .et_pb_button_module_wrapper { width: 100% !important; }
	html body .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button,
	html body .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button:hover { width: 100% !important; justify-content: space-between !important; font-size: 16px !important; }
	html body .pc-rdv-card .sv-btn.sv-btn.et_pb_button { width: 100% !important; }
	html body .pc-meta .et_pb_text_inner { column-gap: 10px; }
	html body .pc-meta p { font-size: 12px !important; }
	html body .pc-meta p + p::before { margin-right: 6px; }
	html body .pc-place.pc-place { padding: 14px 14px 14px 36px !important; }
	.pc-place::before { left: 14px; top: 20px; width: 10px; height: 10px; }
	html body .pc-place .et_pb_module_header,
	html body .pc-place h3,
	html body .pc-place h4 { font-size: 14px !important; }
	html body .pc-place .et_pb_blurb_description p { font-size: 12px !important; }
	html body .pc-place .et_pb_blurb_description p + p { font-size: 12px !important; }
}

/* Clearfix Divi (::after des lignes) neutralisé dans les grilles : sinon il crée une rangée vide */
html body .pc-step.pc-step::after,
html body .pc-triage.pc-triage::after,
html body .et_pb_section.pc-rdv-sec > .pc-rdv-card::after { display: none !important; content: none !important; }

/* ---------- PASTILLES : mêmes tailles que la home / page service (chiffre 20px, titre 17px, texte 14px)
   Le titre est la 1re ligne du 2e module Texte : fonctionne avec 2 paragraphes OU un saut de ligne (Maj+Entrée) */
html body .pc-badges-sec .hm-badges .et_pb_text:not(.hm-badge-num) p {
	font-size: 14px !important;
	line-height: 1.375 !important;
	color: var(--ccc-second) !important;
	margin: 0 !important;
}
html body .pc-badges-sec .hm-badges .et_pb_text:not(.hm-badge-num) p:first-child::first-line {
	font-family: var(--ccc-font-display);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ccc-marine);
}
html body .pc-badges-sec .hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) { margin-bottom: 2px !important; }
@media (max-width: 767px) {
	html body .pc-badges-sec .hm-badges .et_pb_text:not(.hm-badge-num) p { font-size: 13px !important; }
	html body .pc-badges-sec .hm-badges .et_pb_text:not(.hm-badge-num) p:first-child::first-line { font-size: 15px; font-weight: 700; }
}

/* ---------- LES 4 PHASES : alignées sur le rendu réel de la maquette ----------
   surtitres marine (orange / gris non appliqués dans le HTML) · H3 16px · paragraphe 16px marine */
html body .pc-step .pc-kicker p,
html body .pc-step .pc-kicker--muted p { color: var(--ccc-marine) !important; }
html body .pc-step h3,
html body .pc-step .et_pb_module_header {
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	letter-spacing: normal !important;
	margin: 4px 0 12px !important;
}
/* Paragraphe = dernier Texte de la colonne 2 (même s'il porte par erreur la classe pc-kicker) */
html body .pc-step > .et_pb_column:nth-child(2) > .et_pb_text:last-child:not(:first-child) p {
	font-family: var(--ccc-font-text) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.625 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ccc-marine) !important;
}
@media (max-width: 767px) {
	html body .pc-step h3,
	html body .pc-step .et_pb_module_header { font-size: 16px !important; font-weight: 500 !important; }
	html body .pc-step > .et_pb_column:nth-child(2) > .et_pb_text:last-child:not(:first-child) p { font-size: 15px !important; line-height: 1.6 !important; }
}

/* Paragraphe des phases : tout Texte placé après le surtitre (ne dépend plus de :last-child, que Divi 5 casse) */
html body .pc-step > .et_pb_column > .et_pb_text ~ .et_pb_text p {
	font-family: var(--ccc-font-text) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.625 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	color: var(--ccc-marine) !important;
}
@media (max-width: 767px) {
	html body .pc-step > .et_pb_column > .et_pb_text ~ .et_pb_text p { font-size: 15px !important; line-height: 1.6 !important; }
}

/* Cartes des phases : pas de fond blanc (rendu réel de la maquette), on garde l'arrondi et l'ombre légère */
html body .et_pb_section .pc-step.pc-step { background: transparent !important; }

/* ---------- ORIENTATION : alignée sur le rendu réel de la maquette ----------
   cartes 1 et 3 sans fond (ombre légère), carte 2 ciel-pâle · encadrés de recommandation sans fond
   surtitres marine (carte 3 : corail foncé) · H3 22px graisse normale · bouton d'appel sans fond */
html body .pc-triage > .et_pb_column:nth-child(1),
html body .pc-triage > .et_pb_column:nth-child(3) { background: transparent !important; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05) !important; }
html body .pc-triage > .et_pb_column:nth-child(2) { background: var(--ccc-ciel-pale) !important; box-shadow: none !important; }
html body .pc-triage .pc-kicker p { color: var(--ccc-marine) !important; }
html body .pc-triage > .et_pb_column:nth-child(3) .pc-kicker p { color: var(--ccc-corail-texte) !important; }
html body .pc-triage h3,
html body .pc-triage .et_pb_module_header { font-size: 22px !important; font-weight: 400 !important; line-height: 1.375 !important; }
html body .pc-triage > .et_pb_column:nth-child(2) .et_pb_text:not(.pc-kicker):not(.pc-reco) p { color: var(--ccc-second) !important; }
html body .pc-triage > .et_pb_column:nth-child(3) .et_pb_text:not(.pc-kicker):not(.pc-reco) p { color: var(--ccc-marine) !important; }
html body .pc-triage .pc-reco,
html body .pc-triage .pc-reco + .et_pb_button_module_wrapper,
html body .pc-triage > .et_pb_column .pc-reco,
html body .pc-triage > .et_pb_column .pc-reco + .et_pb_button_module_wrapper { background: transparent !important; }
/* bouton d'appel : texte et icône marine, sans fond ; survol ciel-pâle */
html body .pc-reco-call.pc-reco-call.et_pb_button { background: transparent !important; color: var(--ccc-marine) !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button:hover { background: var(--ccc-ciel-pale) !important; color: var(--ccc-marine) !important; }
html body .pc-reco-call.pc-reco-call.et_pb_button::after,
html body .pc-reco-call.pc-reco-call.et_pb_button:hover::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M795-120q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") !important; }
@media (max-width: 767px) {
	html body .pc-triage h3,
	html body .pc-triage .et_pb_module_header { font-size: 19px !important; font-weight: 500 !important; }
}

/* ---------- SURVOLS (priorité renforcée : :is(#page-container, body) compte comme un ID,
   pour passer devant les styles de survol que Divi 5 génère sur les boutons) ---------- */
/* Liens fléchés : texte + flèche en corail au survol */
html body:is(#page-container, body) .pc-reco-link.pc-reco-link.et_pb_button:hover,
html body:is(#page-container, body) .pc-link.pc-link.et_pb_button:hover {
	color: var(--ccc-corail) !important;
	background: transparent !important;
	border-color: transparent !important;
}
html body:is(#page-container, body) .pc-reco-link.pc-reco-link.et_pb_button:hover::after { color: var(--ccc-corail) !important; }
html body:is(#page-container, body) .pc-link.pc-link.et_pb_button:hover::after { background-color: var(--ccc-corail) !important; }
/* Bouton d'appel : au repos sans fond ; au survol voile gris léger, texte et icône marine */
html body:is(#page-container, body) .pc-reco-call.pc-reco-call.et_pb_button {
	background: transparent !important;
	color: var(--ccc-marine) !important;
	border-color: transparent !important;
}
html body:is(#page-container, body) .pc-reco-call.pc-reco-call.et_pb_button:hover {
	background: rgba(23, 38, 77, .06) !important;
	color: var(--ccc-marine) !important;
	border-color: transparent !important;
}

/* ---------- PRENDRE RENDEZ-VOUS : aligné sur le rendu réel de la maquette ----------
   carte entière teintée ciel-pâle 60 % (cœur blanc non appliqué dans le HTML), ombre flottante
   pas de points corail (pastille, mentions, lieux) · H2 graisse normale
   bouton Doctolib sans fond, texte marine, flèche marine (la flèche blanche du HTML était invisible) */
html body .et_pb_section.pc-rdv-sec > .pc-rdv-card {
	background: rgba(223, 230, 244, .6) !important;
	box-shadow: 0 0 0 12px rgba(223, 230, 244, .6), var(--ccc-shadow-nav) !important;
}
html body .pc-rdv-card .pc-eyebrow .et_pb_text_inner::before { display: none !important; }
html body .pc-rdv-card h2,
html body .pc-rdv-card h2.et_pb_module_header { font-weight: 400 !important; }
html body .pc-meta p:first-child::before { display: none !important; }
html body .pc-place.pc-place::before { background: transparent !important; }
/* Bouton Doctolib */
html body:is(#page-container, body) .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button {
	background: transparent !important;
	color: var(--ccc-marine) !important;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05) !important;
}
html body:is(#page-container, body) .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button:hover {
	background: rgba(23, 38, 77, .06) !important;
	color: var(--ccc-marine) !important;
}
html body:is(#page-container, body) .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button::after,
html body:is(#page-container, body) .pc-rdv-card .ccc-btn--navy.ccc-btn.et_pb_button:hover::after {
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317264D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E") !important;
}
/* Bouton téléphone : ciel-pâle, survol ciel */
html body:is(#page-container, body) .pc-rdv-card .sv-btn--soft.sv-btn.et_pb_button { background: var(--ccc-ciel-pale) !important; color: var(--ccc-marine) !important; }
html body:is(#page-container, body) .pc-rdv-card .sv-btn--soft.sv-btn.et_pb_button:hover { background: var(--ccc-ciel) !important; color: var(--ccc-marine) !important; }
@media (max-width: 767px) {
	html body .et_pb_section.pc-rdv-sec > .pc-rdv-card { box-shadow: 0 0 0 8px rgba(223, 230, 244, .6), var(--ccc-shadow-nav) !important; }
}

/* ==========================================================================
   21. PAGE À PROPOS « Dr Laurent Thomsen » — calée sur
   propos_du_dr_laurent_thomsen_*_desktop/code.html (préfixe ap-)
   Hero et pastilles : style de la home. Cartes : rendu réel de la maquette
   (fonds non déclarés dans le HTML = cartes sans fond, ombre légère).
   Carte RDV finale : rendu voulu (le rendu de la maquette est illisible).
   --------------------------------------------------------------------------
   SECTION ap-hero ............ LIGNE ap-hero-shell (2 col)
   SECTION ap-quals-sec ....... LIGNE ap-head + LIGNE hm-badges (4 col) + LIGNE ap-bento (2 col)
   SECTION ap-pillars-sec ..... LIGNE ap-head + LIGNE ap-pillars (3 col)
   SECTION ap-places-sec ...... LIGNE ap-places-head (2 col) + LIGNE ap-places (3 col)
   SECTION ap-cta-sec #rdv .... LIGNE ap-cta-card (2 col)
   ========================================================================== */

/* --- Écarts flex Divi 5 annulés, remises à zéro --- */
:where(.et_pb_section[class*=" ap-"]),
:where(.et_pb_section[class*=" ap-"]) .et_pb_row,
:where(.et_pb_section[class*=" ap-"]) .et_pb_column { gap: 0 !important; }
.et_pb_section[class*=" ap-"] { padding: 0 !important; background-color: transparent !important; }
.et_pb_section[class*=" ap-"] > .et_pb_row {
	width: 90% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}
.et_pb_section[class*=" ap-"] .et_pb_column {
	margin: 0 !important;
	width: auto !important;
	min-width: 0;
	max-width: none !important;
	flex-basis: auto !important;
}
:where(.et_pb_section[class*=" ap-"]) .et_pb_module { margin: 0 !important; }
:where(.et_pb_section[class*=" ap-"]) p { padding: 0 !important; margin: 0; }
.et_pb_section[class*=" ap-"] h1,
.et_pb_section[class*=" ap-"] h2,
.et_pb_section[class*=" ap-"] h3,
.et_pb_section[class*=" ap-"] h4 {
	font-family: var(--ccc-font-display) !important;
	color: var(--ccc-marine);
	padding: 0 !important;
	margin: 0;
}
/* clearfix Divi neutralisé dans les grilles */
html body .et_pb_section[class*=" ap-"] .et_pb_row::after { display: none !important; content: none !important; }

/* Rythme : mt-8 puis 112 entre sections, mb 112 */
html body .et_pb_section.ap-hero { margin-top: 32px !important; }
html body .et_pb_section.ap-quals-sec,
html body .et_pb_section.ap-pillars-sec,
html body .et_pb_section.ap-places-sec,
html body .et_pb_section.ap-cta-sec { margin-top: 112px !important; }
html body .et_pb_section.ap-cta-sec { margin-bottom: 112px !important; }

/* Pastille sur fond marine (hero + carte RDV) : Texte ap-eyebrow [+ ap-eyebrow--plain = sans majuscules] */
html body .ap-eyebrow .et_pb_text_inner {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px;
	width: fit-content !important;
	max-width: 100% !important;
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
}
html body .ap-eyebrow .et_pb_text_inner::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ccc-corail); flex-shrink: 0; }
html body .ap-eyebrow p {
	font-family: var(--ccc-font-display) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase;
	color: var(--ccc-ciel-pale) !important;
	max-width: none !important;
}
html body .ap-eyebrow--plain p { text-transform: none; letter-spacing: normal !important; }

/* En-tête de section (ligne ap-head) : Texte ap-kicker · Titre H2 · Texte */
html body .ap-head.ap-head { margin-bottom: 40px !important; }
.ap-head > .et_pb_column { display: flex !important; flex-direction: column !important; gap: 8px !important; width: 100% !important; }
html body .ap-kicker p {
	font-family: var(--ccc-font-display) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .1em !important;
	text-transform: uppercase;
	color: var(--ccc-marine) !important;
}
.ap-head h2,
.ap-places-head h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -0.025em; }
html body .ap-head .et_pb_text:not(.ap-kicker) p { font-size: 18px !important; line-height: 1.6 !important; color: var(--ccc-second) !important; max-width: 720px; }

/* ---------- HERO (style de la home) ----------
   Col. 1 : Texte (ap-eyebrow) · Titre H1 · Texte (ap-subtitle) · Texte (3 paragraphes, le 3e = citation)
            · Bouton ccc-btn · Bouton ap-phone
   Col. 2 : Image (hm-portrait) */
html body .et_pb_section .ap-hero-shell.ap-hero-shell {
	display: grid !important;
	grid-template-columns: 7fr 5fr;
	gap: 56px !important;
	align-items: center;
	padding: 72px calc(min(90vw, 1240px) * 0.06) !important;
	border-radius: 32px;
	background: var(--ccc-marine);
	color: var(--ccc-blanc);
}
.ap-hero-shell > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px !important;
	row-gap: 0 !important;
}
.ap-hero-shell > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
html body .ap-hero-shell .ap-eyebrow { margin-bottom: 24px !important; }
.ap-hero-shell h1 { color: var(--ccc-blanc) !important; font-size: 60px !important; font-weight: 700 !important; line-height: 1.03 !important; letter-spacing: -0.025em; }
html body .ap-hero-shell .ap-subtitle { margin-top: 12px !important; margin-bottom: 24px !important; }
html body .ap-hero-shell .ap-subtitle p {
	font-family: var(--ccc-font-display) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	color: var(--ccc-ciel-pale) !important;
	max-width: 34ch;
}
html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle) p {
	font-size: 18px !important;
	line-height: 1.62 !important;
	color: var(--ccc-ciel) !important;
}
html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle) p + p { margin-top: 16px !important; }
html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle) p:last-child:not(:only-child) { color: var(--ccc-blanc) !important; font-weight: 500 !important; }
html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle):has(+ .et_pb_button_module_wrapper) { margin-bottom: 32px !important; }
.ap-hero-shell > .et_pb_column:last-child { display: flex !important; justify-content: flex-end; }

/* Lien téléphone (Bouton ap-phone) : sur marine, texte blanc + icône corail ; --pill = pilule marine claire (carte RDV) */
html body .ap-phone.ap-phone.et_pb_button,
html body .ap-phone.ap-phone.et_pb_button:hover {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 8px !important;
	height: 52px;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	white-space: nowrap;
	transition: color 150ms cubic-bezier(.4, 0, .2, 1), background-color 150ms cubic-bezier(.4, 0, .2, 1) !important;
}
html body:is(#page-container, body) .ap-phone.ap-phone.et_pb_button { color: var(--ccc-blanc) !important; background: transparent !important; }
html body:is(#page-container, body) .ap-phone.ap-phone.et_pb_button:hover { color: var(--ccc-corail) !important; background: transparent !important; }
html body .ap-phone.ap-phone.et_pb_button::after { display: none !important; }
html body .ap-phone.ap-phone.et_pb_button::before,
html body .ap-phone.ap-phone.et_pb_button:hover::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 20px !important;
	height: 20px !important;
	flex-shrink: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M795-120q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
html body:is(#page-container, body) .ap-phone--pill.ap-phone.et_pb_button { background: var(--ccc-marine-2) !important; color: var(--ccc-blanc) !important; padding: 0 24px !important; font-weight: 600 !important; }
html body:is(#page-container, body) .ap-phone--pill.ap-phone.et_pb_button:hover { background: rgba(255, 255, 255, .08) !important; color: var(--ccc-blanc) !important; padding: 0 24px !important; }

/* ---------- PASTILLES (ligne hm-badges dans la section ap-quals-sec) ---------- */
html body .et_pb_section.ap-quals-sec .hm-badges.hm-badges { margin-top: 0 !important; margin-bottom: 40px !important; }
html body .hm-badges .hm-badge-num--pale.hm-badge-num { background: var(--ccc-ciel-pale) !important; box-shadow: none !important; }
html body .ap-quals-sec .hm-badges .et_pb_text:not(.hm-badge-num) p { font-size: 14px !important; line-height: 1.375 !important; color: var(--ccc-second) !important; margin: 0 !important; }
html body .ap-quals-sec .hm-badges .et_pb_text:not(.hm-badge-num) p:first-child::first-line { font-family: var(--ccc-font-display); font-size: 17px; font-weight: 600; line-height: 1.3; color: var(--ccc-marine); }
html body .ap-quals-sec .hm-badges .et_pb_text:not(.hm-badge-num) p:first-child:not(:only-child) { margin-bottom: 2px !important; }

/* ---------- BENTO PARCOURS ----------
   Col. 1 (carte) : Texte (ap-card-head) · 3 Blurbs (ap-item : titre + texte, sans image) · Texte (ap-verified)
   Col. 2 : Texte (ap-affil : titre + 3 paragraphes) · Texte (ap-pub : surtitre / titre / texte / encadré) */
html body .ap-bento.ap-bento {
	display: grid !important;
	grid-template-columns: 7fr 5fr;
	gap: 20px !important;
	align-items: stretch;
}
html body .ap-bento > .et_pb_column:first-child {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
	align-self: stretch !important;
	padding: 36px !important;
	border-radius: 20px;
	background: transparent;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
html body .ap-bento > .et_pb_column:last-child { display: flex !important; flex-direction: column !important; gap: 20px !important; }
/* titre de carte avec pastille icône (school) */
html body .ap-card-head { margin-bottom: 8px !important; }
html body .ap-card-head p {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--ccc-font-display) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	color: var(--ccc-marine) !important;
}
html body .ap-card-head p::before {
	content: "";
	width: 32px;
	height: 32px;
	flex-shrink: 0;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M479-120 189-279v-240L40-600l439-240 441 240v317h-60v-282l-91 46v240L479-120Zm0-308 315-172-315-169-313 169 313 172Zm0 240 230-127v-168L479-360 249-485v170l230 127Zm1-240Zm-1 74Zm0 0Z'/%3E%3C/svg%3E") center / 18px no-repeat, var(--ccc-ciel-pale);
}
/* éléments du cursus (Blurb ap-item) */
html body .ap-item.ap-item {
	padding: 16px 16px 16px 40px !important;
	border-radius: 14px;
	background: rgba(238, 241, 246, .5);
	text-align: left !important;
}
html body .ap-item .et_pb_blurb_content,
html body .ap-item .et_pb_blurb_container { display: block !important; max-width: none !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
html body .ap-item .et_pb_main_blurb_image { display: none !important; }
html body .ap-item .et_pb_module_header,
html body .ap-item h3,
html body .ap-item h4 { font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; margin: 0 0 2px !important; padding: 0 !important; color: var(--ccc-marine) !important; }
html body .ap-item .et_pb_blurb_description { margin: 0 !important; padding: 0 !important; }
html body .ap-item .et_pb_blurb_description p { font-size: 14px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
/* mention Ordre des médecins */
html body .ap-verified { margin-top: auto !important; padding-top: 32px !important; }
html body .ap-verified p {
	position: relative;
	padding-left: 24px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--ccc-second) !important;
}
html body .ap-verified p::before { content: ""; position: absolute; left: 0; top: 2px; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='m346-60-76-130-151-31 17-147-96-112 96-111-17-147 151-31 76-131 134 62 134-62 77 131 150 31-17 147 96 111-96 112 17 147-150 31-77 130-134-62-134 62Zm27-79 107-45 110 45 67-100 117-30-12-119 81-92-81-94 12-119-117-28-69-100-108 45-110-45-67 100-117 28 12 119-81 94 81 92-12 121 117 28 70 100Zm107-341Zm-43 133 227-225-45-41-182 180-95-99-46 45 141 140Z'/%3E%3C/svg%3E") center / contain no-repeat; }
/* carte Affiliations (ciel-pâle) */
html body .ap-affil .et_pb_text_inner { padding: 28px; border-radius: 20px; background: var(--ccc-ciel-pale); }
html body .ap-affil p { font-size: 14px !important; line-height: 1.6 !important; color: var(--ccc-second) !important; }
html body .ap-affil p + p { margin-top: 10px !important; }
html body .ap-affil p strong,
html body .ap-affil p b { font-weight: 500; color: var(--ccc-marine); }
html body .ap-affil p:first-child {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--ccc-marine) !important;
}
html body .ap-affil p:first-child::before { content: ""; width: 32px; height: 32px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='m436-347 228-228-42-41-183 183-101-101-44 44 142 143Zm44 266q-140-35-230-162.5T160-523v-238l320-120 320 120v238q0 152-90 279.5T480-81Zm0-62q115-38 187.5-143.5T740-523v-196l-260-98-260 98v196q0 131 72.5 236.5T480-143Zm0-337Z'/%3E%3C/svg%3E") center / 18px no-repeat; }
/* carte Publications (sans fond) */
html body .ap-pub .et_pb_text_inner { padding: 28px; border-radius: 20px; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
html body .ap-pub p { font-size: 14px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .ap-pub p:first-child {
	font-family: var(--ccc-font-display) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ccc-marine) !important;
	margin-bottom: 4px !important;
}
html body .ap-pub p:nth-child(2) { font-family: var(--ccc-font-display) !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.35 !important; color: var(--ccc-marine) !important; margin-bottom: 8px !important; }
html body .ap-pub p:last-child:not(:nth-child(-n+3)) {
	position: relative;
	margin-top: 16px !important;
	padding: 12px 12px 12px 38px !important;
	border-radius: 12px;
	background: var(--ccc-brume);
	font-size: 13px !important;
	font-weight: 500;
	line-height: 1.45 !important;
	color: var(--ccc-marine) !important;
}
html body .ap-pub p:last-child:not(:nth-child(-n+3))::before { content: ""; position: absolute; left: 12px; top: 50%; margin-top: -9px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M277-279h275v-60H277v60Zm0-171h406v-60H277v60Zm0-171h406v-60H277v60Zm-97 501q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h600q24 0 42 18t18 42v600q0 24-18 42t-42 18H180Zm0-60h600v-600H180v600Zm0-600v600-600Z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ---------- DÉMARCHE : 3 cartes ----------
   Chaque colonne : Image (ap-icon) · Titre H3 · Texte · Texte (ap-note) */
html body .ap-pillars.ap-pillars { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 20px !important; align-items: stretch; }
html body .ap-pillars > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	padding: 32px !important;
	border-radius: 20px;
	background: transparent;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
html body .ap-icon.ap-icon { width: 48px !important; max-width: 48px !important; margin-bottom: 16px !important; }
html body .ap-icon .et_pb_image_wrap,
html body .ap-icon img { display: block !important; width: 48px !important; height: 48px !important; max-width: none !important; margin: 0 !important; border-radius: 50% !important; }
.ap-pillars h3 { font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; margin-bottom: 16px !important; }
html body .ap-pillars .et_pb_text:not(.ap-note) p { font-size: 15px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .ap-pillars .et_pb_text:not(.ap-note) strong,
html body .ap-pillars .et_pb_text:not(.ap-note) b { color: var(--ccc-marine); font-weight: 700; }
html body .ap-pillars .ap-note { margin-top: auto !important; padding-top: 24px !important; }
html body .ap-pillars .ap-note .et_pb_text_inner { padding: 16px 12px 12px; border-radius: 12px; background: rgba(238, 241, 246, .6); }
html body .ap-pillars .ap-note p { font-size: 13px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }

/* ---------- LIEUX ----------
   Ligne ap-places-head (2 col) : col. 1 Texte (ap-kicker) · Titre H2 ; col. 2 Texte
   Ligne ap-places (3 col), chaque colonne : Texte (ap-tag) · Titre H3 · Texte (adresse) · Texte (ap-info, 2 paragraphes)
            · Texte (ap-place-foot : libellé / « Réserver » en lien — carte 3 : « Ambulatoire ») */
html body .ap-places-head.ap-places-head {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px !important;
	margin-bottom: 32px !important;
}
.ap-places-head > .et_pb_column:first-child { display: flex !important; flex-direction: column !important; gap: 8px !important; }
html body .ap-places-head > .et_pb_column:last-child { max-width: 420px !important; }
html body .ap-places-head > .et_pb_column:last-child p { font-size: 15px !important; line-height: 1.6 !important; color: var(--ccc-second) !important; }
html body .ap-places-head strong,
html body .ap-places-head b { color: var(--ccc-marine); }
html body .ap-places.ap-places { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 20px !important; align-items: stretch; }
html body .ap-places > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	padding: 28px !important;
	border-radius: 20px;
	background: transparent;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
html body .ap-places > .et_pb_column:nth-child(3) { background: var(--ccc-ciel-pale); box-shadow: none; }
html body .ap-tag { margin-bottom: 16px !important; }
html body .ap-tag p {
	display: inline-block;
	padding: 4px 12px !important;
	border-radius: 999px;
	background: var(--ccc-ciel-pale);
	font-family: var(--ccc-font-display) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	color: var(--ccc-marine) !important;
}
html body .ap-places > .et_pb_column:nth-child(3) .ap-tag p { background: transparent; }
.ap-places h3 { font-size: 20px !important; font-weight: 700 !important; line-height: 1.3 !important; margin-bottom: 8px !important; }
html body .ap-places .et_pb_text:not(.ap-tag):not(.ap-info):not(.ap-place-foot) { margin-bottom: 16px !important; }
html body .ap-places .et_pb_text:not(.ap-tag):not(.ap-info):not(.ap-place-foot) p { font-size: 14px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .ap-info .et_pb_text_inner { padding: 12px; border-radius: 12px; background: rgba(238, 241, 246, .5); }
html body .ap-places > .et_pb_column:nth-child(3) .ap-info .et_pb_text_inner { background: transparent; }
html body .ap-info p { font-size: 13px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
html body .ap-info p + p { margin-top: 4px !important; }
html body .ap-info strong,
html body .ap-info b { color: var(--ccc-marine); font-weight: 700; }
html body .ap-place-foot { margin-top: auto !important; padding-top: 40px !important; }
html body .ap-place-foot .et_pb_text_inner { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between; gap: 12px; }
html body .ap-place-foot p:first-child { font-size: 13px !important; font-weight: 600 !important; line-height: 1.4 !important; color: var(--ccc-marine) !important; }
html body .ap-place-foot p:last-child:not(:first-child) { font-family: var(--ccc-font-display) !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.4 !important; color: var(--ccc-marine) !important; white-space: nowrap; }
html body .ap-place-foot a { display: inline-flex; align-items: center; gap: 4px; color: var(--ccc-marine) !important; text-decoration: none; transition: color 150ms; }
html body .ap-place-foot a:hover { color: var(--ccc-corail-texte) !important; }
html body .ap-place-foot a::after { content: ""; width: 16px; height: 16px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23000000' d='M686-450H160v-60h526L438-758l42-42 320 320-320 320-42-42 248-248Z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23000000' d='M686-450H160v-60h526L438-758l42-42 320 320-320 320-42-42 248-248Z'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .ap-places > .et_pb_column:nth-child(3) .ap-place-foot p:last-child:not(:first-child) { font-size: 12px !important; padding: 4px 10px !important; }

/* ---------- CARTE RDV FINALE (même style que la carte « Consulter » du bas de la home) ----------
   Col. 1 : Titre H2 · Texte · Bouton ccc-btn ccc-btn--navy · Bouton sv-btn sv-btn--soft sv-btn--talk
   Col. 2 : Texte (ap-panel : titre / intro / 3 éléments / urgence) — encart brume comme les lieux de la home */
html body .et_pb_section.ap-cta-sec > .ap-cta-card {
	width: calc(90% - 16px) !important;
	max-width: 1224px !important;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 40px !important;
	align-items: center;
	padding: 56px !important;
	border-radius: 26px;
	background: var(--ccc-blanc);
	box-shadow:
		inset 0 0 0 1px var(--ccc-trait),
		0 0 0 8px var(--ccc-brume),
		0 0 0 9px rgba(211, 218, 232, .4);
}
.ap-cta-card > .et_pb_column:first-child { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; column-gap: 12px !important; row-gap: 12px !important; }
.ap-cta-card > .et_pb_column:first-child > .et_pb_module:not(.et_pb_button_module_wrapper) { flex: 0 0 100%; }
.ap-cta-card h2 { color: var(--ccc-marine) !important; font-size: 44px !important; font-weight: 700 !important; line-height: 1.5 !important; margin-bottom: 4px !important; }
html body .ap-cta-card > .et_pb_column:first-child .et_pb_text p { font-size: 18px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; max-width: 42ch; }
html body .ap-cta-card > .et_pb_column:first-child .et_pb_text:has(+ .et_pb_button_module_wrapper) { margin-bottom: 20px !important; }
/* encart « Avant votre première consultation » : fond brume, textes identiques */
html body .ap-panel .et_pb_text_inner { display: flex !important; flex-direction: column !important; gap: 12px; padding: 28px; border-radius: 20px; background: var(--ccc-brume); }
html body .ap-panel p { font-size: 15px !important; line-height: 1.55 !important; color: var(--ccc-second) !important; }
html body .ap-panel strong,
html body .ap-panel b { color: var(--ccc-marine); }
html body .ap-panel p:first-child {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--ccc-font-display) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: var(--ccc-marine) !important;
}
html body .ap-panel p:first-child::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M453-280h60v-240h-60v240Zm50.5-323.2q9.5-9.2 9.5-22.8 0-14.45-9.48-24.22-9.48-9.78-23.5-9.78t-23.52 9.78Q447-640.45 447-626q0 13.6 9.48 22.8 9.48 9.2 23.5 9.2t23.52-9.2ZM480.27-80q-82.74 0-155.5-31.5Q252-143 197.5-197.5t-86-127.34Q80-397.68 80-480.5t31.5-155.66Q143-709 197.5-763t127.34-85.5Q397.68-880 480.5-880t155.66 31.5Q709-817 763-763t85.5 127Q880-563 880-480.27q0 82.74-31.5 155.5Q817-252 763-197.68q-54 54.31-127 86Q563-80 480.27-80Zm.23-60Q622-140 721-239.5t99-241Q820-622 721.19-721T480-820q-141 0-240.5 98.81T140-480q0 141 99.5 240.5t241 99.5Zm-.5-340Z'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .ap-panel p:nth-child(n+3):not(:last-child) { position: relative; padding-left: 26px !important; }
html body .ap-panel p:nth-child(n+3):not(:last-child)::before { content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='m421-298 283-283-46-45-237 237-120-120-45 45 165 166Zm59 218q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-156t86-127Q252-817 325-848.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 82-31.5 155T763-197.5q-54 54.5-127 86T480-80Zm0-60q142 0 241-99.5T820-480q0-142-99-241t-241-99q-141 0-240.5 99T140-480q0 141 99.5 240.5T480-140Zm0-340Z'/%3E%3C/svg%3E") center / contain no-repeat; }

/* ======================= TABLETTE (< 1024) ======================= */
@media (max-width: 1023px) {
	html body .et_pb_section .ap-hero-shell.ap-hero-shell { grid-template-columns: 1fr; padding: 48px !important; }
	.ap-hero-shell > .et_pb_column:last-child { justify-content: center; }
	html body .ap-bento.ap-bento { grid-template-columns: 1fr; }
	html body .et_pb_section.ap-cta-sec > .ap-cta-card { grid-template-columns: 1fr; }
}

/* ======================= MOBILE (< 768) ======================= */
@media (max-width: 767px) {
	html body .et_pb_section.ap-hero { margin-top: 16px !important; }
	html body .et_pb_section.ap-quals-sec,
	html body .et_pb_section.ap-pillars-sec,
	html body .et_pb_section.ap-places-sec,
	html body .et_pb_section.ap-cta-sec { margin-top: 56px !important; }
	html body .et_pb_section.ap-cta-sec { margin-bottom: 56px !important; }
	.et_pb_section[class*=" ap-"] > .et_pb_row { width: auto !important; margin-left: 16px !important; margin-right: 16px !important; }
	html body .ap-head.ap-head { margin-bottom: 24px !important; }
	.ap-head h2, .ap-places-head h2 { font-size: 33px !important; line-height: 1.15 !important; }
	html body .ap-head .et_pb_text:not(.ap-kicker) p { font-size: 17px !important; }

	html body .et_pb_section .ap-hero-shell.ap-hero-shell { gap: 32px !important; padding: 24px !important; }
	.ap-hero-shell > .et_pb_column:first-child { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch; }
	.ap-hero-shell > .et_pb_column:first-child > .et_pb_module { flex: 0 0 auto !important; }
	html body .ap-hero-shell .ap-eyebrow { align-self: flex-start; margin-bottom: 16px !important; }
	.ap-hero-shell h1 { font-size: 42px !important; line-height: 1.08 !important; }
	html body .ap-hero-shell .ap-subtitle p { font-size: 20px !important; }
	html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle) p { font-size: 17px !important; }
	html body .ap-hero-shell .et_pb_text:not(.ap-eyebrow):not(.ap-subtitle):has(+ .et_pb_button_module_wrapper) { margin-bottom: 24px !important; }
	.ap-hero-shell .et_pb_button_module_wrapper { width: 100% !important; }
	html body .ap-hero-shell .ccc-btn.ccc-btn.et_pb_button,
	html body .ap-hero-shell .ccc-btn.ccc-btn.et_pb_button:hover { width: 100% !important; justify-content: space-between !important; }
	html body .ap-hero-shell .ap-phone.ap-phone.et_pb_button { justify-content: center !important; width: 100% !important; }

	html body .et_pb_section.ap-quals-sec .hm-badges.hm-badges { padding: 0 8px !important; }
	html body .ap-bento > .et_pb_column:first-child { padding: 20px !important; }
	html body .ap-affil .et_pb_text_inner,
	html body .ap-pub .et_pb_text_inner { padding: 20px; }

	html body .ap-pillars.ap-pillars,
	html body .ap-places.ap-places { grid-template-columns: 1fr; gap: 12px !important; }
	html body .ap-pillars > .et_pb_column,
	html body .ap-places > .et_pb_column { padding: 20px !important; }
	html body .ap-places-head.ap-places-head { flex-direction: column !important; align-items: flex-start; margin-bottom: 24px !important; }
	html body .ap-place-foot { padding-top: 24px !important; }

	html body .et_pb_section.ap-cta-sec > .ap-cta-card {
		width: auto !important;
		margin-left: 22px !important;
		margin-right: 22px !important;
		gap: 28px !important;
		padding: 24px !important;
		box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05), 0 0 0 8px var(--ccc-brume), 0 0 0 10px rgba(211, 218, 232, .7);
	}
	.ap-cta-card > .et_pb_column:first-child { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch; }
	.ap-cta-card > .et_pb_column:first-child > .et_pb_module { flex: 0 0 auto !important; }
	.ap-cta-card h2 { font-size: 28px !important; font-weight: 800 !important; line-height: 1.25 !important; }
	html body .ap-cta-card > .et_pb_column:first-child .et_pb_text p { font-size: 14.5px !important; max-width: none; }
	.ap-cta-card .et_pb_button_module_wrapper { width: 100% !important; }
	html body .ap-cta-card .ccc-btn.ccc-btn.et_pb_button,
	html body .ap-cta-card .ccc-btn.ccc-btn.et_pb_button:hover { width: 100% !important; justify-content: space-between !important; }
	html body .ap-cta-card .sv-btn.sv-btn.et_pb_button { width: 100% !important; }
	html body .ap-panel .et_pb_text_inner { padding: 20px; }
}

/* Téléphone en bouton ghost (ccc-btn ccc-btn--ghost, comme le hero de la home) : centré en pleine largeur sur mobile */
@media (max-width: 767px) {
	html body .ap-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button,
	html body .ap-hero-shell .ccc-btn--ghost.ccc-btn.et_pb_button:hover,
	html body .ap-cta-card .ccc-btn--ghost.ccc-btn.et_pb_button,
	html body .ap-cta-card .ccc-btn--ghost.ccc-btn.et_pb_button:hover { justify-content: center !important; padding: 12px !important; }
}

/* Bloc Métro / Horaires (ap-info) : taille appliquée au conteneur du texte aussi,
   au cas où Divi n'entoure pas les lignes de <p> (retours à la ligne simples, collage) */
html body .ap-info .et_pb_text_inner,
html body .ap-info .et_pb_text_inner > *:not(strong):not(b),
html body .ap-info .et_pb_text_inner span {
	font-family: var(--ccc-font-text) !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--ccc-second) !important;
}
html body .ap-info .et_pb_text_inner strong,
html body .ap-info .et_pb_text_inner b { font-size: 13px !important; color: var(--ccc-marine) !important; font-weight: 700 !important; }

/* Carte RDV : bouton marine à la même hauteur que le bouton téléphone (52px) */
html body .ap-cta-card .ccc-btn--navy.ccc-btn.et_pb_button,
html body .ap-cta-card .ccc-btn--navy.ccc-btn.et_pb_button:hover { padding: 7px 7px 7px 24px !important; }
html body .ap-cta-card .ccc-btn--navy.ccc-btn.et_pb_button::after,
html body .ap-cta-card .ccc-btn--navy.ccc-btn.et_pb_button:hover::after { width: 38px !important; height: 38px !important; }

/* ==========================================================================
   22. PAGE CONTACT & RDV — calée sur contact_prise_de_rdv_*_desktop/code.html (préfixe ct-)
   Hero et pastilles : classes de la passerelle / de la home (pc-hero + pc-hero-shell, pc-badges-sec + hm-badges).
   Agenda : emplacement du widget Doctolib (module Code). Formulaire : module Formulaire de contact Divi.
   --------------------------------------------------------------------------
   SECTION pc-hero ............ LIGNE pc-hero-shell (1 col)
   SECTION pc-badges-sec ...... LIGNE hm-badges (4 col)
   SECTION ct-main-sec ........ LIGNE ct-main (2 col : agenda / formulaire)
   SECTION ct-places-sec ...... LIGNE ct-head (2 col) + LIGNE ct-places (3 col) + LIGNE ct-mapbar (1 col)
   SECTION ct-urgent-sec ...... LIGNE ct-alert (2 col) + LIGNE ct-prep (2 col)
   ========================================================================== */

/* --- Écarts flex Divi 5 annulés, remises à zéro --- */
:where(.et_pb_section[class*=" ct-"]),
:where(.et_pb_section[class*=" ct-"]) .et_pb_row,
:where(.et_pb_section[class*=" ct-"]) .et_pb_column { gap: 0 !important; }
.et_pb_section[class*=" ct-"] { padding: 0 !important; background-color: transparent !important; }
.et_pb_section[class*=" ct-"] > .et_pb_row {
	width: 90% !important;
	max-width: 1240px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}
.et_pb_section[class*=" ct-"] .et_pb_column { margin: 0 !important; width: auto !important; min-width: 0; max-width: none !important; flex-basis: auto !important; }
:where(.et_pb_section[class*=" ct-"]) .et_pb_module { margin: 0 !important; }
:where(.et_pb_section[class*=" ct-"]) p { padding: 0 !important; margin: 0; }
.et_pb_section[class*=" ct-"] h1,
.et_pb_section[class*=" ct-"] h2,
.et_pb_section[class*=" ct-"] h3,
.et_pb_section[class*=" ct-"] h4 { font-family: var(--ccc-font-display) !important; color: var(--ccc-marine); padding: 0 !important; margin: 0; }
html body .et_pb_section[class*=" ct-"] .et_pb_row::after { display: none !important; content: none !important; }

/* Rythme (rendu de la maquette) */
html body .et_pb_section.ct-main-sec { margin-top: 96px !important; }
html body .et_pb_section.ct-places-sec { margin-top: 104px !important; }
html body .et_pb_section.ct-urgent-sec { margin-top: 64px !important; margin-bottom: 80px !important; }

/* Carte blanche commune (r32, ombre légère) */
html body .ct-main > .et_pb_column,
html body .ct-places > .et_pb_column {
	display: flex !important;
	flex-direction: column !important;
	border-radius: 32px;
	background: var(--ccc-blanc);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}

/* ---------- AGENDA + FORMULAIRE ----------
   Col. 1 : Texte (ct-card-head : titre / sous-titre) · Texte (ct-pill) · Code (ct-widget) · Bouton (ccc-btn ccc-btn--navy ct-btn-block) · Texte (ct-reassure, 2 paragraphes)
   Col. 2 : Texte (ct-form-head : titre / texte) · Formulaire de contact (ct-form) · Texte (ct-privacy) */
html body .ct-main.ct-main { display: grid !important; grid-template-columns: 7fr 5fr; gap: 32px !important; align-items: start; }
html body .ct-main > .et_pb_column:first-child { gap: 28px !important; padding: 36px !important; }
html body .ct-main > .et_pb_column:nth-child(2) { gap: 24px !important; padding: 32px !important; }

/* en-tête de l'agenda : pastille icône Doctolib + titre + sous-titre */
html body .ct-card-head .et_pb_text_inner { position: relative; padding-left: 56px; min-height: 44px; display: flex !important; flex-direction: column !important; justify-content: center; }
html body .ct-card-head .et_pb_text_inner::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 44px;
	height: 44px;
	margin-top: -22px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%230596DE' d='M433-228 295-365l42-42 96 94 184-184 42 43-226 226ZM180-80q-24 0-42-18t-18-42v-620q0-24 18-42t42-18h65v-60h65v60h340v-60h65v60h65q24 0 42 18t18 42v620q0 24-18 42t-42 18H180Zm0-60h600v-430H180v430Zm0-490h600v-130H180v130Zm0 0v-130 130Z'/%3E%3C/svg%3E") center / 26px no-repeat, rgba(5, 150, 222, .1);
}
html body .ct-card-head p:first-child { font-family: var(--ccc-font-display) !important; font-size: 26px !important; font-weight: 600 !important; line-height: 1.375 !important; color: var(--ccc-marine) !important; }
html body .ct-card-head p + p { font-size: 15px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
/* pastille « Agenda certifié Doctolib » + filet de séparation */
html body .ct-pill { padding-bottom: 24px !important; border-bottom: 1px solid var(--ccc-trait); margin-top: -12px !important; }
html body .ct-pill .et_pb_text_inner { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 6px; width: fit-content !important; padding: 4px 14px; border-radius: 999px; background: var(--ccc-ciel-pale); }
html body .ct-pill .et_pb_text_inner::before { content: ""; width: 16px; height: 16px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='m436-347 228-228-42-41-183 183-101-101-44 44 142 143Zm44 266q-140-35-230-162.5T160-523v-238l320-120 320 120v238q0 152-90 279.5T480-81Zm0-62q115-38 187.5-143.5T740-523v-196l-260-98-260 98v196q0 131 72.5 236.5T480-143Zm0-337Z'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .ct-pill p { font-family: var(--ccc-font-display) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.5 !important; color: var(--ccc-marine) !important; }
/* emplacement du widget Doctolib : cadre en pointillés tant qu'aucun widget n'est collé */
html body .ct-widget .et_pb_code_inner { min-height: 0; }
html body .ct-widget:not(:has(iframe, a, img, form)) .et_pb_code_inner {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 340px;
	padding: 24px;
	border: 2px dashed var(--ccc-trait);
	border-radius: 32px;
	background: #F1F4F9;
	text-align: center;
}
html body .ct-widget:not(:has(iframe, a, img, form)) .et_pb_code_inner::before {
	content: "Emplacement du widget de réservation Doctolib";
	font-family: var(--ccc-font-display);
	font-size: 15px;
	font-weight: 600;
	color: var(--ccc-second);
}
/* bouton pleine largeur (h56, point corail avant le texte, rond 42) */
html body .ct-main .et_pb_button_module_wrapper { width: 100% !important; }
html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button,
html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button:hover {
	width: 100% !important;
	height: 56px;
	justify-content: flex-start !important;
	column-gap: 8px !important;
	padding: 7px 7px 7px 24px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);
}
html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 10px !important;
	height: 10px !important;
	border-radius: 50%;
	background: var(--ccc-corail) !important;
	flex-shrink: 0;
	font-size: 0 !important;
}
html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button::after,
html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button:hover::after { width: 42px !important; height: 42px !important; margin-left: auto !important; }
/* réassurance */
html body .ct-reassure { margin-top: -12px !important; }
html body .ct-reassure .et_pb_text_inner { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 12px; row-gap: 4px; }
html body .ct-reassure p { display: inline-flex; align-items: center; gap: 4px; font-size: 13px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
html body .ct-reassure p:first-child::before { content: ""; width: 16px; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='M220-80q-24.75 0-42.37-17.63Q160-115.25 160-140v-434q0-24.75 17.63-42.38Q195.25-634 220-634h70v-96q0-78.85 55.61-134.42Q401.21-920 480.11-920q78.89 0 134.39 55.58Q670-808.85 670-730v96h70q24.75 0 42.38 17.62Q800-598.75 800-574v434q0 24.75-17.62 42.37Q764.75-80 740-80H220Zm0-60h520v-434H220v434Zm314.5-162.03Q557-324.06 557-355q0-30-22.67-54.5t-54.5-24.5q-31.83 0-54.33 24.5t-22.5 55q0 30.5 22.67 52.5t54.5 22q31.83 0 54.33-22.03ZM350-634h260v-96q0-54.17-37.88-92.08-37.88-37.92-92-37.92T388-822.08q-38 37.91-38 92.08v96ZM220-140v-434 434Z'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .ct-reassure p + p::before { content: "·"; margin-right: 8px; }

/* en-tête du formulaire */
html body .ct-form-head { padding-bottom: 16px !important; border-bottom: 1px solid var(--ccc-trait); }
html body .ct-form-head .et_pb_text_inner::before {
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	margin-bottom: 16px;
	border-radius: 50%;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23B0401F' d='M562-524h268v-186H562v186Zm135-37-105-79v-40l104 79 104-79v40l-103 79ZM60-120q-24 0-42-18T0-180v-600q0-24 18-42t42-18h840q24 0 42 18t18 42v600q0 24-18 42t-42 18H60Zm531-60h309v-600H60v600h7q44-69 112.5-109T329-329q81 0 149.5 40T591-180ZM414-435q35-35 35-85t-35-85q-35-35-85-35t-85 35q-35 35-35 85t35 85q35 35 85 35t85-35ZM143-180h372q-35.61-42.27-84.3-65.64Q382-269 329-269t-101.5 23.5Q179-222 143-180Zm143-297q-17-17-17-43t17-43q17-17 43-17t43 17q17 17 17 43t-17 43q-17 17-43 17t-43-17Zm194-3Z'/%3E%3C/svg%3E") center / 22px no-repeat, rgba(255, 132, 102, .15);
}
html body .ct-form-head p:first-child { font-family: var(--ccc-font-display) !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--ccc-marine) !important; margin-bottom: 8px !important; }
html body .ct-form-head p + p { font-size: 15px !important; line-height: 1.375 !important; color: var(--ccc-second) !important; }

/* ---------- FORMULAIRE DE CONTACT DIVI (ct-form) ---------- */
html body .ct-form .et_pb_contact_main_title { display: none !important; }
html body .ct-form .et_pb_contact_form {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	column-gap: 12px;
	row-gap: 16px;
	margin: 0 !important;
}
html body .ct-form .et_pb_contact_form::after,
html body .ct-form .et_pb_contact_form::before { display: none !important; content: none !important; }
html body .ct-form .et_pb_contact_field {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	grid-column: 1 / -1;
	display: flex !important;
	flex-direction: column;
	gap: 6px;
}
html body .ct-form .et_pb_contact_field:is(.et_pb_contact_field_half, [class*="_half"]) { grid-column: auto; }
html body .ct-form .et_pb_contact_field[style*="display: none"],
html body .ct-form input[type="hidden"] { display: none !important; }
/* libellés visibles au-dessus des champs (Divi les masque par défaut) */
html body .ct-form .et_pb_contact_form_label,
html body .ct-form .et_pb_contact_field_options_title {
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	overflow: visible !important;
	margin: 0 !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--ccc-marine) !important;
}
html body .ct-form .et_pb_contact_field[data-type="radio"] > .et_pb_contact_form_label { display: none !important; }
/* champs */
html body .ct-form .et_pb_contact_field input.input:not([type="radio"]):not([type="checkbox"]),
html body .ct-form .et_pb_contact_field textarea {
	width: 100% !important;
	padding: 10px 14px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: #F1F4F9 !important;
	font-family: var(--ccc-font-text) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #181C20 !important;
	box-shadow: none !important;
	outline: none;
	transition: box-shadow 150ms;
}
html body .ct-form .et_pb_contact_field textarea { min-height: 96px !important; height: 96px; resize: none; }
html body .ct-form .et_pb_contact_field input.input:focus,
html body .ct-form .et_pb_contact_field textarea:focus { box-shadow: 0 0 0 2px var(--ccc-marine) !important; }
html body .ct-form .input::placeholder { color: #8A93A8 !important; opacity: 1; }
/* choix Oui / Non / En attente en boutons segmentés */
html body .ct-form .et_pb_contact_field_options_wrapper { display: flex; flex-direction: column; gap: 6px; }
html body .ct-form .et_pb_contact_field_options_list { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 8px; }
html body .ct-form .et_pb_contact_field_radio { position: relative; display: block !important; margin: 0 !important; }
html body .ct-form .et_pb_contact_field_radio input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
html body .ct-form .et_pb_contact_field_radio label {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 10px !important;
	border-radius: 16px;
	background: #F1F4F9;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--ccc-marine) !important;
	cursor: pointer;
	transition: background-color 150ms, color 150ms;
}
html body .ct-form .et_pb_contact_field_radio label i { display: none !important; }
html body .ct-form .et_pb_contact_field_radio label:hover { background: var(--ccc-ciel-pale); }
html body .ct-form .et_pb_contact_field_radio input[type="radio"]:checked + label { background: var(--ccc-marine); color: var(--ccc-blanc) !important; }
/* bas du formulaire : captcha masqué si désactivé, bouton pleine largeur */
html body .ct-form .et_contact_bottom_container { grid-column: 1 / -1; display: flex !important; flex-direction: column; align-items: stretch; gap: 12px; float: none !important; margin: 4px 0 0 !important; text-align: left !important; }
html body .ct-form .et_pb_contact_right { margin: 0 !important; }
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button,
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button:hover {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	height: 56px;
	margin: 0 !important;
	padding: 7px 7px 7px 24px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	color: var(--ccc-blanc) !important;
	transition: background-color 150ms !important;
}
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button { background: var(--ccc-marine) !important; }
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button:hover { background: var(--ccc-marine-2) !important; }
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button::before { display: none !important; }
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button::after,
html body:is(#page-container, body) .ct-form .et_pb_contact_submit.et_pb_button:hover::after {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 42px !important;
	height: 42px !important;
	flex-shrink: 0;
	font-size: 0 !important;
	line-height: 0 !important;
	border-radius: 50%;
	background-color: var(--ccc-corail) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 4.5L21 12m0 0l-7.5 7.5M21 12H3'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 16px 16px !important;
}
html body .ct-form .et-pb-contact-message { margin-bottom: 12px; font-size: 14px; font-weight: 600; color: var(--ccc-marine); }
html body .ct-form .et-pb-contact-message:not(:empty) { padding: 8px; border-radius: 16px; background: var(--ccc-ciel-pale); text-align: center; }
/* note de confidentialité */
html body .ct-privacy .et_pb_text_inner { position: relative; padding: 12px 12px 12px 40px; border-radius: 16px; background: rgba(223, 230, 244, .4); }
html body .ct-privacy .et_pb_text_inner::before { content: ""; position: absolute; left: 12px; top: 14px; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M480-81q-140-35-230-162.5T160-523v-238l320-120 320 120v238q0 152-90 279.5T480-81Zm0-62q115-38 187.5-143.5T740-523v-196l-260-98-260 98v196q0 131 72.5 236.5T480-143Zm0-337Z'/%3E%3C/svg%3E") center / contain no-repeat; }
html body .ct-privacy p { font-size: 13px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }

/* ---------- LIEUX ----------
   Ligne ct-head (2 col) : col. 1 Texte (ct-kicker) · Titre H2 ; col. 2 Texte
   Ligne ct-places (3 col), chaque colonne : Image (ct-photo) · Texte (ct-photo-tag) · Titre H3 · Texte (ct-address)
            · Texte (description) · Texte (ct-meta, 3 paragraphes) · Bouton (ct-route)
   Ligne ct-mapbar (1 col) : Texte (titre / texte) */
html body .ct-head.ct-head { display: flex !important; flex-direction: row !important; align-items: flex-end; justify-content: space-between; gap: 16px !important; margin-bottom: 40px !important; }
.ct-head > .et_pb_column:first-child { display: flex !important; flex-direction: column !important; gap: 4px !important; }
html body .ct-head > .et_pb_column:nth-child(2) { max-width: 448px !important; }
html body .ct-head > .et_pb_column:nth-child(2) p { font-size: 16px !important; line-height: 1.62 !important; color: var(--ccc-second) !important; }
html body .ct-kicker p { font-family: var(--ccc-font-display) !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.3 !important; letter-spacing: .05em !important; text-transform: uppercase; color: var(--ccc-corail-texte) !important; }
.ct-head h2 { font-size: 44px !important; font-weight: 700 !important; line-height: 1.08 !important; letter-spacing: -0.025em; }

html body .ct-places.ct-places { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px !important; align-items: stretch; }
html body .ct-places > .et_pb_column { position: relative; align-self: stretch !important; padding: 28px !important; transition: box-shadow 150ms; }
html body .ct-places > .et_pb_column:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1); }
html body .ct-photo.ct-photo { width: 100% !important; max-width: none !important; margin-bottom: 16px !important; }
html body .ct-photo .et_pb_image_wrap { display: block !important; width: 100% !important; }
html body .ct-photo img { display: block !important; width: 100% !important; height: 176px !important; object-fit: cover; border-radius: 16px !important; }
html body .ct-photo-tag { position: absolute !important; top: 40px; left: 40px; z-index: 2; }
html body .ct-photo-tag p { display: inline-block; padding: 4px 12px !important; border-radius: 999px; background: var(--ccc-marine); font-family: var(--ccc-font-display) !important; font-size: 12px !important; font-weight: 700 !important; line-height: 1.5 !important; color: var(--ccc-blanc) !important; }
html body .ct-places > .et_pb_column:nth-child(3) .ct-photo-tag p { background: var(--ccc-corail); color: var(--ccc-marine) !important; }
.ct-places h3 { font-size: 22px !important; font-weight: 700 !important; line-height: 1.3 !important; }
html body .ct-address { margin-bottom: 16px !important; }
html body .ct-address p { font-size: 15px !important; font-weight: 600 !important; line-height: 1.5 !important; color: var(--ccc-corail-texte) !important; margin-top: 2px !important; }
html body .ct-places .et_pb_text:not(.ct-photo-tag):not(.ct-address):not(.ct-meta) { margin-bottom: 16px !important; }
html body .ct-places .et_pb_text:not(.ct-photo-tag):not(.ct-address):not(.ct-meta) p { font-size: 14px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .ct-meta { padding-top: 8px !important; border-top: 1px solid var(--ccc-trait); }
html body .ct-meta p { position: relative; padding-left: 28px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }
html body .ct-meta p + p { margin-top: 8px !important; }
html body .ct-meta p:first-child { color: var(--ccc-marine) !important; font-weight: 500; }
html body .ct-meta p::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; background-repeat: no-repeat; background-position: center; background-size: contain; }
html body .ct-meta p:first-child::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M80-80v-534q0-82 42.5-144T241-850q56-21 119-25.5t120-4.5q57 0 120.5 4.5T720-850q76 30 118 92t42 144v534H80Zm267-60h266l-81-81H428l-81 81Zm-62-288h390v-175H285v175Zm363 116q11-11 11-28t-11-28q-11-11-28-11t-28 11q-11 11-11 28t11 28q11 11 28 11t28-11Zm-280 0q11-11 11-28t-11-28q-11-11-28-11t-28 11q-11 11-11 28t11 28q11 11 28 11t28-11ZM140-140h159v-20l61-61q-38 0-79-29.5T240-340v-263q0-72 67-94.5T480-720q90 0 165 22.5t75 94.5v263q0 56-36.5 87.5T600-221l61 61v20h159v-474q0-66-31.5-109.5T695-793q-47-19-104-23t-111-4q-54 0-110.5 4T266-793q-62 26-94 69.5T140-614v474Zm0 0h680-680Z'/%3E%3C/svg%3E"); }
html body .ct-meta p:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='m627-287 45-45-159-160v-201h-60v225l174 181ZM480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-82 31.5-155t86-127.5Q252-817 325-848.5T480-880q82 0 155 31.5t127.5 86Q817-708 848.5-635T880-480q0 82-31.5 155t-86 127.5Q708-143 635-111.5T480-80Zm0-400Zm0 340q140 0 240-100t100-240q0-140-100-240T480-820q-140 0-240 100T140-480q0 140 100 240t240 100Z'/%3E%3C/svg%3E"); }
html body .ct-places > .et_pb_column:nth-child(2) .ct-meta p:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='M240-120v-720h288q98 0 165 67t67 165q0 98-67 165t-165 67H360v256H240Zm120-376h168q48 0 80-32t32-80q0-48-32-80t-80-32H360v224Z'/%3E%3C/svg%3E"); }
html body .ct-places > .et_pb_column:nth-child(3) .ct-meta p:nth-child(2)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='M440-360h80v-100h100v-80H520v-100h-80v100H340v80h100v100Zm40 279q-140-35-230-162.5T160-523v-238l320-120 320 120v238q0 152-90 279.5T480-81Zm0-62q115-38 187.5-143.5T740-523v-196l-260-98-260 98v196q0 131 72.5 236.5T480-143Zm0-337Z'/%3E%3C/svg%3E"); }
html body .ct-meta p:nth-child(3)::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%234D5873' d='M430.5-755.5Q409-777 409-807t21.5-51.5Q452-880 482-880t51.5 21.5Q555-837 555-807t-21.5 51.5Q512-734 482-734t-51.5-21.5ZM696-80v-209H482q-30 0-51-21t-21-51v-247q0-30 21-51t51-21q23 0 39 9t38 35q42 49 92 82t109 35v60q-51 0-105-25t-104-67v183h133q30 0 51 21t21 51v216h-60Zm-300 0q-83 0-139.5-56.5T200-276q0-68 49.5-125.5T380-468v61q-54 5-86.5 44.5T261-276q0 58 38.5 97t96.5 39q47 0 87-32.5t44-86.5h61q-8 80-66 129.5T396-80Z'/%3E%3C/svg%3E"); }
/* bouton itinéraire */
html body .ct-places .et_pb_button_module_wrapper { width: 100% !important; margin-top: auto !important; padding-top: 24px !important; }
html body:is(#page-container, body) .ct-route.et_pb_button,
html body:is(#page-container, body) .ct-route.et_pb_button:hover {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 10px 16px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	color: var(--ccc-marine) !important;
	transition: background-color 150ms !important;
}
html body:is(#page-container, body) .ct-route.et_pb_button { background: #F1F4F9 !important; }
html body:is(#page-container, body) .ct-route.et_pb_button:hover { background: var(--ccc-ciel-pale) !important; }
html body:is(#page-container, body) .ct-route.et_pb_button::after { display: none !important; }
html body:is(#page-container, body) .ct-route.et_pb_button::before,
html body:is(#page-container, body) .ct-route.et_pb_button:hover::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	font-size: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M320-360h60v-130h184v85l116-115-116-116v86H350q-12.75 0-21.37 8.62Q320-532.75 320-520v160ZM479.95-77Q468-77 456.5-81T437-93L93-437q-8-8-12-19.55t-4-23.5q0-11.95 4-23.45T93-523l344-344q8-8 19.55-12t23.5-4q11.95 0 23.45 4t19.5 12l344 344q8 8 12 19.55t4 23.5q0 11.95-4 23.45T867-437L523-93q-8 8-19.55 12t-23.5 4ZM308-308l172 172 344-344-344-344-344 344 172 172Zm172-172Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
/* bandeau « présence » */
html body .et_pb_section .ct-mapbar.ct-mapbar { margin-top: 40px !important; padding: 24px !important; border-radius: 32px; background: var(--ccc-blanc); box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05); }
html body .ct-mapbar .et_pb_text_inner { position: relative; padding-left: 64px; min-height: 48px; display: flex !important; flex-direction: column !important; justify-content: center; }
html body .ct-mapbar .et_pb_text_inner::before { content: ""; position: absolute; left: 0; top: 50%; width: 48px; height: 48px; margin-top: -24px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='m612-120-263-93-179 71q-17 9-33.5-1T120-173v-558q0-13 7.5-23t19.5-15l202-71 263 92 178-71q17-8 33.5 1.5T840-788v565q0 11-7.5 19T814-192l-202 72Zm-34-75v-505l-196-66v505l196 66Zm60 0 142-47v-512l-142 54v505Zm-458-12 142-54v-505l-142 47v512Zm458-493v505-505Zm-316-66v505-505Z'/%3E%3C/svg%3E") center / 26px no-repeat, var(--ccc-ciel-pale); }
html body .ct-mapbar p:first-child { font-family: var(--ccc-font-display) !important; font-size: 17px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--ccc-marine) !important; }
html body .ct-mapbar p + p { font-size: 14px !important; line-height: 1.5 !important; color: var(--ccc-second) !important; }

/* ---------- URGENCE + PRÉPARER SA VENUE ----------
   Ligne ct-alert (2 col) : col. 1 Texte (titre / texte) ; col. 2 Bouton (ct-tel) · Bouton (ct-samu)
   Ligne ct-prep (2 col) : col. 1 Texte (ct-prep-kicker) · Titre H3 · Texte ; col. 2 4 Blurbs (ct-doc, sans image) */
html body .et_pb_section .ct-alert.ct-alert {
	display: grid !important;
	grid-template-columns: 1fr auto;
	gap: 24px !important;
	align-items: center;
	padding: 32px !important;
	border-radius: 32px;
	background: rgba(255, 132, 102, .2);
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
}
html body .ct-alert > .et_pb_column:first-child .et_pb_text_inner { position: relative; padding-left: 64px; }
html body .ct-alert > .et_pb_column:first-child .et_pb_text_inner::before { content: ""; position: absolute; left: 0; top: 2px; width: 48px; height: 48px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='m40-120 440-760 440 760H40Zm104-60h672L480-760 144-180Zm361.5-65.68q8.5-8.67 8.5-21.5 0-12.82-8.68-21.32-8.67-8.5-21.5-8.5-12.82 0-21.32 8.68-8.5 8.67-8.5 21.5 0 12.82 8.68 21.32 8.67 8.5 21.5 8.5 12.82 0 21.32-8.68ZM454-348h60v-224h-60v224Zm26-122Z'/%3E%3C/svg%3E") center / 26px no-repeat, var(--ccc-corail); }
html body .ct-alert > .et_pb_column:first-child p:first-child { font-family: var(--ccc-font-display) !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; color: var(--ccc-marine) !important; margin-bottom: 4px !important; }
html body .ct-alert > .et_pb_column:first-child p + p { font-size: 15px !important; line-height: 1.625 !important; color: var(--ccc-marine) !important; max-width: 48rem; }
html body .ct-alert > .et_pb_column:nth-child(2) { display: flex !important; flex-direction: column !important; align-items: stretch; gap: 12px !important; }
html body:is(#page-container, body) .ct-tel.et_pb_button,
html body:is(#page-container, body) .ct-tel.et_pb_button:hover,
html body:is(#page-container, body) .ct-samu.et_pb_button,
html body:is(#page-container, body) .ct-samu.et_pb_button:hover {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-family: var(--ccc-font-display) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	white-space: nowrap;
	transition: background-color 150ms !important;
}
html body:is(#page-container, body) .ct-tel.et_pb_button { background: var(--ccc-marine) !important; color: var(--ccc-blanc) !important; }
html body:is(#page-container, body) .ct-tel.et_pb_button:hover { background: var(--ccc-marine-2) !important; color: var(--ccc-blanc) !important; }
html body:is(#page-container, body) .ct-samu.et_pb_button { background: var(--ccc-blanc) !important; color: var(--ccc-marine) !important; }
html body:is(#page-container, body) .ct-samu.et_pb_button:hover { background: var(--ccc-ciel-pale) !important; color: var(--ccc-marine) !important; }
html body:is(#page-container, body) .ct-tel.et_pb_button::after,
html body:is(#page-container, body) .ct-samu.et_pb_button::after { display: none !important; }
html body:is(#page-container, body) .ct-tel.et_pb_button::before,
html body:is(#page-container, body) .ct-tel.et_pb_button:hover::before,
html body:is(#page-container, body) .ct-samu.et_pb_button::before,
html body:is(#page-container, body) .ct-samu.et_pb_button:hover::before {
	content: "" !important;
	display: inline-block !important;
	position: static !important;
	transform: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	width: 18px !important;
	height: 18px !important;
	font-size: 0 !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
}
html body:is(#page-container, body) .ct-tel.et_pb_button::before,
html body:is(#page-container, body) .ct-tel.et_pb_button:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FFFFFF' d='M795-120q-116 0-236.5-56T335-335Q232-438 176-558.5T120-795q0-19.29 12.86-32.14Q145.71-840 165-840h140q14 0 24 10t14 25l26.93 125.64Q372-665 369.5-653.5t-10.73 19.73L259-533q26 44 55 82t64 72q37 38 78 69.5t86 55.5l95-98q10-11 23.15-15 13.15-4 25.85-2l119 26q15 4 25 16.04 10 12.05 10 26.96v135q0 19.29-12.86 32.14Q814.29-120 795-120ZM229-588l81-82-23-110H180q2 42 13.5 88.5T229-588Zm369 363q41 19 89 31t93 14v-107l-103-21-79 83ZM229-588Zm369 363Z'/%3E%3C/svg%3E") !important; }
html body:is(#page-container, body) .ct-samu.et_pb_button::before,
html body:is(#page-container, body) .ct-samu.et_pb_button:hover::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23FF8466' d='M426-136v-250L210-261l-55-93 217-126-216-125 54-93 216 125v-251h108v251l216-125 54 93-216 125 217 126-55 93-216-125v250H426Z'/%3E%3C/svg%3E") !important; }

/* carte « Ce qu'il faut apporter » : double cadre brume (anneau 8px) + cœur blanc */
html body .et_pb_section .ct-prep.ct-prep {
	width: calc(90% - 16px) !important;
	max-width: 1224px !important;
	display: grid !important;
	grid-template-columns: minmax(0, 36rem) auto;
	justify-content: space-between;
	gap: 32px !important;
	align-items: center;
	margin-top: 40px !important;
	padding: 40px !important;
	border-radius: 32px;
	background: var(--ccc-blanc);
	box-shadow: 0 0 0 8px var(--ccc-brume), 0 1px 2px 8px rgba(0, 0, 0, .05);
}
html body .ct-prep > .et_pb_column:first-child { display: flex !important; flex-direction: column !important; gap: 12px !important; }
html body .ct-prep-kicker p { display: inline-flex; align-items: center; gap: 8px; font-family: var(--ccc-font-display) !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.4 !important; letter-spacing: .05em !important; text-transform: uppercase; color: var(--ccc-corail-texte) !important; }
html body .ct-prep-kicker p::before { content: ""; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23B0401F' d='M222-214 80-356l42-42 100 99 179-179 42 43-221 221Zm0-320L80-676l42-42 100 99 179-179 42 43-221 221Zm298 244v-60h360v60H520Zm0-320v-60h360v60H520Z'/%3E%3C/svg%3E") center / contain no-repeat; }
.ct-prep h3 { font-size: 26px !important; font-weight: 600 !important; line-height: 1.2 !important; }
html body .ct-prep > .et_pb_column:first-child .et_pb_text:not(.ct-prep-kicker) p { font-size: 15px !important; line-height: 1.625 !important; color: var(--ccc-second) !important; }
html body .ct-prep > .et_pb_column:nth-child(2) { display: grid !important; grid-template-columns: repeat(2, minmax(0, 260px)); gap: 16px !important; counter-reset: ct-doc; }
html body .ct-doc.ct-doc { position: relative; counter-increment: ct-doc; padding: 16px 16px 16px 60px !important; border-radius: 16px; background: #F1F4F9; text-align: left !important; }
html body .ct-doc::before { content: counter(ct-doc); position: absolute; left: 16px; top: 16px; width: 32px; height: 32px; border-radius: 50%; background: var(--ccc-ciel-pale); display: flex; align-items: center; justify-content: center; font-family: var(--ccc-font-display); font-size: 14px; font-weight: 700; color: var(--ccc-marine); }
html body .ct-doc .et_pb_blurb_content,
html body .ct-doc .et_pb_blurb_container { display: block !important; max-width: none !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
html body .ct-doc .et_pb_main_blurb_image { display: none !important; }
html body .ct-doc .et_pb_module_header,
html body .ct-doc h3,
html body .ct-doc h4 { font-size: 15px !important; font-weight: 700 !important; line-height: 1.4 !important; margin: 0 0 2px !important; padding: 0 !important; color: var(--ccc-marine) !important; }
html body .ct-doc .et_pb_blurb_description { margin: 0 !important; padding: 0 !important; }
html body .ct-doc .et_pb_blurb_description p { font-size: 13px !important; line-height: 1.45 !important; color: var(--ccc-second) !important; }

/* ======================= TABLETTE (< 1024) ======================= */
@media (max-width: 1023px) {
	html body .ct-main.ct-main { grid-template-columns: 1fr; }
	html body .et_pb_section .ct-prep.ct-prep { grid-template-columns: 1fr; }
	html body .ct-prep > .et_pb_column:nth-child(2) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ======================= MOBILE (< 768) ======================= */
@media (max-width: 767px) {
	html body .et_pb_section.ct-main-sec { margin-top: 48px !important; }
	html body .et_pb_section.ct-places-sec { margin-top: 56px !important; }
	html body .et_pb_section.ct-urgent-sec { margin-top: 48px !important; margin-bottom: 56px !important; }
	.et_pb_section[class*=" ct-"] > .et_pb_row { width: auto !important; margin-left: 16px !important; margin-right: 16px !important; }
	html body .ct-main > .et_pb_column:first-child,
	html body .ct-main > .et_pb_column:nth-child(2) { padding: 20px !important; border-radius: 24px; }
	html body .ct-card-head p:first-child { font-size: 20px !important; }
	html body .ct-form .et_pb_contact_form { grid-template-columns: 1fr; }
	html body .ct-form .et_pb_contact_field:is(.et_pb_contact_field_half, [class*="_half"]) { grid-column: 1 / -1; }
	html body .ct-head.ct-head { flex-direction: column !important; align-items: flex-start; margin-bottom: 24px !important; }
	.ct-head h2 { font-size: 33px !important; line-height: 1.15 !important; }
	html body .ct-places.ct-places { grid-template-columns: 1fr; gap: 16px !important; }
	html body .ct-places > .et_pb_column { padding: 20px !important; border-radius: 24px; }
	html body .ct-photo-tag { top: 32px; left: 32px; }
	html body .et_pb_section .ct-mapbar.ct-mapbar { padding: 20px !important; border-radius: 24px; }
	html body .ct-mapbar .et_pb_text_inner { padding-left: 0; padding-top: 60px; }
	html body .ct-mapbar .et_pb_text_inner::before { top: 0; margin-top: 0; }
	html body .et_pb_section .ct-alert.ct-alert { grid-template-columns: 1fr; padding: 20px !important; border-radius: 24px; }
	html body .ct-alert > .et_pb_column:first-child .et_pb_text_inner { padding-left: 0; padding-top: 60px; }
	html body .et_pb_section .ct-prep.ct-prep { width: auto !important; margin-left: 24px !important; margin-right: 24px !important; padding: 20px !important; border-radius: 24px; }
	html body .ct-prep > .et_pb_column:nth-child(2) { grid-template-columns: 1fr; }
	.ct-prep h3 { font-size: 24px !important; }
}

/* Formulaire : les 4 premiers champs (Nom, Prénom, Téléphone, E-mail) en demi-largeur, par position
   (indépendant du réglage « Classe de colonne » de Divi 5) */
html body .ct-form .et_pb_contact_form > .et_pb_contact_field:nth-of-type(-n+4) { grid-column: auto !important; }
html body .ct-form .et_pb_contact_form > .et_pb_contact_field:nth-of-type(n+5) { grid-column: 1 / -1 !important; }
@media (max-width: 767px) {
	html body .ct-form .et_pb_contact_form > .et_pb_contact_field:nth-of-type(-n+4) { grid-column: 1 / -1 !important; }
}

/* Champ pièce jointe (plugin Divi Contact Form Helper, « Use As File Upload Field ») :
   habillage générique de la zone de dépôt — à affiner sur capture selon le balisage du plugin */
html body .ct-form .et_pb_contact_field:has(input[type="file"]) { grid-column: 1 / -1 !important; }
html body .ct-form .et_pb_contact_field input[type="file"] {
	width: 100% !important;
	padding: 20px 16px !important;
	border: 2px dashed var(--ccc-trait) !important;
	border-radius: 32px !important;
	background: #F1F4F9 !important;
	font-family: var(--ccc-font-text) !important;
	font-size: 14px !important;
	color: var(--ccc-second) !important;
	text-align: center;
	cursor: pointer;
	transition: background-color 150ms;
}
html body .ct-form .et_pb_contact_field input[type="file"]:hover { background: rgba(223, 230, 244, .6) !important; }
html body .ct-form .et_pb_contact_field input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--ccc-marine);
	font-family: var(--ccc-font-display);
	font-size: 14px;
	font-weight: 600;
	color: var(--ccc-blanc);
	cursor: pointer;
}

/* Zone de dépôt du plugin (Divi Contact Form Helper) — rendu de la maquette :
   cadre plein #F1F4F9 r32, icône upload_file, « Glissez votre document ou cliquez ici » + « Chiffrage AES-256 certifié santé ».
   Le contenu du plugin (bouton, textes) est rendu invisible mais reste cliquable sur toute la zone. */
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > .et_pb_contact_form_label,
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > label:first-child {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
}
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > .et_pb_contact_form_label::after,
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > label:first-child::after {
	content: "PDF, JPG, PNG < 10 Mo";
	flex-shrink: 0;
	font-family: var(--ccc-font-text);
	font-size: 12px;
	font-weight: 400;
	color: var(--ccc-second);
}
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input) {
	position: relative !important;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 16px !important;
	border: 0 !important;
	border-radius: 32px !important;
	background: #F1F4F9 !important;
	box-shadow: none !important;
	font-size: 0 !important;
	text-align: center !important;
	cursor: pointer;
	overflow: hidden;
	transition: background-color 150ms;
}
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input):hover { background: rgba(223, 230, 244, .6) !important; }
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input)::before {
	content: "Glissez votre document ou cliquez ici";
	display: block;
	padding-top: 32px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%2317264D' d='M452-202h60v-201l82 82 42-42-156-152-154 154 42 42 84-84v201ZM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h361l219 219v521q0 24-18 42t-42 18H220Zm331-554v-186H220v680h520v-494H551ZM220-820v186-186 680-680Z'/%3E%3C/svg%3E") top center / 26px no-repeat;
	font-family: var(--ccc-font-display);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--ccc-marine);
	pointer-events: none;
}
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input)::after {
	content: "Chiffrage AES-256 certifié santé";
	display: block;
	font-family: var(--ccc-font-text);
	font-size: 12px;
	line-height: 1.5;
	color: var(--ccc-second);
	pointer-events: none;
}
/* contenu du plugin : invisible, étalé sur toute la zone ; bouton / champ fichier au-dessus pour recevoir le clic */
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input) > * {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 0 !important;
	z-index: 1;
}
html body .ct-form .et_pb_contact_field:has(input[type="file"]) > :not(label):not(input) :is(button, input[type="file"], input[type="button"], label, .button) {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0 !important;
	z-index: 3 !important;
	cursor: pointer !important;
}

/* Boutons pleine largeur : on cible le conteneur direct du bouton, quel que soit son nom dans Divi 5 */
html body .ct-places > .et_pb_column > :has(> .ct-route),
html body .ct-main > .et_pb_column > :has(> .ct-btn-block) {
	display: block !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: none !important;
	text-align: left !important;
}
html body .ct-places > .et_pb_column > :has(> .ct-route) { margin-top: auto !important; padding-top: 24px !important; }
html body:is(#page-container, body) .ct-route.et_pb_button,
html body:is(#page-container, body) .ct-route.et_pb_button:hover,
html body:is(#page-container, body) .ct-btn-block.et_pb_button,
html body:is(#page-container, body) .ct-btn-block.et_pb_button:hover {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

/* Boutons du bandeau urgence : icône à gauche du texte, pleine largeur de la colonne (même correctif Divi 5) */
html body .ct-alert > .et_pb_column > :has(> .ct-tel),
html body .ct-alert > .et_pb_column > :has(> .ct-samu) {
	display: block !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: none !important;
}
html body:is(#page-container, body) .ct-tel.et_pb_button,
html body:is(#page-container, body) .ct-tel.et_pb_button:hover,
html body:is(#page-container, body) .ct-samu.et_pb_button,
html body:is(#page-container, body) .ct-samu.et_pb_button:hover {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

/* Cartes lieux : adresse collée sous le titre (comme la maquette) — marges internes du module Titre de Divi 5 annulées */
html body .ct-places .et_pb_heading,
html body .ct-places .et_pb_heading *,
html body .ct-places .et_pb_module:has(h3),
html body .ct-places .et_pb_module:has(h3) * { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
html body .ct-places h3 { line-height: 1.3 !important; }
html body .ct-places .ct-photo.ct-photo { margin-bottom: 20px !important; }
html body .ct-places .ct-address { margin-top: 2px !important; margin-bottom: 16px !important; }
html body .ct-places .ct-address p { margin: 0 !important; }

/* Écart vertical que Divi 5 met entre les modules d'une colonne : annulé là où la maquette n'en a pas
   (les espacements voulus sont portés par les marges des modules) */
html body .et_pb_section .ct-places.ct-places > .et_pb_column,
html body .et_pb_section .ct-mapbar.ct-mapbar > .et_pb_column,
html body .et_pb_section .ct-alert.ct-alert > .et_pb_column:first-child { gap: 0 !important; row-gap: 0 !important; }
html body .et_pb_section .ct-head.ct-head > .et_pb_column:first-child { gap: 4px !important; row-gap: 4px !important; }
/* Bandeau « présence » → bandeau urgence : 40px (comme cartes → bandeau) */
html body .et_pb_section.ct-urgent-sec { margin-top: 40px !important; }
@media (max-width: 767px) {
	html body .et_pb_section.ct-urgent-sec { margin-top: 32px !important; }
}


/* ==========================================================================
   23. MOBILE — boutons des heros et cartes RDV en pleine largeur, tous à la même taille
   Divi 5 emballe le bouton dans un conteneur qui garde la largeur du texte : on cible ce conteneur directement.
   ========================================================================== */
@media (max-width: 767px) {
	html body :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell, .hm-cta-card, .sv-cta-card, .pc-rdv-card, .ap-cta-card) > .et_pb_column > :has(> .et_pb_button) {
		display: block !important;
		align-self: stretch !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	html body:is(#page-container, body) :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell, .hm-cta-card, .sv-cta-card, .pc-rdv-card, .ap-cta-card) .et_pb_button.et_pb_button {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}
}

/* Mobile : bouton Doctolib — le texte passe à la ligne au lieu de déborder ; réassurance empilée sans « · » */
@media (max-width: 767px) {
	html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button,
	html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button:hover {
		height: auto !important;
		min-height: 56px;
		white-space: normal !important;
		text-align: left !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
		overflow: hidden;
	}
	html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button::after,
	html body:is(#page-container, body) .ct-btn-block.ccc-btn.et_pb_button:hover::after { flex-shrink: 0 !important; }
	html body .ct-reassure .et_pb_text_inner { flex-direction: column !important; }
	html body .ct-reassure p + p::before { content: none !important; }
}

/* Mobile v2.7.4 : boutons corail des heros et cartes RDV — texte 15px qui peut passer à la ligne, rond fléché jamais coupé */
@media (max-width: 767px) {
	html body:is(#page-container, body) :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell, .hm-cta-card, .sv-cta-card, .pc-rdv-card, .ap-cta-card) .ccc-btn.ccc-btn.et_pb_button:not(.ccc-btn--ghost),
	html body:is(#page-container, body) :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell, .hm-cta-card, .sv-cta-card, .pc-rdv-card, .ap-cta-card) .ccc-btn.ccc-btn.et_pb_button:not(.ccc-btn--ghost):hover {
		justify-content: space-between !important;
		column-gap: 12px !important;
		height: auto !important;
		min-height: 52px !important;
		padding: 8px 8px 8px 24px !important;
		font-size: 15px !important;
		font-weight: 700 !important;
		line-height: 1.3 !important;
		white-space: normal !important;
		text-align: left !important;
		min-width: 0 !important;
	}
	html body:is(#page-container, body) :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell, .hm-cta-card, .sv-cta-card, .pc-rdv-card, .ap-cta-card) .ccc-btn.ccc-btn.et_pb_button:not(.ccc-btn--ghost)::after {
		flex: 0 0 36px !important;
		width: 36px !important;
		height: 36px !important;
	}
	html body:is(#page-container, body) :is(.hm-hero-shell, .sv-hero-shell, .pc-hero-shell, .ap-hero-shell) .ccc-btn--ghost.ccc-btn.et_pb_button {
		white-space: normal !important;
		height: auto !important;
		min-height: 48px !important;
		font-size: 15px !important;
		line-height: 1.3 !important;
	}
}

/* Mobile v2.7.5 : hero À propos — 12px entre les deux boutons empilés (comme les autres heros) */
@media (max-width: 767px) {
	html body .ap-hero-shell > .et_pb_column > :has(> .et_pb_button) + :has(> .et_pb_button) { margin-top: 12px !important; }
}

/* Mobile v2.7.6 : hero À propos — portrait rond centré AU-DESSUS du texte (maquette mobile : 112px, double cadre blanc/10 + blanc/20) */
@media (max-width: 767px) {
	html body .et_pb_section .ap-hero-shell.ap-hero-shell { gap: 20px !important; }
	html body .ap-hero-shell > .et_pb_column:last-child {
		order: -1 !important;
		justify-content: center !important;
		width: 100% !important;
	}
	html body .ap-hero-shell .hm-portrait.hm-portrait {
		width: auto !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 8px !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, .1) !important;
	}
	html body .ap-hero-shell .hm-portrait .et_pb_image_wrap {
		display: block !important;
		width: auto !important;
		padding: 4px !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, .2) !important;
	}
	html body .ap-hero-shell .hm-portrait img {
		width: 112px !important;
		height: 112px !important;
		max-width: none !important;
		aspect-ratio: 1 / 1 !important;
		object-fit: cover !important;
		object-position: center top;
		border-radius: 50% !important;
		box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, .05);
	}
}
