.elementor-736 .elementor-element.elementor-element-e39ac0e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4px;--padding-bottom:4px;--padding-left:0px;--padding-right:0px;--z-index:100;}.elementor-736 .elementor-element.elementor-element-e39ac0e:not(.elementor-motion-effects-element-type-background), .elementor-736 .elementor-element.elementor-element-e39ac0e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-736 .elementor-element.elementor-element-4977945 .elementor-icon-list-icon i{color:var( --e-global-color-a0b457b );transition:color 0.3s;}.elementor-736 .elementor-element.elementor-element-4977945 .elementor-icon-list-icon svg{fill:var( --e-global-color-a0b457b );transition:fill 0.3s;}.elementor-736 .elementor-element.elementor-element-4977945{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-736 .elementor-element.elementor-element-4977945 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-736 .elementor-element.elementor-element-4977945 .elementor-icon-list-item > a{font-family:"Quicksand", Sans-serif;font-size:16px;font-weight:500;}.elementor-736 .elementor-element.elementor-element-4977945 .elementor-icon-list-text{color:var( --e-global-color-a0b457b );transition:color 0.3s;}.elementor-736 .elementor-element.elementor-element-4344039 .elementor-button{background-color:var( --e-global-color-accent );fill:var( --e-global-color-a0b457b );color:var( --e-global-color-a0b457b );padding:0px 0px 0px 0px;}.elementor-736 .elementor-element.elementor-element-4344039 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}body:not(.rtl) .elementor-736 .elementor-element.elementor-element-4344039{right:10px;}body.rtl .elementor-736 .elementor-element.elementor-element-4344039{left:10px;}.elementor-736 .elementor-element.elementor-element-b03fed6{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:100;}.elementor-736 .elementor-element.elementor-element-71855d0{--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-736 .elementor-element.elementor-element-71855d0.e-con{--align-self:center;}.elementor-736 .elementor-element.elementor-element-938173d{--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-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-736 .elementor-element.elementor-element-eaf3f6c > .elementor-widget-container{margin:0px 40px 0px 20px;padding:0px 0px 0px 0px;}.elementor-736 .elementor-element.elementor-element-eaf3f6c img{width:250px;}.elementor-736 .elementor-element.elementor-element-b3aac3c .elementor-heading-title{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 );color:var( --e-global-color-a93e85c );}.elementor-736 .elementor-element.elementor-element-37517a6{--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:flex-end;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-736 .elementor-element.elementor-element-71855d0{--min-height:56px;}.elementor-736 .elementor-element.elementor-element-b3aac3c{width:auto;max-width:auto;}.elementor-736 .elementor-element.elementor-element-b3aac3c .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-736 .elementor-element.elementor-element-71855d0{--min-height:52px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-736 .elementor-element.elementor-element-938173d{--width:80%;--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-start;--align-items:stretch;}.elementor-736 .elementor-element.elementor-element-eaf3f6c > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-736 .elementor-element.elementor-element-b3aac3c .elementor-heading-title{font-size:var( --e-global-typography-text-font-size );}.elementor-736 .elementor-element.elementor-element-37517a6{--width:20%;--justify-content:center;}}@media(min-width:768px){.elementor-736 .elementor-element.elementor-element-e39ac0e{--content-width:1200px;}.elementor-736 .elementor-element.elementor-element-938173d{--width:70%;}.elementor-736 .elementor-element.elementor-element-37517a6{--width:30%;}}@media(max-width:1024px) and (min-width:768px){.elementor-736 .elementor-element.elementor-element-938173d{--width:90%;}.elementor-736 .elementor-element.elementor-element-37517a6{--width:10%;}}/* Start custom CSS for container, class: .elementor-element-b03fed6 *//* Overlay du header sur le hero, uniquement sur la home */
.home .elementor-736 .elementor-element.elementor-element-b03fed6{
  position: absolute; left:0; right:0; top:0;
}/* End custom CSS */
/* Start custom CSS */:root{
  --csi-blue:#0A4A70;
  --csi-blue-hero:rgba(10,74,112,.32);
  --csi-blue-logged:rgba(10,74,112,.85);
  --csi-white:#fff;
}

/* ===== HEADER (base) ===== */
#site-header{
  position:relative; z-index:1000;
  background:transparent;
  padding:12px 24px;
  display:flex; align-items:center; gap:16px;
  transition:background-color .25s ease, padding .25s ease, box-shadow .25s ease;
}

/* sticky (JS à 300px) + compat éditeur Elementor */
#site-header.csi-sticky,
#site-header.elementor-sticky--active{
  background:rgba(45, 145, 209, .75);
  backdrop-filter:saturate(130%) blur(4px);
  box-shadow:0 6px 18px rgba(0,0,0,.18);
  padding-block:5px;
}

