/* ══════════════════════════════════════════════════════════════════════════
   Centre Santé France Boissenart — feuille de la refonte 2026.

   Système repris de dr-armand-azencot.fr, palette des variables krf de
   dr-panagiotis-kanarelis.fr, typo Poppins + Inter.

   ⚠ TOUTES les règles sont préfixées .bsn- : aucune ne peut atteindre la page
   d'accueil en ligne, qui ne porte aucune de ces classes. C'est ce qui rend le
   montage en brouillon sans risque.

   ⚠ CETTE FEUILLE HABILLE DES WIDGETS NATIFS ELEMENTOR.
   Le chantier est monté entièrement en widgets natifs (heading, text-editor,
   button, image, divider, icon-list, breadcrumbs, nested-accordion) pour que
   l'équipe puisse tout modifier dans l'éditeur. Les sélecteurs ci-dessous
   visent donc le balisage RÉEL d'Elementor, relevé sur une page servie :
     filet      .bsn-rule   > .elementor-divider > .elementor-divider-separator
     sommaire   .bsn-somm-l > ul.elementor-icon-list-items > li > a > span.…-text
     FAQ        .bsn-qs     > .e-n-accordion > details.e-n-accordion-item > summary
     figure     .bsn-fig    > figure.wp-caption + figcaption.widget-image-caption
     bouton     .bsn-b1     > .elementor-button-wrapper > a.elementor-button
     titre      .bsn-eb     > .elementor-heading-title

   ⚠ SPÉCIFICITÉ : Elementor écrit des règles par élément du type
   `.elementor-372 .elementor-element.elementor-element-xxxx …` = 0,4,0.
   Une classe seule ne passe jamais devant : les réglages qu'il pose d'office
   (couleur du filet, largeur 100 %, marges) se reprennent avec !important.
   ══════════════════════════════════════════════════════════════════════════ */

:root{
  --bsn-bleu:#3E93CE; --bsn-bleu-encre:#2A76AF; --bsn-bleu-fonce:#23628F;
  --bsn-bleu-label:#276EA3;
  --bsn-marine:#2E3D4E; --bsn-encre:#3E4E5E; --bsn-gris:#5A6B7E;
  --bsn-ligne:#DCE9F3; --bsn-soft:#E9F3FB; --bsn-tint:#F5FAFD;
  --bsn-papier:#FFFFFF; --bsn-ciel:#A9D0EA;
  --bsn-ligne-nuit:rgba(233,243,251,.17);
  --bsn-titre:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bsn-courant:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --bsn-r-pill:999px; --bsn-r-lg:22px; --bsn-r-md:16px; --bsn-r-sm:9px;
  --bsn-e1:0 1px 2px rgba(46,61,78,.05), 0 4px 14px -6px rgba(46,61,78,.10);
  --bsn-e2:0 2px 4px rgba(46,61,78,.06), 0 12px 30px -10px rgba(46,61,78,.17);
  --bsn-t:300ms; --bsn-ease:cubic-bezier(.22,.61,.36,1);
  --bsn-doctolib:url("/wp-content/uploads/2026/09/doctolib-logo.png");
}

/* ══════════════════════════════════════════════════════════════════════════
   ⚠ LE JEU GLOBAL D'ELEMENTOR — la cause n°1 des pages « qui ne ressemblent
   à rien ».

   Elementor écrit, pour CHAQUE widget, des règles du type
     .elementor-widget-heading .elementor-heading-title{
       font-family:var(--e-global-typography-primary-font-family), Sans-serif;
       color:var(--e-global-color-primary) }
   à une spécificité de 0,2,0 — qui bat `body.bsn h1` (0,1,2). Sur ce site le
   jeu (elementor-kit-5) vaut ROBOTO / ROBOTO SLAB et un cyan #6EC1E4.

   Mesuré sur la page servie avant correction : h1, h2, h3, paragraphes, puces,
   légendes, fil d'Ariane et sommaire sortaient en Roboto, et les h2 en
   **cyan pâle sur fond clair** — 1,8:1, illisible.

   La bonne réponse n'est PAS de surenchérir en !important partout : c'est de
   redéfinir les VARIABLES du jeu, ici et seulement ici. Elles héritent, donc
   tous les widgets suivent sans le moindre conflit de spécificité — et le jeu
   du site en ligne n'est pas touché (body.bsn = 0,1,1 bat .elementor-kit-5).
   ══════════════════════════════════════════════════════════════════════════ */
body.bsn{
  --e-global-typography-primary-font-family:"Poppins";
  --e-global-typography-primary-font-weight:500;
  --e-global-typography-secondary-font-family:"Poppins";
  --e-global-typography-secondary-font-weight:600;
  --e-global-typography-text-font-family:"Inter";
  --e-global-typography-text-font-weight:400;
  --e-global-typography-accent-font-family:"Inter";
  --e-global-typography-accent-font-weight:500;
  --e-global-color-primary:#2E3D4E;
  --e-global-color-secondary:#2A76AF;
  --e-global-color-text:#5A6B7E;
  --e-global-color-accent:#2A76AF;
}

/* ── fond et texte des pages de la refonte ─────────────────────────────── */
body.bsn{background:var(--bsn-tint);color:var(--bsn-encre);
  font-family:var(--bsn-courant);line-height:1.65}
body.bsn h1,body.bsn h2,body.bsn h3,body.bsn h4{
  font-family:var(--bsn-titre);font-weight:500;color:var(--bsn-marine);
  letter-spacing:-.016em;line-height:1.18;text-wrap:balance}
body.bsn h1{font-size:clamp(30px,4.6vw,52px)}
body.bsn h2{font-size:clamp(25px,3.6vw,42px)}
body.bsn h3{font-size:clamp(18px,2vw,22px);font-weight:600}
body.bsn p{margin:0 0 15px}
body.bsn a{color:var(--bsn-bleu-encre)}

/* ── surtitre et filet ─────────────────────────────────────────────────── */
.bsn-eb .elementor-heading-title{
  font-family:var(--bsn-courant)!important;font-size:10.5px!important;
  letter-spacing:.24em;text-transform:uppercase;color:var(--bsn-bleu-label)!important;
  font-weight:600!important;line-height:1.4}
/* ⚠ Elementor impose --divider-color:#000, une largeur de 100 % et 15 px de
   marge verticale par une règle à 0,4,0. Il faut donc !important. */
.bsn-rule{--divider-color:var(--bsn-bleu)!important;--divider-border-width:2px!important}
.bsn-rule .elementor-divider{padding-block:9px 14px!important}
.bsn-rule .elementor-divider-separator{width:46px!important;border-radius:2px}

/* ══════════════════════════════════════════════ HÉRO D'ACTE, SOMBRE ══ */
.bsn-ahero{background:var(--bsn-marine)!important;color:var(--bsn-papier);
  position:relative;overflow:hidden;
  padding-top:clamp(34px,4.6vw,66px)!important;
  padding-bottom:clamp(38px,5vw,66px)!important}
