.c2e-entete__secours { margin: 0; padding: 20px 24px; }
/*
 * Cabinet Dr Stephan — compléments au rendu Elementor.
 * Couleurs et polices : lues dans le kit Elementor (Réglages du site), via les variables ci-dessous.
 * Ce fichier ne contient que la mise en page fine et les décors qu'Elementor ne sait pas exprimer.
 */
:root, body {
  --fond: var(--e-global-color-fond, #F9F5F2);
  --blanc: var(--e-global-color-blanc, #FFFFFF);
  --primary: var(--e-global-color-primary, #B35859);
  --texte: var(--e-global-color-text, #524E4A);
  --rose: var(--e-global-color-secondary, #F3E4E0);
  --poudre: var(--e-global-color-accent, #C8A6A2);
  --police-titre: var(--e-global-typography-h2-font-family, "Belleza"), sans-serif;
  --police-texte: var(--e-global-typography-text-font-family, "Kumbh Sans"), sans-serif;
  --h2: 54px; --h3: 27px; --texte-taille: 16px; --petit: 16px; --surtitre: 11.5px;
  --rayon: 16px; --conteneur: 1180px; --bande: 90px;
  --ombre: 0 24px 50px -24px rgba(82, 58, 52, .35);
}
body { background: var(--fond); color: var(--texte); font-family: var(--police-texte); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.elementor[data-elementor-type="wp-page"] { overflow-x: clip; }
:where(.elementor-widget-text-editor) p { margin: 0 0 1em; }
:where(.elementor-widget-text-editor p:last-child) { margin-bottom: 0; }
.elementor-element { --widgets-spacing: 0px; --kit-widget-spacing: 0px; }
.elementor-widget:not(:last-child) { margin-block-end: 0; }
.elementor-heading-title { text-wrap: balance; hyphens: none; }
a { color: inherit; }

/* ---------- images de la maquette : l'image remplit son enveloppe ---------- */
.img-remplit .elementor-widget-container, .img-remplit > a { height: 100%; display: block; }
.img-remplit img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.img-remplit { overflow: hidden; }
.visuel.img-remplit, .ampoules__secrets.img-remplit { overflow: visible; }
.visuel img, .ampoules__secrets img { height: auto; border-radius: var(--rayon); }
.elementor-widget-image.visuel { box-shadow: none !important; border-radius: 0 !important; }
.elementor-widget-image.visuel img { box-shadow: var(--ombre); transition: transform .6s ease, box-shadow .6s; }

/* ---------- en-tête : posé sur la photo d'ouverture ---------- */
#site-header.c2e-entete { position: absolute; top: 0; left: 0; right: 0; z-index: 30; background: transparent; }
.admin-bar #site-header.c2e-entete { top: 32px; }
/* retour en haut : bouton flottant (position fixe réglée dans Elementor), visible après un peu de défilement */
.pied__haut { opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
.pied__haut.visible { opacity: 1; visibility: visible; }
.pied__haut .elementor-icon { border: 2px solid var(--blanc) !important; box-shadow: 0 12px 26px -10px rgba(60, 20, 20, .6); }   /* contour blanc : visible aussi sur le pied de page terracotta */
#site-header .e-con:has(> .entete__rdv) { width: auto !important; flex-shrink: 0; }   /* le bouton garde sa place, sans déborder */
@media (max-width: 1320px) {      /* petits écrans d'ordinateur : le menu tient sur une ligne */
  .menu-e .elementor-nav-menu--main a.elementor-item { font-size: 12px !important; letter-spacing: .08em !important; }
  .menu-e .elementor-nav-menu--main .elementor-nav-menu { --e-nav-menu-horizontal-menu-item-margin: 9px !important; }
  #site-header .entete.e-con { padding-left: 24px !important; padding-right: 24px !important; }
  .entete__rdv .elementor-button { padding: 14px 20px !important; white-space: nowrap; }
  .entete__logo img { width: 160px; }
}
@media (max-width: 1180px) {
  .menu-e .elementor-nav-menu--main a.elementor-item { font-size: 11.5px !important; letter-spacing: .06em !important; }
  .menu-e .elementor-nav-menu--main .elementor-nav-menu { --e-nav-menu-horizontal-menu-item-margin: 7px !important; }
  .entete__rdv .elementor-button { padding: 12px 16px !important; font-size: 11px !important; }
  .entete__logo img { width: 140px; }
}
.entete__logo img { width: 200px; height: auto; }
/* bloc Menu (Elementor Pro) : couleurs et police réglées dans le bloc ; ici, sous-menu et burger seulement */
.menu-e .elementor-nav-menu--main .elementor-nav-menu > li:last-child { display: none; }   /* « Prise de rendez-vous » : bouton sur ordinateur */
.menu-e .elementor-nav-menu--main .sub-menu { border-radius: 10px; padding: 8px 0; box-shadow: var(--ombre); min-width: 250px !important; }
.menu-e .elementor-nav-menu--main .sub-menu a { border-left: 0 !important; }
.menu-e .elementor-menu-toggle { width: 52px; height: 52px; border: 1px solid var(--blanc) !important; border-radius: 50% !important; }
/* ---------- menu déroulant (tablette, smartphone) : carte blanche sous l'en-tête ---------- */
.menu-e { position: relative; }
@media (max-width: 1024px) {
  #site-header .entete__menu { justify-content: flex-end !important; align-items: flex-end !important; }
  .menu-e .elementor-menu-toggle { margin-left: auto !important; margin-right: 0 !important; }
}
@media (min-width: 601px) and (max-width: 1024px) { .menu-e .elementor-nav-menu--dropdown.elementor-nav-menu__container { right: 24px !important; } }
.menu-e .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: fixed; left: 16px !important; right: 16px; top: 92px !important; margin-top: 0 !important;
  width: auto !important; max-width: 480px; margin-left: auto !important; max-height: calc(100vh - 110px) !important; overflow-y: auto !important;
  background: var(--blanc) !important; border-radius: 22px; box-shadow: 0 30px 60px -20px rgba(60, 20, 20, .45); padding: 10px 12px 24px; }
.menu-e .elementor-nav-menu--dropdown .elementor-nav-menu { background: transparent !important; }
.menu-e .elementor-nav-menu--dropdown li { border-bottom: 1px solid color-mix(in srgb, var(--texte) 8%, transparent); }
.menu-e .elementor-nav-menu--dropdown li:last-child, .menu-e .elementor-nav-menu--dropdown .sub-menu li { border-bottom: 0; }
.menu-e .elementor-nav-menu--dropdown a.elementor-item, .menu-e .elementor-nav-menu--dropdown a.elementor-sub-item {
  color: var(--texte) !important; background: transparent !important; border: 0 !important; border-radius: 12px;
  padding: 15px 14px !important; font-size: 13.5px !important; letter-spacing: .12em !important; line-height: 1.3 !important; justify-content: space-between; }
.menu-e .elementor-nav-menu--dropdown a.elementor-item::after, .menu-e .elementor-nav-menu--dropdown a.elementor-item::before { display: none !important; }   /* pas de trait de soulignement */
.menu-e .elementor-nav-menu--dropdown a:hover, .menu-e .elementor-nav-menu--dropdown a:focus { color: var(--primary) !important; background: var(--fond) !important; }
.menu-e .elementor-nav-menu--dropdown a.elementor-item-active, .menu-e .elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active { color: var(--primary) !important; background: var(--rose) !important; font-weight: 600 !important; }
.menu-e .elementor-nav-menu--dropdown .sub-menu { display: block !important; width: auto !important; margin: 0 !important; position: static !important; padding: 0 0 8px 14px !important; box-shadow: none !important; background: transparent !important; }
.menu-e .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item { justify-content: flex-start !important; font-size: 12.5px !important; padding: 11px 14px !important; color: color-mix(in srgb, var(--texte) 85%, transparent) !important; }
.menu-e .elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item::before { content: "–"; margin-right: 10px; color: var(--primary); }
.menu-e .elementor-nav-menu--dropdown .sub-arrow { color: var(--primary); }
/* dernier lien « Prise de rendez-vous » : bouton terracotta */
.menu-e .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child { padding-top: 12px; }
.menu-e .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child > a.elementor-item { justify-content: center; background: var(--primary) !important; color: var(--blanc) !important; border-radius: 60px; font-weight: 600 !important; padding: 16px 20px !important; }
.menu-e .elementor-nav-menu--dropdown .elementor-nav-menu > li:last-child > a.elementor-item:hover { background: var(--rose) !important; color: var(--primary) !important; }

/* ---------- ouverture : cadre d'angles blancs (décor du visuel de style) ---------- */
.ouverture { overflow: hidden; }
.ouverture::after { content: ""; position: absolute; z-index: 1; inset: 120px 48px 48px; pointer-events: none;
  background:
    linear-gradient(#fff, #fff) left top / 50px 1.5px no-repeat, linear-gradient(#fff, #fff) left top / 1.5px 50px no-repeat,
    linear-gradient(#fff, #fff) right bottom / 50px 1.5px no-repeat, linear-gradient(#fff, #fff) right bottom / 1.5px 50px no-repeat; opacity: .9; }
.ouverture--page::after { inset: 110px 48px 40px; }
.ouverture__contenu { position: relative; z-index: 2; max-width: 900px; text-align: center; }
.ouverture h1 { margin-bottom: 30px; }
.ouverture--page h1 { margin-bottom: 22px; }
.ouverture__sous { white-space: nowrap; margin: 0 auto 48px; }
.ouverture--page .ouverture__sous { margin-bottom: 0; }
@media (max-width: 860px) { .ouverture::after { inset: 96px 16px 24px; } .ouverture__sous { white-space: normal; max-width: 330px; } }

/* ---------- ruban défilant (construit par app.js à partir du texte du widget) ---------- */
.preuves { padding: 26px 0; overflow: hidden; }
.preuves .ruban p { margin: 0; white-space: nowrap; }
.preuves__ruban { display: flex; width: max-content; animation: defile 40s linear infinite; }
.preuves:hover .preuves__ruban { animation-play-state: paused; }
.preuves__groupe { display: flex; align-items: center; flex-shrink: 0; }
.preuves__groupe span { white-space: nowrap; padding: 0 34px; }
.preuves__groupe i { font-style: normal; color: var(--poudre); font-size: 10px; }
@keyframes defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (max-width: 860px) { .preuves__ruban { animation-duration: 28s; } }

/* ---------- boutons · style A (remplissage qui glisse + flèche) ---------- */
.pied__boutons .elementor-widget-button, .pied__boutons .elementor-button { width: 100%; }
.boutons { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- rubriques dépliables (widget Bascule) ---------- */
.depliables-e .elementor-toggle-item, .depliables-e .elementor-accordion-item { background: var(--blanc); border-radius: 18px; box-shadow: 0 14px 34px -26px rgba(120, 50, 50, .5); margin-bottom: 14px; overflow: hidden; transition: box-shadow .4s; }
.bande--blanc .depliables-e .elementor-toggle-item, .bande--blanc .depliables-e .elementor-accordion-item { background: var(--fond); box-shadow: none; }
.depliables-e .elementor-toggle-item:hover, .depliables-e .elementor-accordion-item:hover { box-shadow: 0 22px 44px -24px rgba(120, 50, 50, .45); }
.depliables-e .elementor-tab-title { display: flex; align-items: center; gap: 18px; padding: 20px 24px !important; border: 0 !important; }
.depliables-e .elementor-tab-title::before { content: ""; flex-shrink: 0; width: 46px; height: 46px; border-radius: 50%; background: var(--rose) var(--icone) center / 20px no-repeat; transition: background-color .4s; }
.depliables-e .elementor-tab-title.elementor-active::before { background-color: var(--primary); background-image: var(--icone-blanche); }
.depliables-e .elementor-toggle-title, .depliables-e .elementor-accordion-title { flex: 1; order: 1; }
.depliables-e .elementor-toggle-icon, .depliables-e .elementor-accordion-icon { order: 2; flex-shrink: 0; width: 38px !important; height: 38px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--primary) 35%, transparent); display: grid !important; place-items: center; font-size: 13px; transition: background .4s; }
.depliables-e .elementor-tab-title.elementor-active .elementor-toggle-icon, .depliables-e .elementor-tab-title.elementor-active .elementor-accordion-icon { background: var(--primary); border-color: var(--primary); }
.depliables-e .elementor-tab-content { padding: 0 28px 26px 88px !important; border: 0 !important; }
.depliables-e .elementor-tab-content .coches li::before { color: var(--primary); }
.depliables--2 { max-width: var(--conteneur); display: grid !important; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) { .depliables--2 { grid-template-columns: 1fr; } .depliables-e .elementor-tab-content { padding: 0 18px 20px !important; } }

/* ---------- formulaire (bloc Formulaire d'Elementor Pro) : couleurs et polices réglées dans le bloc ---------- */
.formulaire-e .elementor-field-textual { padding: 14px 18px !important; transition: border-color .25s, background .25s; }
.formulaire-e .elementor-field-textual:focus { border-color: var(--primary) !important; background: var(--blanc) !important; outline: none; }
.formulaire-e textarea.elementor-field-textual { min-height: 130px; resize: vertical; }
.formulaire-e .elementor-field-type-acceptance .elementor-field-subgroup label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 16px; line-height: 1.5; font-family: var(--police-texte); }
.formulaire-e .elementor-field-type-acceptance input { accent-color: var(--primary); }
.formulaire-e .elementor-button { transition: background .3s, color .3s; }
.formulaire-e .elementor-message { font-size: 16px; margin-top: 12px; }
.formulaire-e .elementor-message.elementor-message-success { color: var(--primary); }

/* ---------- pied de page ---------- */
.pied { position: relative; overflow: hidden; }
.pied::before, .pied::after { content: ""; position: absolute; pointer-events: none; border: 1px solid color-mix(in srgb, var(--blanc) 14%, transparent); }
.pied::before { width: 360px; height: 560px; left: -250px; bottom: -200px; border-radius: 999px 999px 0 0; }
.pied::after { width: 300px; height: 460px; right: -170px; top: -150px; border-radius: 0 0 999px 999px; }
.pied__tete { text-align: center; margin-bottom: 64px; }
.pied__tete::after { content: "✦"; display: block; margin-top: 18px; font-size: 12px; color: var(--rose);
  background: linear-gradient(color-mix(in srgb, var(--blanc) 40%, transparent), color-mix(in srgb, var(--blanc) 40%, transparent)) calc(50% - 50px) 50% / 60px 1px no-repeat, linear-gradient(color-mix(in srgb, var(--blanc) 40%, transparent), color-mix(in srgb, var(--blanc) 40%, transparent)) calc(50% + 50px) 50% / 60px 1px no-repeat; }
.pied .pied__logo { margin-bottom: 34px !important; }
.pied__infos .elementor-icon-list-item { align-items: center; }
.pied__infos .elementor-icon-list-item:nth-child(2) { align-items: flex-start; }
.pied__infos .elementor-icon-list-text { line-height: 1.75; }
.pied__infos .elementor-icon-list-icon { width: 36px !important; height: 36px; flex-shrink: 0; border: 1px solid color-mix(in srgb, var(--blanc) 45%, transparent); border-radius: 50%; display: grid !important; place-items: center; margin-right: 14px; transition: background .3s; }
.pied__infos .elementor-icon-list-item:hover .elementor-icon-list-icon { background: var(--blanc); }
.pied__horaires { list-style: none; margin: 0; padding: 0; }
.pied__horaires li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed color-mix(in srgb, var(--blanc) 25%, transparent); }
.pied__horaires li:last-child { border-bottom: 0; }
.pied__horaires .ferme { opacity: .6; }
.pied__horaires li.aujourdhui { font-weight: 600; background: color-mix(in srgb, var(--blanc) 14%, transparent); border-radius: 8px; padding-left: 10px; padding-right: 10px; margin: 0 -10px; border-bottom-color: transparent; }
.pied__horaires li.aujourdhui span:first-child::after { content: "Aujourd’hui"; margin-left: 10px; padding: 2px 9px; border-radius: 20px; background: var(--blanc); color: var(--primary); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; vertical-align: 2px; }
.pied a:not(.elementor-button):not(.btn):not(.btn-blanc):hover, .pied .souligne { text-decoration: underline; text-underline-offset: 3px; }
.pied__bas .elementor-widget-text-editor p { margin: 0; }

/* ---------- décors recréés en CSS (éléments purement décoratifs de la maquette) ---------- */
.carte .elementor-widget-image { position: absolute; inset: 0; }
.carte > .carte__texte.e-con { width: auto !important; max-width: none; }   /* marges gauche/droite de 34 px respectées (Elementor imposait 100 %) */
@media (max-width: 600px) { .carte > .carte__texte.e-con { left: 24px; right: 24px; bottom: 26px; } }
.carte .elementor-widget-image .elementor-widget-container, .carte .elementor-widget-image img { height: 100%; }
.carte .elementor-widget-image::after { content: ""; position: absolute; inset: 16px; z-index: 2; border: 1px solid color-mix(in srgb, var(--blanc) 70%, transparent); border-radius: 10px; opacity: 0; transform: scale(1.06); transition: opacity .6s, transform .6s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.carte:hover .elementor-widget-image::after { opacity: 1; transform: scale(1); }
.etapes-rdv { grid-template-columns: 1fr 1fr !important; gap: 70px !important; position: relative; }
.etapes-rdv::after { content: "→"; position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 44px; height: 44px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--primary) 40%, transparent); display: grid; place-items: center; color: var(--primary); font-size: 18px; }
@media (max-width: 860px) { .etapes-rdv { grid-template-columns: 1fr !important; gap: 14px !important; } .etapes-rdv::after { display: none; } }
.laser__corps::before { content: ""; display: block; width: 186px; height: 38px; margin: -19px 0 15px; border-radius: 40px; background-color: var(--blanc); box-shadow: 0 10px 24px -12px rgba(82, 58, 52, .35);
  background-size: 28px 28px; background-repeat: no-repeat; background-position: 9px 5px, 37px 5px, 65px 5px, 93px 5px, 121px 5px, 149px 5px; position: relative; z-index: 2; transition: transform .4s; }
.encarts > :nth-child(1) .laser__corps::before { background-image: radial-gradient(circle, #F6DCC8 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px), radial-gradient(circle, #EBC3A2 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px), radial-gradient(circle, #D8A47D 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px), radial-gradient(circle, #B07A5247 0 10.5px, transparent 11px), radial-gradient(circle, #7E533547 0 10.5px, transparent 11px), radial-gradient(circle, #4A2F1F47 0 10.5px, transparent 11px); }
.encarts > :nth-child(2) .laser__corps::before { background-image: radial-gradient(circle, #F6DCC847 0 10.5px, transparent 11px), radial-gradient(circle, #EBC3A247 0 10.5px, transparent 11px), radial-gradient(circle, #D8A47D47 0 10.5px, transparent 11px), radial-gradient(circle, #B07A52 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px), radial-gradient(circle, #7E5335 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px), radial-gradient(circle, #4A2F1F 0 10.5px, #fff 11px 12.5px, var(--primary) 13px 13.5px, transparent 14px); }
.resultats__liste .li-e { position: relative; display: block !important; padding-left: 88px !important; }
.resultats__liste .li-e::before { content: ""; position: absolute; left: 18px; top: 50%; translate: 0 -50%; width: 52px; height: 52px; border-radius: 50%; background: var(--fond) var(--icone) center / 22px no-repeat; transition: background-color .4s; }
.resultats__liste .li-e:hover::before { background-color: var(--primary); background-image: var(--icone-blanche); }
.chronologie__num .elementor-heading-title { color: var(--blanc); }
.schemas > :last-child { margin-top: 60px; }
/* tableaux de tarifs : on neutralise le style de tableau du thème Hello (traits verticaux, lignes grisées une sur deux) */
/* liens dans les textes : le thème Hello les passe en bleu au survol et au clic ; ils gardent la couleur du texte */
.elementor-widget-text-editor a:hover, .elementor-widget-text-editor a:focus, .elementor-widget-text-editor a:active, .elementor-widget-text-editor a:visited { color: inherit; }
.pied a:not(.elementor-button), .pied a:not(.elementor-button):hover, .pied a:not(.elementor-button):focus, .pied a:not(.elementor-button):active, .pied a:not(.elementor-button):visited { color: var(--blanc); }
.tableau { margin: 0; }
.depliables-e .elementor-accordion-item { border: 0 !important; }
.depliables-e .elementor-accordion-item + .elementor-accordion-item { border-top: 0 !important; }
/* largeurs de la maquette qu'Elementor écrase (max-width 100 % imposé aux blocs) */
.elementor .e-con > .elementor-widget.deux__photo { max-width: 480px !important; }
.resultats__visuel > .elementor-widget.arche { max-width: 440px !important; }
.elementor .e-con > .elementor-widget.depliables, .elementor .e-con > .e-con-inner > .elementor-widget.depliables { max-width: 860px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; }
.formulaire-e .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 10px; align-items: flex-start; }
.formulaire-e .elementor-field-type-acceptance .elementor-field-option input { margin-top: 5px; flex-shrink: 0; accent-color: var(--primary); }
.rdv__insta.e-con { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; }
.rdv__insta > .elementor-widget-text-editor { flex: 1 1 auto; min-width: 0; }
.rdv__insta > .rdv__insta-icone { flex: 0 0 auto !important; width: auto !important; }
.rdv__insta, .rdv__insta:hover, .rdv__insta:visited { color: inherit; text-decoration: none; }
.rdv__insta:hover .rdv__insta-icone .elementor-icon { background: var(--primary) !important; color: var(--blanc) !important; }
.rdv__insta:hover .rdv__insta-icone .elementor-icon svg { fill: var(--blanc) !important; }
.rdv__insta-icone .elementor-icon { border-width: 1px !important; border-color: color-mix(in srgb, var(--primary) 45%, transparent) !important; }
/* sommaire des tarifs : conteneur de boutons natifs (couleurs, arrondi, effet collant réglés dans Elementor) */
.sommaire-tarifs.e-con { width: fit-content !important; max-width: 100%; margin: 0 auto 56px !important; align-self: center; z-index: 20; }
@media (max-width: 600px) { .sommaire-tarifs.e-con { width: 100% !important; } }
.sommaire-tarifs .elementor-button.actif { background-color: var(--blanc) !important; color: var(--primary) !important; }   /* partie en cours de lecture (script) */
.e-con.encart { overflow: hidden !important; }      /* le trait terracotta du haut suit l'arrondi de la carte */
.tableau th, .tableau td { border-left: 0; border-right: 0; border-bottom: 0; line-height: 1.7; }
.tableau th { border-top: 0; }
.tableau td { border-top: 1px solid color-mix(in srgb, var(--texte) 10%, transparent); padding: 13px 22px; }
.tableau tbody > tr:nth-child(odd) > td { background-color: var(--blanc); }
.tableau tbody > tr:nth-child(even) > td { background-color: color-mix(in srgb, var(--rose) 45%, var(--blanc)); }   /* une ligne sur deux en rose très pâle : on suit la ligne jusqu'au prix */
.tableau tbody > tr.sous-titre > td { background-color: var(--fond); }
.tableau tbody > tr:not(.sous-titre):hover > td { background-color: var(--rose); }
@keyframes carteArrive { from { opacity: 0; transform: translate(-50px, 60px) rotate(-14deg) scale(.88); } to { opacity: 1; transform: rotate(-3deg); } }
.ampoules__secrets { transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s !important; z-index: 2; }
.ampoules__visuel.animated .ampoules__secrets { animation: carteArrive 1.2s cubic-bezier(.2,.7,.2,1) .7s backwards; }
.flottant .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 14px; border: 5px solid color-mix(in srgb, var(--blanc) 90%, transparent); box-shadow: 0 30px 50px -20px rgba(60, 20, 20, .5); animation: flotte 7s ease-in-out 1.2s infinite; }
.flottant .elementor-widget-image { overflow: visible !important; }      /* la rotation est portée par le cadre (.f1…) : l'image ne tourne pas une 2e fois */
.flottant .f2 img { animation-delay: 2s; }
@keyframes flotte { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
.flottant { clip-path: polygon(0 4vw, 100% 0, 100% 100%, 0 100%); }
.elementor-invisible .arche img, .elementor-invisible.arche img { clip-path: inset(100% 0 0 0 round 999px 999px 4px 4px); }
.arche img { transition: clip-path 1.5s cubic-bezier(.65,0,.2,1) .15s, transform .8s ease; }
/* photos posées dans un cadre (cartes, étapes, lasers, flottantes) : l'image remplit le cadre */
.flottant .elementor-widget-image { position: absolute; }
.flottant .elementor-widget-image img { position: static; }
.flottant .elementor-widget-image .elementor-widget-container { height: 100%; }
.apercu__photo, .etape-rdv__photo, .laser__photo { display: block !important; position: relative; overflow: hidden; }
.apercu__photo > .elementor-widget-image, .etape-rdv__photo > .elementor-widget-image, .laser__photo > .elementor-widget-image { position: absolute; inset: 0; }
.apercu__photo .elementor-widget-container, .etape-rdv__photo .elementor-widget-container, .laser__photo .elementor-widget-container,
.apercu__photo img, .etape-rdv__photo img, .laser__photo img { width: 100%; height: 100%; object-fit: cover; }
.etape-rdv__photo > .etape-rdv__num { position: absolute; inset: auto auto -28px 30px; z-index: 2; }
.apercu--large { flex-direction: row !important; }
.apercu:not(.apercu--large) { flex-direction: column !important; }
.apercu__photo { flex-shrink: 0; }
.medecin__visuel > .arche { max-width: 470px !important; width: 100% !important; }
.ampoules .li-e { flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; }
.ampoules .li-e > .elementor-widget-text-editor { flex: 1 1 auto; min-width: 0; }
@media (max-width: 767px) { .schemas.e-con { flex-direction: column !important; gap: 24px !important; } .schemas > :last-child { margin-top: 0 !important; } }
.ampoules .li-e > .elementor-widget-text-editor { text-align: left; }
.avis__qui, .choix, .boutons, .pied__bas { flex-direction: row !important; }
.avis__qui { align-items: center; gap: 14px; }
.apercu--large .apercu__photo { flex: 0 0 42%; }
.bande.nuage > .e-con-inner { max-width: 1392px; }
@media (max-width: 1100px) { .apercu--large { flex-direction: column !important; } }
.mentions-mise > .elementor-widget:first-child { position: sticky; top: 30px; align-self: start; }
@media (max-width: 960px) { .mentions-mise > .elementor-widget:first-child { position: static; } }
.nuage__photos { pointer-events: none; }
.nuage__photos .elementor-widget-image { position: absolute; inset: 0; }
.nuage__photos .elementor-widget-image .elementor-widget-container, .nuage__photos .elementor-widget-image img { width: 100%; height: 100%; }
.nuage__photos img { object-fit: cover; border-radius: 50%; opacity: 0; transform: scale(.8); transition: opacity .45s, transform .7s cubic-bezier(.2,.7,.2,1); }
.nuage__photos .est-actif img { opacity: 1; transform: none; }
.nuage__liste a.est-actif { color: var(--poudre) !important; }

/* ======== repris de la maquette validée (sélecteurs adaptés à Elementor) ======== */
h1, h2, h3, h4 { font-family: var(--police-titre); font-weight: 400; line-height: 1.1; margin: 0; text-wrap: balance; hyphens: none; }
.accent { color: var(--primary); }
.centre { text-align: center; }
.ouverture__contenu { position: relative; z-index: 1; max-width: 900px; }
.ouverture__sous { max-width: none; white-space: nowrap; margin: 0 auto 48px; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; line-height: 1.7; }
.conteneur { max-width: var(--conteneur); margin: 0 auto; }
.surtitre { display: block; font-size: var(--surtitre); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--primary); margin: 0 0 14px; }
.surtitre--trait::before { content: ""; display: inline-block; width: 28px; height: 1px; background: currentColor; vertical-align: middle; margin-right: 14px; }
.bande--terra .surtitre { color: var(--blanc); opacity: .85; }
.tete { text-align: center; max-width: 640px; margin: 0 auto 56px; }
.tete:last-child { margin-bottom: 0; }
.tete h2 { font-size: var(--h2); margin-bottom: 16px; }
.tete p { font-size: var(--texte-taille); margin: 0; }
.arche { border-radius: 999px 999px 4px 4px; object-fit: cover; }
.etoiles { color: var(--primary); letter-spacing: .15em; font-size: 16px; }
@keyframes defile { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.deux { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.deux h2 { font-size: var(--h2); margin-bottom: 22px; }
.composition { position: relative; height: 580px; }
.composition__arche { position: absolute; right: 0; top: 0; width: 360px; height: 540px; border: 7px solid var(--blanc); box-shadow: var(--ombre); }
.composition__carte { position: absolute; left: 0; top: 150px; width: 240px; height: 310px; object-fit: cover; border-radius: var(--rayon); border: 6px solid var(--blanc); box-shadow: var(--ombre); }
.etiquette { position: absolute; left: 30px; top: 100px; z-index: 2; background: var(--blanc); padding: 10px 18px; border-radius: 6px; box-shadow: var(--ombre); font-family: var(--police-titre); font-size: 17px; color: var(--primary); transform: rotate(-4deg); }
.chiffres { display: flex; gap: 26px; align-items: center; margin-top: 36px; padding-top: 26px; border-top: 1px solid color-mix(in srgb, var(--texte) 14%, transparent); }
.chiffres strong { display: block; font-family: var(--police-titre); font-weight: 400; font-size: 28px; line-height: 1; margin-bottom: 6px; }
.chiffres span { font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; }
.chiffres .separe { width: 1px; align-self: stretch; background: color-mix(in srgb, var(--texte) 20%, transparent); }
.flottant { background: var(--primary); color: var(--blanc); clip-path: polygon(0 4vw, 100% 0, 100% 100%, 0 100%); padding: calc(var(--bande) + 4vw) 24px var(--bande); position: relative; min-height: 660px; display: grid; place-items: center; overflow: hidden; }
.flottant blockquote { position: relative; z-index: 1; margin: 0; max-width: 760px; text-align: center; font-family: var(--police-titre); font-size: clamp(34px, 3.9vw, 56px); line-height: 1.16; }
.flottant blockquote .clair { color: var(--rose); }
.flottant cite { display: block; margin-top: 26px; font-style: normal; font-family: var(--police-texte); font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .85; }
.flottant img { position: absolute; object-fit: cover; border-radius: 14px; border: 5px solid color-mix(in srgb, var(--blanc) 90%, transparent); box-shadow: 0 30px 50px -20px rgba(60, 20, 20, .5); }
.flottant .f1 { width: 180px; height: 190px; left: 9%; top: 24%; transform: rotate(-5deg); }
.flottant .f2 { width: 120px; height: 150px; left: 71%; top: 13%; transform: rotate(6deg); }
.flottant .f3 { width: 150px; height: 200px; left: 25%; top: 62%; transform: rotate(-3deg); }
.flottant .f4 { width: 210px; height: 230px; right: 8%; top: 54%; transform: rotate(3deg); }
.medecin__visuel { position: relative; }
.medecin__visuel .arche { width: 100%; max-width: 470px; height: auto; aspect-ratio: 1093 / 1800; }
.points { margin-top: 34px; display: grid; gap: 22px; }
.point { border-left: 1px solid var(--poudre); padding-left: 20px; }
.point h3 { font-size: 21px; margin-bottom: 6px; }
.point p { font-size: var(--petit); margin: 0; }
.prestations__grille { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; }
.prestations__grille h2 { font-size: var(--h2); margin-bottom: 44px; }
.prestations__grille .photo { width: 100%; max-width: 340px; height: 440px; object-fit: cover; border-radius: 4px; outline: 1px solid color-mix(in srgb, var(--blanc) 45%, transparent); outline-offset: 12px; }
.liste { list-style: none; margin: 0; padding: 0; counter-reset: n; }
.liste li { border-top: 1px solid color-mix(in srgb, var(--blanc) 28%, transparent); padding: 30px 0; display: grid; grid-template-columns: 70px 1fr; gap: 10px; counter-increment: n; }
.liste li::before { content: "0" counter(n) "."; font-family: var(--police-titre); font-size: 32px; opacity: .55; line-height: 1; }
.liste h3 { font-size: var(--h3); margin-bottom: 12px; }
.liste p { font-size: var(--petit); opacity: .92; margin-bottom: 10px; }
.liste a { font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; border-bottom: 1px solid currentColor; }
.liste .groupe { font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .75; display: block; margin-bottom: 4px; }
.nuage { text-align: center; }
.nuage__intro { font-size: 14px; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 56px; }
.nuage__liste { font-family: var(--police-titre); font-size: clamp(36px, 4.2vw, 60px); line-height: 1.55; color: var(--primary); margin: 0 auto 64px; max-width: none; }
.nuage__liste a { text-decoration: none; transition: color .2s; white-space: nowrap; }
.nuage__liste a:hover { color: var(--texte); }
.tiret { display: inline-block; width: .7em; height: 1.5px; background: currentColor; vertical-align: middle; margin: 0 .75em; }
.cartes { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.carte { position: relative; height: 470px; border-radius: var(--rayon); overflow: hidden; color: var(--blanc); transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s; }
.carte img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.carte::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(82, 58, 52, 0) 35%, rgba(82, 50, 46, .8)); transition: opacity .6s; }
.carte::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, color-mix(in srgb, var(--primary) 15%, transparent), rgba(150, 64, 66, .92)); opacity: 0; transition: opacity .6s; }
.carte__texte { position: absolute; z-index: 3; left: 34px; right: 34px; bottom: 34px; }
.carte h3 { font-size: 27px; display: flex; gap: 14px; align-items: baseline; margin: 0; }
.carte h3 span { font-size: 34px; opacity: .7; transition: opacity .4s; }
.carte__detail { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .6s cubic-bezier(.2,.7,.2,1), opacity .5s; }
.carte__detail > * { overflow: hidden; font-size: var(--texte-taille); line-height: 1.6; margin: 0; padding-top: 0; transition: padding .6s; }
.carte:hover img { transform: scale(1.08); }
.carte:hover::before { opacity: 1; }
.carte:hover h3 span { opacity: 1; }
.carte:hover .carte__detail { grid-template-rows: 1fr; opacity: 1; }
.carte:hover .carte__detail > * { padding-top: 12px; }
@media (hover: none) {
  .carte__detail { grid-template-rows: 1fr; opacity: 1; }
  .carte__detail > * { padding-top: 12px; }
}
.avis__carte { max-width: 760px; margin: 0 auto; background: var(--blanc); border-radius: var(--rayon); padding: 40px 44px; }
.avis__qui { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.avis__initiale { width: 44px; height: 44px; border-radius: 50%; background: var(--texte); color: var(--blanc); display: grid; place-items: center; font-family: var(--police-titre); font-size: 18px; }
.avis__qui strong { display: block; font-size: 15px; }
.avis__qui small { font-size: 12px; opacity: .7; }
.avis__carte blockquote { margin: 16px 0 0; font-size: var(--texte-taille); line-height: 1.75; }
.faq { max-width: 760px; margin: 0 auto; display: grid; gap: 12px; }
.faq .contenu { padding: 0 22px 20px; font-size: var(--petit); }
.rdv__carte { max-width: 760px; margin: 0 auto; background: var(--blanc); color: var(--texte); border-radius: var(--rayon); padding: 44px; box-shadow: 0 40px 60px -30px rgba(60, 20, 20, .45); }
.rdv__carte .surtitre { color: var(--primary); opacity: 1; }
.rdv__carte h3 { font-size: 28px; margin: 6px 0 22px; }
.choix { display: grid; gap: 10px; }
.choix a { display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 16px 20px; border: 1px solid color-mix(in srgb, var(--texte) 14%, transparent); border-radius: 6px; text-decoration: none; font-size: var(--texte-taille); font-weight: 600; }
.choix a small { font-weight: 400; opacity: .75; display: block; margin-top: 2px; }
.choix a:hover { border-color: var(--primary); color: var(--primary); }
.choix a::after { content: "→"; color: var(--primary); }
.rdv__note { font-size: var(--texte-taille); margin: 20px 0 0; opacity: .85; }
.pied { position: relative; overflow: hidden; background: var(--primary); color: var(--blanc); }
body > footer.pied { padding: 70px 24px 30px; }
.pied__tete { position: relative; text-align: center; max-width: var(--conteneur); margin: 0 auto 60px; }
.pied__surtitre { display: block; font-size: var(--surtitre); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; opacity: .85; margin-bottom: 14px; }
.pied__tete h2 { font-size: var(--h2); }
.pied__grille { position: relative; max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 20px; }
.pied__carte { background: color-mix(in srgb, var(--blanc) 7%, transparent); border: 1px solid color-mix(in srgb, var(--blanc) 18%, transparent); border-radius: var(--rayon); padding: 36px 34px; transition: background .4s, transform .5s cubic-bezier(.2,.7,.2,1); }
.pied__logo { width: 270px; max-width: 100%; height: auto; margin-bottom: 34px; }
.pied h4 { font-size: 26px; margin: 0 0 22px; }
.pied p, .pied li { font-size: var(--texte-taille); line-height: 1.7; }
.pied ul { list-style: none; margin: 0; padding: 0; }
.pied a { text-decoration: none; }
.pied .souligne { text-decoration: underline; text-underline-offset: 3px; }
.pied__horaires li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px dashed color-mix(in srgb, var(--blanc) 25%, transparent); }
.pied__horaires li:last-child { border-bottom: 0; }
.pied__horaires .ferme { opacity: .6; font-style: normal; }
.pied__horaires li.aujourdhui { font-weight: 600; }
.pied__horaires li.aujourdhui { background: color-mix(in srgb, var(--blanc) 14%, transparent); border-radius: 8px; padding-left: 10px; padding-right: 10px; margin: 0 -10px; border-bottom-color: transparent; }
.pied__boutons { display: grid; gap: 12px; margin-top: 26px; }
.pied__bas { position: relative; max-width: var(--conteneur); margin: 56px auto 0; padding-top: 26px; border-top: 1px solid color-mix(in srgb, var(--blanc) 25%, transparent); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; }
.pied__bas { max-width: var(--conteneur); margin: 60px auto 0; padding-top: 30px; border-top: 1px solid color-mix(in srgb, var(--blanc) 30%, transparent); text-align: center; font-size: 13.5px; }
.texte-long { max-width: 760px; margin: 0 auto; }
.texte-long h2 { font-size: var(--h2); margin-bottom: 24px; }
.texte-long h3 { font-size: 26px; margin: 40px 0 12px; color: var(--primary); }
.mentions h2 { font-size: 30px; margin: 48px 0 14px; }
.mentions h3 { font-size: 22px; margin: 30px 0 10px; }
.mentions p, .mentions li { font-size: var(--texte-taille); overflow-wrap: anywhere; }
.mentions a { color: var(--primary); }
.intro-page { font-size: var(--texte-taille); line-height: 1.7; }
.deux__photo { width: 100%; max-width: 480px; height: 600px; }
.deux--inverse > :first-child { order: 2; }
.fin-boutons { margin-top: 34px; }
.note { font-size: var(--texte-taille); opacity: .9; }
.bande--terra .accent, .bande--terra a { color: inherit; }
.coches { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.coches li { position: relative; padding-left: 30px; }
.coches li::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 7px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); color: var(--primary); }
.bande--terra .coches li::before { color: var(--blanc); }
.coches--2 { grid-template-columns: 1fr 1fr; column-gap: 40px; }
.etapes { max-width: 980px; margin: 0 auto; list-style: none; padding: 0; counter-reset: n; }
.etapes > li { counter-increment: n; display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 36px 0; border-top: 1px solid color-mix(in srgb, var(--texte) 15%, transparent); }
.etapes > li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--texte) 15%, transparent); }
.etapes > li::before { content: "0" counter(n) "."; font-family: var(--police-titre); font-size: 40px; line-height: 1; color: var(--primary); opacity: .6; }
.etapes h3 { font-size: var(--h3); margin-bottom: 12px; }
.etapes p { font-size: var(--texte-taille); }
.etapes p:last-child { margin-bottom: 0; }
.bande--terra .etapes > li { border-color: color-mix(in srgb, var(--blanc) 28%, transparent); }
.bande--terra .etapes > li::before { color: var(--blanc); }
.encarts { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.encarts--3 { grid-template-columns: repeat(3, 1fr); }
.encarts--5 { grid-template-columns: repeat(5, 1fr); gap: 14px; }
.encart { background: var(--blanc); color: var(--texte); border-radius: var(--rayon); padding: 34px; transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.encart .surtitre { margin-bottom: 10px; }
.encart h3 { font-size: 25px; margin-bottom: 14px; }
.encart p { font-size: var(--texte-taille); }
.encart p:last-child { margin-bottom: 0; }
.encart--prix { text-align: center; }
.encart--prix strong { display: block; font-family: var(--police-titre); font-weight: 400; font-size: 52px; color: var(--primary); line-height: 1; margin: 6px 0 12px; }
.encart__code { display: inline-grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--rose); color: var(--primary); font-family: var(--police-titre); font-size: 18px; margin-bottom: 16px; }
.depliables { max-width: 860px; margin: 0 auto; display: grid; gap: 12px; }
.depliables .contenu { padding: 0 24px 22px; font-size: var(--texte-taille); }
.depliables .contenu p:last-child, .depliables .contenu ul:last-child { margin-bottom: 0; }
.depliables .coches { gap: 8px; }
.galerie { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.galerie img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; transition: transform .5s; }
.legende { text-align: center; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .7; margin-top: 22px; }
.visuel { width: 100%; border-radius: var(--rayon); box-shadow: var(--ombre); }
.rangees { max-width: var(--conteneur); margin: 0 auto; display: grid; gap: 110px; }
.rangee { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.rangee:nth-child(even) > :first-child { order: 2; }
.rangee > :first-child { display: flex; justify-content: center; }
.rangee img, .rangee img.arche { width: 100%; max-width: 440px; height: 540px; object-fit: cover; border-radius: 999px 999px 4px 4px; box-shadow: var(--ombre); }
.rangee > :last-child { max-width: 520px; }
.rangee:nth-child(odd) > :last-child { justify-self: start; }
.rangee:nth-child(even) > :last-child { justify-self: end; }
.rangee h2 { font-size: var(--h2); margin-bottom: 20px; }
.rangee__num { display: block; font-size: 30px; color: var(--primary); opacity: .6; margin-bottom: 10px; }
.tarif { scroll-margin-top: 40px; }
.tarifs { max-width: 980px; margin: 0 auto; display: grid; gap: 60px; }
.tarifs h2 { font-size: var(--h2); margin-bottom: 18px; }
.tableau { width: 100%; border-collapse: collapse; background: var(--blanc); border-radius: var(--rayon); overflow: hidden; font-size: var(--texte-taille); }
.tableau th { background: var(--primary); color: var(--blanc); font-weight: 600; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; text-align: left; padding: 16px 22px; }
.tableau td { padding: 13px 22px; border-top: 1px solid color-mix(in srgb, var(--texte) 10%, transparent); }
.tableau td + td, .tableau th + th { text-align: right; white-space: nowrap; }
.tableau tbody tr:not(.sous-titre):hover td { background: var(--rose); }
.tableau-bloc { overflow-x: auto; border-radius: var(--rayon); margin-top: 24px; }
.tableau .sous-titre td { font-family: var(--police-titre); font-size: 19px; color: var(--primary); background: var(--fond); padding-top: 18px; }
.tarif > p { max-width: none; }
.ampoules { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; }
.ampoules .li-e { display: flex; align-items: center; gap: 16px; background: var(--blanc); border-radius: 60px; padding: 8px 22px 8px 8px; transition: transform .4s, box-shadow .4s; }
.ampoules .encart__code { margin: 0; width: 46px; height: 46px; flex-shrink: 0; background: var(--primary); color: var(--blanc); font-size: 15px; }
.ampoules strong { display: block; font-family: var(--police-titre); font-weight: 400; font-size: 20px; line-height: 1.2; }
.ampoules small { font-size: var(--texte-taille); opacity: .85; }
.ampoules__visuel { position: relative; min-height: 600px; }
.ampoules__visuel .arche { width: 380px; height: 560px; margin-left: auto; display: block; border: 7px solid var(--blanc); box-shadow: var(--ombre); }
.ampoules__secrets { position: absolute; left: 0; bottom: 20px; width: 330px; border-radius: 14px; border: 5px solid var(--blanc); box-shadow: var(--ombre); transform: rotate(-3deg); }
.mecanisme { position: relative; height: 620px; }
.mecanisme img { position: absolute; width: 300px; border-radius: 14px; border: 5px solid var(--blanc); box-shadow: var(--ombre); transition: transform .6s; }
.mecanisme__a { left: 0; top: 0; transform: rotate(-3deg); z-index: 1; }
.mecanisme__b { right: 20px; top: 150px; transform: rotate(3deg); }
.mecanisme img:hover { transform: rotate(0) scale(1.04); z-index: 2; }
.etapes--compactes { margin-top: 26px; }
.etapes--compactes > li { grid-template-columns: 70px 1fr; padding: 22px 0; }
.etapes--compactes > li::before { font-size: 32px; }
.etapes--compactes p { font-size: 17px; }
.galerie__titre { max-width: var(--conteneur); margin: 40px auto 18px; font-size: 24px; color: var(--primary); }
.galerie--cadres .figure-e { margin: 0; background: var(--fond); border-radius: 14px; padding: 10px; transition: transform .5s, box-shadow .5s; }
.galerie--cadres img { aspect-ratio: 1; object-fit: contain; background: var(--blanc); border-radius: 8px; }
.galerie--cadres img:hover { transform: none; }
.galerie--3 { grid-template-columns: repeat(3, 1fr); max-width: 880px; margin-left: auto; margin-right: auto; }
.texte-titre { font-family: var(--police-texte); font-size: var(--texte-taille); line-height: 1.7; margin: 0; }
.nuage__titre { font-size: var(--h2); margin-bottom: 40px; }
.cartes--2 { grid-template-columns: repeat(2, 1fr); }
.carte h3:not(:has(+ *)) span, .carte h3 span:only-child { font-size: 48px; }
.apercus { max-width: var(--conteneur); margin: 0 auto 56px; display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; text-align: left; }
.apercu { grid-column: span 2; display: flex; flex-direction: column; background: var(--blanc); border-radius: 22px; padding: 14px; text-decoration: none; transition: transform .6s cubic-bezier(.2,.7,.2,1), box-shadow .6s; }
.apercu--large { grid-column: span 3; flex-direction: row; align-items: stretch; gap: 8px; }
.apercu:hover { transform: translateY(-8px); box-shadow: 0 30px 50px -28px rgba(120, 50, 50, .45); }
.apercu__photo { display: block; overflow: hidden; border-radius: 999px 999px 12px 12px; height: 230px; flex-shrink: 0; }
.apercu--large .apercu__photo { width: 42%; height: auto; min-height: 330px; }
.apercu__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.apercu:hover .apercu__photo img { transform: scale(1.07); }
.apercu__texte { display: flex; flex-direction: column; flex: 1; padding: 22px 16px 10px; }
.apercu--large .apercu__texte { padding: 26px 18px 14px 22px; }
.apercu .surtitre { margin-bottom: 8px; }
.apercu h3 { font-size: 26px; color: var(--primary); margin-bottom: 12px; }
.apercu p { font-size: var(--texte-taille); line-height: 1.7; margin-bottom: 10px; color: var(--texte); }
.apercu__lien { margin-top: auto; padding-top: 14px; display: inline-flex; align-items: center; gap: 12px; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--primary); }
.apercu__lien::after { content: "→"; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--primary) 35%, transparent); font-size: 14px; letter-spacing: 0; transition: transform .4s, background .4s, color .4s; }
.apercu:hover .apercu__lien::after { transform: translateX(6px); background: var(--primary); color: var(--blanc); border-color: var(--primary); }
.nuage .nuage__liste { margin-bottom: 70px; }
.etapes-rdv { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1fr 70px 1fr; align-items: stretch; }
.etape-rdv { background: var(--blanc); border-radius: var(--rayon); overflow: hidden; box-shadow: 0 20px 40px -28px rgba(120, 50, 50, .45); transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.etape-rdv__photo { position: relative; height: 200px; }
.etape-rdv__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.etape-rdv:hover .etape-rdv__photo img { transform: scale(1.05); }
.etape-rdv__photo { overflow: visible; }
.etape-rdv__photo > img { border-radius: var(--rayon) var(--rayon) 0 0; }
.etape-rdv__num { position: absolute; left: 30px; bottom: -28px; width: 56px; height: 56px; border-radius: 50%; background: var(--primary); color: var(--blanc); border: 4px solid var(--blanc); display: grid; place-items: center; font-family: var(--police-titre); font-size: 24px; }
.etape-rdv p { padding: 46px 30px 32px; margin: 0; font-size: 16px; line-height: 1.75; }
.etape-rdv strong { color: var(--primary); font-weight: 600; }
.encart.laser { padding: 0; display: flex; flex-direction: column; }
.laser__photo { height: 230px; overflow: hidden; }
.laser__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.encart.laser:hover .laser__photo img { transform: scale(1.05); }
.laser__corps { position: relative; padding: 0 38px 36px; }
.encart.laser h3 { font-size: 30px; color: var(--primary); line-height: 1.15; margin-bottom: 18px; }
.laser__cible { display: block; margin-top: 8px; font-family: var(--police-texte); font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--texte); }
.encart.laser p { font-size: var(--texte-taille); line-height: 1.75; }
.encart.laser::before { z-index: 2; }
.resultats__visuel { position: relative; }
.resultats__visuel .arche { width: 100%; max-width: 440px; height: 580px; border: 7px solid var(--blanc); box-shadow: var(--ombre); }
.resultats h2 { font-size: var(--h2); margin-bottom: 26px; }
.resultats__liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.resultats__liste .li-e { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: center; background: var(--blanc); border-radius: 18px; padding: 18px 24px 18px 18px; transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.resultats__liste p { margin: 0; font-size: var(--texte-taille); line-height: 1.65; }
.resultats__liste strong { color: var(--primary); font-weight: 600; }
.schemas { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.rangee__intro { font-family: var(--police-texte); font-size: var(--texte-taille); line-height: 1.7; margin-bottom: 14px; }
.rangee .surtitre { margin-top: 4px; }
.contact { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.contact .rdv__carte { max-width: none; margin: 0; }
.formulaire { background: var(--blanc); border-radius: var(--rayon); padding: 44px; box-shadow: 0 40px 60px -30px rgba(60, 20, 20, .25); display: grid; gap: 16px; }
.formulaire h3 { font-size: 28px; margin: 0; }
.formulaire .note { margin: 0 0 6px; }
.formulaire__groupe { border: 0; margin: 0; padding: 0; display: grid; gap: 8px; }
.formulaire__groupe legend { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 0; margin-bottom: 8px; }
.formulaire__groupe legend span { color: var(--primary); }
.formulaire__merci { color: var(--primary); font-weight: 600; margin: 0; }
.acces { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; max-width: var(--conteneur); margin: 0 auto; }
.acces img { width: 100%; border-radius: var(--rayon); }
.acces .etapes > li { grid-template-columns: 60px 1fr; padding: 18px 0; }
.acces .etapes > li::before { font-size: 28px; }
.contact > *, .deux > *, .encarts > *, .rangee > *, .acces > *, .prestations__grille > *, .pied__grille > *, .tarifs > * { min-width: 0; }
[data-anim="fadeInUp"] { transform: translateY(40px); }
[data-anim="fadeInLeft"] { transform: translateX(-50px); }
[data-anim="fadeInRight"] { transform: translateX(50px); }
[data-anim="anim-zoom"], [data-anim="zoomIn"] { transform: scale(.85); }
.flottant .f1 { --r: -5deg; }
.flottant .f2 { --r: 6deg; animation-delay: 2s; }
.flottant .f3 { --r: -3deg; }
.flottant .f4 { --r: 3deg; }
@keyframes flotte { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
@keyframes zoomLent { from { transform: scale(1.08); } to { transform: scale(1); } }
.carte img, .composition img, .medecin__visuel img { transition: transform .8s ease; }
.visuel { transition: transform .6s ease, box-shadow .6s; }
.tarif .tableau tbody tr { opacity: 0; transform: translateY(12px); transition: opacity .5s, transform .5s; }
.tarif.animated .tableau tbody tr { opacity: 1; transform: none; }
.tarif.animated .tableau tbody tr:nth-child(1) { transition-delay: 35ms; }
.tarif.animated .tableau tbody tr:nth-child(2) { transition-delay: 70ms; }
.tarif.animated .tableau tbody tr:nth-child(3) { transition-delay: 105ms; }
.tarif.animated .tableau tbody tr:nth-child(4) { transition-delay: 140ms; }
.tarif.animated .tableau tbody tr:nth-child(5) { transition-delay: 175ms; }
.tarif.animated .tableau tbody tr:nth-child(6) { transition-delay: 210ms; }
.tarif.animated .tableau tbody tr:nth-child(7) { transition-delay: 245ms; }
.tarif.animated .tableau tbody tr:nth-child(8) { transition-delay: 280ms; }
.tarif.animated .tableau tbody tr:nth-child(9) { transition-delay: 315ms; }
.tarif.animated .tableau tbody tr:nth-child(10) { transition-delay: 350ms; }
.tarif.animated .tableau tbody tr:nth-child(11) { transition-delay: 385ms; }
.tarif.animated .tableau tbody tr:nth-child(12) { transition-delay: 420ms; }
.tarif.animated .tableau tbody tr:nth-child(13) { transition-delay: 455ms; }
.tarif.animated .tableau tbody tr:nth-child(14) { transition-delay: 490ms; }
.tarif.animated .tableau tbody tr:nth-child(15) { transition-delay: 525ms; }
.tarif.animated .tableau tbody tr:nth-child(16) { transition-delay: 560ms; }
.tarif.animated .tableau tbody tr:nth-child(17) { transition-delay: 595ms; }
.tarif.animated .tableau tbody tr:nth-child(18) { transition-delay: 630ms; }
.tarif.animated .tableau tbody tr:nth-child(19) { transition-delay: 665ms; }
.tarif.animated .tableau tbody tr:nth-child(20) { transition-delay: 700ms; }
.tarif.animated .tableau tbody tr:nth-child(21) { transition-delay: 735ms; }
.tarif.animated .tableau tbody tr:nth-child(22) { transition-delay: 770ms; }
.tarif.animated .tableau tbody tr:nth-child(23) { transition-delay: 805ms; }
.tarif.animated .tableau tbody tr:nth-child(24) { transition-delay: 840ms; }
.tarif.animated .tableau tbody tr:nth-child(25) { transition-delay: 875ms; }
.tarif.animated .tableau tbody tr:nth-child(26) { transition-delay: 910ms; }
.tarif.animated .tableau tbody tr:nth-child(27) { transition-delay: 945ms; }
.tarif.animated .tableau tbody tr:nth-child(28) { transition-delay: 980ms; }
.tarif.animated .tableau tbody tr:nth-child(29) { transition-delay: 1015ms; }
.tarif.animated .tableau tbody tr:nth-child(30) { transition-delay: 1050ms; }
.tarif.animated .tableau tbody tr:nth-child(31) { transition-delay: 1085ms; }
.tarif.animated .tableau tbody tr:nth-child(32) { transition-delay: 1120ms; }
.tarif.animated .tableau tbody tr:nth-child(33) { transition-delay: 1155ms; }
.tarif.animated .tableau tbody tr:nth-child(34) { transition-delay: 1190ms; }
.tarif.animated .tableau tbody tr:nth-child(35) { transition-delay: 1225ms; }
.tarif.animated .tableau tbody tr:nth-child(36) { transition-delay: 1260ms; }
.tarif.animated .tableau tbody tr:nth-child(37) { transition-delay: 1295ms; }
.tarif.animated .tableau tbody tr:nth-child(38) { transition-delay: 1330ms; }
.tarif.animated .tableau tbody tr:nth-child(39) { transition-delay: 1365ms; }
.etapes > li::before { transition: transform .8s cubic-bezier(.2,.7,.2,1) .2s, opacity .8s .2s; transform: scale(.6); }
.encart { position: relative; overflow: hidden; }
.encart::before { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 0; background: var(--primary); transition: width 1s cubic-bezier(.2,.7,.2,1) .3s; }
.encart.animated::before { width: 100%; }
.bande--terra .encart::before { background: var(--primary); }
@media (prefers-reduced-motion: reduce) {
  *::before, *::after { animation: none !important; transition: none !important; }
  .tarif .tableau tbody tr { opacity: 1; transform: none; }
}
@media (max-width: 1100px) {
  .apercus { grid-template-columns: 1fr 1fr; }
  .apercu, .apercu--large { grid-column: span 1; }
  .apercu--large { flex-direction: column; }
  .apercu--large .apercu__photo { width: 100%; height: 230px; min-height: 0; }
}
@media (max-width: 860px) {
  .deux, .prestations__grille { grid-template-columns: 1fr; gap: 48px; }
  .composition { height: 440px; max-width: 360px; margin: 0 auto; width: 100%; }
  .composition__arche { width: 250px; height: 390px; }
  .composition__carte { width: 170px; height: 220px; top: 130px; }
  .etiquette { left: 10px; top: 80px; }
  .flottant { min-height: 0; padding: 200px 16px 210px; }
  .flottant .f1 { width: 96px; height: 104px; left: 4%; top: 60px; }
  .flottant .f2 { width: 80px; height: 100px; left: auto; right: 6%; top: 70px; }
  .flottant .f3 { width: 90px; height: 118px; left: 10%; top: auto; bottom: 30px; }
  .flottant .f4 { width: 110px; height: 120px; right: 8%; top: auto; bottom: 40px; }
  .medecin__visuel .arche { margin: 0 auto; }
  .prestations__grille .photo { height: 320px; }
  .cartes { grid-template-columns: 1fr; }
  .deux__photo { height: 440px; margin: 0 auto; }
  .deux--inverse > :first-child { order: 0; }
  .coches--2, .encarts, .encarts--3, .rangee, .acces, .contact { grid-template-columns: 1fr; }
  .formulaire { padding: 28px 22px; }
  .encarts--5 { grid-template-columns: 1fr 1fr; }
  .galerie, .galerie--3, .schemas { grid-template-columns: 1fr 1fr; }
  .cartes--2 { grid-template-columns: 1fr; }
  .apercus { grid-template-columns: 1fr; }
  .resultats__visuel .arche { height: 400px; margin: 0 auto; }
  .resultats__liste .li-e { grid-template-columns: 44px 1fr; padding: 14px 16px 14px 12px; }
  .apercu__photo, .apercu--large .apercu__photo { height: 200px; }
  .laser__corps { padding: 0 22px 26px; }
  .laser__photo { height: 190px; }
  .etapes-rdv { grid-template-columns: 1fr; gap: 14px; }
  .ampoules__visuel { min-height: 460px; }
  .ampoules__visuel .arche { width: 250px; height: 380px; }
  .ampoules__secrets { width: 220px; bottom: 0; }
  .mecanisme { height: 440px; }
  .mecanisme img { width: 200px; }
  .mecanisme__b { top: 110px; right: 0; }
  .etapes > li { grid-template-columns: 1fr; gap: 10px; }
  .rangees { gap: 70px; }
  .rangee { gap: 30px; }
  .rangee:nth-child(even) > :first-child { order: 0; }
  .rangee img, .rangee img.arche { height: 420px; }
  .rangee > :last-child { max-width: none; }
  .tableau th, .tableau td { padding: 12px 14px; }
  .nuage__liste br { display: none; }
  .nuage__liste a { display: block; }
  .tiret { display: none; }
  .carte { height: 380px; }
  .avis__carte, .rdv__carte { padding: 28px 22px; }
  .pied { padding: 70px 16px 28px; }
  .pied__tete { margin-bottom: 44px; }
  .pied__grille { grid-template-columns: 1fr; gap: 14px; }
  .pied__carte { padding: 28px 22px; }
  .pied__bas { flex-direction: column; text-align: center; }
}
.lien-smart { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color .2s; }
.lien-smart:hover { color: var(--primary); }
.bande--terra .lien-smart:hover, .pied .lien-smart:hover { color: var(--rose); }
.pied__horaires li.aujourdhui span:first-child::after { content: "Aujourd’hui"; margin-left: 10px; padding: 2px 9px; border-radius: 20px; background: var(--blanc); color: var(--primary); font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; vertical-align: 2px; }
main h3 { color: var(--primary); }
.bande--terra h2, .bande--terra h3, .flottant h2 { color: var(--blanc); }
.bande--terra .encart h2, .bande--terra .encart h3 { color: var(--primary); }
.depliables { gap: 14px; }
.depliables .contenu { padding: 0 28px 26px 88px; font-size: var(--texte-taille); line-height: 1.75; }
@keyframes deplier { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.depliables .coches li::before { color: var(--primary); }
.precautions { align-items: start; }
.precautions .depliables { max-width: none; margin: 0; }
.precautions__visuel .arche { width: 100%; max-width: 420px; height: 520px; border: 7px solid var(--fond); box-shadow: var(--ombre); }
@media (max-width: 860px) {
  .depliables .contenu { padding: 0 18px 20px; }
  .precautions__visuel .arche { height: 360px; margin: 0 auto; }
}
.precautions__visuel { position: sticky; top: 40px; }
@media (max-width: 860px) {
  .precautions__visuel { position: static; }
}
.chronologie { list-style: none; margin: 0 auto; padding: 0; max-width: 1080px; position: relative; }
.chronologie::before { content: ""; position: absolute; left: 50%; top: 10px; bottom: 10px; width: 2px; margin-left: -1px; background: linear-gradient(var(--primary), color-mix(in srgb, var(--primary) 15%, transparent)); }
.chronologie__etape { position: relative; display: grid; grid-template-columns: 1fr 90px 1fr; align-items: start; margin-bottom: 28px; }
.chronologie__num { grid-column: 2; grid-row: 1; justify-self: center; position: relative; z-index: 1; width: 62px; height: 62px; border-radius: 50%; background: var(--primary); color: var(--blanc); border: 5px solid var(--fond); box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 30%, transparent); display: grid; place-items: center; font-family: var(--police-titre); font-size: 22px; }
.chronologie__carte { grid-row: 1; background: var(--blanc); border-radius: 20px; padding: 30px 32px; box-shadow: 0 20px 44px -30px rgba(120, 50, 50, .55); position: relative; transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; }
.chronologie__etape--gauche .chronologie__carte { grid-column: 1; }
.chronologie__etape--droite .chronologie__carte { grid-column: 3; }
.chronologie__carte::after { content: ""; position: absolute; top: 24px; width: 16px; height: 16px; background: var(--blanc); transform: rotate(45deg); }
.chronologie__etape--gauche .chronologie__carte::after { right: -7px; }
.chronologie__etape--droite .chronologie__carte::after { left: -7px; }
.chronologie__carte h3 { font-size: 25px; margin-bottom: 12px; }
.chronologie__carte p { font-size: var(--texte-taille); line-height: 1.75; }
.chronologie__carte p:last-child { margin-bottom: 0; }
.chronologie__etape:not(:first-child) { margin-top: -24px; }
@media (max-width: 860px) {
  .chronologie::before { left: 26px; }
  .chronologie__etape, .chronologie__etape:not(:first-child) { grid-template-columns: 52px 1fr; gap: 14px; margin-top: 0; }
  .chronologie__num { grid-column: 1; width: 52px; height: 52px; font-size: 18px; border-width: 4px; }
  .chronologie__etape--gauche .chronologie__carte, .chronologie__etape--droite .chronologie__carte { grid-column: 2; }
  .chronologie__carte { padding: 22px 20px; }
  .chronologie__carte::after { display: none; }
}
.bande--rose .chronologie__num { border-color: var(--rose); }
.bande--blanc .chronologie__num { border-color: var(--blanc); }
.bande--blanc .chronologie__carte { background: var(--fond); box-shadow: none; }
.bande--blanc .chronologie__carte::after { background: var(--fond); }
.depliables--2 { max-width: var(--conteneur); grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
@media (max-width: 860px) {
  .depliables--2 { grid-template-columns: 1fr; }
}
.bande--terra .encart .coches li::before { color: var(--primary); }
.contre { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.contre li { display: flex; align-items: center; gap: 14px; background: var(--fond); border-radius: 40px; padding: 7px 18px 7px 7px; font-size: var(--texte-taille); line-height: 1.5; transition: transform .4s, box-shadow .4s; }
.contre li:hover { transform: translateX(5px); box-shadow: 0 14px 28px -20px rgba(120, 50, 50, .5); }
.contre li::before { content: ""; flex-shrink: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E") center / 16px no-repeat; }
.depliables .contre li { background: var(--blanc); }
@media (max-width: 760px) {
  .ouverture__sous { white-space: normal; max-width: 330px; }
}
.mentions-mise { max-width: var(--conteneur); margin: 0 auto; display: grid; grid-template-columns: 280px 1fr; gap: 40px; align-items: start; }
.mentions-sommaire { position: sticky; top: 30px; background: var(--blanc); border-radius: 20px; padding: 26px 22px; box-shadow: 0 20px 44px -32px rgba(120, 50, 50, .55); max-height: calc(100vh - 60px); overflow: auto; }
.mentions-sommaire ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.mentions-sommaire a { display: block; padding: 9px 12px; border-radius: 10px; font-size: var(--texte-taille); line-height: 1.4; text-decoration: none; color: var(--texte); transition: background .3s, color .3s; }
.mentions-sommaire a:hover { background: var(--fond); color: var(--primary); }
.mentions-sommaire a.actif { background: var(--rose); color: var(--primary); font-weight: 600; }
.mentions { display: grid; gap: 18px; }
.mention { background: var(--blanc); border-radius: 20px; padding: 36px 40px; scroll-margin-top: 30px; box-shadow: 0 20px 44px -34px rgba(120, 50, 50, .5); }
.mentions .mention h2 { font-size: 28px; margin: 0 0 18px; padding-bottom: 16px; border-bottom: 1px solid var(--rose); }
.mentions .mention h3 { font-size: 21px; margin: 28px 0 10px; }
.mentions .mention p, .mentions .mention li { font-size: var(--texte-taille); line-height: 1.8; }
.mentions .mention p:last-child { margin-bottom: 0; }
.mentions .mention strong { color: var(--primary); font-weight: 600; }
@media (max-width: 960px) {
  .mentions-mise { grid-template-columns: 1fr; }
  .mentions-sommaire { position: static; max-height: none; }
  .mention { padding: 26px 22px; }
}
.nuage__scene { position: relative; max-width: 1392px; margin: 0 auto; }
.nuage__scene .nuage__liste { position: relative; z-index: 2; }
.nuage__liste a { transition: color .35s; }
.nuage__scene.survol .nuage__liste a { color: var(--primary); }
.nuage__scene.survol .nuage__liste a.est-actif { color: var(--poudre); }
.nuage__photos { position: absolute; z-index: 1; left: 50%; top: 50%; width: 300px; height: 300px; translate: -50% -50%; pointer-events: none; }
.nuage__photos::before { content: ""; position: absolute; inset: -42px; border-radius: 50%; border: 1px solid var(--poudre); opacity: 0; transform: scale(.85); transition: opacity .5s, transform .7s cubic-bezier(.2,.7,.2,1); }
.nuage__photos img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; opacity: 0; transform: scale(.8); transition: opacity .45s, transform .7s cubic-bezier(.2,.7,.2,1); }
.nuage__photos img.est-actif { opacity: 1; transform: none; }
.nuage__scene.survol .nuage__photos::before { opacity: 1; transform: none; }
@media (hover: none), (max-width: 860px) {
  .nuage__photos { display: none; }
}
@keyframes carteArrive { from { opacity: 0; transform: translate(-50px, 60px) rotate(-14deg) scale(.88); } to { opacity: 1; transform: rotate(-3deg); } }
.ampoules__secrets { transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s; z-index: 2; cursor: zoom-in; }
[data-masquer] { display: none !important; }
.encart--prix .surtitre { max-width: 200px !important; margin-left: auto !important; margin-right: auto !important; }
.tarif { scroll-margin-top: 110px; }
.tableau a.lien-souligne { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.tableau a.lien-souligne:hover { text-decoration-thickness: 2px; }
#contact { scroll-margin-top: 30px; }
@media (max-width: 600px) {
  .tableau th, .tableau td { padding: 11px 8px; }
  .tableau th:first-child, .tableau td:first-child { padding-left: 12px; }
  .tableau th:last-child, .tableau td:last-child { padding-right: 12px; }
  .tableau th { font-size: 10px; letter-spacing: .06em; }
  .tableau .sous-titre td { font-size: 17px; }
  .tableau { table-layout: fixed; }
  .tableau th:first-child { width: 44%; }
  .tableau th { white-space: normal; line-height: 1.4; vertical-align: bottom; }
  .tableau td, .tableau th { hyphens: auto; -webkit-hyphens: auto; }
}
.tableau tbody tr:nth-child(even):not(.sous-titre) td { background: color-mix(in srgb, var(--rose) 45%, var(--blanc)); }
.tableau tbody tr:not(.sous-titre):hover td { background: var(--rose); }
@media (max-width: 600px) {
  .schemas { grid-template-columns: 1fr; gap: 24px; }
}
.rdv__insta { display: flex; align-items: center; gap: 18px; margin-top: 26px; padding: 18px 22px; background: var(--rose); border-radius: 18px; }
.rdv__insta .rdv__note { margin: 0; opacity: 1; color: var(--primary); line-height: 1.6; }
span.rdv__insta-icone { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--blanc); transition: background .3s, color .3s; }
.choix a { border-radius: 14px; padding: 18px 22px; transition: background .3s, color .3s, border-color .3s, transform .3s, box-shadow .3s; }
.choix a:first-child { background: var(--primary); border-color: var(--primary); color: var(--blanc); }
.choix a:first-child::after { color: var(--blanc); }
.choix a:first-child:hover { background: var(--rose); border-color: var(--rose); color: var(--primary); box-shadow: none; }
.choix a:first-child:hover::after { color: var(--primary); }
.choix a:nth-child(2) { background: var(--rose); border-color: var(--rose); color: var(--primary); }
.choix a:nth-child(2):hover, .choix a:nth-child(2):focus { background: color-mix(in srgb, var(--rose) 88%, var(--primary)); border-color: color-mix(in srgb, var(--rose) 88%, var(--primary)); color: var(--primary); }
.choix a:nth-child(2):hover::after { color: var(--primary); }
.choix a:nth-child(2), .choix a:nth-child(2):visited, .choix a:nth-child(2):active { color: var(--primary); }
.choix a:first-child, .choix a:first-child:visited, .choix a:first-child:active { color: var(--blanc); }
.choix a:hover { transform: translateY(-2px); }
.rdv__insta { background: var(--fond); padding: 14px 18px; gap: 16px; }
.rdv__insta .rdv__note { color: var(--texte); opacity: .85; }
span.rdv__insta-icone { flex-basis: 44px; width: 44px; height: 44px; background: transparent; color: var(--primary); border: 1px solid color-mix(in srgb, var(--primary) 45%, transparent); }
.rdv__insta:hover span.rdv__insta-icone { background: var(--primary); color: var(--blanc); }
@media (min-width: 601px) and (max-width: 1100px) {
  .tarif { scroll-margin-top: 150px; }
}
.rdv__insta { text-decoration: none; color: inherit; cursor: pointer; transition: background .3s; }
.choix a:first-child:hover, .choix a:first-child:focus-visible { background: var(--rose); border-color: var(--rose); color: var(--primary); box-shadow: none; }
.choix a:first-child:hover::after { color: var(--primary); }
.galerie--justifiee { columns: 4; column-gap: 16px; }
.galerie--justifiee figure { margin: 0 0 16px; break-inside: avoid; border-radius: 14px; overflow: hidden; position: relative; cursor: zoom-in; }
.galerie--justifiee figure::after { content: ""; position: absolute; inset: 0; background: color-mix(in srgb, var(--primary) 28%, transparent); opacity: 0; transition: opacity .5s; }
.galerie--justifiee figure:hover::after { opacity: 1; }
.galerie--justifiee img { width: 100%; height: auto; display: block; transition: transform .7s; }
.galerie--justifiee figure:hover img { transform: scale(1.1); }
@media (max-width: 767px) {
  .galerie--justifiee { columns: 2; column-gap: 8px; }
  .galerie--justifiee figure { margin-bottom: 8px; }
}

/* ---------- icônes (générées) ---------- */
.depl-i1-alerte .elementor-toggle-item:nth-child(1), .depl-i1-alerte .elementor-accordion-item:nth-child(1) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i1-interdit .elementor-toggle-item:nth-child(1), .depl-i1-interdit .elementor-accordion-item:nth-child(1) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i1-question .elementor-toggle-item:nth-child(1), .depl-i1-question .elementor-accordion-item:nth-child(1) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.depl-i2-alerte .elementor-toggle-item:nth-child(2), .depl-i2-alerte .elementor-accordion-item:nth-child(2) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i2-interdit .elementor-toggle-item:nth-child(2), .depl-i2-interdit .elementor-accordion-item:nth-child(2) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i2-question .elementor-toggle-item:nth-child(2), .depl-i2-question .elementor-accordion-item:nth-child(2) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.depl-i3-alerte .elementor-toggle-item:nth-child(3), .depl-i3-alerte .elementor-accordion-item:nth-child(3) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i3-interdit .elementor-toggle-item:nth-child(3), .depl-i3-interdit .elementor-accordion-item:nth-child(3) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i3-question .elementor-toggle-item:nth-child(3), .depl-i3-question .elementor-accordion-item:nth-child(3) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.depl-i4-alerte .elementor-toggle-item:nth-child(4), .depl-i4-alerte .elementor-accordion-item:nth-child(4) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i4-interdit .elementor-toggle-item:nth-child(4), .depl-i4-interdit .elementor-accordion-item:nth-child(4) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i4-question .elementor-toggle-item:nth-child(4), .depl-i4-question .elementor-accordion-item:nth-child(4) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.depl-i5-alerte .elementor-toggle-item:nth-child(5), .depl-i5-alerte .elementor-accordion-item:nth-child(5) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i5-interdit .elementor-toggle-item:nth-child(5), .depl-i5-interdit .elementor-accordion-item:nth-child(5) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i5-question .elementor-toggle-item:nth-child(5), .depl-i5-question .elementor-accordion-item:nth-child(5) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.depl-i6-alerte .elementor-toggle-item:nth-child(6), .depl-i6-alerte .elementor-accordion-item:nth-child(6) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2 1 21h22L12 2zm-1 7h2v6h-2V9zm0 8h2v2h-2v-2z'/%3E%3C/svg%3E"); }
.depl-i6-interdit .elementor-toggle-item:nth-child(6), .depl-i6-interdit .elementor-accordion-item:nth-child(6) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 0 1 6.3 12.9L7.1 5.7A8 8 0 0 1 12 4zm-6.3 3.1 11.2 11.2A8 8 0 0 1 5.7 7.1z'/%3E%3C/svg%3E"); }
.depl-i6-question .elementor-toggle-item:nth-child(6), .depl-i6-question .elementor-accordion-item:nth-child(6) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 16h-2v-2h2v2zm1.6-6.6-.9.9c-.7.7-.7 1.2-.7 1.7h-2v-.5c0-1.1.4-1.9 1.2-2.6l1.2-1.2a1.7 1.7 0 1 0-2.9-1.2H8.5a3.5 3.5 0 1 1 6.1 2.9z'/%3E%3C/svg%3E"); }
.resultats__liste .li-e:nth-child(1) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm-2 7h14v10H5V9zm2 2v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M7 2v2H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-2V2h-2v2H9V2H7zm-2 7h14v10H5V9zm2 2v2h2v-2H7zm4 0v2h2v-2h-2zm4 0v2h2v-2h-2z'/%3E%3C/svg%3E"); }
.resultats__liste .li-e:nth-child(2) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4 0-8 2-8 5v2h16v-2c0-3-4-5-8-5z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 12a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9zm0 2c-4 0-8 2-8 5v2h16v-2c0-3-4-5-8-5z'/%3E%3C/svg%3E"); }
.resultats__liste .li-e:nth-child(3) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M20.2 3.8c-3.6-1.2-9.4.3-12.6 3.5-2.4 2.4-3 5.6-2.2 8.3L3 18l1.4 1.4 2.4-2.4c2.7.8 5.9.2 8.3-2.2 3.2-3.2 4.7-9 3.5-12.6l1.6-1.6zm-8 8L9.4 14.6 8 13.2l2.8-2.8 1.4 1.4z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M20.2 3.8c-3.6-1.2-9.4.3-12.6 3.5-2.4 2.4-3 5.6-2.2 8.3L3 18l1.4 1.4 2.4-2.4c2.7.8 5.9.2 8.3-2.2 3.2-3.2 4.7-9 3.5-12.6l1.6-1.6zm-8 8L9.4 14.6 8 13.2l2.8-2.8 1.4 1.4z'/%3E%3C/svg%3E"); }
.resultats__liste .li-e:nth-child(4) { --icone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23B35859' d='M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zM11 1h2v3h-2zm0 19h2v3h-2zM1 11h3v2H1zm19 0h3v2h-3zM4.2 5.6l1.4-1.4 2.1 2.1-1.4 1.4zm12.1 12.1 1.4-1.4 2.1 2.1-1.4 1.4zM4.2 18.4l2.1-2.1 1.4 1.4-2.1 2.1zM16.3 6.3l2.1-2.1 1.4 1.4-2.1 2.1z'/%3E%3C/svg%3E"); --icone-blanche: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFFFFF' d='M12 7a5 5 0 1 0 0 10 5 5 0 0 0 0-10zM11 1h2v3h-2zm0 19h2v3h-2zM1 11h3v2H1zm19 0h3v2h-3zM4.2 5.6l1.4-1.4 2.1 2.1-1.4 1.4zm12.1 12.1 1.4-1.4 2.1 2.1-1.4 1.4zM4.2 18.4l2.1-2.1 1.4 1.4-2.1 2.1zM16.3 6.3l2.1-2.1 1.4 1.4-2.1 2.1z'/%3E%3C/svg%3E"); }

/* Généré par generer_site.py : styles en ligne de la maquette, reportés en classes. */
.st-0103e5 { margin-top:34px; }
.elementor .e-con > .elementor-widget.st-0103e5, .elementor .e-con > .e-con-inner > .elementor-widget.st-0103e5 { margin-top:34px !important; }
.st-08f8f4 { margin-top:44px; }
.elementor .e-con > .elementor-widget.st-08f8f4, .elementor .e-con > .e-con-inner > .elementor-widget.st-08f8f4 { margin-top:44px !important; }
.st-1da530 img { object-position:50% 40%; }
.st-29e79d img { object-position:50% 30%; }
.st-2d2b97 { justify-content:center;margin-top:40px; }
.elementor .e-con > .elementor-widget.st-2d2b97, .elementor .e-con > .e-con-inner > .elementor-widget.st-2d2b97 { justify-content:center !important;margin-top:40px !important; }
.st-2ff64f { background-position:50% 38%; }
.elementor .e-con > .elementor-widget.st-2ff64f, .elementor .e-con > .e-con-inner > .elementor-widget.st-2ff64f { background-position:50% 38% !important; }
.st-373688 { justify-content:center;margin-top:44px; }
.elementor .e-con > .elementor-widget.st-373688, .elementor .e-con > .e-con-inner > .elementor-widget.st-373688 { justify-content:center !important;margin-top:44px !important; }
.st-3a925f { margin-top:30px; }
.elementor .e-con > .elementor-widget.st-3a925f, .elementor .e-con > .e-con-inner > .elementor-widget.st-3a925f { margin-top:30px !important; }
.st-41eec6 img { object-position:22% 30%; }
.st-43c1fb { justify-content:center;margin-top:32px; }
.elementor .e-con > .elementor-widget.st-43c1fb, .elementor .e-con > .e-con-inner > .elementor-widget.st-43c1fb { justify-content:center !important;margin-top:32px !important; }
.st-443a93 { margin-top:12px; }
.elementor .e-con > .elementor-widget.st-443a93, .elementor .e-con > .e-con-inner > .elementor-widget.st-443a93 { margin-top:12px !important; }
.st-556d81 { font-size:var(--h2);margin-bottom:18px; }
.elementor .e-con > .elementor-widget.st-556d81, .elementor .e-con > .e-con-inner > .elementor-widget.st-556d81 { font-size:var(--h2) !important;margin-bottom:18px !important; }
.st-654fdb { margin:44px auto 0;max-width:640px; }
.elementor .e-con > .elementor-widget.st-654fdb, .elementor .e-con > .e-con-inner > .elementor-widget.st-654fdb { margin:44px auto 0 !important;max-width:640px !important; }
.st-67e2f7 { align-items:start; }
.elementor .e-con > .elementor-widget.st-67e2f7, .elementor .e-con > .e-con-inner > .elementor-widget.st-67e2f7 { align-items:start !important; }
.st-68506a { margin-bottom:0;max-width:760px; }
.elementor .e-con > .elementor-widget.st-68506a, .elementor .e-con > .e-con-inner > .elementor-widget.st-68506a { margin-bottom:0 !important;max-width:760px !important; }
.st-6b030a img { object-position:50% 60%; }
.st-6bd018 { margin-top:18px; }
.elementor .e-con > .elementor-widget.st-6bd018, .elementor .e-con > .e-con-inner > .elementor-widget.st-6bd018 { margin-top:18px !important; }
.st-752177 { background-position:50% 45%; }
.elementor .e-con > .elementor-widget.st-752177, .elementor .e-con > .e-con-inner > .elementor-widget.st-752177 { background-position:50% 45% !important; }
.st-791d76 { margin:48px auto 0; }
.elementor .e-con > .elementor-widget.st-791d76, .elementor .e-con > .e-con-inner > .elementor-widget.st-791d76 { margin:48px auto 0 !important; }
.st-7e4c79 { margin-top:22px; }
.elementor .e-con > .elementor-widget.st-7e4c79, .elementor .e-con > .e-con-inner > .elementor-widget.st-7e4c79 { margin-top:22px !important; }
.st-840615 { max-width:800px; }
.elementor .e-con > .elementor-widget.st-840615, .elementor .e-con > .e-con-inner > .elementor-widget.st-840615 { max-width:800px !important; }
.st-861227 { align-items:center; }
.elementor .e-con > .elementor-widget.st-861227, .elementor .e-con > .e-con-inner > .elementor-widget.st-861227 { align-items:center !important; }
.st-8a87c6 { margin-top:28px; }
.elementor .e-con > .elementor-widget.st-8a87c6, .elementor .e-con > .e-con-inner > .elementor-widget.st-8a87c6 { margin-top:28px !important; }
.st-91b7fe img { object-position:50% 20%; }
.st-9b2f98 { max-width:820px; }
.elementor .e-con > .elementor-widget.st-9b2f98, .elementor .e-con > .e-con-inner > .elementor-widget.st-9b2f98 { max-width:820px !important; }
.st-a8b321 { margin-bottom:22px; }
.elementor .e-con > .elementor-widget.st-a8b321, .elementor .e-con > .e-con-inner > .elementor-widget.st-a8b321 { margin-bottom:22px !important; }
.st-aa30cb { background-position:50% 30%; }
.elementor .e-con > .elementor-widget.st-aa30cb, .elementor .e-con > .e-con-inner > .elementor-widget.st-aa30cb { background-position:50% 30% !important; }
.st-aaa073 { background-position:50% 55%; }
.elementor .e-con > .elementor-widget.st-aaa073, .elementor .e-con > .e-con-inner > .elementor-widget.st-aaa073 { background-position:50% 55% !important; }
.st-b3cea6 { margin-top:14px; }
.elementor .e-con > .elementor-widget.st-b3cea6, .elementor .e-con > .e-con-inner > .elementor-widget.st-b3cea6 { margin-top:14px !important; }
.st-b4a0ec img { object-position:75% 50%; }
.st-bc9b74 { background-position:50% 43%; }
.elementor .e-con > .elementor-widget.st-bc9b74, .elementor .e-con > .e-con-inner > .elementor-widget.st-bc9b74 { background-position:50% 43% !important; }
.st-ced5f2 { background-position:50% 40%; }
.elementor .e-con > .elementor-widget.st-ced5f2, .elementor .e-con > .e-con-inner > .elementor-widget.st-ced5f2 { background-position:50% 40% !important; }
.st-d74861 { margin-top:10px; }
.elementor .e-con > .elementor-widget.st-d74861, .elementor .e-con > .e-con-inner > .elementor-widget.st-d74861 { margin-top:10px !important; }
.st-e047f4 { font-size:20px;margin-top:22px; }
.elementor .e-con > .elementor-widget.st-e047f4, .elementor .e-con > .e-con-inner > .elementor-widget.st-e047f4 { font-size:20px !important;margin-top:22px !important; }
