/* ==========================================================================
   DOSSÉO — styles du site
   Charte verrouillée : crème ~55 %, bleu ~30 %, encre ~10 %, corail ~5 %.
   Le corail ne sert qu'aux boutons principaux, aux soulignés de liens et aux petits accents.
   ========================================================================== */

:root {
	--bleu: #1B3B5A;   /* base, confiance */
	--corail: #F4715E; /* accent uniquement */
	--creme: #F6F1EA;  /* fonds */
	--encre: #1D2A33;  /* texte */
	--gris: #ECE6DD;   /* bordures, filets */
	--blanc: #FFFFFF;

	--corail-fonce: #E9604C;
	--encre-douce: #4A5560;
	--bordure-champ: #CFC6BA;
	--bleu-voile: #EEF2F6;
	--erreur: #B3261E;

	--rayon-petit: 12px;
	--rayon: 20px;
	--rayon-grand: 28px;
	--pilule: 999px;
	--ombre: 0 1px 2px rgba(29, 42, 51, 0.04), 0 12px 32px rgba(27, 59, 90, 0.08);
	--entete: 72px;
	--titre: var(--wp--preset--font-family--outfit, Outfit, system-ui, sans-serif);

	--ic-tel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25c1.1.37 2.3.57 3.6.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
	--ic-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4-8 5-8-5V6l8 5 8-5z'/%3E%3C/svg%3E");
	--ic-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
	--ic-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
	--ic-ecran: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 3H3a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 13H3V5h18z'/%3E%3C/svg%3E");
	--ic-lieu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
	--ic-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5h2v14h-2z'/%3E%3Cpath d='M5 11h14v2H5z'/%3E%3C/svg%3E");
	--ic-moins: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 11h14v2H5z'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--entete) + 16px);
}

body {
	overflow-x: clip;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

::selection { background: var(--bleu); color: var(--creme); }

:where(p, li) { text-wrap: pretty; }
:where(h1, h2, h3) { text-wrap: balance; }

strong { font-weight: 600; }

/* Liens de texte : bleu (contraste AA), souligné corail. */
a:where(:not(.wp-element-button):not(.wp-block-button__link)) {
	text-decoration-color: var(--corail);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.2em;
	font-weight: 500;
}

:focus-visible {
	outline: 2px solid var(--bleu);
	outline-offset: 3px;
}

.screen-reader-text,
.dosseo-invisible {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* Pas d'espace parasite entre en-tête, contenu et pied de page. */
.wp-site-blocks > * { margin-block: 0; }

.dosseo-main .wp-block-post-content > .dosseo-section,
.dosseo-main .wp-block-post-content > .wp-block-group.alignfull { margin-block: 0; }

/* --------------------------------------------------------------------------
   Boutons
   -------------------------------------------------------------------------- */

.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 48px;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.wp-block-button__link:active { transform: translateY(1px); }

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--bleu);
	border-color: var(--bleu);
	color: var(--creme);
}

/* Sur fond bleu : secondaire en contour crème, texte crème. */
:is(.dosseo-section--bleu, .dosseo-pied, .dosseo-cta) .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: var(--creme);
	color: var(--creme);
}

:is(.dosseo-section--bleu, .dosseo-pied, .dosseo-cta) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--creme);
	border-color: var(--creme);
	color: var(--bleu);
}

.wp-block-buttons { gap: 0.75rem; }

/* Numéro de téléphone et e-mail : liens avec icône, jamais un gros bouton coloré. */
.dosseo-bouton-tel > .wp-block-button__link,
.dosseo-bouton-lien > .wp-block-button__link {
	background: transparent;
	border-color: transparent;
	color: var(--bleu);
	padding: 0.5rem 0.25rem;
	min-height: 44px;
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration: underline;
	text-decoration-color: var(--corail);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.25em;
}

.dosseo-bouton-tel > .wp-block-button__link:hover,
.dosseo-bouton-lien > .wp-block-button__link:hover {
	background: transparent;
	border-color: transparent;
	color: var(--bleu);
	text-decoration-color: currentColor;
}

.dosseo-bouton-tel > .wp-block-button__link::before,
.dosseo-bouton-lien > .wp-block-button__link[href^="mailto:"]::before {
	content: "";
	flex: none;
	width: 1.1em;
	height: 1.1em;
	background: var(--corail);
	-webkit-mask: var(--ic-tel) center / contain no-repeat;
	mask: var(--ic-tel) center / contain no-repeat;
}

.dosseo-bouton-lien > .wp-block-button__link[href^="mailto:"]::before {
	-webkit-mask-image: var(--ic-mail);
	mask-image: var(--ic-mail);
}

.dosseo-bouton-lien > .wp-block-button__link[href^="tel:"]::before {
	content: "";
	flex: none;
	width: 1.1em;
	height: 1.1em;
	background: var(--corail);
	-webkit-mask: var(--ic-tel) center / contain no-repeat;
	mask: var(--ic-tel) center / contain no-repeat;
}

