.elementor-8 .elementor-element.elementor-element-b8635f4{--display:flex;}.elementor-8 .elementor-element.elementor-element-b8635f4:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-b8635f4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-86be313{--display:flex;--min-height:0vh;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-8 .elementor-element.elementor-element-22e3469{--display:flex;--min-height:68vh;--justify-content:center;--border-radius:50px 50px 50px 50px;}.elementor-8 .elementor-element.elementor-element-22e3469 .elementor-background-slideshow__slide__image{background-size:cover;background-position:top center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-3f53d5e{text-align:center;}.elementor-8 .elementor-element.elementor-element-3f53d5e .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:105px;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-50247d5{text-align:center;}.elementor-8 .elementor-element.elementor-element-50247d5 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:41px;font-weight:600;color:#7A5C4A;}.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-8 .elementor-element.elementor-element-fc815d3 .elementor-button{background-color:#D96C4A;font-family:"Inter Tight", Sans-serif;font-size:2em;font-weight:700;}.elementor-8 .elementor-element.elementor-element-fc815d3 .elementor-button:hover, .elementor-8 .elementor-element.elementor-element-fc815d3 .elementor-button:focus{background-color:#942300;}.elementor-8 .elementor-element.elementor-element-fc815d3{margin:25px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-8 .elementor-element.elementor-element-9cb28d7{--display:flex;}.elementor-8 .elementor-element.elementor-element-9cb28d7:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-9cb28d7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-9cb28d7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-2a5b83c{--display:flex;--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;}.elementor-8 .elementor-element.elementor-element-29501c6{text-align:center;}.elementor-8 .elementor-element.elementor-element-29501c6 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:3.3vw;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-6842bef{--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;--gap:0% 10%;--row-gap:0%;--column-gap:10%;--flex-wrap:nowrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-8 .elementor-element.elementor-element-8e39244{text-align:justify;font-family:"Inter Tight", Sans-serif;font-size:1.4vw;font-weight:600;}.elementor-8 .elementor-element.elementor-element-af455ab{--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;--gap:0% 10%;--row-gap:0%;--column-gap:10%;--flex-wrap:nowrap;}.elementor-8 .elementor-element.elementor-element-59c201b .elementor-wrapper{--video-aspect-ratio:0.5625;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-8 .elementor-element.elementor-element-c100044 .elementor-wrapper{--video-aspect-ratio:0.5625;filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-8 .elementor-element.elementor-element-511d2ca{--display:flex;}.elementor-8 .elementor-element.elementor-element-511d2ca:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-511d2ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-511d2ca.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-a844f66{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-8 .elementor-element.elementor-element-73b9fa1{text-align:center;}.elementor-8 .elementor-element.elementor-element-73b9fa1 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:3.3vw;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-751b0f2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;font-family:"Inter Tight", Sans-serif;font-size:1.4vw;font-weight:600;}.elementor-8 .elementor-element.elementor-element-66be03f{--display:flex;--margin-top:-3em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;}.elementor-widget-hotspot .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-widget-hotspot{--hotspot-color:var( --e-global-color-primary );--hotspot-box-color:var( --e-global-color-secondary );--tooltip-color:var( --e-global-color-secondary );}.elementor-widget-hotspot .e-hotspot__label{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-hotspot .e-hotspot__tooltip{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e{right:78%;--hotspot-translate-x:78%;bottom:57%;--hotspot-translate-y:57%;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f{left:48%;--hotspot-translate-x:48%;bottom:29%;--hotspot-translate-y:29%;--white-space:normal;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0{--background-align:center;--container-width:100%;--image-width:100%;--hotspot-color:#54595F;--hotspot-size:60px;--hotspot-box-color:#54595F00;--hotspot-padding:0.4em;--hotspot-border-radius:20px 20px 20px 20px;--tooltip-color:#9BBCE4;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .e-hotspot__label{font-family:"Playfair Display", Sans-serif;font-size:3.6rem;font-weight:600;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .e-hotspot__tooltip{font-family:"Inter Tight", Sans-serif;font-weight:400;}.elementor-8 .elementor-element.elementor-element-424a513{--display:flex;}.elementor-8 .elementor-element.elementor-element-424a513:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-424a513 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-424a513.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-84cbb97{--display:flex;--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;}.elementor-8 .elementor-element.elementor-element-d4e8dd2{text-align:center;}.elementor-8 .elementor-element.elementor-element-d4e8dd2 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:3.3vw;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-8590571{--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;--gap:0% 10%;--row-gap:0%;--column-gap:10%;--flex-wrap:nowrap;}.elementor-8 .elementor-element.elementor-element-0c8116a{text-align:justify;font-family:"Inter Tight", Sans-serif;font-size:1.4vw;font-weight:600;}.elementor-8 .elementor-element.elementor-element-eb8c8cf{--display:flex;--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-8 .elementor-element.elementor-element-eb8c8cf:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-eb8c8cf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-eb8c8cf.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-2d8c22b{--display:flex;--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;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-8 .elementor-element.elementor-element-c4ebe7f{text-align:center;}.elementor-8 .elementor-element.elementor-element-c4ebe7f .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:3.3vw;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-b58bf64{--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;--gap:0% 10%;--row-gap:0%;--column-gap:10%;--flex-wrap:nowrap;}.elementor-widget-loop-grid .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-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-8 .elementor-element.elementor-element-f0d50f3{--grid-columns:2;--load-more-message-alignment:center;}.elementor-8 .elementor-element.elementor-element-f0d50f3 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-8 .elementor-element.elementor-element-f0d50f3 .e-loop-item > .elementor-section, .elementor-8 .elementor-element.elementor-element-f0d50f3 .e-loop-item > .elementor-section > .elementor-container, .elementor-8 .elementor-element.elementor-element-f0d50f3 .e-loop-item > .e-con, .elementor-8 .elementor-element.elementor-element-f0d50f3 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-8 .elementor-element.elementor-element-45803aa{--display:flex;}.elementor-8 .elementor-element.elementor-element-45803aa:not(.elementor-motion-effects-element-type-background), .elementor-8 .elementor-element.elementor-element-45803aa > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAF3E8;}.elementor-8 .elementor-element.elementor-element-45803aa.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-8 .elementor-element.elementor-element-f7eecef{--display:flex;--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;}.elementor-8 .elementor-element.elementor-element-5d999bf{text-align:center;}.elementor-8 .elementor-element.elementor-element-5d999bf .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:3.3vw;font-weight:700;color:#2A1E18;}.elementor-8 .elementor-element.elementor-element-e6100e5{--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;--gap:0% 10%;--row-gap:0%;--column-gap:10%;--flex-wrap:nowrap;}.elementor-8 .elementor-element.elementor-element-87451ad .elementor-button{background-color:#D96C4A;font-family:"Inter Tight", Sans-serif;font-size:1.8em;font-weight:700;}.elementor-8 .elementor-element.elementor-element-87451ad .elementor-button:hover, .elementor-8 .elementor-element.elementor-element-87451ad .elementor-button:focus{background-color:#942907;}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-b8635f4{--width:100%;}.elementor-8 .elementor-element.elementor-element-86be313{--content-width:100%;}.elementor-8 .elementor-element.elementor-element-22e3469{--width:70%;}.elementor-8 .elementor-element.elementor-element-6842bef{--width:57%;}.elementor-8 .elementor-element.elementor-element-af455ab{--width:42%;}.elementor-8 .elementor-element.elementor-element-66be03f{--width:80%;}.elementor-8 .elementor-element.elementor-element-8590571{--width:56%;}.elementor-8 .elementor-element.elementor-element-b58bf64{--width:50%;}.elementor-8 .elementor-element.elementor-element-e6100e5{--width:51%;}}@media(max-width:1024px) and (min-width:768px){.elementor-8 .elementor-element.elementor-element-6842bef{--width:90%;}.elementor-8 .elementor-element.elementor-element-af455ab{--width:75%;}.elementor-8 .elementor-element.elementor-element-8590571{--width:90%;}.elementor-8 .elementor-element.elementor-element-b58bf64{--width:100%;}}@media(max-width:1024px){.elementor-8 .elementor-element.elementor-element-29501c6 .elementor-heading-title{font-size:4.8vw;}.elementor-8 .elementor-element.elementor-element-8e39244{font-size:3vw;}.elementor-8 .elementor-element.elementor-element-73b9fa1 .elementor-heading-title{font-size:4.8vw;}.elementor-8 .elementor-element.elementor-element-751b0f2{font-size:3vw;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e{right:77%;--hotspot-translate-x:77%;bottom:57%;--hotspot-translate-y:57%;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e .e-hotspot__tooltip{min-width:500px;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f{left:50%;--hotspot-translate-x:50%;bottom:31%;--hotspot-translate-y:31%;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f .e-hotspot__tooltip{min-width:500px;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0 img{width:100%;}.elementor-8 .elementor-element.elementor-element-d23c6a0{--hotspot-size:50px;}.elementor-8 .elementor-element.elementor-element-d4e8dd2 .elementor-heading-title{font-size:4.8vw;}.elementor-8 .elementor-element.elementor-element-0c8116a{font-size:3vw;}.elementor-8 .elementor-element.elementor-element-c4ebe7f .elementor-heading-title{font-size:4.8vw;}.elementor-8 .elementor-element.elementor-element-f0d50f3{--grid-columns:2;}.elementor-8 .elementor-element.elementor-element-5d999bf .elementor-heading-title{font-size:4.8vw;}.elementor-8 .elementor-element.elementor-element-87451ad .elementor-button{font-size:2.1em;}}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-3f53d5e .elementor-heading-title{font-size:4rem;}.elementor-8 .elementor-element.elementor-element-50247d5 .elementor-heading-title{font-size:6.3vw;}.elementor-8 .elementor-element.elementor-element-fc815d3 .elementor-button{font-size:5.7vw;}.elementor-8 .elementor-element.elementor-element-29501c6 .elementor-heading-title{font-size:9vw;}.elementor-8 .elementor-element.elementor-element-8e39244{font-size:4.5vw;}.elementor-8 .elementor-element.elementor-element-af455ab{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0% 05%;--row-gap:0%;--column-gap:05%;--flex-wrap:wrap;}.elementor-8 .elementor-element.elementor-element-73b9fa1 .elementor-heading-title{font-size:9vw;}.elementor-8 .elementor-element.elementor-element-751b0f2{font-size:4.5vw;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e{right:78%;--hotspot-translate-x:78%;bottom:61%;--hotspot-translate-y:61%;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-257bc6e .e-hotspot__tooltip{min-width:245px;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f{left:50%;--hotspot-translate-x:50%;bottom:33%;--hotspot-translate-y:33%;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .elementor-repeater-item-417fd5f .e-hotspot__tooltip{min-width:245px;}.elementor-8 .elementor-element.elementor-element-d23c6a0 .e-hotspot--tooltip-position{right:initial;bottom:initial;left:initial;top:calc(100% + 5px );}.elementor-8 .elementor-element.elementor-element-d23c6a0{--hotspot-size:2.4rem;--hotspot-padding:0%;}.elementor-8 .elementor-element.elementor-element-d4e8dd2 .elementor-heading-title{font-size:9vw;}.elementor-8 .elementor-element.elementor-element-0c8116a{font-size:4.5vw;}.elementor-8 .elementor-element.elementor-element-c4ebe7f .elementor-heading-title{font-size:9vw;}.elementor-8 .elementor-element.elementor-element-f0d50f3{--grid-columns:1;}.elementor-8 .elementor-element.elementor-element-5d999bf .elementor-heading-title{font-size:9vw;}.elementor-8 .elementor-element.elementor-element-87451ad .elementor-button{font-size:5.7vw;}}/* Start custom CSS for container, class: .elementor-element-22e3469 *//* =========================================================
   ZOUK HERO — PHOTOS PUIS TRANSITION BEIGE
   ========================================================= */

.zouk-hero {
  position: relative !important;
  min-height: 90vh;
  overflow: hidden !important;
  isolation: isolate;
}


/* =========================================================
   COUCHE BEIGE
   ========================================================= */

.zouk-hero::before {
  content: "";
  position: absolute;
  inset: 0;

  background: #FAF3E8;

  opacity: 0;

  z-index: 5;

  pointer-events: none;

  animation: zouk-beige-in 0.9s ease-out 1.2s forwards;
}


/* =========================================================
   CONTENU AU-DESSUS DU BEIGE
   ========================================================= */

.zouk-hero > * {
  position: relative;
  z-index: 10;
}


/* =========================================================
   TEXTE — ÉTAT INITIAL
   ========================================================= */

.zouk-hero .hero-title,
.zouk-hero .hero-subtitle,
.zouk-hero .hero-actions {
  opacity: 0;
  transform: translateY(20px);
}


/* =========================================================
   TITRE
   ========================================================= */

.zouk-hero .hero-title {
  animation: zouk-text-in 0.7s ease-out 1.35s forwards;
}


/* =========================================================
   SOUS-TITRE
   ========================================================= */

.zouk-hero .hero-subtitle {
  animation: zouk-text-in 0.7s ease-out 1.55s forwards;
}


/* =========================================================
   BOUTONS
   ========================================================= */

.zouk-hero .hero-actions {
  animation: zouk-text-in 0.7s ease-out 1.75s forwards;
}


/* =========================================================
   ANIMATION BEIGE
   ========================================================= */

@keyframes zouk-beige-in {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }

}


/* =========================================================
   ANIMATION TEXTE
   ========================================================= */

@keyframes zouk-text-in {

  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 768px) {

  .zouk-hero {
    min-height: 82vh;
  }

  .zouk-hero::before {
    animation-delay: 1s;
  }

  .zouk-hero .hero-title {
    animation-delay: 1.15s;
  }

  .zouk-hero .hero-subtitle {
    animation-delay: 1.35s;
  }

  .zouk-hero .hero-actions {
    animation-delay: 1.55s;
  }

}/* End custom CSS */
/* Start custom CSS for video, class: .elementor-element-c100044 *//* =========================================================
   VIDÉOS — coins arrondis
   Classe Elementor : video-rounded
   ========================================================= */

.video-rounded,
.video-rounded .elementor-widget-container {
  overflow: hidden !important;
  border-radius: 28px !important;
}

.video-rounded video,
.video-rounded iframe,
.video-rounded .elementor-video,
.video-rounded .elementor-wrapper,
.video-rounded .elementor-custom-embed,
.video-rounded .elementor-fit-aspect-ratio {
  border-radius: 28px !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  .video-rounded,
  .video-rounded .elementor-widget-container,
  .video-rounded video,
  .video-rounded iframe,
  .video-rounded .elementor-video,
  .video-rounded .elementor-wrapper,
  .video-rounded .elementor-custom-embed,
  .video-rounded .elementor-fit-aspect-ratio {
    border-radius: 22px !important;
  }
}/* End custom CSS */
/* Start custom CSS for hotspot, class: .elementor-element-d23c6a0 */.elementor-widget-hotspot {
    width: 100% !important;
    overflow: visible !important;
}

.elementor-widget-hotspot .elementor-widget-container {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: visible !important;
}

.elementor-widget-hotspot .elementor-widget-container img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
}

