.elementor-kit-949{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-24cb6440:#4054B2;--e-global-color-612a6427:#23A455;--e-global-color-5da9ef4f:#000;--e-global-color-6f6bd1a4:#FFF;--e-global-color-6ff3f7ee:#1A6C7A;--e-global-color-0b17479:#FFFFFF00;--e-global-typography-primary-font-family:"Babylonica";--e-global-typography-primary-font-size:33px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-size:16px;line-height:1.6em;}.elementor-kit-949 button,.elementor-kit-949 input[type="button"],.elementor-kit-949 input[type="submit"],.elementor-kit-949 .elementor-button{background-color:#FFFFFF00;color:#FFFFFF;border-style:solid;border-color:#FFFFFF;}.elementor-kit-949 button:hover,.elementor-kit-949 button:focus,.elementor-kit-949 input[type="button"]:hover,.elementor-kit-949 input[type="button"]:focus,.elementor-kit-949 input[type="submit"]:hover,.elementor-kit-949 input[type="submit"]:focus,.elementor-kit-949 .elementor-button:hover,.elementor-kit-949 .elementor-button:focus{background-color:#E28F8F;}.elementor-kit-949 e-page-transition{background-color:#FFBC7D;}.elementor-kit-949 h1{font-family:"Babylonica", Sans-serif;font-size:80px;font-weight:400;text-transform:none;line-height:1.5em;}.elementor-kit-949 h2{font-family:"Julius Sans One", Sans-serif;font-size:40px;font-weight:400;text-transform:none;line-height:1.5em;letter-spacing:2.5px;word-spacing:0px;}.elementor-kit-949 h3{font-family:"Julius Sans One", Sans-serif;font-size:22px;text-transform:none;line-height:1.5em;letter-spacing:2.5px;}.elementor-kit-949 h4{font-family:"Julius Sans One", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-949 h1{font-size:50px;}.elementor-kit-949 h2{font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-949 h1{font-size:60px;line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ====== VIEWPORT & FOND PLEIN ÉCRAN (iOS SAFE) ====== */
html {
  background-color: #000; /* couvre les bords si viewport étendu */
}

body {
  margin: 0;
  background-color: #000;         /* sécurité */
  min-height: 100dvh;             /* iOS 16+ dynamique */
  /* Fallback chain */
  min-height: 100svh;
  min-height: 100vh;

  /* Safe areas avec garde-fou */
  padding-left: max(env(safe-area-inset-left), 0px);
  padding-right: max(env(safe-area-inset-right), 0px);
  padding-top: calc(100px + max(env(safe-area-inset-top), 0px)); /* header 100px + notch */
  padding-bottom: max(env(safe-area-inset-bottom), 0px);
  position: relative;
}

/* Couche de fond fixée qui remplit vraiment tout l’écran (y compris encoche) */
body::before {
  content: "";
  position: fixed;
  inset: 0;              /* top/right/bottom/left: 0 */
  background: #000;
  z-index: -1;           /* derrière tout */
  pointer-events: none;
}

/* ====== WRAPPERS : rien ne dépasse en largeur ====== */
html, body, #page, .site, .elementor-location-body, .elementor-section-wrap {
  overflow-x: hidden; /* ok sur iOS tant que le fond est “cover” */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* ====== SPLASH ====== */
.fullscreen-splash {
  width: 100%;
  /* dvh pour iOS, avec fallbacks */
  height: 100dvh;
  height: 100svh;
  height: 100vh;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ====== MENU PAYSAGE : position + safe areas ====== */
@media screen and (orientation: landscape) and (max-width: 1024px) {
  .elementor-menu-toggle {
    position: fixed !important;
    top: max(env(safe-area-inset-top), 15px);
    right: max(env(safe-area-inset-right), 15px);
    z-index: 9999 !important;
    display: flex !important;
    justify-content: flex-end;
    margin: 0 !important;
    margin-left: auto !important;
    align-self: flex-start !important;
  }

  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: fixed !important;
    top: calc(max(env(safe-area-inset-top), 15px) + 50px);
    right: 0;
    left: 0;
    z-index: 9998 !important;
    background-color: #000 !important;
    max-height: 80vh;
    overflow-y: auto;
    padding: 20px;
    box-sizing: border-box;
  }
}

/* ====== TITRES EN PAYSAGE (déjà bien) ====== */
@media screen and (orientation: landscape) and (max-width: 1024px) {
  .hero-texte {
    padding-left: max(6vw, env(safe-area-inset-left));
    padding-right: max(6vw, env(safe-area-inset-right));
    text-align: center;
  }
}

/* ====== FIX ACCOLADE DANS TON BLOC DESKTOP ====== */
/* (réécriture propre du bloc pour éviter l’accolade surnuméraire) */
@media (min-width: 1025px) {
  :root { --fade: clamp(30vw, 8vw, 30vw); }

  .fade-nav {
    padding-top: 3px;
    padding-bottom: 3px;
    background-origin: padding-box;
    background: linear-gradient(
      to right,
      rgba(0,0,0,0) 0,
      rgba(0,0,0,0) calc(var(--fade) - 10vw),
      rgba(0,0,0,0.3) var(--fade),
      rgba(0,0,0,0.3) calc(100% - var(--fade)),
      rgba(0,0,0,0) calc(100% - (var(--fade) - 10vw)),
      rgba(0,0,0,0) 100%
    ) !important;
    /* si besoin : backdrop-filter: blur(6px); */
  }
}
/* 1) Header toujours au-dessus du hero + structure flex propre */
.elementor-location-header,
header.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.elementor-location-header .elementor-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem;
}

/* Logo raisonnable sur tablette */
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-widget-image img {
  max-height: 60px;
  height: auto;
}

/* 2) iPad (tablette) : forcer l’alignement à droite du hamburger */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* Empêche le centrage involontaire */
  .elementor-location-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-widget-button,
  .elementor-location-header .elementor-menu-toggle {
    margin-left: auto !important;
  }

  /* Conteneur de header pas trop serré */
  .elementor-location-header .elementor-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Évite que des règles tablette d’Elementor recentrent tout */
  .elementor-location-header .elementor-column,
  .elementor-location-header .elementor-column .elementor-widget-wrap {
    justify-content: flex-start !important;
  }
}

/* 3) Le hero ne doit pas passer au-dessus du header */
.hero, .elementor-section.hero {
  position: relative;
  z-index: 1;
}

/* 4) Corrige le 100vh sur iOS (barres d’outils dynamiques) */
@supports (height: 100dvh) {
  .hero, .hero-fullscreen, .elementor-section[data-full-height="true"] {
    min-height: 100dvh !important;
  }
}
@supports not (height: 100dvh) {
  .hero, .hero-fullscreen, .elementor-section[data-full-height="true"] {
    min-height: calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  }
}

/* 5) “Scroll invite” : taille fluide + bien collé en bas, centré */
#scroll-invite, .scroll-invite {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 999;
  pointer-events: none;
  line-height: 1.1;
  font-size: clamp(12px, 2.2vw, 18px);
  /* empêche une grosse mise à l’échelle iOS */
  -webkit-text-size-adjust: 100%;
}

/* 6) Conteneurs Elementor : éviter un centrage global sur tablette */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-container {
    max-width: 100% !important;
  }
}

/* 7) Sécurité : le menu déroulant passe bien au-dessus de tout */
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container {
  z-index: 1001 !important;
}/* End custom CSS */