.dosseo-bouton-tel--grand > .wp-block-button__link {
	font-family: var(--titre);
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	white-space: nowrap;
}

:is(.dosseo-section--bleu, .dosseo-pied) :is(.dosseo-bouton-tel, .dosseo-bouton-lien) > .wp-block-button__link,
:is(.dosseo-section--bleu, .dosseo-pied) :is(.dosseo-bouton-tel, .dosseo-bouton-lien) > .wp-block-button__link:hover {
	color: var(--creme);
}

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

.dosseo-zone-entete {
	position: sticky;
	top: 0;
	z-index: 50;
}

.admin-bar .dosseo-zone-entete { top: var(--wp-admin--admin-bar--height, 32px); }

@media (max-width: 600px) {
	.admin-bar .dosseo-zone-entete { top: 0; }
}

.dosseo-entete {
	background: rgba(246, 241, 234, 0.94);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--gris);
	transition: box-shadow 0.2s ease;
}

.est-defile .dosseo-entete { box-shadow: 0 6px 24px rgba(27, 59, 90, 0.08); }

.dosseo-entete__barre {
	min-height: var(--entete);
	gap: 1rem;
}

.dosseo-entete__droite { gap: 0.5rem 1rem; }

.dosseo-entete__actions {
	flex-wrap: nowrap;
	gap: 0.5rem;
}

.dosseo-entete__rdv > .wp-block-button__link {
	padding: 0.65rem 1.25rem;
	min-height: 44px;
	white-space: nowrap;
}

.dosseo-entete__tel > .wp-block-button__link {
	font-size: 1rem;
	white-space: nowrap;
	text-decoration: none;
}

/* Logo (en attendant les SVG : texte Outfit 700) */
.dosseo-logo {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--bleu);
	text-decoration: none !important;
	font-weight: 700;
}

.dosseo-logo__texte {
	font-family: var(--titre);
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
	/* Zone de protection : la hauteur d'un « o ». */
	padding: 0.25em 0;
}

.dosseo-logo__e {
	position: relative;
	display: inline-block;
}

/* L'accent : trait corail incliné, sur toutes les variantes du logo. */
.dosseo-logo__e::before {
	content: "";
	position: absolute;
	left: 48%;
	top: -0.2em;
	width: 0.105em;
	height: 0.34em;
	border-radius: 0.06em;
	background: var(--corail);
	transform: rotate(42deg);
	transform-origin: bottom center;
}

.dosseo-logo__image { display: block; height: 40px; width: auto; min-width: 60px; }

.dosseo-logo--sur-bleu { color: var(--creme); }

/* Navigation */
.dosseo-nav .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0.25rem 0.6rem;
	color: var(--encre);
	text-decoration: none;
	font-weight: 600;
	border-radius: var(--rayon-petit);
}

.dosseo-nav .wp-block-navigation-item__content:hover {
	color: var(--bleu);
	text-decoration: underline;
	text-decoration-color: var(--corail);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.35em;
}

.dosseo-nav .wp-block-navigation__container { gap: 0.25rem; }

.dosseo-nav .wp-block-navigation__responsive-container-open,
.dosseo-nav .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: var(--rayon-petit);
	color: var(--bleu);
}

.dosseo-nav .wp-block-navigation__responsive-container-open { border: 1px solid var(--gris); background: var(--blanc); }

.dosseo-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--bleu) !important;
	color: var(--creme) !important;
	padding: 1.25rem clamp(1rem, 4vw, 2rem) 2rem;
}

.dosseo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: var(--creme); }

.dosseo-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem; }

.dosseo-nav .is-menu-open .wp-block-navigation__container { gap: 0.5rem !important; }

.dosseo-nav .is-menu-open .wp-block-navigation-item__content {
	color: var(--creme);
	font-family: var(--titre);
	font-size: 1.75rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	padding: 0.35rem 0;
}

/* Menu burger jusqu'à 1024 px (le cœur de WordPress bascule à 600 px). */
@media (min-width: 600px) and (max-width: 1023.98px) {
	.dosseo-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.dosseo-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

@media (max-width: 1023.98px) {
	.dosseo-nav { order: 2; }
}

@media (max-width: 1199.98px) {
	.dosseo-entete .dosseo-entete__tel.dosseo-entete__tel { display: none; }
}

@media (max-width: 781.98px) {
	:root { --entete: 64px; }
	.dosseo-entete .dosseo-entete__actions.dosseo-entete__actions { display: none; }
	.dosseo-logo__texte { font-size: 1.625rem; }
}

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */

.dosseo-section {
	position: relative;
	padding-block: var(--wp--preset--spacing--80);
}

.dosseo-section--bleu {
	background: var(--bleu);
	color: var(--creme);
}

.dosseo-section--bleu :is(h1, h2, h3, h4) { color: var(--creme); }

.dosseo-section--bleu a:where(:not(.wp-element-button):not(.wp-block-button__link)) { color: var(--creme); }

.dosseo-section__entete { margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem); }

.dosseo-section__entete.dosseo-section__entete > * { margin-block: 0; }