.bsn-ahero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(96% 118% at 84% -12%,rgba(169,208,234,.22) 0%,transparent 62%)}
.bsn-ahero>*{position:relative;z-index:1}
.bsn-ahero .bsn-eb .elementor-heading-title{color:var(--bsn-ciel)!important}
.bsn-ahero .bsn-rule{--divider-color:var(--bsn-ciel)!important}
.bsn-ahero h1{color:var(--bsn-papier)!important;font-weight:500;
  font-size:clamp(31px,5vw,60px);line-height:1.09;letter-spacing:-.022em;
  margin:6px 0 0;max-width:17ch}
.bsn-chapo{margin-top:18px}
.bsn-chapo .elementor-widget-container{font-size:clamp(16px,1.75vw,19px);
  color:rgba(233,243,251,.84);max-width:58ch;line-height:1.62}
.bsn-chapo p{margin:0}

/* fil d'Ariane — widget natif, qui rend celui de Yoast.
   Il tire sa police du jeu « secondaire » : on la ramène au texte courant. */
.bsn-fil,.bsn-fil *{font-family:var(--bsn-courant);font-weight:400}
.bsn-fil .elementor-widget-container{font-size:12px;color:rgba(233,243,251,.58);
  margin-bottom:16px}
.bsn-fil a{color:rgba(233,243,251,.58);text-decoration:none}
.bsn-fil a:hover{color:var(--bsn-ciel)}
.bsn-fil .breadcrumb_last,.bsn-fil strong{color:rgba(233,243,251,.86);font-weight:400}

/* ══════════════════════════════════════════════════════ BOUTONS ══════ */
.bsn-btns{margin-top:26px;align-items:center!important}
.bsn-b1 .elementor-button,.bsn-b2 .elementor-button{
  display:inline-flex;align-items:center;gap:11px;min-height:52px;
  padding:0 26px;border-radius:var(--bsn-r-pill);font-family:var(--bsn-courant);
  font-size:14.5px;font-weight:500;border:1px solid transparent;
  transition:background var(--bsn-t) var(--bsn-ease),color var(--bsn-t) var(--bsn-ease),
             border-color var(--bsn-t) var(--bsn-ease)}
.bsn-b1 .elementor-button{background:var(--bsn-bleu-encre);color:var(--bsn-papier);
  border-color:var(--bsn-bleu-encre)}
.bsn-b1 .elementor-button:hover{background:var(--bsn-bleu-fonce);
  border-color:var(--bsn-bleu-fonce);color:var(--bsn-papier)}
.bsn-b2 .elementor-button{background:transparent;color:var(--bsn-marine);
  border-color:var(--bsn-marine)}
.bsn-b2 .elementor-button:hover{background:var(--bsn-marine);color:var(--bsn-papier)}

/* ⚠ SUR FOND SOMBRE. Sans ces règles, `.bsn-b1` sort en BLEU sur marine
   (2,24:1, sous les 3:1 exigés pour la limite d'un élément d'interface) et
   `.bsn-b2` en MARINE SUR MARINE — invisible. Défaut signalé par Kevin.
   Mesuré : blanc/marine 11,09:1 · ciel/marine 6,81:1 · bordure .55 4,21:1. */
.bsn-b1.bsn-nuit .elementor-button{background:var(--bsn-papier);
  color:var(--bsn-marine);border-color:var(--bsn-papier)}
.bsn-b1.bsn-nuit .elementor-button:hover{background:var(--bsn-ciel);
  border-color:var(--bsn-ciel);color:var(--bsn-marine)}
.bsn-b2.bsn-nuit .elementor-button{background:transparent;color:var(--bsn-papier);
  border-color:rgba(233,243,251,.55)}
.bsn-b2.bsn-nuit .elementor-button:hover{background:var(--bsn-papier);
  color:var(--bsn-marine);border-color:var(--bsn-papier)}

/* ⚠ LE LOGO DOCTOLIB EST POSÉ ICI, pas dans une balise : le contrôle d'icône
   d'Elementor n'accepte que des polices d'icônes et des SVG, et le logo est un
   PNG. Le bouton reste ainsi un widget NATIF, donc éditable.
   Le fichier #378 est BLEU #107ACA (mesuré : 0 % de pixels clairs) : il faut le
   forcer en blanc sur le bouton bleu, et le laisser tel quel sur le bouton
   blanc du héro sombre (bleu Doctolib sur blanc = 4,47:1). */
.bsn-b1 .elementor-button-text::after{content:"";display:inline-block;
  width:58px;height:17px;margin-left:11px;vertical-align:-3px;
  background:var(--bsn-doctolib) no-repeat center/contain;
  filter:brightness(0) invert(1)}
.bsn-b1.bsn-nuit .elementor-button-text::after{filter:none}

/* ═══════════════════════════════ « L'ESSENTIEL » — bloc cité par les IA ══ */
.bsn-essentiel{background:var(--bsn-soft)!important;
  border-bottom:1px solid var(--bsn-ligne);
  padding-top:clamp(42px,5.5vw,76px)!important;
  padding-bottom:clamp(42px,5.5vw,76px)!important}
.bsn-qr{margin-top:14px!important;align-items:stretch!important}
.bsn-qr-c{flex:1 1 calc(50% - 10px)!important;min-width:0!important;
  background:var(--bsn-papier);border:1px solid var(--bsn-ligne);
  border-radius:var(--bsn-r-md);padding:clamp(20px,2.2vw,26px)!important;
  box-shadow:var(--bsn-e1);gap:8px!important;
  transition:box-shadow var(--bsn-t) var(--bsn-ease),border-color var(--bsn-t) var(--bsn-ease)}
.bsn-qr-c:hover{box-shadow:var(--bsn-e2);border-color:rgba(62,147,206,.30)}
.bsn-qr-q .elementor-heading-title{font-family:var(--bsn-titre);font-weight:500;
  font-size:17.5px!important;line-height:1.28;color:var(--bsn-marine);
  letter-spacing:-.014em}
.bsn-qr-c .elementor-widget-text-editor{font-size:15.5px;color:var(--bsn-gris);
  line-height:1.62}
.bsn-qr-c p{margin:0}
@media (max-width:760px){.bsn-qr-c{flex:1 1 100%!important}}

/* ═══════════════════════════════ CORPS : sommaire collant + prose ═══ */
.bsn-corps{padding-top:clamp(46px,6vw,84px)!important;
  padding-bottom:clamp(46px,6vw,84px)!important}
/* Mesuré : tout s'aligne à la même verticale sauf le sommaire, décalé de 20 px
   par deux paddings de conteneur imbriqués. On les annule. */
.bsn-grid,.bsn-col-somm,.bsn-prose{padding-left:0!important;padding-right:0!important}
/* ⚠ `align-items:flex-start` réduisait la colonne de gauche à la hauteur de son
   contenu : le sommaire en `sticky` n'avait alors AUCUNE course et décrochait
   dès la première section. La colonne doit s'étirer, c'est le bloc DEDANS qui
   est collant. */
