.elementor-29 .elementor-element.elementor-element-d90966b{--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:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.19);--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;--z-index:9999;}.elementor-29 .elementor-element.elementor-element-d90966b:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-d90966b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F8F8;}.elementor-29 .elementor-element.elementor-element-ad4a005{--display:flex;--justify-content:center;}.elementor-widget-image .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-29 .elementor-element.elementor-element-a0ac3f6 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-a0ac3f6{text-align:start;}.elementor-29 .elementor-element.elementor-element-a0ac3f6 img{width:110px;}.elementor-29 .elementor-element.elementor-element-07bdf35{--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-mega-menu > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-widget-mega-menu > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-widget-mega-menu > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-mega-menu{--n-menu-divider-color:var( --e-global-color-text );}.elementor-29 .elementor-element.elementor-element-6ba7ca4{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#02B9DB96;--border-color:#02B9DB96;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-6ba7ca4:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-6ba7ca4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-abb7d59{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#DBCA2E87;--border-color:#DBCA2E87;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-abb7d59:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-abb7d59 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-c2a335f.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-c1e746f{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#DBCA2E87;--border-color:#DBCA2E87;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-c1e746f:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-c1e746f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-821a858.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-8c528e8{--display:flex;}.elementor-29 .elementor-element.elementor-element-914d989{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:31px;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;--n-menu-title-color-normal:var( --e-global-color-primary );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-29 .elementor-element.elementor-element-914d989 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-29 .elementor-element.elementor-element-914d989 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-29 .elementor-element.elementor-element-914d989 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Fredoka", Sans-serif;font-weight:500;text-transform:uppercase;}.elementor-29 .elementor-element.elementor-element-914d989 {--n-menu-title-color-hover:var( --e-global-color-4a4f7d4 );}.elementor-29 .elementor-element.elementor-element-c81797e{--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-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-29 .elementor-element.elementor-element-ff83eb4 .elementor-button{background-color:#FFFFFF;font-family:"Fredoka", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;fill:var( --e-global-color-b242a8c );color:var( --e-global-color-b242a8c );border-style:solid;border-radius:30px 30px 30px 30px;}.elementor-29 .elementor-element.elementor-element-ff83eb4 .elementor-button:hover, .elementor-29 .elementor-element.elementor-element-ff83eb4 .elementor-button:focus{background-color:var( --e-global-color-b242a8c );color:#FFFFFF;border-color:var( --e-global-color-b242a8c );}.elementor-29 .elementor-element.elementor-element-ff83eb4 .elementor-button:hover svg, .elementor-29 .elementor-element.elementor-element-ff83eb4 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button{background-color:#FFFFFF;font-family:"Fredoka", Sans-serif;font-size:13px;font-weight:500;fill:var( --e-global-color-4a4f7d4 );color:var( --e-global-color-4a4f7d4 );border-style:solid;border-radius:30px 30px 30px 30px;}.elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button:hover, .elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button:focus{background-color:var( --e-global-color-4a4f7d4 );color:#FFFFFF;border-color:var( --e-global-color-4a4f7d4 );}.elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button-content-wrapper{flex-direction:row;}.elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button:hover svg, .elementor-29 .elementor-element.elementor-element-39c8816 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-c6843a7{--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:stretch;--gap:10px 10px;--row-gap:10px;--column-gap:10px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.19);--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;--z-index:9999;}.elementor-29 .elementor-element.elementor-element-c6843a7:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-c6843a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F8F8;}.elementor-29 .elementor-element.elementor-element-ebfe208{--display:flex;--justify-content:center;}.elementor-29 .elementor-element.elementor-element-1f25f17 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-1f25f17{text-align:start;}.elementor-29 .elementor-element.elementor-element-1f25f17 img{width:110px;}.elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button{background-color:#FFFFFF;font-family:"Fredoka", Sans-serif;font-size:13px;font-weight:500;fill:var( --e-global-color-4a4f7d4 );color:var( --e-global-color-4a4f7d4 );border-style:solid;border-radius:30px 30px 30px 30px;}.elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button:hover, .elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button:focus{background-color:var( --e-global-color-4a4f7d4 );color:#FFFFFF;border-color:var( --e-global-color-4a4f7d4 );}.elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button-content-wrapper{flex-direction:row;}.elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button:hover svg, .elementor-29 .elementor-element.elementor-element-9cb7bf7 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-d6f2a6d{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#02B9DB96;--border-color:#02B9DB96;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-d6f2a6d:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-d6f2a6d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-6cfa652{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#DBCA2E87;--border-color:#DBCA2E87;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-6cfa652:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-6cfa652 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-94fa7d6.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-3824fa2{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#DBCA2E87;--border-color:#DBCA2E87;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-3824fa2:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-3824fa2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-521fa46.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-2dbc4b5{--display:flex;}.elementor-29 .elementor-element.elementor-element-b2f2217{--display:flex;}.elementor-29 .elementor-element.elementor-element-b2f2217:not(.elementor-motion-effects-element-type-background), .elementor-29 .elementor-element.elementor-element-b2f2217 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-29 .elementor-element.elementor-element-915708c{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:31px;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:0px;--n-menu-title-font-size:14px;--n-menu-title-color-normal:var( --e-global-color-primary );--n-menu-title-transition:300ms;--n-menu-icon-size:16px;--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-color:var( --e-global-color-b242a8c );--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-29 .elementor-element.elementor-element-915708c > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-29 .elementor-element.elementor-element-915708c > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-29 .elementor-element.elementor-element-915708c > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"Fredoka", Sans-serif;font-weight:500;text-transform:uppercase;}.elementor-29 .elementor-element.elementor-element-915708c {--n-menu-title-color-hover:var( --e-global-color-4a4f7d4 );}.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-29 .elementor-element.elementor-element-ad4a005{--width:8%;}.elementor-29 .elementor-element.elementor-element-07bdf35{--width:53%;}.elementor-29 .elementor-element.elementor-element-c81797e{--width:61%;}.elementor-29 .elementor-element.elementor-element-ebfe208{--width:8%;}}@media(max-width:767px){.elementor-29 .elementor-element.elementor-element-d90966b{--justify-content:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-ad4a005{--width:39%;}.elementor-29 .elementor-element.elementor-element-a0ac3f6 img{width:69px;}.elementor-29 .elementor-element.elementor-element-07bdf35{--width:51%;--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:flex-end;}.elementor-29 .elementor-element.elementor-element-07bdf35.e-con{--align-self:flex-end;}.elementor-29 .elementor-element.elementor-element-914d989{--n-menu-heading-justify-content:flex-end;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:flex-end;z-index:1;--n-menu-toggle-align:flex-end;}.elementor-29 .elementor-element.elementor-element-ff83eb4 .elementor-button{font-size:11px;}.elementor-29 .elementor-element.elementor-element-c6843a7{--width:100%;--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;--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-29 .elementor-element.elementor-element-ebfe208{--width:100%;--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;}.elementor-29 .elementor-element.elementor-element-1f25f17{width:auto;max-width:auto;}.elementor-29 .elementor-element.elementor-element-1f25f17 img{width:69px;}.elementor-29 .elementor-element.elementor-element-9cb7bf7{width:auto;max-width:auto;}.elementor-29 .elementor-element.elementor-element-d6f2a6d{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-29 .elementor-element.elementor-element-6cfa652{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-29 .elementor-element.elementor-element-3824fa2{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-29 .elementor-element.elementor-element-521fa46 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-2dbc4b5{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-29 .elementor-element.elementor-element-b2f2217{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-29 .elementor-element.elementor-element-396077b.elementor-element{--align-self:center;}.elementor-29 .elementor-element.elementor-element-915708c{--n-menu-heading-justify-content:space-between;--n-menu-title-flex-grow:1;--n-menu-title-justify-content:center;--n-menu-title-justify-content-mobile:center;--n-menu-title-distance-from-content:0px;width:var( --container-widget-width, 29px );max-width:29px;--container-widget-width:29px;--container-widget-flex-grow:0;z-index:1;--n-menu-toggle-align:flex-end;--n-menu-title-space-between:0px;--n-menu-title-padding:10px 10px 10px 10px;--n-menu-dropdown-indicator-size:21px;--n-menu-dropdown-indicator-space:4px;--n-menu-toggle-icon-size:27px;--n-menu-toggle-icon-distance-from-dropdown:21px;}.elementor-29 .elementor-element.elementor-element-915708c.elementor-element{--align-self:center;}}/* Start custom CSS for shortcode, class: .elementor-element-b2f8c32 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: currentColor;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #ffffff !important;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c2a335f */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF !important;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-821a858 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454a;
  transition: color 0.25s ease;
}

.mega-menu-niveau-rose {
  color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu {
  color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune {
  color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris {
  color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau-rose:hover {
  background-color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune:hover {
  background-color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris:hover {
  background-color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau:hover .mega-menu-niveau-label,
.mega-menu-niveau:hover .mega-menu-niveau-icon {
  color: #ffffff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b2f8c32 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: currentColor;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #ffffff !important;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c2a335f */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF !important;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-821a858 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454a;
  transition: color 0.25s ease;
}

.mega-menu-niveau-rose {
  color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu {
  color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune {
  color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris {
  color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau-rose:hover {
  background-color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune:hover {
  background-color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris:hover {
  background-color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau:hover .mega-menu-niveau-label,
.mega-menu-niveau:hover .mega-menu-niveau-icon {
  color: #ffffff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b2f8c32 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: currentColor;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #ffffff !important;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c2a335f */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF !important;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-821a858 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454a;
  transition: color 0.25s ease;
}

.mega-menu-niveau-rose {
  color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu {
  color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune {
  color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris {
  color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau-rose:hover {
  background-color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune:hover {
  background-color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris:hover {
  background-color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau:hover .mega-menu-niveau-label,
.mega-menu-niveau:hover .mega-menu-niveau-icon {
  color: #ffffff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b2f8c32 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: currentColor;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #ffffff !important;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c2a335f */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF !important;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-821a858 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454a;
  transition: color 0.25s ease;
}

.mega-menu-niveau-rose {
  color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu {
  color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune {
  color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris {
  color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau-rose:hover {
  background-color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune:hover {
  background-color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris:hover {
  background-color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau:hover .mega-menu-niveau-label,
.mega-menu-niveau:hover .mega-menu-niveau-icon {
  color: #ffffff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-b2f8c32 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid currentColor;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: currentColor;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #ffffff !important;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-c2a335f */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", sans-serif;
  font-size: 17px;
  font-weight: 600 !important;
  line-height: 1.2em;
  color: #42454A !important;
  transition: color 0.25s ease;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF !important;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-821a858 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #ffffff;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454a;
  transition: color 0.25s ease;
}

.mega-menu-niveau-rose {
  color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu {
  color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune {
  color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris {
  color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau-rose:hover {
  background-color: #ed1e79;
  border-color: #ed1e79;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02b9db;
  border-color: #02b9db;
}

.mega-menu-niveau-jaune:hover {
  background-color: #dbca2e;
  border-color: #dbca2e;
}

.mega-menu-niveau-gris:hover {
  background-color: #42454a !important;
  border-color: #42454a !important;
}

.mega-menu-niveau:hover .mega-menu-niveau-label,
.mega-menu-niveau:hover .mega-menu-niveau-icon {
  color: #ffffff;
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-96f4dd0 */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-66b32b1 */.mega-menu-thematiques {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-thematique {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #02B9DB;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-thematique:hover {
  background-color: #02B9DB;
  transform: translateY(-2px);
}

.mega-menu-thematique-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-image {
  filter: brightness(0) invert(1);
}

.mega-menu-thematique-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
  transition: color 0.25s ease;
}

.mega-menu-thematique:hover .mega-menu-thematique-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-thematiques {
    gap: 12px;
  }

  .mega-menu-thematique {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-thematique-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-thematique-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-94fa7d6 */.mega-menu-destinations {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-destination {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-destination:hover {
  background-color: #ED1E79;
  transform: translateY(-2px);
}

.mega-menu-destination-image {
  display: block;
  width: 50px;
  height: 50px;
  min-width: 50px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.mega-menu-destination-title {
  font-family: "Fredoka", Sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  color: #ED1E79;
}

.mega-menu-destination:hover .mega-menu-destination-title {
  color: #FFFFFF;
}

@media (max-width: 767px) {
  .mega-menu-destinations {
    gap: 12px;
  }

  .mega-menu-destination {
    width: 100%;
    min-height: 60px;
    padding: 5px 16px 5px 5px;
    gap: 10px;
  }

  .mega-menu-destination-image {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }

  .mega-menu-destination-title {
    font-size: 15px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-521fa46 */.mega-menu-niveaux {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.mega-menu-niveau {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 245px;
  min-height: 62px;
  padding: 5px 18px 5px 5px;
  border: 1px solid;
  border-radius: 999px;
  background-color: #FFFFFF;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, transform 0.25s ease;
}

.mega-menu-niveau:hover {
  transform: translateY(-2px);
}

.mega-menu-niveau-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  transition: color 0.25s ease;
}

.mega-menu-niveau-icon svg {
  display: block;
  width: 48px;
  height: 48px;
}

.mega-menu-niveau-label {
  font-family: "Fredoka", Sans-serif;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2em;
  color: #42454A;
  transition: color 0.25s ease;
}

/* Rose */
.mega-menu-niveau-rose {
  border-color: #ED1E79;
}

.mega-menu-niveau-rose .mega-menu-niveau-icon {
  color: #ED1E79;
}

.mega-menu-niveau-rose:hover {
  background-color: #ED1E79;
}

/* Jaune */
.mega-menu-niveau-jaune {
  border-color: #DBCA2E;
}

.mega-menu-niveau-jaune .mega-menu-niveau-icon {
  color: #DBCA2E;
}

.mega-menu-niveau-jaune:hover {
  background-color: #DBCA2E;
}

/* Bleu */
.mega-menu-niveau-bleu {
  border-color: #02B9DB;
}

.mega-menu-niveau-bleu .mega-menu-niveau-icon {
  color: #02B9DB;
}

.mega-menu-niveau-bleu:hover {
  background-color: #02B9DB;
}

/* Hover commun */
.mega-menu-niveau:hover .mega-menu-niveau-icon,
.mega-menu-niveau:hover .mega-menu-niveau-label {
  color: #FFFFFF;
}

/* Mobile */
@media (max-width: 767px) {
  .mega-menu-niveaux {
    justify-content: center;
  }

  .mega-menu-niveau {
    width: 100%;
    max-width: 320px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-396077b */.recherche-sejours-header {
  position: relative;
  width: 100%;
}

.recherche-sejours-form {
  position: relative;
  width: 100%;
}

.recherche-sejours-field {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.recherche-sejours-input,
.recherche-sejours-form input.recherche-sejours-input {
  display: block;
  width: 100%;
  height: 45px !important;
  min-height: 45px !important;
  padding: 0 58px 0 26px !important;
  border: 3px solid #ED1E79 !important;
  border-radius: 999px !important;
  -webkit-border-radius: 999px !important;
  background-color: #ED1E79 !important;
  color: #FFFFFF !important;
  font-family: "Fredoka", Sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2em !important;
  outline: none !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
  transition: box-shadow 0.25s ease;
}

.recherche-sejours-input::placeholder {
  color: #FFFFFF !important;
  opacity: 1;
}

.recherche-sejours-input:focus {
  background-color: #ED1E79 !important;
  box-shadow: 0 0 0 4px rgba(237, 30, 121, 0.18);
}

.recherche-sejours-submit,
.recherche-sejours-form button.recherche-sejours-submit {
  position: absolute;
  top: 50%;
  right: 22px;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transform: translateY(-50%);
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.recherche-sejours-submit:hover,
.recherche-sejours-form button.recherche-sejours-submit:hover {
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-50%) scale(1.08);
  opacity: 0.85;
}

.recherche-sejours-submit:focus,
.recherche-sejours-form button.recherche-sejours-submit:focus {
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

.recherche-sejours-submit svg {
  display: block;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.recherche-sejours-suggestions {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 9999;
  display: none;
  width: 100%;
  padding: 12px;
  border: 2px solid #ED1E79;
  border-radius: 28px;
  background-color: #FFFFFF;
  box-shadow: 0 14px 35px rgba(66, 69, 74, 0.16);
  box-sizing: border-box;
}

.recherche-sejours-suggestions.is-visible {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.recherche-sejours-suggestion {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 58px;
  padding: 4px 18px 4px 4px;
  border: 2px solid #ED1E79;
  border-radius: 999px;
  background-color: #FFFFFF;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-suggestion:hover {
  background-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}

.recherche-sejours-suggestion-image {
  display: block;
  width: 48px;
  height: 48px;
  min-width: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #F3F3F3;
}

.recherche-sejours-suggestion-image.sans-image {
  background-color: #ED1E79;
}

.recherche-sejours-suggestion-title {
  display: block;
  flex: 1;
}

.recherche-sejours-no-result {
  display: block;
  width: 100%;
  padding: 12px 14px;
  border-radius: 14px;
  color: #42454A;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3em;
  box-sizing: border-box;
  opacity: 0.75;
}

@media (max-width: 767px) {
  .recherche-sejours-input,
  .recherche-sejours-form input.recherche-sejours-input {
    height: 44px !important;
    min-height: 44px !important;
    padding-left: 22px !important;
    padding-right: 54px !important;
    font-size: 15px !important;
  }

  .recherche-sejours-submit,
  .recherche-sejours-form button.recherche-sejours-submit {
    right: 20px;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    min-height: 19px !important;
  }

  .recherche-sejours-submit svg {
    width: 19px;
    height: 19px;
  }

  .recherche-sejours-suggestion {
    min-height: 54px;
    gap: 10px;
    padding: 4px 14px 4px 4px;
    font-size: 14px;
  }

  .recherche-sejours-suggestion-image {
    width: 44px;
    height: 44px;
    min-width: 44px;
  }

  .recherche-sejours-no-result {
    font-size: 14px;
  }
}

.recherche-sejours-tous-resultats {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 10px 18px;
  border: 2px solid #02B9DB;
  border-radius: 999px;
  background-color: #02B9DB;
  color: #FFFFFF;
  font-family: "Fredoka", Sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2em;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.recherche-sejours-tous-resultats:hover {
  background-color: #ED1E79;
  border-color: #ED1E79;
  color: #FFFFFF;
  transform: translateY(-1px);
}/* End custom CSS */