.dosseo-section__entete > * + * { margin-top: 0.75rem !important; }

.dosseo-section__titre { max-width: 22ch; }

.dosseo-section__intro {
	max-width: 60ch;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--encre-douce);
}

.dosseo-section--bleu .dosseo-section__intro { color: rgba(246, 241, 234, 0.86); }

.dosseo-baseline {
	font-family: var(--titre);
	font-weight: 600;
	color: var(--bleu);
	letter-spacing: -0.01em;
}

.dosseo-section--bleu .dosseo-baseline,
.dosseo-pied .dosseo-baseline { color: var(--creme); }

/* Les enfants « non larges » d'une section s'alignent sur la largeur large. */
.dosseo-section > :is(.wp-block-buttons, .dosseo-faq, .dosseo-faq__pied) { max-width: var(--wp--style--global--wide-size); }

/* --------------------------------------------------------------------------
   1. Accueil (hero)
   -------------------------------------------------------------------------- */

.dosseo-hero {
	padding-block: clamp(2.5rem, 1rem + 6vw, 6rem) var(--wp--preset--spacing--80);
	overflow: clip;
}

.dosseo-hero > * { position: relative; }

.dosseo-hero__grille {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.dosseo-hero__grille.dosseo-hero__grille > * { margin: 0; }

.dosseo-hero__texte.dosseo-hero__texte > * { margin-block: 0; }

.dosseo-hero__titre { max-width: 16ch; }

.dosseo-hero__baseline {
	margin-top: 1.25rem !important;
	font-size: var(--wp--preset--font-size--large);
}

.dosseo-hero__intro {
	margin-top: 1rem !important;
	max-width: 56ch;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--encre-douce);
}

.dosseo-hero__actions { margin-top: 2rem !important; }

.dosseo-reassurance {
	margin-top: 1.5rem !important;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.5rem;
	font-size: 0.9375rem;
	font-weight: 500;
}

.dosseo-reassurance li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.dosseo-reassurance li::before {
	content: "";
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background-color: var(--bleu);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6F1EA' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
	background-position: center;
	background-size: 0.8rem;
	background-repeat: no-repeat;
}

/* Carte « Votre dossier » */
.dosseo-dossier {
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--rayon-grand);
	padding: clamp(1.25rem, 1rem + 1vw, 1.75rem);
	box-shadow: var(--ombre);
}

.dosseo-dossier.dosseo-dossier > * { margin-block: 0; }

.dosseo-dossier__titre {
	font-family: var(--titre);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--bleu);
	display: flex;
	align-items: center;
	gap: 0.6rem;
}

.dosseo-dossier__titre::before {
	content: "";
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 50%;
	background: var(--corail);
	box-shadow: 0 0 0 4px rgba(244, 113, 94, 0.18);
}

.dosseo-dossier__etapes {
	list-style: none;
	padding: 0;
	margin: 1rem 0 !important;
}

.dosseo-dossier__etapes li {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 0;
	border-top: 1px solid var(--gris);
	font-weight: 500;
}

.dosseo-dossier__etapes li::before {
	content: "";
	flex: none;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background-color: var(--bleu);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6F1EA' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
	background-position: center;
	background-size: 1rem;
	background-repeat: no-repeat;
}

.dosseo-dossier__etapes li:last-child::before {
	background: var(--blanc);
	border: 2px solid var(--corail);
	box-shadow: inset 0 0 0 5px var(--blanc), inset 0 0 0 12px var(--corail);
	animation: dosseo-pouls 2.4s ease-in-out infinite;
}

@keyframes dosseo-pouls {
	50% { box-shadow: inset 0 0 0 5px var(--blanc), inset 0 0 0 12px var(--corail), 0 0 0 6px rgba(244, 113, 94, 0.15); }
}

.dosseo-dossier__pied {
	background: var(--creme);
	border-radius: 16px;
	padding: 1rem 1.1rem;
}

.dosseo-dossier__pied.dosseo-dossier__pied > * { margin-block: 0; }

.dosseo-dossier__appel { font-size: 0.9375rem; color: var(--encre-douce); }

.dosseo-dossier__pied .wp-block-buttons { margin-top: 0.15rem !important; }