.bsn-grid{align-items:stretch!important;flex-wrap:nowrap!important;
  gap:clamp(26px,4.4vw,68px)!important}
.bsn-col-somm{flex:0 0 224px!important;width:224px!important;max-width:224px!important;
  align-self:stretch!important}
.bsn-prose{flex:1 1 0!important;min-width:0!important;max-width:100%!important;
  gap:clamp(34px,4.4vw,56px)!important}

/* sommaire — liste d'icônes native, numérotée par un compteur CSS */
.bsn-somm{position:sticky;top:96px;gap:0!important;padding:0!important}
.bsn-somm-t .elementor-heading-title{font-family:var(--bsn-courant)!important;
  font-size:10px!important;letter-spacing:.24em;text-transform:uppercase;
  color:var(--bsn-bleu-label)!important;font-weight:600!important;margin-bottom:14px}
.bsn-somm-l .elementor-icon-list-items{counter-reset:bsns;margin:0;padding:0;
  list-style:none}
.bsn-somm-l .elementor-icon-list-item{margin:0}
.bsn-somm-l .elementor-icon-list-icon{display:none}
.bsn-somm-l .elementor-icon-list-item>a{display:block;position:relative;
  padding:9px 0 9px 30px;border-left:1px solid var(--bsn-ligne);text-decoration:none;
  transition:border-color var(--bsn-t) var(--bsn-ease)}
.bsn-somm-l .elementor-icon-list-item>a::before{counter-increment:bsns;
  content:counter(bsns,decimal-leading-zero);position:absolute;left:13px;top:10px;
  font-size:10.5px;letter-spacing:.06em;color:var(--bsn-bleu-label);font-weight:600}
.bsn-somm-l .elementor-icon-list-text{font-size:14px;color:var(--bsn-gris);
  line-height:1.4;transition:color var(--bsn-t) var(--bsn-ease)}
.bsn-somm-l .elementor-icon-list-item>a:hover,
.bsn-somm-l .elementor-icon-list-item>a.bsn-on{border-left-color:var(--bsn-bleu)}
.bsn-somm-l .elementor-icon-list-item>a.bsn-on .elementor-icon-list-text{
  color:var(--bsn-marine);font-weight:600}
.bsn-somm-l .elementor-icon-list-item>a:hover .elementor-icon-list-text{
  color:var(--bsn-marine)}
/* l'en-tête colle : les sections visées doivent s'arrêter en dessous */
.bsn-prose>.e-con{scroll-margin-top:104px}

/* prose mesurée — c'est la mesure qui manquait, pas la couleur */
.bsn-prose .elementor-widget-heading h2{font-size:clamp(23px,2.6vw,33px)!important;
  line-height:1.16;letter-spacing:-.018em;max-width:24ch}
.bsn-prose .elementor-widget-heading h3{font-size:clamp(17.5px,1.9vw,21px)!important;
  font-weight:600}
.bsn-prose .elementor-widget-text-editor{font-size:16.5px;line-height:1.74;
  color:var(--bsn-gris)}
.bsn-prose .elementor-widget-text-editor p{max-width:70ch}
.bsn-prose strong{color:var(--bsn-marine);font-weight:600}
.bsn-prose ul{list-style:none;margin:4px 0 18px;padding:0;display:grid;gap:10px}
.bsn-prose ul li{position:relative;padding-left:23px;font-size:16px;line-height:1.66;
  max-width:70ch}
.bsn-prose ul li::before{content:"";position:absolute;left:0;top:.66em;width:5px;
  height:5px;border-radius:50%;background:var(--bsn-bleu)}
.bsn-prose>.e-con{gap:2px!important}

/* encart au filet */
.bsn-encart{border-left:2px solid var(--bsn-bleu);background:var(--bsn-soft);
  border-radius:0 var(--bsn-r-md) var(--bsn-r-md) 0;
  padding:19px 23px!important;max-width:70ch;gap:6px!important}
.bsn-encart .elementor-widget-text-editor{font-size:15.5px;color:var(--bsn-encre);
  line-height:1.68}
.bsn-encart p{margin:0;max-width:none}

/* figure — widget image natif, plafonné à la largeur réelle du fichier */
.bsn-fig figure.wp-caption{margin:0}
.bsn-fig img{width:100%;height:auto;display:block;border-radius:var(--bsn-r-lg);
  box-shadow:var(--bsn-e2)}
.bsn-fig .widget-image-caption{font-size:13px!important;color:var(--bsn-gris)!important;
  margin-top:11px;line-height:1.55;padding-left:13px;
  border-left:2px solid var(--bsn-bleu);text-align:start}

/* ── bloc d'ouverture : la prose à gauche, la figure à droite ──────────────
   La figure garde son plafond de largeur réelle ; la colonne se dimensionne
   sur elle. Ce qui n'est pas de la prose (liste d'actes, frise) reste en
   dessous, pleine largeur. */
.bsn-intro{align-items:center!important;flex-wrap:nowrap!important;
  gap:clamp(24px,3.6vw,54px)!important;margin-bottom:6px}
.bsn-intro>.e-con:first-child{flex:1 1 0!important;min-width:0!important}
.bsn-intro-fig{flex:0 0 auto!important;width:auto!important;max-width:40%!important}
.bsn-intro-fig .bsn-fig{margin:0}
.bsn-intro-fig img{border-radius:var(--bsn-r-lg);box-shadow:var(--bsn-e2)}
@media (max-width:880px){
  .bsn-intro{flex-wrap:wrap!important}
  .bsn-intro-fig{flex:1 1 100%!important;max-width:100%!important}
}

/* ═══════════════════════════════════════════ FRISE D'ÉTAPES ═════════ */
.bsn-frise{align-items:stretch!important;margin:4px 0 6px}
.bsn-etape{flex:1 1 calc(25% - 15px)!important;min-width:180px!important;
  background:var(--bsn-papier);border:1px solid var(--bsn-ligne);
  border-radius:var(--bsn-r-md);padding:19px!important;box-shadow:var(--bsn-e1);
  gap:6px!important;
  transition:transform var(--bsn-t) var(--bsn-ease),box-shadow var(--bsn-t) var(--bsn-ease)}
.bsn-etape:hover{transform:translateY(-4px);box-shadow:var(--bsn-e2)}
.bsn-num .elementor-heading-title{display:grid;place-items:center;width:42px;height:42px;
  border-radius:var(--bsn-r-pill);background:var(--bsn-marine);color:var(--bsn-ciel)!important;
  font-family:var(--bsn-titre);font-size:15px!important;font-weight:600!important;
  margin-bottom:8px}
.bsn-etape .elementor-widget-heading h3{font-size:15px!important}
.bsn-etape .elementor-widget-text-editor{font-size:13.5px;color:var(--bsn-gris);
  line-height:1.56}
.bsn-etape p{margin:0;max-width:none}
@media (max-width:820px){.bsn-etape{flex:1 1 calc(50% - 10px)!important}}

