.elementor-kit-629{--e-global-color-primary:#007A57;--e-global-color-secondary:#111111;--e-global-color-text:#BEBEBE;--e-global-color-accent:#FFFFFF;--e-global-color-8d6ceee:#C8C8C8;--e-global-color-a14091f:#00000000;--e-global-color-c840931:#111111E0;--e-global-color-dd50683:#1F1F1F78;--e-global-typography-primary-font-family:"Inter";--e-global-typography-secondary-font-family:"Playfair Display";--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:0.9em;--e-global-typography-text-font-weight:300;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Playfair Display";--e-global-typography-accent-font-size:0.9rem;--e-global-typography-accent-font-style:italic;--e-global-typography-accent-line-height:1.2em;--e-global-typography-9893f30-font-family:"Inter";--e-global-typography-9893f30-font-size:5.1rem;--e-global-typography-9893f30-font-weight:400;--e-global-typography-9893f30-line-height:0.9em;--e-global-typography-f374e19-font-family:"Inter";--e-global-typography-f374e19-font-size:3.5rem;--e-global-typography-f374e19-font-weight:400;--e-global-typography-f374e19-line-height:0.9em;--e-global-typography-fe7ad85-font-family:"Inter";--e-global-typography-fe7ad85-font-size:3rem;--e-global-typography-fe7ad85-font-weight:400;--e-global-typography-fe7ad85-line-height:0.9em;--e-global-typography-da20d3d-font-family:"Inter";--e-global-typography-da20d3d-font-size:1.2rem;--e-global-typography-da20d3d-font-weight:500;--e-global-typography-da20d3d-line-height:1.4em;--e-global-typography-d1fbd94-font-family:"Playfair Display";--e-global-typography-d1fbd94-font-size:1.2em;--e-global-typography-d1fbd94-font-weight:300;--e-global-typography-d1fbd94-font-style:italic;--e-global-typography-d1fbd94-line-height:1.2em;--e-global-typography-9b88df0-font-family:"Inter";--e-global-typography-9b88df0-font-size:1em;--e-global-typography-9b88df0-font-weight:500;--e-global-typography-9b88df0-font-style:normal;--e-global-typography-9b88df0-line-height:1em;--e-global-typography-0a6830f-font-family:"Inter";--e-global-typography-0a6830f-font-size:0.8rem;--e-global-typography-0a6830f-font-weight:300;--e-global-typography-0a6830f-line-height:1.6em;--e-global-typography-c779e62-font-family:"Playfair Display";--e-global-typography-c779e62-font-size:6rem;--e-global-typography-c779e62-line-height:1.3em;--e-global-typography-e1c885e-font-family:"Playfair Display";--e-global-typography-e1c885e-font-size:10rem;--e-global-typography-e1c885e-line-height:1.1em;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-629 button,.elementor-kit-629 input[type="button"],.elementor-kit-629 input[type="submit"],.elementor-kit-629 .elementor-button{background-color:var( --e-global-color-a14091f );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-style:var( --e-global-typography-accent-font-style );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-accent );border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;padding:15px 0px 15px 0px;}.elementor-kit-629 button:hover,.elementor-kit-629 button:focus,.elementor-kit-629 input[type="button"]:hover,.elementor-kit-629 input[type="button"]:focus,.elementor-kit-629 input[type="submit"]:hover,.elementor-kit-629 input[type="submit"]:focus,.elementor-kit-629 .elementor-button:hover,.elementor-kit-629 .elementor-button:focus{background-color:var( --e-global-color-a14091f );color:var( --e-global-color-primary );border-style:solid;border-width:0px 0px 1px 0px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;}.elementor-kit-629 e-page-transition{background-color:#FFBC7D;}.elementor-kit-629 a{color:var( --e-global-color-primary );}.elementor-kit-629 a:hover{color:var( --e-global-color-accent );}.elementor-kit-629 h1{color:var( --e-global-color-accent );font-family:var( --e-global-typography-9893f30-font-family ), Sans-serif;font-size:var( --e-global-typography-9893f30-font-size );font-weight:var( --e-global-typography-9893f30-font-weight );line-height:var( --e-global-typography-9893f30-line-height );}.elementor-kit-629 h2{color:var( --e-global-color-accent );font-family:var( --e-global-typography-f374e19-font-family ), Sans-serif;font-size:var( --e-global-typography-f374e19-font-size );font-weight:var( --e-global-typography-f374e19-font-weight );line-height:var( --e-global-typography-f374e19-line-height );}.elementor-kit-629 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-fe7ad85-font-family ), Sans-serif;font-size:var( --e-global-typography-fe7ad85-font-size );font-weight:var( --e-global-typography-fe7ad85-font-weight );line-height:var( --e-global-typography-fe7ad85-line-height );}.elementor-kit-629 h4{color:var( --e-global-color-accent );font-family:var( --e-global-typography-da20d3d-font-family ), Sans-serif;font-size:var( --e-global-typography-da20d3d-font-size );font-weight:var( --e-global-typography-da20d3d-font-weight );line-height:var( --e-global-typography-da20d3d-line-height );}.elementor-kit-629 h5{color:var( --e-global-color-accent );font-family:var( --e-global-typography-d1fbd94-font-family ), Sans-serif;font-size:var( --e-global-typography-d1fbd94-font-size );font-weight:var( --e-global-typography-d1fbd94-font-weight );font-style:var( --e-global-typography-d1fbd94-font-style );line-height:var( --e-global-typography-d1fbd94-line-height );}.elementor-kit-629 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-9b88df0-font-family ), Sans-serif;font-size:var( --e-global-typography-9b88df0-font-size );font-weight:var( --e-global-typography-9b88df0-font-weight );font-style:var( --e-global-typography-9b88df0-font-style );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 img{border-radius:0px 0px 0px 0px;}.elementor-kit-629 label{color:var( --e-global-color-primary );font-family:var( --e-global-typography-9b88df0-font-family ), Sans-serif;font-size:var( --e-global-typography-9b88df0-font-size );font-weight:var( --e-global-typography-9b88df0-font-weight );font-style:var( --e-global-typography-9b88df0-font-style );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 input:not([type="button"]):not([type="submit"]),.elementor-kit-629 textarea,.elementor-kit-629 .elementor-field-textual{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-accent );background-color:var( --e-global-color-a14091f );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:0px 0px 0px 0px;transition:2ms;padding:30px 30px 30px 30px;}.elementor-kit-629 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-629 textarea:focus,.elementor-kit-629 .elementor-field-textual:focus{color:var( --e-global-color-accent );background-color:var( --e-global-color-a14091f );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-primary );border-radius:0px 0px 0px 0px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing: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-629{--e-global-typography-9893f30-font-size:3.7rem;--e-global-typography-9893f30-line-height:0.9em;--e-global-typography-f374e19-font-size:2.8rem;--e-global-typography-f374e19-line-height:0.9em;--e-global-typography-fe7ad85-font-size:2.6rem;--e-global-typography-fe7ad85-line-height:0.9em;--e-global-typography-c779e62-font-size:5rem;--e-global-typography-e1c885e-font-size:9rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-629 h1{font-size:var( --e-global-typography-9893f30-font-size );line-height:var( --e-global-typography-9893f30-line-height );}.elementor-kit-629 h2{font-size:var( --e-global-typography-f374e19-font-size );line-height:var( --e-global-typography-f374e19-line-height );}.elementor-kit-629 h3{font-size:var( --e-global-typography-fe7ad85-font-size );line-height:var( --e-global-typography-fe7ad85-line-height );}.elementor-kit-629 h4{font-size:var( --e-global-typography-da20d3d-font-size );line-height:var( --e-global-typography-da20d3d-line-height );}.elementor-kit-629 h5{font-size:var( --e-global-typography-d1fbd94-font-size );line-height:var( --e-global-typography-d1fbd94-line-height );}.elementor-kit-629 h6{font-size:var( --e-global-typography-9b88df0-font-size );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 button,.elementor-kit-629 input[type="button"],.elementor-kit-629 input[type="submit"],.elementor-kit-629 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-629 label{font-size:var( --e-global-typography-9b88df0-font-size );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 input:not([type="button"]):not([type="submit"]),.elementor-kit-629 textarea,.elementor-kit-629 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-629{--e-global-typography-9893f30-font-size:2.8rem;--e-global-typography-9893f30-line-height:0.9em;--e-global-typography-f374e19-font-size:2rem;--e-global-typography-f374e19-line-height:0.9em;--e-global-typography-fe7ad85-font-size:1.9rem;--e-global-typography-fe7ad85-line-height:0.9em;--e-global-typography-c779e62-font-size:4rem;--e-global-typography-e1c885e-font-size:8rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-629 h1{font-size:var( --e-global-typography-9893f30-font-size );line-height:var( --e-global-typography-9893f30-line-height );}.elementor-kit-629 h2{font-size:var( --e-global-typography-f374e19-font-size );line-height:var( --e-global-typography-f374e19-line-height );}.elementor-kit-629 h3{font-size:var( --e-global-typography-fe7ad85-font-size );line-height:var( --e-global-typography-fe7ad85-line-height );}.elementor-kit-629 h4{font-size:var( --e-global-typography-da20d3d-font-size );line-height:var( --e-global-typography-da20d3d-line-height );}.elementor-kit-629 h5{font-size:var( --e-global-typography-d1fbd94-font-size );line-height:var( --e-global-typography-d1fbd94-line-height );}.elementor-kit-629 h6{font-size:var( --e-global-typography-9b88df0-font-size );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 button,.elementor-kit-629 input[type="button"],.elementor-kit-629 input[type="submit"],.elementor-kit-629 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-629 label{font-size:var( --e-global-typography-9b88df0-font-size );line-height:var( --e-global-typography-9b88df0-line-height );}.elementor-kit-629 input:not([type="button"]):not([type="submit"]),.elementor-kit-629 textarea,.elementor-kit-629 .elementor-field-textual{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===== MENU MOBILE OVERLAY BLUR (Elementor) ===== */
@media (max-width: 767px){

  :root{
    --header-h-mobile: 56px; /* ajuste selon la hauteur réelle du header */
  }

  /* 1) Supprimer fonds/ombres qui empêchent le blur */
  .header-burger .elementor-widget-nav-menu,
  .header-burger .elementor-widget-nav-menu *,
  .header-burger .elementor-nav-menu--dropdown,
  .header-burger .elementor-nav-menu--dropdown .elementor-nav-menu,
  .header-burger .e-n-menu-dropdown {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  /* 2A) Ancien widget : .elementor-nav-menu--dropdown → overlay flouté */
  .header-burger .elementor-widget-nav-menu.elementor-active .elementor-nav-menu--dropdown{
    position: fixed !important;
    left: 12px;
    right: 12px;
    top: calc(env(safe-area-inset-top, 0px) + var(--header-h-mobile) + 8px);
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - var(--header-h-mobile) - 24px);
    overflow: auto; -webkit-overflow-scrolling: touch;

    background: rgba(255,255,255,0.45);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.28);
    box-shadow: 0 8px 30px rgba(0,0,0,0.18);
    isolation: isolate;
    will-change: backdrop-filter;
    z-index: 99999;
  }

  /* 2B) Nouveau widget : .e-n-menu-dropdown → overlay flouté */
  .header-burger .elementor-widget-nav-menu.elementor-active .e-n-menu-dropdown{
    position: fixed !important;
    left: 12px;
    right: 12px;
    top: calc(env(safe-area-inset-top, 0px) + var(--header-h-mobile) + 8px);
    max-height: calc(100vh - env(safe-area-inset-top, 0px) - var(--header-h-mobile) - 24px);
    overflow: auto; -webkit-overflow-scrolling: touch;

    background: rgba(255,255,255,0.45);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    backdrop-filter: blur(18px) saturate(160%);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.28);
    box-shadow: 0 8px 30px rgba(0,0,0,0.18);
    isolation: isolate;
    will-change: backdrop-filter;
    z-index: 99999;
  }

  /* 3) Lisibilité des liens */
  .header-burger .elementor-nav-menu--dropdown a,
  .header-burger .e-n-menu-dropdown a{
    color: #111 !important;
    background: transparent !important;
  }

  /* 4) Empêche le “rebond” qui scrolle l’arrière-plan quand le menu est ouvert */
  .header-burger .elementor-widget-nav-menu.elementor-active .elementor-nav-menu--dropdown,
  .header-burger .elementor-widget-nav-menu.elementor-active .e-n-menu-dropdown{
    overscroll-behavior: contain;
  }

  /* 5) Le header ne doit pas couper l’overlay */
  .site-header, .header-wrap, .header-inner{
    overflow: visible !important;
  }
}