@media (max-width: 899.98px) {
	.dosseo-hero__grille { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------------------------------------------------
   2. Comment ça marche
   -------------------------------------------------------------------------- */

.dosseo-etapes {
	counter-reset: etape;
	gap: 1.25rem;
}

.dosseo-etape {
	counter-increment: etape;
	background: rgba(246, 241, 234, 0.05);
	border: 1px solid rgba(246, 241, 234, 0.16);
	border-radius: var(--rayon);
	padding: 1.5rem;
}

.dosseo-etape.dosseo-etape > * { margin-block: 0; }

.dosseo-etape::before {
	content: counter(etape, decimal-leading-zero);
	display: block;
	font-family: var(--titre);
	font-weight: 700;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: -0.02em;
	color: rgba(246, 241, 234, 0.5);
	margin-bottom: 1.25rem;
}

.dosseo-etape__titre { font-size: 1.1875rem; }

.dosseo-etape__texte {
	margin-top: 0.6rem !important;
	color: rgba(246, 241, 234, 0.86);
}

.dosseo-cta--simple {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	margin-top: clamp(2rem, 4vw, 3rem) !important;
	padding-top: 2rem;
	border-top: 1px solid rgba(246, 241, 234, 0.18);
}

.dosseo-cta--simple.dosseo-cta--simple > * { margin: 0; }

.dosseo-cta--simple .dosseo-cta__texte {
	font-family: var(--titre);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--large);
}

/* --------------------------------------------------------------------------
   3. Prestations et tarifs
   -------------------------------------------------------------------------- */

/* Onglets (créés par dosseo.js ; sans JavaScript, les familles s'affichent les unes sous les autres) */
.dosseo-onglets__liste {
	display: flex;
	gap: 0.25rem;
	width: fit-content;
	max-width: 100%;
	margin: 0 0 2rem;
	padding: 0.3rem;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--pilule);
}

.dosseo-onglets__liste::-webkit-scrollbar { display: none; }

.dosseo-onglet {
	flex: 0 0 auto;
	scroll-snap-align: start;
	min-height: 44px;
	padding: 0.6rem 1.1rem;
	border: 0;
	border-radius: var(--pilule);
	background: transparent;
	color: var(--encre);
	font-family: var(--titre);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.dosseo-onglet:hover { background: var(--creme); }

.dosseo-onglet[aria-selected="true"] {
	background: var(--bleu);
	color: var(--creme);
}

.dosseo-onglet:focus-visible { outline-offset: 2px; }

.dosseo-onglets.dosseo-onglets > .dosseo-famille { margin-block: 0; }

.dosseo-onglets:not(.est-actif) > .dosseo-famille + .dosseo-famille {
	margin-top: 3.5rem !important;
	padding-top: 3rem;
	border-top: 1px solid var(--gris);
}

.dosseo-famille[hidden] { display: none !important; }

.dosseo-famille:focus-visible { outline-offset: 8px; border-radius: var(--rayon); }

.dosseo-famille.dosseo-famille > * { margin-block: 0; }

.dosseo-famille > * + * { margin-top: 1.25rem !important; }

.dosseo-famille__titre {
	font-family: var(--titre);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	color: var(--bleu);
	letter-spacing: -0.02em;
}

.est-actif .dosseo-famille__titre {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px !important;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.est-actif .dosseo-famille__titre + * { margin-top: 0 !important; }

.dosseo-famille__intro { color: var(--encre-douce); max-width: 60ch; }

.dosseo-cartes { gap: 1.25rem; align-items: stretch; }

/* Grilles : les cartes occupent toute la largeur (pas de colonne vide). */
.dosseo-cartes.dosseo-cartes,
.dosseo-zone__cartes.dosseo-zone__cartes,
.dosseo-temoignages__liste.dosseo-temoignages__liste {
	grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
}

.dosseo-carte--large { max-width: 820px; }

.dosseo-carte {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--rayon);
	padding: 1.5rem;
}

.dosseo-carte.dosseo-carte > * { margin: 0; }

.dosseo-carte__titre {
	font-size: 1.1875rem;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.dosseo-prix {
	margin-top: 0.35rem !important;
	font-family: var(--titre);
	font-weight: 700;
	font-size: 1.75rem;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--bleu);
}

.dosseo-tva {
	font-size: 0.875rem;
	color: var(--encre-douce);
}

.dosseo-desc { margin-top: 0.5rem !important; }

.dosseo-compris {
	margin-top: auto !important;
	padding-top: 0.5rem;
}

.dosseo-desc + .dosseo-compris,
.dosseo-tva + .dosseo-compris { margin-top: auto !important; }

.dosseo-compris > summary,
.dosseo-question > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
}

.dosseo-compris > summary::-webkit-details-marker,
.dosseo-question > summary::-webkit-details-marker { display: none; }

.dosseo-compris > summary {
	min-height: 44px;
	margin-top: 0.75rem;
	border-top: 1px solid var(--gris);
	padding-top: 0.5rem;
	font-weight: 600;
	font-size: 0.9375rem;
	color: var(--bleu);
}

.dosseo-compris > summary::after {
	content: "";
	flex: none;
	width: 1.25rem;
	height: 1.25rem;
	background: var(--bleu);
	-webkit-mask: var(--ic-chevron) center / contain no-repeat;
	mask: var(--ic-chevron) center / contain no-repeat;
	transition: transform 0.2s ease;
}

.dosseo-compris[open] > summary::after { transform: rotate(180deg); }

.dosseo-compris > :not(summary) {
	margin: 0.5rem 0 0;
	font-size: 0.9375rem;
}

.dosseo-compris__intro { color: var(--encre-douce); }

.dosseo-compris ul {
	padding-left: 1.1rem;
	margin-top: 0.35rem;
}

.dosseo-compris li { margin-block: 0.2rem; }