/* ═══════════════════════════════ FAQ — accordéon natif, schéma FAQPage ══ */
.bsn-faqs{background:var(--bsn-soft)!important;
  border-top:1px solid var(--bsn-ligne);border-bottom:1px solid var(--bsn-ligne);
  padding-top:clamp(42px,5.5vw,76px)!important;
  padding-bottom:clamp(42px,5.5vw,76px)!important}
.bsn-qs{max-width:84ch;margin-top:12px}
.bsn-qs .e-n-accordion{display:grid;gap:10px}
.bsn-qs .e-n-accordion-item{border:1px solid var(--bsn-ligne);
  border-radius:var(--bsn-r-md)!important;background:var(--bsn-papier);
  box-shadow:var(--bsn-e1);overflow:hidden;
  transition:box-shadow var(--bsn-t) var(--bsn-ease),border-color var(--bsn-t) var(--bsn-ease)}
.bsn-qs .e-n-accordion-item[open]{box-shadow:var(--bsn-e2);
  border-color:rgba(62,147,206,.30)}
.bsn-qs .e-n-accordion-item-title{padding:17px 22px!important;min-height:62px;
  transition:background 170ms var(--bsn-ease)}
.bsn-qs .e-n-accordion-item-title:hover{background:rgba(62,147,206,.06)}
.bsn-qs .e-n-accordion-item-title-text{font-family:var(--bsn-titre)!important;
  font-weight:500!important;font-size:17.5px!important;line-height:1.34;
  color:var(--bsn-marine)!important;letter-spacing:-.012em;margin:0}
.bsn-qs .e-n-accordion-item-title-icon{color:var(--bsn-bleu-encre)}
.bsn-rep{padding:0 22px 18px!important}
.bsn-rep .elementor-widget-text-editor{font-size:16px;color:var(--bsn-gris);
  line-height:1.7}
.bsn-rep p{margin:0;max-width:72ch}

/* ═══════════════════════════ ACTES LIÉS — maillage interne explicite ══ */
.bsn-liens-s{padding-top:clamp(42px,5.5vw,76px)!important;padding-bottom:0!important}
.bsn-liens{margin-top:14px!important;align-items:stretch!important}
.bsn-lien{flex:1 1 calc(25% - 15px)!important;min-width:232px!important;
  border:1px solid var(--bsn-ligne);border-radius:var(--bsn-r-md);
  background:var(--bsn-papier);padding:21px 23px!important;box-shadow:var(--bsn-e1);
  gap:5px!important;
  transition:transform var(--bsn-t) var(--bsn-ease),box-shadow var(--bsn-t) var(--bsn-ease),
             border-color var(--bsn-t) var(--bsn-ease)}
.bsn-lien:hover{transform:translateY(-4px);box-shadow:var(--bsn-e2);
  border-color:rgba(62,147,206,.30)}
.bsn-lien-e .elementor-heading-title{font-family:var(--bsn-courant)!important;
  font-size:11px!important;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bsn-bleu-label)!important;font-weight:600!important}
.bsn-lien .elementor-widget-heading h3{font-family:var(--bsn-titre);font-size:18px!important;
  font-weight:500!important;color:var(--bsn-marine);letter-spacing:-.014em;margin:4px 0 2px}
.bsn-lien .elementor-widget-text-editor{font-size:14px;color:var(--bsn-gris);
  line-height:1.56}
.bsn-lien p{margin:0;max-width:none}

/* ═══════════════════════════ RAPPEL DE RENDEZ-VOUS, fin de page ═════ */
.bsn-rdv{border-top:1px solid var(--bsn-ligne);
  padding-top:clamp(32px,4vw,52px)!important;
  padding-bottom:clamp(42px,5.5vw,72px)!important;gap:4px!important}
.bsn-rdv-l .elementor-widget-container{font-size:15px;color:var(--bsn-gris)}
.bsn-rdv-l p{margin:0}

/* ═══════════════════════════════════════════════ LOT 1 — l'accueil ══ */
.bsn-phero{background:var(--bsn-tint);padding-top:clamp(40px,6vw,78px)!important;
  align-items:center!important}
.bsn-phero .bsn-lede .elementor-widget-container{font-size:clamp(16px,1.7vw,19px);
  color:var(--bsn-gris);max-width:56ch}
.bsn-shot img{width:100%;height:auto;border-radius:var(--bsn-r-lg);
  box-shadow:var(--bsn-e2);display:block}
.bsn-shot.bsn-cover img{aspect-ratio:4/3.2;object-fit:cover}

/* barre d'informations pratiques */
.bsn-infobar{background:var(--bsn-papier);border:1px solid var(--bsn-ligne);
  border-radius:var(--bsn-r-md);box-shadow:var(--bsn-e1);padding:0!important;
  gap:0!important;align-items:stretch!important;overflow:hidden}
.bsn-info{flex:1 1 190px!important;padding:17px 20px!important;
  border-left:1px solid var(--bsn-ligne);gap:3px!important}
.bsn-info:first-child{border-left:0}
.bsn-info-t .elementor-heading-title{font-family:var(--bsn-titre);font-size:14.5px!important;
  font-weight:600!important;color:var(--bsn-marine)}
.bsn-info .elementor-widget-text-editor{font-size:13px;color:var(--bsn-gris);
  line-height:1.45}
.bsn-info p{margin:0}

/* bande sombre */
.bsn-band{background:var(--bsn-marine)!important;color:var(--bsn-papier)}
.bsn-band h2,.bsn-band h3{color:var(--bsn-papier)!important}
.bsn-band .bsn-eb .elementor-heading-title{color:var(--bsn-ciel)!important}
.bsn-band .bsn-rule{--divider-color:var(--bsn-ciel)!important}
.bsn-band .elementor-widget-text-editor{color:rgba(233,243,251,.8)}
.bsn-col{border-left:1px solid var(--bsn-ligne-nuit);
  padding:2px clamp(14px,2vw,30px)!important}
.bsn-col:first-child{border-left:0;padding-left:0!important}

/* ⚠ DEUX CLASSES POSÉES DANS LES PAGES N'AVAIENT AUCUNE RÈGLE — trouvées en
   comptant les classes du contenu contre celles de la feuille, pas à l'œil.
   Elles s'affichaient donc nues.

   `bsn-alerte` : le bloc « Appelez le centre » des pages d'urgence (3 pages).
   Il doit ressortir sans peser : panneau clair et filet bleu à gauche. */
.bsn-alerte{background:var(--bsn-papier)!important;
  border:1px solid var(--bsn-ligne);border-left:4px solid var(--bsn-bleu);
  border-radius:0 var(--bsn-r-md) var(--bsn-r-md) 0;
  padding:clamp(22px,2.4vw,30px)!important;box-shadow:var(--bsn-e1);gap:6px!important}
.bsn-alerte .elementor-widget-heading h2{font-size:clamp(20px,2.2vw,26px)!important;
  max-width:26ch}