.elementor-widget-hotspot .e-hotspot {
    position: absolute !important;
    overflow: visible !important;
}

.elementor-widget-hotspot .e-hotspot__button {
    position: relative !important;
}

.elementor-widget-hotspot .e-hotspot__icon {
    position: relative !important;
}

/* =========================================================
   TEST POPUP — BASE UNIQUEMENT
   ========================================================= */

.elementor-widget-hotspot .e-hotspot__tooltip,
.e-hotspot__tooltip {
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    pointer-events: auto !important;
}

.elementor-widget-hotspot .e-hotspot__tooltip-position,
.e-hotspot__tooltip-position {
    pointer-events: auto !important;
}

.map-tooltip {
    width: auto;
    min-width: 280px;
    max-width: 340px;
    padding: 18px;
    background: #FFFCF7;
    color: #2A1E18;
    border: 1.5px solid #E2BFA8;
    border-radius: 22px;
    box-shadow: 0 22px 55px rgba(42, 30, 24, 0.22);
    font-family: "Inter", sans-serif;
    box-sizing: border-box;
}

/* =========================================================
   ÉTAPE 2 — STRUCTURE DU POPUP AVEC PHOTO
   ========================================================= */

.elementor-widget-hotspot .map-tooltip-with-photo {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    gap: 18px;
    min-width: 500px;
    max-width: 540px;
    box-sizing: border-box;
}