.dosseo-compris li::marker,
.dosseo-encadre li::marker { color: var(--corail); }

.dosseo-carte--option {
	background: transparent;
	border-style: dashed;
	border-color: #D9D0C3;
}

@media (min-width: 900px) {
	.dosseo-carte--large .dosseo-compris ul { columns: 2; column-gap: 2rem; }
	.dosseo-carte--large .dosseo-compris li { break-inside: avoid; }
}

.dosseo-sous-titre {
	margin-top: 2.25rem !important;
	font-family: var(--titre);
	font-weight: 600;
	font-size: 1.0625rem;
	color: var(--bleu);
}

.dosseo-note {
	max-width: 75ch;
	padding-left: 1rem;
	border-left: 3px solid var(--gris);
	font-size: 0.9375rem;
	color: var(--encre-douce);
}

.dosseo-etiquettes {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.dosseo-etiquettes li {
	margin: 0;
	padding: 0.35rem 0.85rem;
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--pilule);
	font-size: 0.875rem;
	font-weight: 500;
}

.dosseo-encadre {
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-left: 4px solid var(--corail);
	border-radius: var(--rayon);
	padding: 1.5rem 1.75rem;
}

.dosseo-encadre.dosseo-encadre > * { margin-block: 0; }

.dosseo-encadre > * + * { margin-top: 0.75rem !important; }

.dosseo-encadre--neutre { border-left-color: var(--bleu); }

.dosseo-encadre__titre {
	font-family: var(--titre);
	font-weight: 700;
	font-size: 1.25rem;
	color: var(--bleu);
	letter-spacing: -0.01em;
}

.dosseo-encadre ul { padding-left: 1.1rem; }

.dosseo-encadre .wp-block-buttons { margin-top: 1rem !important; }

.dosseo-mentions-prix {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 1rem;
	margin-top: 2.5rem !important;
	padding: 1rem 1.25rem;
	border: 1px solid var(--gris);
	border-radius: var(--rayon-petit);
	background: rgba(255, 255, 255, 0.55);
	font-size: 0.9375rem;
}

.dosseo-mentions-prix.dosseo-mentions-prix > * { margin: 0; }

/* Bloc d'appel à l'action (fond bleu) */
.dosseo-cta:not(.dosseo-cta--simple) {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem 2rem;
	margin-top: 2.5rem !important;
	padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
	background: var(--bleu);
	color: var(--creme);
	border-radius: var(--rayon-grand);
}

.dosseo-cta:not(.dosseo-cta--simple)::after {
	content: "";
	position: absolute;
	right: -40px;
	top: -60px;
	width: 260px;
	aspect-ratio: 1;
	background: url("../img/motif-fleche-clair.svg") center / contain no-repeat;
	pointer-events: none;
}

.dosseo-cta.dosseo-cta > * { margin: 0; position: relative; z-index: 1; }

.dosseo-cta__corps.dosseo-cta__corps > * { margin-block: 0; }

.dosseo-cta__titre {
	font-family: var(--titre);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: -0.02em;
}

.dosseo-cta__corps .dosseo-cta__texte {
	margin-top: 0.35rem !important;
	color: rgba(246, 241, 234, 0.86);
}

/* --------------------------------------------------------------------------
   4. Zone d'intervention
   -------------------------------------------------------------------------- */

.dosseo-zone { border-top: 1px solid var(--gris); }

.dosseo-zone__cartes { gap: 1.25rem; }

.dosseo-zone__carte {
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--rayon);
	padding: clamp(1.5rem, 1.2rem + 1vw, 2rem);
}

.dosseo-zone__carte.dosseo-zone__carte > * { margin-block: 0; }

.dosseo-zone__carte > * + * { margin-top: 0.6rem !important; }

.dosseo-zone__carte::before {
	content: "";
	display: block;
	width: 3rem;
	height: 3rem;
	margin-bottom: 1.25rem;
	border-radius: 14px;
	background-color: var(--creme);
	background-image: var(--ic-ecran);
	background-position: center;
	background-size: 1.5rem;
	background-repeat: no-repeat;
}

.dosseo-zone__carte--distance::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231B3B5A' d='M21 3H3a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h7v2H8v2h8v-2h-2v-2h7a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 13H3V5h18z'/%3E%3C/svg%3E"); }

.dosseo-zone__carte--secteur::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231B3B5A' d='M12 2a7 7 0 0 0-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E"); }

.dosseo-zone__carte h3 { font-size: 1.3125rem; }

.dosseo-zone__actions { margin-top: 2rem !important; }

/* --------------------------------------------------------------------------
   5. Derrière DOSSÉO
   -------------------------------------------------------------------------- */

.dosseo-apropos { overflow: clip; }

.dosseo-apropos__grille {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.dosseo-apropos__grille.dosseo-apropos__grille > * { margin: 0; }

.dosseo-apropos__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--rayon-grand);
}

.dosseo-apropos__texte.dosseo-apropos__texte > * { margin-block: 0; }

.dosseo-apropos__texte > * + * { margin-top: 1rem !important; }