.bsn-alerte .elementor-widget-text-editor{font-size:15.5px;color:var(--bsn-gris);
  line-height:1.62}
.bsn-alerte p{margin:0;max-width:64ch}
.bsn-alerte .elementor-widget-button{margin-top:10px}

/* `bsn-duo` : une rangée « photo + texte » du socle (3 pages). */
.bsn-duo{align-items:center!important;gap:clamp(24px,3.4vw,54px)!important}
.bsn-duo>.e-con{flex:1 1 320px!important;min-width:0!important;
  padding-left:0!important;padding-right:0!important}
.bsn-duo .elementor-widget-text-editor{color:var(--bsn-gris)}
.bsn-duo p{max-width:56ch}
@media (max-width:860px){.bsn-duo{flex-wrap:wrap!important}}

/* cartes cliquables */
.bsn-carte{background:var(--bsn-papier);border:1px solid var(--bsn-ligne);
  border-radius:var(--bsn-r-md);padding:22px!important;box-shadow:var(--bsn-e1);
  transition:transform var(--bsn-t) var(--bsn-ease),box-shadow var(--bsn-t) var(--bsn-ease),
             border-color var(--bsn-t) var(--bsn-ease)}
.bsn-carte:hover{transform:translateY(-5px);box-shadow:var(--bsn-e2);
  border-color:rgba(62,147,206,.30)}

/* liste d'actes — widget « liste d'icônes » natif */
.bsn-actes .elementor-icon-list-items{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:9px;margin:0;padding:0}
.bsn-actes .elementor-icon-list-item{margin:0}
.bsn-actes .elementor-icon-list-item>a{display:flex;align-items:center;gap:11px;
  padding:12px 15px;border:1px solid var(--bsn-ligne);border-radius:var(--bsn-r-sm);
  background:var(--bsn-papier);text-decoration:none;
  transition:background var(--bsn-t) var(--bsn-ease),border-color var(--bsn-t) var(--bsn-ease)}
.bsn-actes .elementor-icon-list-item>a:hover{background:var(--bsn-soft);
  border-color:var(--bsn-bleu)}
.bsn-actes .elementor-icon-list-icon{color:var(--bsn-bleu);font-size:6px}
.bsn-actes .elementor-icon-list-text{font-size:14.5px;color:var(--bsn-marine);
  font-weight:500}

/* citation en exergue */
.bsn-exergue{background:var(--bsn-soft)!important;
  border-top:1px solid var(--bsn-ligne);border-bottom:1px solid var(--bsn-ligne)}
.bsn-cit{position:relative;max-width:56ch;margin:0 auto;
  padding-left:clamp(30px,4vw,54px)!important}
.bsn-cit::before{content:"\201C";position:absolute;left:0;top:-.24em;
  font-family:var(--bsn-titre);font-size:clamp(52px,7vw,86px);color:var(--bsn-ciel);
  line-height:1}
.bsn-cit .elementor-widget-container{font-family:var(--bsn-titre);
  font-size:clamp(17px,2vw,24px);line-height:1.42;color:var(--bsn-marine);
  font-weight:500;letter-spacing:-.012em}