/* Marque (logo + tagline) -> seulement en sticky */
#brand-stick{
  display:flex; align-items:center; gap:12px;
  visibility:hidden;
  opacity:0; transform:translateY(-6px);
  transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
#site-header.csi-sticky #brand-stick,
#site-header.elementor-sticky--active #brand-stick{
  visibility:visible; opacity:1; transform:none; transition-delay:0s;
}

/* Anti-étirement du logo (corrigé) */
#brand-stick img{
  height:auto !important;
  width:auto !important;          /* annule width:100% éventuel d’Elementor */
  max-height:56px;                /* desktop confort */
  transition:max-height .25s ease;
}
/* Réduction en sticky */
#site-header.csi-sticky #brand-stick img,
#site-header.elementor-sticky--active #brand-stick img{
  max-height:34px;
}

/* Tagline */
#brand-stick .elementor-widget-text-editor{ color:var(--csi-white); font-size:18px; line-height:1.3; }
#site-header.csi-sticky #brand-stick .elementor-widget-text-editor,
#site-header.elementor-sticky--active #brand-stick .elementor-widget-text-editor{ font-size:15px; opacity:.95; }

/* Masquer la marque du HERO quand le header devient sticky */
#hero-brand{ transition:opacity .2s ease; }
#site-header.csi-sticky ~ * #hero-brand,
#site-header.elementor-sticky--active ~ * #hero-brand{
  opacity:0; pointer-events:none;
}

/* Slot compte à droite */
#account-cta{ margin-left:auto; position:relative; }

/* ===== Bouton compte (unique) ===== */
.csi-userbtn{
  width:44px; height:44px; display:grid; place-items:center;
  border-radius:10px; padding:0; line-height:1; text-decoration:none;
  background:transparent; color:inherit; border:2px solid #fff;
  cursor:pointer;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.csi-userbtn:hover{ transform:translateY(-1px); }
.csi-usericon{ width:22px; height:22px; display:block; }

#site-header:not(.csi-sticky):not(.elementor-sticky--active) .csi-userbtn{
  background:var(--csi-blue-hero); border-color:rgba(255,255,255,.55);
}
body.logged-in .csi-userbtn{
  background:var(--csi-blue-logged);
  border-color:rgba(255,255,255,.75);
}

/* ===== Menu compte ===== */
.csi-account-wrapper{ position:relative; }
.csi-menu{
  position:absolute; right:0; top:calc(100% + 8px);
  min-width:220px; padding:10px; border-radius:12px;
  background:rgba(16,30,45,.97); color:#fff;
  box-shadow:0 8px 28px rgba(0,0,0,.18); backdrop-filter:blur(6px);
  display:none; z-index:9999;
}
.csi-menu.is-open{ display:block; }
.csi-menu-hello{ font-weight:600; margin:4px 8px 8px; }
.csi-menu-item{
  display:block; width:100%; text-align:left;
  padding:10px 12px; border-radius:8px; text-decoration:none; color:inherit;
  background:transparent; border:0; cursor:pointer; font:inherit;
}
.csi-menu-item:hover{ background:rgba(255,255,255,.09); }
.csi-menu-item.is-disabled{ opacity:.5; cursor:not-allowed; }