.dosseo-apropos__texte .dosseo-section__titre { margin-bottom: 1.5rem !important; }

.dosseo-apropos__texte p { max-width: 62ch; color: rgba(246, 241, 234, 0.9); }

.dosseo-apropos__chapo {
	font-family: var(--titre);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	line-height: 1.35;
	color: var(--creme) !important;
}

.dosseo-apropos__baseline {
	margin-top: 2rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(246, 241, 234, 0.2);
	font-size: var(--wp--preset--font-size--large);
	color: var(--creme) !important;
}

@media (max-width: 781.98px) {
	.dosseo-apropos__grille { grid-template-columns: minmax(0, 1fr); }
	.dosseo-apropos__photo { max-width: 360px; }
}

/* --------------------------------------------------------------------------
   Témoignages (masqués par défaut)
   -------------------------------------------------------------------------- */

.dosseo-temoignages__liste { gap: 1.25rem; }

.dosseo-temoignages .wp-block-quote {
	margin: 0;
	padding: 1.75rem;
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--rayon);
}

.dosseo-temoignages .wp-block-quote cite {
	display: block;
	margin-top: 1rem;
	font-style: normal;
	font-weight: 600;
	color: var(--bleu);
}

/* --------------------------------------------------------------------------
   6. FAQ
   -------------------------------------------------------------------------- */

.dosseo-faq-section { background: var(--blanc); }

.dosseo-section.dosseo-faq-section > :is(.dosseo-section__entete, .dosseo-faq, .dosseo-faq__pied) { max-width: 860px; }

.dosseo-faq { border-top: 1px solid var(--gris); }

.dosseo-faq.dosseo-faq > * { margin: 0; }

.dosseo-question { border-bottom: 1px solid var(--gris); }

.dosseo-question > summary {
	min-height: 56px;
	padding: 1.1rem 0;
	font-family: var(--titre);
	font-weight: 600;
	font-size: 1.125rem;
	line-height: 1.35;
	color: var(--bleu);
}

.dosseo-question > summary::after {
	content: "";
	flex: none;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: var(--creme);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231B3B5A' d='M11 5h2v14h-2z'/%3E%3Cpath fill='%231B3B5A' d='M5 11h14v2H5z'/%3E%3C/svg%3E");
	background-position: center;
	background-size: 1rem;
	background-repeat: no-repeat;
}

.dosseo-question[open] > summary::after {
	background-color: var(--bleu);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23F6F1EA' d='M5 11h14v2H5z'/%3E%3C/svg%3E");
}

.dosseo-question > summary:hover { text-decoration: underline; text-decoration-color: var(--corail); text-decoration-thickness: 2px; text-underline-offset: 0.3em; }

.dosseo-question > :not(summary) {
	margin: 0 0 1.25rem;
	max-width: 68ch;
	color: var(--encre-douce);
}

.dosseo-faq__pied {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1rem;
	margin-top: 2rem !important;
}

.dosseo-faq__pied.dosseo-faq__pied > * { margin: 0; }

.dosseo-faq__appel { font-weight: 500; }

/* --------------------------------------------------------------------------
   7. Contact
   -------------------------------------------------------------------------- */

.dosseo-contact__grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.4fr);
	gap: 1.25rem;
	align-items: start;
}

.dosseo-contact__grille.dosseo-contact__grille > * { margin: 0; }

.dosseo-contact__carte {
	background: var(--blanc);
	border: 1px solid var(--gris);
	border-radius: var(--rayon);
	padding: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	scroll-margin-top: calc(var(--entete) + 16px);
}

.dosseo-contact__carte.dosseo-contact__carte > * { margin-block: 0; }

.dosseo-contact__carte > * + * { margin-top: 0.75rem !important; }

.dosseo-contact__carte h3 { font-size: 1.375rem; }

.dosseo-contact__libelle {
	margin-top: 1.25rem !important;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--encre-douce);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.dosseo-contact__libelle + .wp-block-buttons { margin-top: 0 !important; }

.dosseo-contact__carte--appel .is-style-outline { margin-top: 0.5rem; }

.dosseo-contact__types {
	list-style: none;
	padding: 0;
	font-size: 0.9375rem;
}

.dosseo-contact__types li {
	display: flex;
	gap: 0.6rem;
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--gris);
}

.dosseo-contact__types li::before {
	content: "";
	flex: none;
	width: 0.5rem;
	height: 0.5rem;
	margin-top: 0.55rem;
	border-radius: 50%;
	background: var(--corail);
}

.dosseo-contact__carte--formulaire { container-type: inline-size; }

@media (max-width: 1099.98px) {
	.dosseo-contact__grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.dosseo-contact__carte--formulaire { grid-column: 1 / -1; }
}

@media (max-width: 699.98px) {
	.dosseo-contact__grille { grid-template-columns: minmax(0, 1fr); }
}

/* Prise de rendez-vous */
.dosseo-resa > * { margin: 0; }

.dosseo-resa > * + * { margin-top: 0.75rem; }