/* réserve visible : ce qui attend une réponse du centre */
.bsn-reserve .elementor-widget-container{background:#FFF8E6;
  border-left:3px solid #E0A400;border-radius:0 var(--bsn-r-sm) var(--bsn-r-sm) 0;
  padding:13px 17px;font-size:14px;color:#6B5200;line-height:1.55}
.bsn-reserve p{margin:0;max-width:none}
.bsn-reserve strong{color:#4A3900}

/* ── mobile : le sommaire n'a plus de colonne ───────────────────────────── */
@media (max-width:920px){
  .bsn-grid{flex-wrap:wrap!important;flex-direction:column!important}
  .bsn-col-somm{display:none!important}
  .bsn-prose{flex:1 1 100%!important;width:100%!important}
}
@media (prefers-reduced-motion:reduce){
  .bsn-lien,.bsn-qr-c,.bsn-etape,.bsn-carte,.bsn-qs .e-n-accordion-item{
    transition:none!important}
}

/* ══════════════════════════════════════════════════════════════════════════
   EN-TÊTE ET PIED — gabarits du Theme Builder, montés en widgets natifs.

   ⚠ Ils ne s'affichent QUE sur les 32 pages du chantier (condition
   d'affichage par identifiant). L'accueil en ligne garde les siens.
   En-tête retenu : la version SOMBRE (B), validée par Kevin le 28/09.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── la barre ───────────────────────────────────────────────────────────── */
/* ⚠ La barre déborde de la largeur de contenu du site (1 140 px) : marque +
   menu + téléphone + bouton ne tiennent pas, et elle passait à 201 px de haut
   au lieu de 76. On lui donne sa propre largeur intérieure, plus large que le
   corps de page — c'est l'usage pour un en-tête. */
/* ⚠ DANS UN CONTENEUR « BOXED », LE FLEX EST SUR `.e-con-inner`, PAS SUR LE
   CONTENEUR. Posées sur `.bsn-bar`, les règles d'alignement ne s'appliquaient
   à rien : la marque et le menu partaient sur deux lignes et la barre montait
   à 154 px au lieu de 76. */
.bsn-bar>.e-con-inner{max-width:1360px!important;width:100%!important;
  display:flex!important;align-items:center!important;
  justify-content:space-between!important;flex-wrap:nowrap!important;
  gap:22px!important}
.bsn-bar{position:sticky!important;top:0;z-index:99;
  background:rgba(46,61,78,.92)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--bsn-ligne-nuit);
  min-height:76px;padding-top:0!important;padding-bottom:0!important}
/* ⚠ Un conteneur en « full » vaut `width:100%` : `flex:0 0 auto` seul ne le
   contredit pas, la marque prenait les 1 360 px et le menu se retrouvait
   écrasé à 20 px. La largeur doit être remise à `auto` explicitement. */
.bsn-marque{flex:0 0 auto!important;width:auto!important;max-width:none!important;
  gap:0!important;text-decoration:none!important}
.bsn-marque-n .elementor-heading-title{font-family:var(--bsn-titre)!important;
  font-size:16px!important;font-weight:600!important;color:var(--bsn-papier)!important;
  line-height:1.14}
.bsn-marque-v .elementor-heading-title{font-family:var(--bsn-courant)!important;
  font-size:9.5px!important;letter-spacing:.2em;text-transform:uppercase;
  color:var(--bsn-ciel)!important;font-weight:600!important;margin-top:4px}
.bsn-nav-z{flex:0 1 auto!important;width:auto!important;max-width:none!important;
  align-items:center!important;justify-content:flex-end!important;flex-wrap:nowrap!important}

/* le menu — widget natif « nav-menu » */
.bsn-menu{flex:0 1 auto!important;width:auto!important}
.bsn-menu .elementor-nav-menu{gap:clamp(10px,1.4vw,22px)}
.bsn-menu .elementor-nav-menu a.elementor-item{
  font-family:var(--bsn-courant);font-size:14.5px;font-weight:400;
  color:rgba(233,243,251,.86)!important;padding:8px 0!important;white-space:nowrap;
  transition:color var(--bsn-t) var(--bsn-ease)}
.bsn-menu .elementor-nav-menu a.elementor-item:hover,
.bsn-menu .elementor-nav-menu a.elementor-item.elementor-item-active{
  color:var(--bsn-papier)!important}
/* le menu déroulant du mobile, sur le même fond */
.bsn-menu .elementor-nav-menu--dropdown{background:var(--bsn-marine)!important}
.bsn-menu .elementor-nav-menu--dropdown a.elementor-item{color:rgba(233,243,251,.9)!important}
.bsn-menu div.elementor-menu-toggle{color:var(--bsn-papier)!important}

/* le téléphone : un bouton natif, rendu comme un lien */
.bsn-h-tel .elementor-button{background:transparent!important;border:0!important;
  color:var(--bsn-papier)!important;font-family:var(--bsn-courant);font-size:14.5px;
  font-weight:600;min-height:40px;padding:0 4px!important;white-space:nowrap}
.bsn-h-tel .elementor-button:hover{color:var(--bsn-ciel)!important}
/* le bouton de rdv, plus compact que dans le corps de page */
.bsn-h-rdv .elementor-button{min-height:46px;padding:0 21px;font-size:13.5px}
.bsn-h-rdv .elementor-button-text::after{width:56px;height:16px;margin-left:10px}
@media (max-width:1180px){.bsn-h-tel{display:none!important}}

/* ── le pied ────────────────────────────────────────────────────────────── */
.bsn-pied{background:var(--bsn-marine)!important;color:rgba(233,243,251,.76);
  padding-top:clamp(38px,4.6vw,62px)!important;padding-bottom:24px!important}
.bsn-pied-cols{align-items:flex-start!important;
  padding-bottom:28px!important;border-bottom:1px solid var(--bsn-ligne-nuit)}
.bsn-pied-id{flex:1 1 300px!important;min-width:0!important}
.bsn-pied-col{flex:1 1 190px!important;min-width:0!important}
.bsn-pied-n .elementor-heading-title{font-family:var(--bsn-titre)!important;font-size:16px!important;
  font-weight:600!important;color:var(--bsn-papier)!important;line-height:1.16}
.bsn-pied-v .elementor-heading-title{font-family:var(--bsn-courant)!important;font-size:9.5px!important;
  letter-spacing:.2em;text-transform:uppercase;color:var(--bsn-ciel)!important;
  font-weight:600!important;margin-top:5px}
.bsn-pied-adr{margin-top:12px}
.bsn-pied-adr .elementor-widget-container{font-size:14px;line-height:1.6;
  color:rgba(233,243,251,.76);max-width:34ch}
.bsn-pied-adr strong{color:var(--bsn-papier)}
.bsn-pied-adr p{margin:0 0 9px}
.bsn-pied .bsn-btns{margin-top:16px!important}
.bsn-pied-t .elementor-heading-title{font-family:var(--bsn-courant)!important;font-size:10.5px!important;
  letter-spacing:.2em;text-transform:uppercase;color:var(--bsn-ciel)!important;
  font-weight:600!important;margin-bottom:12px}
.bsn-pied-t2 .elementor-heading-title{margin-top:22px}
.bsn-pl .elementor-icon-list-items{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.bsn-pl .elementor-icon-list-item{margin:0}
.bsn-pl .elementor-icon-list-icon{display:none}
.bsn-pl .elementor-icon-list-item>a{text-decoration:none;display:block}
.bsn-pl .elementor-icon-list-text{font-size:14px;line-height:1.5;
  color:rgba(233,243,251,.76);transition:color var(--bsn-t) var(--bsn-ease)}
.bsn-pl .elementor-icon-list-item>a:hover .elementor-icon-list-text{color:var(--bsn-papier)}
.bsn-pied-bas{align-items:center!important;justify-content:space-between!important;
  padding-top:18px!important;flex-wrap:wrap!important}
.bsn-pied-b .elementor-widget-container{font-size:12.5px;color:rgba(233,243,251,.62)}
.bsn-pied-b p{margin:0}
.bsn-pied-b a{color:rgba(233,243,251,.62);text-decoration:none}
.bsn-pied-b a:hover{color:var(--bsn-papier)}
@media (max-width:900px){.bsn-pied-cols{flex-wrap:wrap!important}
  .bsn-pied-id,.bsn-pied-col{flex:1 1 44%!important}}
@media (max-width:620px){.bsn-pied-id,.bsn-pied-col{flex:1 1 100%!important}}

/* ══════════════════════════════════════════════════════════════════════════
   ACCUEIL DE LA REFONTE et PAGES DE COMMUNE (lot 3) — 29/09
   Transposé de maquette/accueil.html (validée le 28/09). Classes nouvelles
   seulement : rien de ce qui précède n'est redéfini.
   ══════════════════════════════════════════════════════════════════════════ */

/* la barre pratique remonte sur le bas du héro, comme dans la maquette */
.bsn-acc-bar{margin-top:-34px!important;padding-top:0!important;position:relative;z-index:2}

/* les quatre pôles : 4 colonnes, 2 puis 1 en dessous */
.bsn-cartes{flex-wrap:nowrap!important;align-items:stretch!important;gap:20px!important}
.bsn-cartes>.bsn-carte{flex:1 1 0!important;min-width:0!important;gap:8px!important}
.bsn-carte h3{font-size:18px!important;margin:0}
.bsn-carte .elementor-widget-text-editor{font-size:14.5px;color:var(--bsn-gris);line-height:1.58}
.bsn-carte p{margin:0}
.bsn-carte{display:flex!important;flex-direction:column!important}
.bsn-carte .elementor-widget-text-editor{flex:1 1 auto}
.bsn-carte-l .elementor-heading-title{font-size:13.5px!important;font-weight:600!important;
  color:var(--bsn-bleu-label)!important}
.bsn-carte-l .elementor-heading-title::after{content:" \2192"}
@media (max-width:1024px){.bsn-cartes{flex-wrap:wrap!important}
  .bsn-cartes>.bsn-carte{flex:1 1 44%!important}}
@media (max-width:620px){.bsn-cartes>.bsn-carte{flex:1 1 100%!important}}

/* la technique mise en avant : fond teinté, grille 2×2 */
.bsn-mea{background:var(--bsn-tint)!important;border-top:1px solid var(--bsn-ligne);
  border-bottom:1px solid var(--bsn-ligne)}
.bsn-specs{gap:14px!important;margin:6px 0 10px!important}
.bsn-spec{flex:1 1 calc(50% - 14px)!important;min-width:220px!important;background:var(--bsn-papier);
  border:1px solid var(--bsn-ligne);border-radius:var(--bsn-r-sm);padding:15px 18px!important;gap:3px!important}
.bsn-spec .elementor-widget-text-editor{font-size:14px;color:var(--bsn-gris);line-height:1.5}
.bsn-spec p{margin:0}
.bsn-sans-logo .elementor-button-text::after{content:none!important;display:none!important}

/* les cinq pôles et leurs actes */
.bsn-soins{gap:18px!important;align-items:stretch!important}
.bsn-soin{flex:1 1 calc(50% - 18px)!important;min-width:280px!important;background:var(--bsn-papier);
  border:1px solid var(--bsn-ligne);border-radius:var(--bsn-r-md);padding:22px!important;gap:8px!important;
  box-shadow:var(--bsn-e1)}
.bsn-soin h3{font-size:18px!important;margin:0}
.bsn-soin .elementor-widget-text-editor{font-size:14.5px;color:var(--bsn-gris);line-height:1.58}
.bsn-soin p{margin:0 0 4px}
.bsn-soin .bsn-actes .elementor-icon-list-items{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}

/* la zone desservie, en bande sombre */
.bsn-communes{gap:12px!important;margin-top:8px!important}
.bsn-com{flex:0 1 calc(25% - 9px)!important;min-width:200px!important;
  border:1px solid var(--bsn-ligne-nuit);border-radius:var(--bsn-r-sm);padding:14px 16px!important;gap:4px!important}
.bsn-com h3{font-size:16px!important;margin:0}
.bsn-com-l .elementor-icon-list-items{display:flex!important;flex-wrap:wrap;gap:4px 12px}
.bsn-com-l .elementor-icon-list-text{font-size:13.5px!important;color:var(--bsn-ciel)!important}
.bsn-com-l .elementor-icon-list-item>a:hover .elementor-icon-list-text{color:var(--bsn-papier)!important;
  text-decoration:underline}

/* respiration des bandes de l'accueil : sans elle, le surtitre touche le bord */
.bsn-band,.bsn-mea{padding-top:clamp(52px,6vw,84px)!important;padding-bottom:clamp(52px,6vw,84px)!important}
.bsn-acc-bar{margin-bottom:clamp(28px,4vw,48px)!important}
@media (max-width:620px){.bsn-com{flex:1 1 calc(50% - 6px)!important;min-width:0!important}}

/* accueil — illustrations (29/09) : photos du site dans les cartes de pôle, icônes natives ailleurs */
.bsn-carte-img{margin:-6px -6px 6px!important}
.bsn-carte-img img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:11px;display:block}
.bsn-ico .elementor-icon{font-size:22px;color:var(--bsn-bleu);background:var(--bsn-soft);
  width:46px;height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}
.bsn-ico .elementor-icon i,.bsn-ico .elementor-icon svg{width:22px;height:22px;fill:var(--bsn-bleu)}
.bsn-ico .elementor-icon-wrapper{text-align:left}
.bsn-ico-s .elementor-icon{font-size:17px;width:36px;height:36px;border-radius:10px}
.bsn-ico-s .elementor-icon i,.bsn-ico-s .elementor-icon svg{width:17px;height:17px}
.bsn-ico-s{margin-bottom:6px!important}
.bsn-ico.elementor-widget-icon .elementor-icon-wrapper{text-align:left!important}

/* bloc Invisalign de l'accueil : photo + texte, empilés sous 960 px */
.bsn-inv{flex-wrap:nowrap!important;align-items:center!important;gap:clamp(28px,4vw,60px)!important}
.bsn-inv-fig{flex:0 0 44%!important;min-width:0!important;padding:0!important}
.bsn-inv-txt{flex:1 1 0!important;min-width:0!important;padding:0!important}
.bsn-inv-img img{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:var(--bsn-r-lg);box-shadow:var(--bsn-e2)}
.bsn-inv .bsn-spec{flex:1 1 calc(50% - 14px)!important;min-width:180px!important}
@media (max-width:960px){.bsn-inv{flex-wrap:wrap!important}.bsn-inv-fig,.bsn-inv-txt{flex:1 1 100%!important}
  .bsn-inv-img img{aspect-ratio:16/10}}
.bsn-com-t .elementor-widget-container{font-size:13.5px;color:rgba(233,243,251,.7)}
.bsn-com-t p{margin:0}

/* formulaire de contact repris de l'accueil en ligne (widget natif) */
.bsn-form{max-width:720px}
.bsn-form .elementor-field-group .elementor-field{border:1px solid var(--bsn-ligne)!important;border-radius:var(--bsn-r-sm)!important;
  background:var(--bsn-papier)!important;font-family:var(--bsn-courant)!important;font-size:15px!important;color:var(--bsn-marine)!important;padding:11px 14px!important}
.bsn-form .elementor-field-group .elementor-field:focus{border-color:var(--bsn-bleu)!important;outline:2px solid rgba(62,147,206,.2)}
.bsn-form .elementor-field-label{font-family:var(--bsn-titre);font-size:14px;font-weight:500;color:var(--bsn-marine)}
.bsn-form .elementor-button{background:var(--bsn-bleu-encre)!important;color:var(--bsn-papier)!important;border-radius:var(--bsn-r-pill)!important;
  font-family:var(--bsn-titre)!important;font-weight:500!important;padding:13px 26px!important}
.bsn-form .elementor-button:hover{background:var(--bsn-bleu-fonce)!important}

/* ══════════════════════════════════════════════════════════════════════════
   JOURNAL « CONSEILS SANTÉ » (29/09) — le praticien écrit dans l'éditeur de
   blocs ; ces règles habillent ce qu'il produit (p, h2, h3, listes, citation,
   image) aux couleurs de la refonte. Portée : body.bsn-journal.
   ══════════════════════════════════════════════════════════════════════════ */
.bsn-journal .bsn-ahero .bsn-j-titre .elementor-heading-title{color:var(--bsn-papier)!important;font-family:var(--bsn-titre);
  font-weight:500;font-size:clamp(30px,4.2vw,52px);line-height:1.12;letter-spacing:-.015em;max-width:22ch;text-wrap:balance}
.bsn-journal .bsn-ahero .bsn-chapo .elementor-widget-container,.bsn-journal .bsn-ahero .bsn-chapo p{color:rgba(233,243,251,.82);
  font-size:clamp(16px,1.5vw,18.5px);line-height:1.6;max-width:62ch;margin:0}
.bsn-j-infos .elementor-icon-list-items{gap:4px 18px}
.bsn-j-infos .elementor-icon-list-text,.bsn-j-infos a{color:var(--bsn-ciel)!important;font-size:13.5px;text-decoration:none}
.bsn-j-infos .elementor-icon-list-icon{display:none}
.bsn-j-article{padding-top:clamp(36px,5vw,64px)!important;padding-bottom:clamp(24px,4vw,48px)!important;align-items:center!important}
.bsn-j-article>.elementor-widget{width:100%;max-width:760px!important}
.bsn-j-une img{width:100%;border-radius:var(--bsn-r-lg);box-shadow:var(--bsn-e2);margin-bottom:28px}
.bsn-j-corps{font-family:var(--bsn-courant);color:var(--bsn-encre);font-size:17px;line-height:1.75}
.bsn-j-corps p{margin:0 0 18px}
.bsn-j-corps p:first-child:not(blockquote p){font-size:19px;line-height:1.65;color:var(--bsn-marine)}
.bsn-j-corps h2{font-family:var(--bsn-titre);font-weight:500;font-size:clamp(23px,2.6vw,31px);line-height:1.2;
  color:var(--bsn-marine);margin:38px 0 12px;letter-spacing:-.01em}
.bsn-j-corps h3{font-family:var(--bsn-titre);font-weight:500;font-size:clamp(18px,1.9vw,21px);color:var(--bsn-marine);margin:26px 0 8px}
.bsn-j-corps a{color:var(--bsn-bleu-encre);text-decoration:underline;text-underline-offset:3px}
.bsn-j-corps strong{color:var(--bsn-marine);font-weight:600}
.bsn-j-corps ul{list-style:none;margin:4px 0 20px;padding:0;display:grid;gap:9px}
.bsn-j-corps ul li{position:relative;padding-left:23px}
.bsn-j-corps ul li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--bsn-bleu)}
.bsn-j-corps ol{margin:4px 0 20px 22px;padding:0}
.bsn-j-corps ol li{margin:0 0 8px;padding-left:4px}
.bsn-j-corps blockquote{margin:26px 0;padding:18px 22px;background:var(--bsn-soft);border-left:4px solid var(--bsn-bleu);
  border-radius:0 var(--bsn-r-md) var(--bsn-r-md) 0;font-size:17.5px;color:var(--bsn-marine)}