/* Filtres invité / connecté */
#csi-account-menu .csi-state-in  { display:none; }
#csi-account-menu .csi-state-out { display:block; }
body.logged-in #csi-account-menu .csi-state-in  { display:block; }
body.logged-in #csi-account-menu .csi-state-out { display:none; }

/* Widget shortcode prénom caché (si fallback UM) */
#um-firstname{ display:none; }

/* ===== Compat barre admin ===== */
body.admin-bar #site-header.elementor-sticky--active{ top:32px; }
@media (max-width:782px){
  body.admin-bar #site-header.elementor-sticky--active{ top:46px; }
}

/* ===== Promo bar (si utilisée) ===== */
#csi-promo{
  position:fixed; left:0; right:0; top:0;
  min-height:32px; padding:6px 40px;
  background:#123f62; color:#fff;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  z-index:1300;
}
#csi-promo a{ color:#fff; font-weight:800; text-decoration:underline; }
#csi-promo .csi-close{
  position:absolute; right:10px; top:6px; width:22px; height:22px;
  border-radius:11px; border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.14); color:#fff; line-height:20px; text-align:center;
  cursor:pointer; transition:background .2s ease, transform .15s ease;
}
#csi-promo .csi-close:hover{ background:rgba(255,255,255,.22); transform:scale(1.05); }

/* ===== Header : mobile = icône compte uniquement ===== */
@media (max-width: 767px){
  /* Cache les éléments marqués ‘hidemobile’ (logo long, tagline, etc.) */
  #site-header .hidemobile{ display:none !important; }

  /* On ne garde que le slot compte à droite */
  #site-header > #account-cta{ display:block !important; margin-left:auto; }

  /* Alignement / padding */
  #site-header{ justify-content:flex-end; padding-inline:12px; }

  /* Position du menu compte */
  #csi-account-menu{ right:8px; top:56px; width:min(86vw, 320px); }

  /* S’il y a quand même un logo affiché en mobile, ne pas l’étirer */
  #site-header #brand-stick img{
    max-height:36px !important;
    width:auto !important;
    height:auto !important;
  }
}

/* ===== Tablette (≤1024px) : logo sans étirement ===== */
@media (max-width:1024px){
  #site-header #brand-stick img{
    max-height:40px;           /* au lieu d’une largeur forcée */
    width:auto !important;
    height:auto !important;
  }
  #site-header.csi-sticky #brand-stick img,
  #site-header.elementor-sticky--active #brand-stick img{
    max-height:32px;
  }
}


/* === Fix centrage header + icône compte === */

/* Aligne tout au milieu dans la rangée du header, quel que soit le breakpoint */
#site-header,
#site-header .elementor-container,
#site-header .e-con,
#site-header .e-con-inner{
  align-items: center !important;
}

/* Le slot compte est un flex centré */
#account-cta{
  display: flex !important;
  align-items: center !important;
}

/* Bouton : box-sizing + centrage exact, sans baseline */
.csi-userbtn{
  box-sizing: border-box;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 0 !important;     /* évite tout décalage vertical résiduel */
  padding: 0 !important;
}

/* SVG : bloc, pas d'espace de ligne, taille fixe */
.csi-usericon{
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  overflow: visible;              /* évite un clipping optique avec le stroke */
  transform-origin: 50% 50%;
}

/* Mobile : pas d'effet hover qui pourrait bouger le bouton */
@media (hover:none){
  .csi-userbtn:hover{ transform: none !important; }
}

/* Sécurité : même hauteur pour la ligne du header en mobile */
@media (max-width: 767px){
  #site-header .e-con.e-child{ min-height: 56px; }
}/* End custom CSS */