/* =========================================================
   PHOTO — REMPLIT INTÉGRALEMENT SON CADRE
   ========================================================= */

.elementor-widget-hotspot .tooltip-photo {
    grid-column: 1 !important;
    grid-row: 1 !important;

    position: relative !important;

    width: 100% !important;
    height: 100% !important;

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    align-self: stretch !important;

    border-radius: 18px !important;
    overflow: hidden !important;

    background: #FAF3E8 !important;
    border: 1px solid #E2BFA8 !important;

    box-sizing: border-box !important;
}

.elementor-widget-hotspot .tooltip-photo img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    min-width: 100% !important;
    min-height: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
    object-position: center center !important;

    border-radius: 0 !important;

    box-sizing: border-box !important;
}

.elementor-widget-hotspot .tooltip-main {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

/* =========================================================
   ÉTAPE 3 — CONTENU DU POPUP
   ========================================================= */

.elementor-widget-hotspot .tooltip-kicker {
    margin: 0 0 6px;
    color: #D96C4A;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.elementor-widget-hotspot .tooltip-header {
    margin: 0 0 14px;
}

.elementor-widget-hotspot .tooltip-header strong {
    display: block;
    margin: 0;
    color: #2A1E18;
    font-family: "Fraunces", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1.05;
}

.elementor-widget-hotspot .tooltip-header span {
    display: block;
    margin-top: 5px;
    color: #7A5C4A;
    font-size: 14px;
    line-height: 1.4;
}

.elementor-widget-hotspot .tooltip-levels {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 16px;
}

.elementor-widget-hotspot .level {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.elementor-widget-hotspot .level-foundation,
.elementor-widget-hotspot .level-beginner {
    background: #F3E4D6;
    color: #8A543C;
}

.elementor-widget-hotspot .level-inter {
    background: #E8DED0;
    color: #6B5544;
}

.elementor-widget-hotspot .level-advanced {
    background: #E7D2C5;
    color: #8B4933;
}

.elementor-widget-hotspot .level-all {
    background: #EEE9E1;
    color: #665A4D;
}

.elementor-widget-hotspot .tooltip-section {
    margin-top: 16px;
}

.elementor-widget-hotspot .tooltip-section-title {
    margin: 0 0 6px;
    color: #2A1E18;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .6px;
}

.elementor-widget-hotspot .tooltip-section p {
    margin: 0;
    color: #6E5A4D;
    font-size: 13px;
    line-height: 1.55;
}

.elementor-widget-hotspot .tooltip-schedule {
    margin-top: 14px;
}

.elementor-widget-hotspot .tooltip-schedule-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid rgba(226,191,168,.55);
    color: #5F4B3F;
    font-size: 13px;
    line-height: 1.35;
}

.elementor-widget-hotspot .tooltip-schedule-row:last-child {
    border-bottom: 0;
}

.elementor-widget-hotspot .tooltip-practice {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(226,191,168,.6);
}

/* =========================================================
   BOUTON INSCRIPTION / INFOS
   ========================================================= */

.elementor-widget-hotspot .tooltip-link {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: max-content !important;

    min-height: 42px !important;

    margin-top: 16px !important;
    padding: 11px 18px !important;

    border: 0 !important;
    border-radius: 999px !important;

    background: #D96C4A !important;
    color: #FFFFFF !important;

    font-family: "Inter", sans-serif !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;

    text-decoration: none !important;

    box-shadow: 0 10px 22px rgba(217, 108, 74, 0.22) !important;

    cursor: pointer !important;

    box-sizing: border-box !important;
}

.elementor-widget-hotspot .tooltip-link:hover {
    background: #B85F43 !important;
    color: #FFFFFF !important;
    text-decoration: none !important;
}

/* =========================================================
   ÉTAPE 4 — POPUP DESKTOP
   ========================================================= */

@media (min-width: 1025px) {

    .elementor-widget-hotspot .map-tooltip-with-photo {
        grid-template-columns: minmax(360px, 1fr) 220px !important;
        gap: 24px;
        min-width: 700px;
        max-width: 760px;
        padding: 22px;
    }

    .elementor-widget-hotspot .tooltip-photo img {
        min-height: 460px;
        object-fit: cover;
        object-position: center;
    }

}

/* =========================================================
   ÉTAPE 5 — POPUP MOBILE
   ========================================================= */

@media (max-width: 767px) {

    .elementor-widget-hotspot .e-hotspot__tooltip-position {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        width: calc(100vw - 32px) !important;
        max-width: 360px !important;
        max-height: calc(100vh - 48px) !important;
        transform: translate(-50%, -50%) !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-hotspot .e-hotspot__tooltip {
        width: 100% !important;
        max-width: none !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .elementor-widget-hotspot .map-tooltip,
    .elementor-widget-hotspot .map-tooltip-with-photo {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: calc(100vh - 48px) !important;
        padding: 20px !important;
        box-sizing: border-box !important;
        overflow-y: auto !important;
    }

    .elementor-widget-hotspot .map-tooltip-with-photo {
        display: block !important;
    }

    .elementor-widget-hotspot .tooltip-photo {
        display: none !important;
    }

    .elementor-widget-hotspot .tooltip-main {
        width: 100% !important;
    }

    .elementor-widget-hotspot .tooltip-header strong {
        font-size: 26px;
    }

    .elementor-widget-hotspot .tooltip-header span {
        font-size: 13px;
    }

    .elementor-widget-hotspot .tooltip-section p,
    .elementor-widget-hotspot .tooltip-schedule-row {
        font-size: 13px;
    }
}

/* =========================================================
   ÉTAPE 6 — POPUP TABLETTE
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .elementor-widget-hotspot .e-hotspot__tooltip-position {
        position: fixed !important;
        left: 50% !important;
        top: 50% !important;
        width: calc(100vw - 80px) !important;
        max-width: 720px !important;
        max-height: calc(100vh - 48px) !important;
        transform: translate(-50%, -50%) !important;
        z-index: 99999 !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-hotspot .e-hotspot__tooltip {
        width: 100% !important;
        max-width: none !important;
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 !important;
    }

    .elementor-widget-hotspot .map-tooltip,
    .elementor-widget-hotspot .map-tooltip-with-photo {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        max-height: calc(100vh - 48px) !important;
        box-sizing: border-box !important;
    }

    .elementor-widget-hotspot .map-tooltip-with-photo {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 220px !important;
        gap: 22px;
        padding: 22px !important;
        overflow-y: auto !important;
    }

    .elementor-widget-hotspot .tooltip-photo {
        display: block !important;
        min-height: 420px;
        height: 100%;
    }

    .elementor-widget-hotspot .tooltip-photo img {
        width: 100%;
        height: 100%;
        min-height: 420px;
        object-fit: cover;
        object-position: center;
    }

    .elementor-widget-hotspot .tooltip-main {
        min-width: 0;
    }

    .elementor-widget-hotspot .tooltip-header strong {
        font-size: 28px;
    }

    .elementor-widget-hotspot .tooltip-schedule-row {
        font-size: 13px;
    }
}

/* =========================================================
   PRATIQUE GRATUITE — BLOC COMPLET
   ========================================================= */

.elementor-widget-hotspot .practice-section {
    width: 100% !important;

    margin-top: 18px !important;
    padding: 15px 16px !important;

    background: #FAF3E8 !important;

    border: 1px solid #E2BFA8 !important;
    border-radius: 16px !important;

    box-sizing: border-box !important;
}

.elementor-widget-hotspot .practice-section .section-title {
    margin: 0 0 10px !important;

    color: #D96C4A !important;

    font-size: 12px !important;
    line-height: 1.1 !important;

    font-weight: 800 !important;

    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
}

.elementor-widget-hotspot .practice-section .schedule-row {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

.elementor-widget-hotspot .practice-section .schedule-row strong {
    display: block !important;

    margin: 0 0 4px !important;

    color: #2A1E18 !important;

    font-size: 14px !important;
    line-height: 1.2 !important;

    font-weight: 800 !important;
}

.elementor-widget-hotspot .practice-section .schedule-row span {
    display: block !important;

    margin: 0 !important;

    color: #7A5C4A !important;

    font-size: 13px !important;
    line-height: 1.4 !important;
}

/* Ajustement largeur photo + espace régulier du contenu */
@media (min-width: 1025px) {

    .elementor-widget-hotspot .map-tooltip-with-photo {
        grid-template-columns: 300px minmax(0, 1fr) !important;
        column-gap: 24px !important;
        align-items: stretch !important;
    }

    .elementor-widget-hotspot .tooltip-photo {
        width: 300px !important;
        height: 100% !important;
        min-height: 0 !important;
        align-self: stretch !important;
    }

    .elementor-widget-hotspot .tooltip-photo img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
    }

    .elementor-widget-hotspot .tooltip-main {
        display: flex !important;
        flex-direction: column !important;
        min-width: 0 !important;
        height: 100% !important;
    }

    /* Le contenu garde un espace équilibré jusqu'en bas */
    .elementor-widget-hotspot .tooltip-practice,
    .elementor-widget-hotspot .practice-section {
        margin-top: auto !important;
    }
}

@media (min-width: 1025px) {

    /* Réduit l'espace vide en bas du popup */
    .elementor-widget-hotspot .map-tooltip-with-photo {
        padding: 22px 22px 10px !important;
    }

    /* Badges de niveau : plus visibles */
    .elementor-widget-hotspot .tooltip-levels {
        gap: 7px !important;
        margin: 0 0 8px !important;
    }

    .elementor-widget-hotspot .level {
        padding: 7px 11px !important;
        border: 1px solid rgba(217, 108, 74, 0.28) !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        box-shadow: 0 2px 6px rgba(42, 30, 24, 0.08) !important;
    }

.elementor-widget-hotspot .level-foundation,
.elementor-widget-hotspot .level-beginner {
    background: #F2B28D !important;
    color: #2A1E18 !important;
    border: 1px solid #E2BFA8 !important;
}

.elementor-widget-hotspot .level-inter {
    background: #D96C4A !important;
    color: #FFFFFF !important;
    border: 1px solid #D96C4A !important;
}

.elementor-widget-hotspot .level-advanced {
    background: #8F4E38 !important;
    color: #FFFFFF !important;
    border: 1px solid #8F4E38 !important;
}

.elementor-widget-hotspot .level-all {
    background: #FFF0D9 !important;
    color: #2A1E18 !important;
    border: 1px solid #E6CDBA !important;
}

    /* Planning : légèrement rapproché des badges */
    .elementor-widget-hotspot .tooltip-schedule {
        margin-top: 8px !important;
    }

    /* Plus d'espace entre le planning et la pratique */
    .elementor-widget-hotspot .tooltip-practice,
    .elementor-widget-hotspot .practice-section {
        margin-top: 26px !important;
    }

    /* Le cadre pratique ne colle pas au bas du popup */
    .elementor-widget-hotspot .practice-section {
        margin-bottom: 0 !important;
    }
}

@media (min-width: 1025px) {

    .elementor-widget-hotspot .map-tooltip-with-photo {
        padding-top: 22px !important;
        padding-bottom: 0 !important;
        box-sizing: border-box !important;
        align-items: stretch !important;
    }

}

@media (max-width: 767px) {

    .elementor-widget-hotspot .map-tooltip.tooltip-will-myriam {
        position: fixed !important;

        left: 25vw !important;
        top: 45vh !important;

        width: calc(100vw - 32px) !important;
        max-width: 360px !important;

        min-width: 0 !important;

        margin: 0 !important;

        transform: translate(-50%, -50%) !important;

        z-index: 999999 !important;
        box-sizing: border-box !important;
    }

}

@media (max-width: 767px) {
    .elementor-widget-hotspot .map-tooltip.tooltip-manu-sarah {
        width: calc(100vw - 32px) !important;
        max-width: 360px !important;
    }
}

.map-tooltip {
    font-size: 16px !important;
}/* End custom CSS */
/* Start custom CSS */.elementor-widget-image,
.elementor-widget-container,
.elementor-column,
.elementor-section {
    overflow: visible !important;
}

/* Verrouille la largeur totale du site */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    position: relative !important;
}

/* Empêche les conteneurs Elementor de "baver" sur les côtés */
.elementor-section, .elementor-container, .e-con {
    max-width: 100vw !important;
}/* End custom CSS */