.elementor-18362 .elementor-element.elementor-element-fcf2e90{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:50px;--padding-right:50px;}.elementor-18362 .elementor-element.elementor-element-fcf2e90:not(.elementor-motion-effects-element-type-background), .elementor-18362 .elementor-element.elementor-element-fcf2e90 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-18362 .elementor-element.elementor-element-2acd523{--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;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-18362 .elementor-element.elementor-element-2eac7f1{padding:0px 0px 0px 0px;text-align:start;}.elementor-18362 .elementor-element.elementor-element-2eac7f1 img{width:153px;}.elementor-18362 .elementor-element.elementor-element-af80fc3{--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-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.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-weight:var( --e-global-typography-accent-font-weight );}.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-menu-toggle{margin:0 auto;}.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu .elementor-item{font-family:"HAGRID", Sans-serif;font-size:15px;font-weight:400;}.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-18362 .elementor-element.elementor-element-8bb3048 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-text );}.elementor-18362 .elementor-element.elementor-element-a0b1476{width:auto;max-width:auto;}.elementor-18362 .elementor-element.elementor-element-3b49440{--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-18362 .elementor-element.elementor-element-3b49440:not(.elementor-motion-effects-element-type-background), .elementor-18362 .elementor-element.elementor-element-3b49440 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}.elementor-18362 .elementor-element.elementor-element-42b57f7{--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;}.elementor-18362 .elementor-element.elementor-element-09b42f6{padding:0px 0px 0px 0px;text-align:start;}.elementor-18362 .elementor-element.elementor-element-09b42f6 img{width:153px;}.elementor-18362 .elementor-element.elementor-element-0f0dd7b{width:auto;max-width:auto;}.elementor-18362 .elementor-element.elementor-element-07998ad{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-07998ad:not(.elementor-motion-effects-element-type-background), .elementor-18362 .elementor-element.elementor-element-07998ad > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-18362 .elementor-element.elementor-element-25aaa02{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-33c9d4b{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button{background-color:#56B1F9;font-family:"HAGRID", Sans-serif;font-size:16px;font-weight:700;fill:var( --e-global-color-primary );color:var( --e-global-color-primary );transition-duration:0.6s;border-style:solid;border-color:var( --e-global-color-primary );border-radius:11px 11px 11px 11px;padding:20px 030px 20px 30px;}.elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button:hover, .elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button:focus{background-color:var( --e-global-color-primary );color:#FFFFFF;}.elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button:hover svg, .elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-18362 .elementor-element.elementor-element-acbbf24{--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;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-acbbf24:not(.elementor-motion-effects-element-type-background), .elementor-18362 .elementor-element.elementor-element-acbbf24 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-18362 .elementor-element.elementor-element-2b0ac5c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-a622a9f{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-8f5f1fa .elementor-button{background-color:transparent;font-family:"HAGRID", Sans-serif;font-size:16px;font-weight:800;fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(90deg, #56B1F9 1%, #1F1B3F 70%);transition-duration:1100ms;border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:0px 0px 0px 0px;padding:27px 40px 27px 40px;}.elementor-18362 .elementor-element.elementor-element-8f5f1fa .elementor-button:hover, .elementor-18362 .elementor-element.elementor-element-8f5f1fa .elementor-button:focus{background-color:transparent;color:#FFFFFF;background-image:linear-gradient(90deg, var( --e-global-color-primary ) 0%, #56B1F9 100%);}.elementor-18362 .elementor-element.elementor-element-8f5f1fa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-18362 .elementor-element.elementor-element-8f5f1fa .elementor-button:hover svg, .elementor-18362 .elementor-element.elementor-element-8f5f1fa .elementor-button:focus svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-18362 .elementor-element.elementor-element-3b49440{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-18362 .elementor-element.elementor-element-42b57f7{--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-18362 .elementor-element.elementor-element-09b42f6{width:auto;max-width:auto;}.elementor-18362 .elementor-element.elementor-element-0f0dd7b{margin:10px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-18362 .elementor-element.elementor-element-07998ad{--justify-content:center;--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-18362 .elementor-element.elementor-element-25aaa02{--width:49%;--justify-content:center;}.elementor-18362 .elementor-element.elementor-element-33c9d4b{--width:51%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-2ab2a86{margin:0px 5px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-18362 .elementor-element.elementor-element-2ab2a86 .elementor-button{border-width:1px 1px 1px 1px;border-radius:0px 0px 0px 0px;padding:15px 20px 15px 20px;}.elementor-18362 .elementor-element.elementor-element-acbbf24{--margin-top:-3px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-18362 .elementor-element.elementor-element-2b0ac5c{--width:49%;}.elementor-18362 .elementor-element.elementor-element-a622a9f{--width:51%;}}@media(min-width:768px){.elementor-18362 .elementor-element.elementor-element-2acd523{--width:35%;}.elementor-18362 .elementor-element.elementor-element-af80fc3{--width:80%;}.elementor-18362 .elementor-element.elementor-element-42b57f7{--width:35%;}.elementor-18362 .elementor-element.elementor-element-25aaa02{--width:16%;}.elementor-18362 .elementor-element.elementor-element-33c9d4b{--width:85%;}.elementor-18362 .elementor-element.elementor-element-2b0ac5c{--width:16%;}.elementor-18362 .elementor-element.elementor-element-a622a9f{--width:85%;}}/* Start custom CSS for html, class: .elementor-element-8509bc8 */.city-switcher {
  
  font-family: "HAGRID", Sans-serif;
  position: relative;
  overflow: visible;
}

/* ----- Ville courante ----- */
.city-switcher-current {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 18px 4px;
}

.city-switcher-pin svg {
  display: block;
  fill: #1F1B3F;
}

.city-switcher-name {
  font-size: 15px;
  font-weight: 800;
  color: #111;
  line-height: 1.2;
}

/* ----- Trigger ----- */
.city-switcher-toggle {
  display: inline-block;
  padding: 0 18px 12px;
  font-size: 14px;
  font-weight: 400;
  color: #111;
  text-decoration: underline;
  cursor: pointer;
}

/* ===== MENU DÉROULANT (FIXED + 220px) ===== */
.city-switcher-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #66b3ff;
  border-top: 1px solid rgba(255,255,255,0.6);

  position: fixed;
  left: 0;

  width: 220px;
  max-width: 220px;

  max-height: 0;
  overflow: hidden;

  opacity: 0;
  transform: translateY(-10px);

  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    transform 0.35s ease;

  z-index: 9999;
}

/* ----- Slide down au hover ----- */
.city-switcher:hover .city-switcher-menu {
  max-height: 400px;
  opacity: 1;
  transform: translateY(0);
}

/* ----- Items ----- */
.city-switcher-item {
  border-top: 1px solid rgba(255,255,255,0.6);
}

.city-switcher-link {
  display: block;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 400;
  color: #111;
  text-decoration: none;
}

.city-switcher-link {
  transition: background-color 0.2s ease, color 0.2s ease;
}

.city-switcher-link:hover {
  background-color: #1F1B3F;
  color: #ffffff;
  text-decoration: none;
}

.city-switcher-link:hover {
  text-decoration: underline;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2ab2a86 */.btn-grad-soft .elementor-button{
  position: relative;
  overflow: hidden;
}

.btn-grad-soft .elementor-button::before{
  content: "";
  position: absolute;
  inset: 0;
  background: #56B1F9;
  opacity: 0;
  transition: opacity 300ms ease;
  z-index: 0;
}

.btn-grad-soft .elementor-button:hover::before,
.btn-grad-soft .elementor-button:focus::before{
  opacity: 1;
}

.btn-grad-soft .elementor-button .elementor-button-content-wrapper,
.btn-grad-soft .elementor-button .elementor-button-text,
.btn-grad-soft .elementor-button .elementor-button-icon{
  position: relative;
  z-index: 1;
}

.btn-grad-soft .elementor-button{
  transition: color 300ms ease, transform 300ms ease;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f27881b */.city-switcher {
  
  font-family: "HAGRID", Sans-serif;
  position: relative;
  overflow: visible;
}

/* ----- Ville courante ----- */
.city-switcher-current {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 18px 4px;
}

.city-switcher-pin svg {
  display: block;
  fill: #1F1B3F;
}

.city-switcher-name {
  font-size: 15px;
  font-weight: 800;
  color: #111;
  line-height: 1.2;
}

/* ----- Trigger ----- */
.city-switcher-toggle {
  display: inline-block;
  padding: 0 18px 12px;
  font-size: 14px;
  font-weight: 400;
  color: #111;
  text-decoration: underline;
  cursor: pointer;
}

/* ===== MENU DÉROULANT (FIXED + 220px) ===== */
.city-switcher-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  background: #66b3ff;
  border-top: 1px solid rgba(255,255,255,0.6);

  position: fixed;
  left: 0;

  width: 220px;
  max-width: 220px;

  max-height: 0;
  overflow: hidden;

  opacity: 0;
  transform: translateY(-10px);

  transition:
    max-height 0.35s ease,
    opacity 0.25s ease,
    transform 0.35s ease;

  z-index: 9999;
}

/* ----- Slide down au hover ----- */
.city-switcher:hover .city-switcher-menu {
  max-height: 400px;
  opacity: 1;
  transform: translateY(0);
}

/* ----- Items ----- */
.city-switcher-item {
  border-top: 1px solid rgba(255,255,255,0.6);
}

.city-switcher-link {
  display: block;
  padding: 14px 18px;
  font-size: 14px;
  font-weight: 400;
  color: #111;
  text-decoration: none;
}

.city-switcher-link {
  transition: background-color 0.2s ease, color 0.2s ease;
}

.city-switcher-link:hover {
  background-color: #1F1B3F;
  color: #ffffff;
  text-decoration: none;
}

.city-switcher-link:hover {
  text-decoration: underline;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-8f5f1fa *//* Boutons Elementor : dégradé inversé au hover (réutilisable partout)
   À appliquer en ajoutant la classe : btn-gradient-reverse
*/
.btn-gradient-reverse .elementor-button{
  position: relative;
  overflow: hidden;
  background: transparent !important;
  border: none;
}

.btn-gradient-reverse .elementor-button .elementor-button-content-wrapper{
  position: relative;
  z-index: 2;
}

/* Dégradé normal */
.btn-gradient-reverse .elementor-button::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 1;
  transition: opacity .25s ease;
  background: linear-gradient(90deg, #56B1F9 0%, #1F1B3F 100%);
  z-index: 0;
}

/* Dégradé inversé (hover) */
.btn-gradient-reverse .elementor-button::after{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  opacity: 0;
  transition: opacity .25s ease;
  background: linear-gradient(90deg, #1F1B3F 0%, #56B1F9 100%);
  z-index: 0;
}

.btn-gradient-reverse .elementor-button:hover::before,
.btn-gradient-reverse .elementor-button:focus-visible::before{
  opacity: 0;
}

.btn-gradient-reverse .elementor-button:hover::after,
.btn-gradient-reverse .elementor-button:focus-visible::after{
  opacity: 1;
}

/* Fix "petit espace sous le bouton" */
.btn-gradient-reverse{
  line-height: 0; /* supprime l'espace lié à l'alignement baseline du contenu */
}

.btn-gradient-reverse .elementor-button{
  display: inline-flex;          /* évite l'effet baseline */
  vertical-align: middle;        /* au cas où */
  margin: 0 !important;          /* neutralise un éventuel margin sur le bouton */
}

.btn-gradient-reverse.elementor-widget-button{
  margin-bottom: 0 !important;   /* neutralise un margin sur le widget */
}/* End custom CSS */