.dosseo-resa__info,
.dosseo-resa__secours { font-size: 0.875rem; color: var(--encre-douce); }

.dosseo-resa__charger { width: 100%; }

.dosseo-resa__cadre {
	min-height: 560px;
	margin-top: 1rem;
	border-radius: var(--rayon-petit);
	overflow: auto;
}

.dosseo-resa.est-charge .dosseo-resa__info,
.dosseo-resa.est-charge .dosseo-resa__charger { display: none; }

.dosseo-resa--attente p { font-size: 0.9375rem; }

/* Formulaire (Contact Form 7) */
.dosseo-form > * { margin: 0 0 1rem; }

.dosseo-form__ligne {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 1rem;
	margin: 0;
}

.dosseo-form__ligne > * { margin: 0 0 1rem; }

@container (min-width: 520px) {
	.dosseo-form__ligne { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

.dosseo-champ { margin: 0 0 1rem; }

.dosseo-champ label,
.dosseo-champ legend {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--encre);
}

.dosseo-requis { color: var(--bleu); }

.dosseo-facultatif,
.dosseo-aide,
.dosseo-mention-requis {
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--encre-douce);
}

.dosseo-aide { display: block; margin-top: 0.3rem; }

.dosseo-form .wpcf7-form-control-wrap { display: block; }

.dosseo-form :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--bordure-champ);
	border-radius: var(--rayon-petit);
	background: var(--blanc);
	color: var(--encre);
	font: inherit;
	font-size: 1rem;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.dosseo-form select {
	appearance: none;
	padding-right: 2.5rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231B3B5A' d='M7.4 8.6 12 13.2l4.6-4.6L18 10l-6 6-6-6z'/%3E%3C/svg%3E");
	background-position: right 0.75rem center;
	background-size: 1.25rem;
	background-repeat: no-repeat;
}

.dosseo-form textarea { min-height: 8.5rem; resize: vertical; }

.dosseo-form :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--bleu);
	box-shadow: 0 0 0 3px rgba(27, 59, 90, 0.18);
}

.dosseo-form ::placeholder { color: #7A838B; opacity: 1; }

.dosseo-choix {
	border: 0;
	padding: 0;
	min-width: 0;
}

.dosseo-choix .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.dosseo-choix .wpcf7-list-item { margin: 0; }

.dosseo-choix .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	margin: 0;
	padding: 0.45rem 1rem 0.45rem 0.8rem;
	border: 1px solid var(--bordure-champ);
	border-radius: var(--pilule);
	background: var(--blanc);
	font-weight: 500;
	cursor: pointer;
}

.dosseo-choix .wpcf7-list-item label:has(input:checked) {
	border-color: var(--bleu);
	background: var(--bleu-voile);
	box-shadow: inset 0 0 0 1px var(--bleu);
}

.dosseo-form :is(input[type="radio"], input[type="checkbox"]) {
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	accent-color: var(--bleu);
	flex: none;
}

.dosseo-consentement { font-size: 0.875rem; }

.dosseo-consentement .wpcf7-list-item { margin: 0; }

.dosseo-consentement label {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	cursor: pointer;
}

.dosseo-consentement input[type="checkbox"] { margin-top: 0.15rem; }

.dosseo-form .wpcf7-submit { width: 100%; cursor: pointer; }

.dosseo-form .wpcf7-submit:disabled { opacity: 0.6; cursor: not-allowed; }

.dosseo-form .wpcf7-spinner { display: block; margin: 0.75rem auto 0; }

.dosseo-form .wpcf7-not-valid { border-color: var(--erreur) !important; }

.dosseo-form .wpcf7-not-valid-tip {
	margin-top: 0.3rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--erreur);
}

.dosseo-formulaire .wpcf7 form .wpcf7-response-output {
	margin: 1rem 0 0;
	padding: 0.9rem 1rem;
	border: 1px solid var(--gris);
	border-left: 4px solid var(--bleu);
	border-radius: var(--rayon-petit);
	background: var(--bleu-voile);
	font-weight: 500;
}

.dosseo-formulaire .wpcf7 form.invalid .wpcf7-response-output,
.dosseo-formulaire .wpcf7 form.unaccepted .wpcf7-response-output,
.dosseo-formulaire .wpcf7 form.failed .wpcf7-response-output,
.dosseo-formulaire .wpcf7 form.spam .wpcf7-response-output {
	border-left-color: var(--erreur);
	background: #FBEFEE;
}

.dosseo-formulaire .wpcf7 form.sent .dosseo-form { display: none; }