.bsn-j-corps blockquote p:last-child{margin:0}
.bsn-j-corps figure{margin:26px 0}
.bsn-j-corps figure img{border-radius:var(--bsn-r-md);height:auto;max-width:100%}
.bsn-j-corps figcaption{font-size:13.5px;color:var(--bsn-gris);margin-top:8px;text-align:left}
.bsn-j-corps hr{border:0;border-top:1px solid var(--bsn-ligne);margin:32px 0}
/* cartes d'articles (liste et « À lire aussi ») */
.bsn-j-liste{padding-top:clamp(36px,5vw,64px)!important;padding-bottom:clamp(24px,4vw,48px)!important}
.bsn-j-grille .elementor-post{background:var(--bsn-papier);border:1px solid var(--bsn-ligne);border-radius:var(--bsn-r-md);
  overflow:hidden;box-shadow:var(--bsn-e1);transition:transform var(--bsn-t) var(--bsn-ease),box-shadow var(--bsn-t) var(--bsn-ease)}
.bsn-j-grille .elementor-post:hover{transform:translateY(-4px);box-shadow:var(--bsn-e2)}
.bsn-j-grille .elementor-post__text{padding:18px 20px 20px}
.bsn-j-grille .elementor-post__title,.bsn-j-grille .elementor-post__title a{font-family:var(--bsn-titre);font-weight:500;font-size:18px;
  line-height:1.3;color:var(--bsn-marine)!important;text-decoration:none}
