.elementor-49 .elementor-element.elementor-element-57a99c0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:100;}.elementor-49 .elementor-element.elementor-element-5642642b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:16px 32px;--row-gap:16px;--column-gap:32px;--padding-top:8px;--padding-bottom:8px;--padding-left:24px;--padding-right:24px;}.elementor-49 .elementor-element.elementor-element-784d4a9{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-49 .elementor-element.elementor-element-35fc3e9b{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-49 .elementor-element.elementor-element-1b367c65 .elementor-menu-toggle{margin:0 auto;}.elementor-49 .elementor-element.elementor-element-1b367c65 .elementor-nav-menu .elementor-item{font-family:"Source Sans 3", Sans-serif;font-size:16px;font-weight:600;line-height:1.2em;}.elementor-49 .elementor-element.elementor-element-1b367c65 .elementor-nav-menu--main .elementor-item{padding-left:14px;padding-right:14px;padding-top:12px;padding-bottom:12px;}.elementor-49 .elementor-element.elementor-element-25c9a64f{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-49 .elementor-element.elementor-element-81bb902 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-49 .elementor-element.elementor-element-81bb902 .elementor-button .elementor-button-content-wrapper{gap:8px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:768px){.elementor-49 .elementor-element.elementor-element-784d4a9{--width:25%;}.elementor-49 .elementor-element.elementor-element-25c9a64f{--width:25%;}}@media(max-width:1024px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}}/* Start custom CSS *//* En-tete Pole Sante Psy. Ce CSS est charge APRES celui du kit : a specificite
   egale c'est lui qui gagne. Detail des causes dans CLAUDE.md paragraphe 16.

   Consolidation du 7 aout 2026. Le contenu avait ete ecrit deux fois bout a
   bout : les blocs @media de la premiere copie se retrouvaient AVANT des regles
   de meme specificite de la seconde, qui les annulaient en silence (mesure :
   .psp-entete-nav restait a flex:1 1 auto a 600px alors que le bloc 767px
   ecrivait 0 0 auto). Un seul exemplaire desormais, et l'ordre est impose :
   base d'abord, responsive apres. */


/* ---- 1. Couleurs du menu selon l'etat ---- */

.psp-entete .elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
  color: #FFFFFF;
  min-block-size: 44px;
  display: inline-flex;
  align-items: center;
}

.psp-entete.elementor-sticky--effects .elementor-widget-nav-menu .elementor-nav-menu .elementor-item {
  color: var(--psp-navy-800);
}

/* Superposition mobile. La regle existait deja, en 0-2-1, et perdait : le
   controle de typographie du widget sort en
   .elementor-49 .elementor-element.elementor-element-1b367c65 .elementor-nav-menu--dropdown .elementor-item,
   soit 0-5-0, et il est ecrit par Elementor avant ce CSS mais avec plus de
   poids. Verifie le 7 aout au style calcule : Source Sans 14px la ou le
   document de reference demande Fraunces. Une regle injectee en fin de
   document avec une classe doublee ne suffisait toujours pas. On monte a
   0-7-1. */

.psp-entete.psp-entete.psp-entete
  .elementor-widget-nav-menu.elementor-widget-nav-menu
  .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown a.elementor-item {
  color: var(--psp-cream);
  font-family: 'Fraunces', Georgia, serif;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.3;
  min-height: 56px;
  display: flex;
  align-items: center;
}

/* L'entree courante recevait un aplat gris ardoise (63, 68, 75), heritage du
   theme, sur un fond navy. On revient aux jetons du kit. */

.psp-entete.psp-entete.psp-entete
  .elementor-widget-nav-menu.elementor-widget-nav-menu
  .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown a.elementor-item-active,
.psp-entete.psp-entete.psp-entete
  .elementor-widget-nav-menu.elementor-widget-nav-menu
  .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown a.elementor-item:hover,
.psp-entete.psp-entete.psp-entete
  .elementor-widget-nav-menu.elementor-widget-nav-menu
  .elementor-nav-menu--dropdown.elementor-nav-menu--dropdown a.elementor-item:focus {
  background-color: transparent;
  color: var(--psp-sage-300);
}


/* ---- 1 bis. Bouton burger ----
   Le kit posait deja color:#FFFFFF sur .elementor-menu-toggle, en 0-2-0. Il
   perdait contre le controle de couleur du widget, qui sort en 0-5-0 avec la
   couleur de texte globale : le burger ressortait gris sur le heros sombre.
   Elementor colore par ailleurs le trait de l'icone a part, d'ou fill et stroke
   en currentColor. Trois etats : au repos sur fond sombre, blanc ; en-tete
   defile sur fond creme, navy ; menu ouvert, la couleur suit l'etat de
   l'en-tete puisque le bouton reste sur la barre, pas sur la superposition. */

.psp-entete.psp-entete.psp-entete .elementor-menu-toggle,
.psp-entete.psp-entete.psp-entete .elementor-menu-toggle i,
.psp-entete.psp-entete.psp-entete .elementor-menu-toggle svg {
  color: #FFFFFF;
  fill: currentColor;
  stroke: currentColor;
}

.psp-entete.psp-entete.psp-entete.elementor-sticky--effects .elementor-menu-toggle,
.psp-entete.psp-entete.psp-entete.elementor-sticky--effects .elementor-menu-toggle i,
.psp-entete.psp-entete.psp-entete.elementor-sticky--effects .elementor-menu-toggle svg {
  color: var(--psp-navy-800);
}

/* Cible tactile pleine et centrage du trait. Pas de display ici : le poser
   globalement a fait apparaitre le burger EN DESKTOP, a cote du menu
   horizontal, en ecrasant le display:none d'Elementor. Le display est dans le
   bloc burger du paragraphe 7, et l'inverse est ecrit explicitement au-dessus
   de 1024px plutot que laisse a la charge d'Elementor. */

.psp-entete.psp-entete .elementor-menu-toggle {
  min-inline-size: 44px;
  min-block-size: 44px;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  border-radius: 6px;
}

@media (min-width: 1025px) {
  .psp-entete.psp-entete .elementor-menu-toggle { display: none; }
}


/* ---- 2. Bouton de rendez-vous ----
   Sans nowrap, comprime par une largeur de colonne de 25%, le libelle passait
   sur trois lignes et poussait l'en-tete a 120px au lieu de 96 puis 68. */

.psp-entete .psp-bouton--rdv .elementor-button {
  background-color: var(--psp-navy-800);
  color: #FFFFFF;
  white-space: nowrap;
  line-height: 1.25;
  padding: clamp(9px, 1vw, 12px) clamp(12px, 1.8vw, 24px);
  font-size: clamp(14px, 1.1vw, 17px);
}

.psp-entete .psp-bouton--rdv .elementor-button:hover {
  background-color: var(--psp-navy-700);
}


/* ---- 3. Repartition horizontale ----
   Les colonnes ne portent plus de largeur fixe : c'est le contenu qui decide.
   Le widget HTML du lien d'evitement est en position:fixed mais son enveloppe
   restait un item flex de largeur nulle : elle ne prenait pas de place, mais
   elle consommait une gouttiere, ce qui decalait le logo de 23px vers la droite
   (mesure du 7 aout : image du logo a 147px alors que le titre du heros est a
   100px). On la sort du flux. */

.psp-entete .elementor-widget-html {
  position: absolute;
  top: 0;
  left: 0;
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  padding: 0;
  margin: 0;
}

.psp-entete .psp-entete-logos,
.psp-entete .psp-entete-action {
  width: auto;
  flex: 0 0 auto;
}

.psp-entete .psp-entete-logos { min-width: 0; }

/* Les trois conteneurs internes portaient le remplissage par defaut d'Elementor,
   24px de chaque cote, en plus des 24px de l'enveloppe. Consequence mesuree le
   7 aout : logo a 147px et bouton arrete a 1316px, quand la grille du site va de
   100 a 1340. C'est aussi ce qui eloignait le burger de 24px du bord droit. On
   le retire : l'en-tete s'aligne sur la grille et le menu horizontal recupere
   48px de largeur utile, la ou il est deja sature. Classes doublees, Elementor
   ecrit ses controles de conteneur apres ce CSS. */

.psp-entete.psp-entete .psp-entete-logos,
.psp-entete.psp-entete .psp-entete-nav,
.psp-entete.psp-entete .psp-entete-action {
  padding-inline: 0;
}

.psp-entete .psp-entete-nav {
  flex: 1 1 auto;
  width: auto;
  min-width: 0;
}

.psp-entete.e-con.e-flex > .e-con-inner,
.psp-entete .psp-entete-inner.e-con.e-flex > .e-con-inner {
  gap: clamp(12px, 1.6vw, 32px);
}


/* ---- 4. Menu horizontal ----
   Entre 1024 et 1240px les six entrees depassaient de leur colonne et passaient
   sous le bouton, Actualites devenait invisible. Tout est rendu fluide.

   Le garde :not(.elementor-nav-menu--dropdown) qui portait ces regles etait
   inoperant, verifie le 7 aout : --dropdown et --main sont portees par le NAV
   enveloppant, jamais par le UL qui met en flex et qui, lui, porte seulement
   .elementor-nav-menu. Le :not() etait donc toujours vrai et le clamp de
   14 a 16px s'appliquait aussi aux entrees de la superposition mobile, ce qui
   annulait le Fraunces prevu au paragraphe 8. On passe par l'enveloppe. */

.psp-entete .elementor-widget-nav-menu,
.psp-entete .elementor-widget-nav-menu .elementor-widget-container {
  width: 100%;
}

.psp-entete .elementor-nav-menu--main .elementor-nav-menu {
  flex-wrap: nowrap;
  justify-content: center;
}

.psp-entete .elementor-nav-menu--main .elementor-nav-menu > li {
  flex: 0 0 auto;
}

.psp-entete .elementor-nav-menu--main .elementor-nav-menu .elementor-item {
  padding-inline: clamp(4px, 0.7vw, 14px);
  font-size: clamp(14px, 1.05vw, 16px);
  white-space: nowrap;
}


/* ---- 5. Logo ----
   Elementor applique width:48px a tout SVG place dans un lien, selecteur
   .elementor-widget-image a img[src$=".svg"], specificite 0-2-2. On repasse
   devant avec 0-3-2 et on pilote par la hauteur, en clamp pour ne dependre
   d'aucun point de rupture. */

.psp-entete .psp-logo,
.psp-entete .psp-logo .elementor-widget-container,
.psp-entete .psp-logo a { width: auto; }

.psp-entete .psp-logo a img[src$=".svg"],
.psp-entete .psp-logo img {
  height: clamp(30px, 4vw, 56px);
  width: auto;
  max-width: none;
}

.psp-entete.elementor-sticky--effects .psp-logo a img[src$=".svg"],
.psp-entete.elementor-sticky--effects .psp-logo img {
  height: clamp(28px, 3.2vw, 44px);
}


/* ---- 6. Lien d'evitement ----
   Elementor pose position:relative sur chaque widget : le lien se positionnait
   par rapport au widget HTML, a 92px du haut, et debordait sur le logo.
   position:fixed le rattache au viewport. Proprietes physiques et non logiques,
   les regles :focus en inset-block-start ne reprenaient pas la main. */

.psp-entete .psp-evitement {
  position: fixed;
  top: -200px;
  left: 16px;
  white-space: nowrap;
  z-index: 10000;
  transition: top .2s var(--psp-ease);
}

.psp-entete .psp-evitement:focus,
.psp-entete .psp-evitement:focus-visible {
  top: 48px;
}


/* ---- 7. Mode burger, 1024px et moins ----
   Releve du 7 aout 2026 : le burger flottait au milieu de l'en-tete en tablette
   et laissait un vide a sa droite en mobile. Deux causes cumulees.
   a) .psp-entete-nav garde flex:1 1 auto : le conteneur s'etire sur toute la
      place libre entre le logo et le bouton, alors qu'il ne porte plus qu'un
      bouton de 44px.
   b) Elementor centre le burger dans ce conteneur par margin:auto. Mesure a
      1024px : 194px de marge automatique de chaque cote. A 480px, ou le bouton
      de rendez-vous est masque, il restait 106px de vide a droite du burger.
   Le burger se retrouvait donc au milieu du vide, jamais contre un bord.
   Repartition imposee ici : logo a gauche, bouton puis burger a droite, tout
   l'espace libre absorbe par une marge automatique apres le logo. Les classes
   sont doublees, Elementor ecrit ses controles de conteneur apres ce CSS. */

@media (max-width: 1024px) {

  .psp-entete.psp-entete .psp-entete-inner.e-con.e-flex > .e-con-inner {
    flex-wrap: nowrap;
    gap: clamp(8px, 1.4vw, 20px);
  }

  .psp-entete.psp-entete .psp-entete-logos {
    order: 1;
    flex: 0 1 auto;
    margin-inline-end: auto;
  }

  .psp-entete.psp-entete .psp-entete-action {
    order: 2;
    flex: 0 0 auto;
  }

  .psp-entete.psp-entete .psp-entete-nav {
    order: 3;
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    justify-content: flex-end;
  }

  .psp-entete.psp-entete .elementor-widget-nav-menu,
  .psp-entete.psp-entete .elementor-widget-nav-menu .elementor-widget-container {
    width: auto;
    flex: 0 0 auto;
  }

  /* La regle qui centrait le burger. */
  .psp-entete.psp-entete .elementor-menu-toggle {
    display: flex;
    margin-inline: 0;
    margin-block: 0;
  }

  /* La superposition est positionnee en absolu par rapport a son premier ancetre
     positionne, qui etait le conteneur de navigation. Ce conteneur ne fait plus
     que 44px depuis qu'il ne s'etire plus : la superposition tombait a 44px de
     large, collee sous le burger (mesure du 7 aout : 956→1000 a 1024px). On rend
     le widget et son conteneur non positionnes pour que l'ancre redevienne
     .psp-entete-inner, qui fait toute la largeur. */
  .psp-entete.psp-entete .elementor-widget-nav-menu,
  .psp-entete.psp-entete .psp-entete-nav {
    position: static;
  }

  .psp-entete.psp-entete .elementor-nav-menu--dropdown {
    position: absolute;
    top: 100% !important;
    left: 0 !important;
    right: 0;
    width: auto !important;
    max-width: none;
  }
}


/* ---- 8. Sous 600px ----
   La largeur utile ne permet plus logo + bouton + burger sur une ligne :
   152px de logo, 243px de bouton, 44px de burger et deux gouttieres passent
   juste a 600px et debordent en dessous. Le bouton de rendez-vous cede sa
   place, l'appel a l'action reste present dans le heros de chaque page.
   A prevoir : une entree stylee dans la superposition. */

@media (max-width: 600px) {
  .psp-entete .psp-entete-action { display: none; }
}/* End custom CSS */