.dosseo-hp {
	position: absolute !important;
	left: -10000px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* --------------------------------------------------------------------------
   Pied de page
   -------------------------------------------------------------------------- */

.dosseo-pied {
	background: var(--bleu);
	color: var(--creme);
	padding-block: clamp(3rem, 2rem + 3vw, 4.5rem) 2rem;
}

.dosseo-pied a:where(:not(.wp-element-button):not(.wp-block-button__link)) { color: var(--creme); }

.dosseo-pied__haut {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 2rem;
}

.dosseo-pied__haut.dosseo-pied__haut > * { margin: 0; }

.dosseo-pied__marque.dosseo-pied__marque > *,
.dosseo-pied__contact.dosseo-pied__contact > * { margin-block: 0; }

.dosseo-pied__marque > * + *,
.dosseo-pied__contact > * + * { margin-top: 0.75rem !important; }

.dosseo-pied .dosseo-baseline { font-size: 1.25rem; }

.dosseo-pied__texte { max-width: 44ch; color: rgba(246, 241, 234, 0.8); font-size: 0.9375rem; }

.dosseo-pied__titre {
	font-family: var(--titre);
	font-weight: 600;
	font-size: 1.0625rem;
}

.dosseo-pied__contact .wp-block-buttons { flex-direction: column; align-items: flex-start; gap: 0; }

.dosseo-pied__contact .wp-block-buttons + .wp-block-buttons { margin-top: 1rem !important; }

/* Un filet unique sépare les mentions. */
.dosseo-pied__bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	margin-top: 2.5rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(246, 241, 234, 0.22);
	font-size: 0.875rem;
	color: rgba(246, 241, 234, 0.8);
}

.dosseo-pied__bas.dosseo-pied__bas > * { margin: 0; }

.dosseo-pied__liens a { display: inline-block; padding-block: 0.6rem; }

@media (max-width: 781.98px) {
	.dosseo-pied__haut { grid-template-columns: minmax(0, 1fr); }
}

/* Barre d'actions fixe sur téléphone : Appeler + Prendre rendez-vous */
.dosseo-barre-mobile { display: none; }

@media (max-width: 781.98px) {
	body.dosseo { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

	.dosseo-pied > .dosseo-barre-mobile {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 60;
		max-width: none;
		margin: 0 !important;
		padding: 0.6rem 1rem calc(0.6rem + env(safe-area-inset-bottom));
		background: rgba(246, 241, 234, 0.97);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		border-top: 1px solid var(--gris);
		box-shadow: 0 -8px 24px rgba(27, 59, 90, 0.08);
	}

	.dosseo-barre-mobile .wp-block-buttons {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
		gap: 0.5rem;
	}

	.dosseo-barre-mobile .wp-block-button { width: 100%; margin: 0; }

	.dosseo-barre-mobile .wp-block-button__link { width: 100%; padding-inline: 0.75rem; white-space: nowrap; }

	.dosseo-pied .dosseo-barre-mobile .is-style-outline > .wp-block-button__link {
		border-color: var(--bleu);
		color: var(--bleu);
		background: var(--blanc);
	}

	.dosseo-barre-mobile__appel > .wp-block-button__link::before {
		content: "";
		width: 1.1em;
		height: 1.1em;
		background: var(--corail);
		-webkit-mask: var(--ic-tel) center / contain no-repeat;
		mask: var(--ic-tel) center / contain no-repeat;
	}
}

/* --------------------------------------------------------------------------
   Pages légales et 404
   -------------------------------------------------------------------------- */

.dosseo-page { padding-block: clamp(2.5rem, 2rem + 3vw, 5rem) var(--wp--preset--spacing--80); }

.dosseo-page__titre { margin-bottom: 2rem; }

.dosseo-page h2 {
	margin-top: 2.5rem;
	font-size: var(--wp--preset--font-size--large);
}

.dosseo-page__chapo { font-size: var(--wp--preset--font-size--medium); color: var(--encre-douce); }

.dosseo-page__maj { margin-top: 3rem; font-size: 0.875rem; color: var(--encre-douce); }

.dosseo-404 .wp-block-buttons { margin-top: 2rem; }

/* --------------------------------------------------------------------------
   Éditeur : repères pour Maëliss (ne s'affiche pas sur le site)
   -------------------------------------------------------------------------- */

.editor-styles-wrapper .dosseo-temoignages { outline: 2px dashed #D9D0C3; outline-offset: -12px; }

.editor-styles-wrapper .dosseo-temoignages::before {
	content: "Section masquée sur le site tant que « Afficher la section Témoignages » n'est pas coché (Réglages DOSSÉO).";
	display: block;
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto 1.5rem;
	padding: 0.75rem 1rem;
	background: var(--blanc);
	border-radius: var(--rayon-petit);
	font-size: 0.875rem;
}

.editor-styles-wrapper .dosseo-famille + .dosseo-famille {
	margin-top: 3rem;
	padding-top: 2.5rem;
	border-top: 1px dashed #D9D0C3;
}

/* --------------------------------------------------------------------------
   Version statique : contact par e-mail pré-rempli
   -------------------------------------------------------------------------- */

.dosseo-contact__aide,
.dosseo-contact__rgpd {
	font-size: 0.875rem;
	color: var(--encre-douce);
}

.dosseo-contact__carte--formulaire .wp-block-buttons {
	flex-direction: column;
	align-items: stretch;
	gap: 0.6rem;
}

.dosseo-bouton-large { width: 100%; }

.dosseo-bouton-large > .wp-block-button__link { width: 100%; }