.bsn-j-grille .elementor-post__meta-data{font-size:12.5px;color:var(--bsn-gris);margin-top:6px}
.bsn-j-grille .elementor-post__excerpt p{font-size:14.5px;line-height:1.6;color:var(--bsn-gris);margin:8px 0 0}
.bsn-j-grille .elementor-post__read-more{font-size:13.5px;font-weight:600;color:var(--bsn-bleu-label)!important}
.bsn-j-grille .elementor-post__thumbnail img{object-fit:cover}
.bsn-j-grille .elementor-posts-nothing-found{font-size:16px;color:var(--bsn-gris)}
.bsn-j-grille .elementor-pagination{margin-top:28px;font-family:var(--bsn-titre)}
.bsn-j-infos ul,.bsn-j-infos .elementor-icon-list-items{list-style:none!important;padding:0!important;margin:0!important;display:flex!important;flex-wrap:wrap}
.bsn-j-infos li{margin:0!important;padding:0!important}
.bsn-j-infos li::before,.bsn-j-infos li::marker{content:none!important}
.bsn-j-infos .elementor-icon-list-item:not(:last-child)::after{content:"·";color:var(--bsn-ciel);margin-left:18px;opacity:.6}
/* « À lire aussi » masqué tant qu'il n'y a pas d'autre article */
.bsn-liens-s:not(:has(.elementor-post)){display:none!important}

/* page « prendre rendez-vous » : trois agendas côte à côte */
.bsn-soins-3>.bsn-soin{flex:1 1 calc(33.33% - 18px)!important;min-width:240px!important}
.bsn-soin .elementor-widget-button{margin-top:auto}

/* ── Espacements relevés au rendu le 30/09 (audit-espaces : 11 pages × 1440 / 390 px) ── */
/* FAQ : la réponse collait au filet de la question (0 px de marge haute) */
.bsn-rep{padding:16px 22px 20px!important}
/* prose : le conteneur est en gap 2 px, un titre tombait à 2 px de son paragraphe */
.bsn-prose .elementor-widget-heading:has(h2){margin-bottom:14px!important}
.bsn-prose .elementor-widget-heading:has(h3){margin-bottom:8px!important}
/* en-tête mobile : « Prendre rdv sur Doctolib » débordait de 68 px et sortait coupé.
   Mesuré au rendu : le menu déroulant FERMÉ restait dans le flux et occupait 132 px de la
   ligne (le hamburger n'en affiche que 33). Sous 767 px on le sort du flux : il s'ouvre sous
   l'en-tête, sur toute sa largeur. Sous 600 px, le bouton ne garde que le logo Doctolib
   (le texte reste lu par les lecteurs d'écran). Le hamburger apparaît dès 1024 px (réglage
   « tablette » du widget) : la sortie du flux vaut jusque-là. */
@media (max-width:1024px){
  .bsn-menu,.bsn-nav-z{position:static!important}
  .bsn-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute!important;
    left:0!important;right:0!important;top:100%!important;width:auto!important;z-index:60}
  .bsn-h-rdv,.bsn-menu{flex:0 0 auto!important;width:auto!important}
  /* les liens du menu ouvert collaient au bord gauche de l'écran */
  .bsn-menu .elementor-nav-menu--dropdown .elementor-nav-menu a.elementor-item{padding:14px 20px!important}
}
@media (max-width:600px){
  .bsn-marque-n .elementor-heading-title{font-size:14.5px!important}
  /* budget mesuré à 390 px : nom 232 + menu 33 + bouton 76 + écarts ≤ 370 */
  .bsn-marque,.bsn-nav-z{padding-left:0!important;padding-right:0!important}
  .e-con-inner:has(>.bsn-marque),.e-con:has(>.bsn-marque){gap:12px!important}
  .bsn-nav-z{gap:8px!important}
  .bsn-h-rdv .elementor-button{padding:0 13px!important;min-height:40px!important;font-size:0!important}
  .bsn-h-rdv .elementor-button-text::after{margin-left:0!important;width:54px;height:15px;vertical-align:middle}
}