/* ===== NAVIGATION + ONE-PAGE SCROLL FIX (iOS & mobile) ===== */

/* Empêche le navigateur de replacer le scroll là où il était */
html, body { overflow-anchor: none; }

/* iOS : désactive le smooth scroll pour éviter la restauration de position */
@supports (-webkit-overflow-scrolling: touch) {
  html { scroll-behavior: auto !important; }
}


/* ===== HEADER GLACE PREMIUM ===== */

/* Header en tout temps */
.site-header,
.header-wrap {
  background: rgba(255,255,255,0.42); /* blancheur translucide */
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid rgba(255,255,255,0.28);
  transition: background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

/* Lorsque l'utilisateur défile */
.header-sticky.is-scrolled,
.site-header.elementor-sticky--effects {
  background: rgba(255,255,255,0.68); /* légère densité → meilleur contraste */
  -webkit-backdrop-filter: blur(22px) saturate(180%);
  backdrop-filter: blur(22px) saturate(180%);
  border-bottom-color: rgba(255,255,255,0.38);
  box-shadow: 0 6px 22px rgba(0,0,0,0.14); /* Ombre douce premium */
}



/* ===== OFFSET ANCRE (corrige le scroll trop bas) ===== */
:target {
  scroll-margin-top: 140px; /* valeur par défaut pour toutes les sections */
}

#reference:target {
  scroll-margin-top: 240px; /* pour cette section spécifique */
}

#contact:target {
  scroll-margin-top: 40px; /* ajustement individuel */
}/* End custom CSS */