.elementor-1552 .elementor-element.elementor-element-6d55d70{--display:flex;--min-height:120px;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:-120px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;}.elementor-1552 .elementor-element.elementor-element-2f55968{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:0px 0px 1px 0px;border-color:#F5F1EC00;border-radius:0px 0px 0px 0px;padding:5px 0px 5px 0px;}.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button:focus{background-color:#F5F1EC00;color:#FFFFFF;border-color:#FFFFFF00;}.elementor-1552 .elementor-element.elementor-element-7102d40{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button-content-wrapper{flex-direction:row;}.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:0px 0px 1px 0px;border-color:#F5F1EC00;border-radius:0px 0px 0px 0px;padding:5px 0px 5px 0px;}.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button:focus{background-color:#F5F1EC00;color:#FFFFFF;border-color:#FFFFFF00;}.elementor-1552 .elementor-element.elementor-element-e1e21e3{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-f161578{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-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-1552 .elementor-element.elementor-element-cbc1f3b img{width:100%;height:160px;object-fit:contain;object-position:center center;}.elementor-1552 .elementor-element.elementor-element-5d2f627 img{width:100%;height:60px;object-fit:contain;object-position:center center;}.elementor-1552 .elementor-element.elementor-element-7afdc76{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:0px 0px 1px 0px;border-color:#F5F1EC00;border-radius:0px 0px 0px 0px;padding:5px 0px 5px 0px;}.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button:focus{background-color:#F5F1EC00;color:#FFFFFF;border-color:#FFFFFF00;}.elementor-1552 .elementor-element.elementor-element-45ebb0c{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:0px 0px 1px 0px;border-color:#F5F1EC00;border-radius:0px 0px 0px 0px;padding:5px 0px 5px 0px;}.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button:focus{background-color:#F5F1EC00;color:#FFFFFF;border-color:#FFFFFF00;}.elementor-1552 .elementor-element.elementor-element-419e2af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -3px) 0px;padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button-content-wrapper{flex-direction:row;}.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:0px 0px 1px 0px;border-color:#F5F1EC00;border-radius:0px 0px 0px 0px;padding:5px 0px 5px 0px;}.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button:focus{background-color:#F5F1EC00;color:#FFFFFF;border-color:#FFFFFF00;}.elementor-1552 .elementor-element.elementor-element-aa331d5{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0px;fill:#F5F3EF;color:#F5F3EF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#F5F3EF;border-radius:100px 100px 100px 100px;padding:17px 30px 17px 30px;}.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button:focus{background-color:#F5F3EF;color:#FFFFFF;border-color:#F5F3EF;}.elementor-1552 .elementor-element.elementor-element-6216f11{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-1552 .elementor-element.elementor-element-08252c7{--display:flex;--position:fixed;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;bottom:0px;}body:not(.rtl) .elementor-1552 .elementor-element.elementor-element-08252c7{left:0px;}body.rtl .elementor-1552 .elementor-element.elementor-element-08252c7{right:0px;}.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;fill:#0A0B0F;color:#0A0B0F;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.17);border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF78;border-radius:0px 0px 0px 0px;padding:10px 30px 10px 30px;}.elementor-1552 .elementor-element.elementor-element-6f01993{padding:0px 0px 0px 0px;border-style:none;}.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button:focus{color:#0A0B0F;}.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button:focus svg{fill:#0A0B0F;}.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;fill:#0A0B0F;color:#0A0B0F;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.17);border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF78;border-radius:0px 0px 0px 0px;padding:10px 30px 10px 30px;}.elementor-1552 .elementor-element.elementor-element-502e626{padding:0px 0px 0px 0px;border-style:none;}.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button:focus{color:#0A0B0F;}.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button:focus svg{fill:#0A0B0F;}.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button{background-color:#F5F1EC00;font-family:"Lato", Sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:2px;fill:#0A0B0F;color:#0A0B0F;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.17);border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFFFF78;border-radius:0px 0px 0px 0px;padding:10px 30px 10px 30px;}.elementor-1552 .elementor-element.elementor-element-2f62842{padding:0px 0px 0px 0px;border-style:none;}.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button:hover, .elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button:focus{color:#0A0B0F;}.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button:hover svg, .elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button:focus svg{fill:#0A0B0F;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-1552 .elementor-element.elementor-element-6d55d70{--flex-wrap:nowrap;}.elementor-1552 .elementor-element.elementor-element-7102d40{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-e1e21e3{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-f161578{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;}.elementor-1552 .elementor-element.elementor-element-f161578.e-con{--align-self:flex-start;}.elementor-1552 .elementor-element.elementor-element-cbc1f3b img{height:160px;}.elementor-1552 .elementor-element.elementor-element-5d2f627.elementor-element{--align-self:flex-start;}.elementor-1552 .elementor-element.elementor-element-5d2f627{text-align:left;}.elementor-1552 .elementor-element.elementor-element-5d2f627 img{width:60px;}.elementor-1552 .elementor-element.elementor-element-7afdc76{--flex-wrap:nowrap;}.elementor-1552 .elementor-element.elementor-element-45ebb0c{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-419e2af{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-aa331d5{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-6216f11{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-08252c7{--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:7px 7px;--row-gap:7px;--column-gap:7px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:5px;--padding-bottom:5px;--padding-left:5px;--padding-right:5px;--z-index:19;}.elementor-1552 .elementor-element.elementor-element-6f01993{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button{font-size:14px;letter-spacing:0px;border-radius:100px 100px 100px 100px;padding:14px 14px 14px 14px;}.elementor-1552 .elementor-element.elementor-element-502e626{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button{font-size:14px;letter-spacing:0px;border-radius:100px 100px 100px 100px;padding:14px 20px 14px 20px;}.elementor-1552 .elementor-element.elementor-element-2f62842{padding:0px 0px 0px 0px;}.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button{font-size:14px;letter-spacing:0px;border-radius:100px 100px 100px 100px;padding:14px 20px 14px 20px;}}@media(min-width:768px){.elementor-1552 .elementor-element.elementor-element-2f55968{--width:40%;}.elementor-1552 .elementor-element.elementor-element-f161578{--width:20%;}.elementor-1552 .elementor-element.elementor-element-7afdc76{--width:40%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1552 .elementor-element.elementor-element-f161578{--width:15%;}}/* Start custom CSS for button, class: .elementor-element-7102d40 *//* Effet "le bouton monte un peu" au hover */
.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button-link{
  transition: transform .25s ease;
  will-change: transform;
}

.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-7102d40 .elementor-button-link:hover{
  transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e1e21e3 *//* Effet "le bouton monte un peu" au hover */
.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button-link{
  transition: transform .25s ease;
  will-change: transform;
}

.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-e1e21e3 .elementor-button-link:hover{
  transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-45ebb0c *//* Effet "le bouton monte un peu" au hover */
.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button,
.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button-link{
  transition: transform .25s ease;
  will-change: transform;
}

.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-45ebb0c .elementor-button-link:hover{
  transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-419e2af *//* Effet "le bouton monte un peu" au hover */
.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button,
.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button-link{
  transition: transform .25s ease;
  will-change: transform;
}

.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-419e2af .elementor-button-link:hover{
  transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-aa331d5 *//* Effet "le bouton monte un peu" au hover */
.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button-link{
  transition: transform .25s ease;
  will-change: transform;
}

.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-aa331d5 .elementor-button-link:hover{
  transform: translateY(-2px);
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6216f11 *//* Fond blanc façon "verre dépoli" */
.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button-link {
  background: rgba(255, 255, 255, 0.3) !important; /* blanc semi-transparent */
  backdrop-filter: blur(8px);   /* effet de flou derrière */
  -webkit-backdrop-filter: blur(8px); /* compatibilité Safari */
  border: 1px solid rgba(255,255,255,0.4); /* petite bordure subtile */
  transition: transform .25s ease, background .3s ease;
}

/* Hover : le bouton "monte" un peu */
.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button:hover,
.elementor-1552 .elementor-element.elementor-element-6216f11 .elementor-button-link:hover {
  transform: translateY(-2px);
  background: rgba(255, 255, 255, 0.45) !important; /* un peu plus blanc au hover */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-6f01993 *//* --- Bouton cristal propre avec teinte #5D7AAB --- */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link {
  position: relative;
  isolation: isolate;
  background: transparent !important;
  overflow: hidden;
}

/* Calque cristal + teinte #5D7AAB */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button::before,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)),
    radial-gradient(120% 100% at 0% 0%, rgba(255,255,255,.25), rgba(255,255,255,0) 60%),
    /* teinte subtile #5D7AAB */
    linear-gradient(135deg, rgba(93,122,171,.35), rgba(93,122,171,.10));
  backdrop-filter: blur(14px) saturate(160%) contrast(110%);
  -webkit-backdrop-filter: blur(14px) saturate(160%) contrast(110%);
}

/* Reflet subtil */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button::after,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: conic-gradient(from 210deg,
              rgba(255,255,255,.18),
              rgba(255,255,255,0) 25% 75%,
              rgba(255,255,255,.12));
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* Hover : plus lumineux */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button:hover::before,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link:hover::before {
  backdrop-filter: blur(16px) saturate(170%) contrast(115%);
  -webkit-backdrop-filter: blur(16px) saturate(170%) contrast(115%);
}

/* Texte : blanc, lisible même sur fonds moyens */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button .elementor-button-icon,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link .elementor-button-icon {
  color: #fff !important;
  text-shadow: 0 0 2px rgba(0,0,0,.45);
  mix-blend-mode: difference;
}

/* Icônes SVG suivent */
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button svg,
.elementor-1552 .elementor-element.elementor-element-6f01993 .elementor-button-link svg {
  fill: currentColor;
  mix-blend-mode: difference;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-502e626 *//* --- Bouton cristal propre avec teinte #5D7AAB --- */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link {
  position: relative;
  isolation: isolate;
  background: transparent !important;
  overflow: hidden;
}

/* Calque cristal + teinte #5D7AAB */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button::before,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)),
    radial-gradient(120% 100% at 0% 0%, rgba(255,255,255,.25), rgba(255,255,255,0) 60%),
    /* teinte subtile #5D7AAB */
    linear-gradient(135deg, rgba(93,122,171,.35), rgba(93,122,171,.10));
  backdrop-filter: blur(14px) saturate(160%) contrast(110%);
  -webkit-backdrop-filter: blur(14px) saturate(160%) contrast(110%);
}

/* Reflet subtil */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button::after,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: conic-gradient(from 210deg,
              rgba(255,255,255,.18),
              rgba(255,255,255,0) 25% 75%,
              rgba(255,255,255,.12));
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* Hover : plus lumineux */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button:hover::before,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link:hover::before {
  backdrop-filter: blur(16px) saturate(170%) contrast(115%);
  -webkit-backdrop-filter: blur(16px) saturate(170%) contrast(115%);
}

/* Texte : blanc, lisible même sur fonds moyens */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button .elementor-button-icon,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link .elementor-button-icon {
  color: #fff !important;
  text-shadow: 0 0 2px rgba(0,0,0,.45);
  mix-blend-mode: difference;
}

/* Icônes SVG suivent */
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button svg,
.elementor-1552 .elementor-element.elementor-element-502e626 .elementor-button-link svg {
  fill: currentColor;
  mix-blend-mode: difference;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2f62842 *//* --- Bouton cristal propre avec teinte #5D7AAB --- */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link {
  position: relative;
  isolation: isolate;
  background: transparent !important;
  overflow: hidden;
}

/* Calque cristal + teinte #5D7AAB */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button::before,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)),
    radial-gradient(120% 100% at 0% 0%, rgba(255,255,255,.25), rgba(255,255,255,0) 60%),
    /* teinte subtile #5D7AAB */
    linear-gradient(135deg, rgba(93,122,171,.35), rgba(93,122,171,.10));
  backdrop-filter: blur(14px) saturate(160%) contrast(110%);
  -webkit-backdrop-filter: blur(14px) saturate(160%) contrast(110%);
}

/* Reflet subtil */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button::after,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: conic-gradient(from 210deg,
              rgba(255,255,255,.18),
              rgba(255,255,255,0) 25% 75%,
              rgba(255,255,255,.12));
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* Hover : plus lumineux */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button:hover::before,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link:hover::before {
  backdrop-filter: blur(16px) saturate(170%) contrast(115%);
  -webkit-backdrop-filter: blur(16px) saturate(170%) contrast(115%);
}

/* Texte : blanc, lisible même sur fonds moyens */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button .elementor-button-icon,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link .elementor-button-text,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link .elementor-button-icon {
  color: #fff !important;
  text-shadow: 0 0 2px rgba(0,0,0,.45);
  mix-blend-mode: difference;
}

/* Icônes SVG suivent */
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button svg,
.elementor-1552 .elementor-element.elementor-element-2f62842 .elementor-button-link svg {
  fill: currentColor;
  mix-blend-mode: difference;
}/* End custom CSS */
/* Start custom CSS *//* ========= VARIABLES ========= */
:root{
  --hdr-h-initial: 120px;
  --hdr-h-sticky: 80px;

  /* Palette cible */
  --top-text:   #F5F3EF; /* Texte/links en haut de page (non sticky) */
  --brand-blue: #C89F6A; /* Couleur des boutons (sticky) + hover CTA (non sticky) */
  --brand-gold: #C89F6A; /* CTA Réserver en sticky */
  --sticky-bg:  #F5F3EF; /* Fond header sticky */
  --sticky-txt: #6C757D; /* Texte/links/boutons en sticky */
  --sticky-txt-hover: #6C757D; /* Même teinte au hover (non demandé spécifiquement) */
}

/* ========= HEADER ========= */
.header-main{
  min-height: var(--hdr-h-initial);
  display:flex; align-items:center;
  background: transparent;
  transition:
    background-color .7s cubic-bezier(.22,.61,.36,1),
    min-height       .5s cubic-bezier(.22,.61,.36,1),
    box-shadow       .7s cubic-bezier(.22,.61,.36,1);
  z-index:1000;
}
.header-main.elementor-sticky--effects{
  min-height: var(--hdr-h-sticky);
  background: var(--sticky-bg) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}

/* ========= LOGO (taille + swap) ========= */
.header-main .elementor-widget-theme-site-logo img{
  max-height: calc(var(--hdr-h-initial) - 28px);
  height:auto; width:auto;
  transition: max-height .65s cubic-bezier(.22,.61,.36,1),
              transform  .65s cubic-bezier(.22,.61,.36,1);
}
.header-main.elementor-sticky--effects .elementor-widget-theme-site-logo img{
  max-height: calc(var(--hdr-h-sticky) - 20px);
  transform: scale(.95);
}
/* swap logos */
.header-main .logo-light{ display:inline-block !important; }
.header-main .logo-dark{  display:none !important; }
.header-main.elementor-sticky--effects .logo-light{ display:none !important; }
.header-main.elementor-sticky--effects .logo-dark{  display:inline-block !important; }

/* ========= BOUTONS : style générique ========= */
.header-main .elementor-button{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px; padding:8px 16px; line-height:1; position:relative;
  transition:color .35s ease, background-color .35s ease, border-color .35s ease, transform .25s ease, box-shadow .25s ease;
}
.header-main .elementor-button:hover{ transform: translateY(-1px); }

/* Icônes */
.header-main .elementor-button .elementor-button-content-wrapper{ display:flex; align-items:center; }
.header-main .elementor-button .elementor-button-icon{ display:flex; align-items:center; }
.header-main .elementor-button .elementor-button-icon svg{
  width:25px; height:auto; display:block; fill:currentColor !important; stroke:none !important;
}

/* ========= STYLES NON STICKY (haut de page) ========= */
/* Texte/links/boutons (hors CTA spécifique) */
.header-main:not(.elementor-sticky--effects) a,
.header-main:not(.elementor-sticky--effects) .elementor-button,
.header-main:not(.elementor-sticky--effects) .elementor-item{
  color: var(--top-text) !important;
  fill: var(--top-text) !important;
}

/* ===================================================== */
/* ===== CTA "RÉSERVER" — règles finales demandées ===== */
/* ===================================================== */
/* Neutraliser pseudo-éléments résiduels */
.header-main :is(.btn-book .elementor-button, .elementor-button.btn-book)::before,
.header-main :is(.btn-book .elementor-button, .elementor-button.btn-book)::after{
  content:none !important;
}

/* 1) Haut de page (non sticky) */
.header-main:not(.elementor-sticky--effects) :is(.btn-book .elementor-button, .elementor-button.btn-book){
  background: transparent !important;
  border: 1px solid rgba(245,243,239,.7) !important; /* bordure assortie au texte top */
  color: var(--top-text) !important;
  box-shadow: none !important;
  transition: border-color .2s ease, transform .25s ease, box-shadow .25s ease, background-color .25s ease, color .25s ease;
}
/* Hover non sticky : fond/contour brand-blue, texte top-text */
.header-main:not(.elementor-sticky--effects) :is(.btn-book .elementor-button, .elementor-button.btn-book):hover{
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: var(--top-text) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 18px rgba(93,122,171,.25);
}
/* Forcer contenu interne du CTA en non-sticky */
.header-main:not(.elementor-sticky--effects) :is(.btn-book .elementor-button, .elementor-button.btn-book) > *,
.header-main:not(.elementor-sticky--effects) :is(.btn-book .elementor-button, .elementor-button.btn-book) svg{
  color: var(--top-text) !important;
  fill:  var(--top-text) !important;
  stroke:var(--top-text) !important;
}

/* 2) Sticky (au scroll) : CTA fond or, police top-text */
.header-main.elementor-sticky--effects :is(.btn-book .elementor-button, .elementor-button.btn-book),
.elementor-sticky--effects .header-main :is(.btn-book .elementor-button, .elementor-button.btn-book){
  background: var(--brand-gold) !important;
  border: 1px solid var(--brand-gold) !important;
  color: var(--top-text) !important;
  box-shadow: 0 6px 14px rgba(200,159,106,.22);
  transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
}
/* Forcer contenu (texte + icônes) du CTA en sticky */
.header-main.elementor-sticky--effects :is(.btn-book .elementor-button, .elementor-button.btn-book) > *,
.elementor-sticky--effects .header-main :is(.btn-book .elementor-button, .elementor-button.btn-book) > *,
.header-main.elementor-sticky--effects :is(.btn-book .elementor-button, .elementor-button.btn-book) svg,
.elementor-sticky--effects .header-main :is(.btn-book .elementor-button, .elementor-button.btn-book) svg{
  color: var(--top-text) !important;
  fill:  var(--top-text) !important;
  stroke:var(--top-text) !important;
}
/* Hover sticky (option doux) : légère ombre, même couleurs */
.header-main.elementor-sticky--effects :is(.btn-book .elementor-button, .elementor-button.btn-book):hover,
.elementor-sticky--effects .header-main :is(.btn-book .elementor-button, .elementor-button.btn-book):hover{
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--top-text) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(200,159,106,.28);
}

/* ========= BOUTONS STICKY (sauf Réserver) ========= */
/* Assure-toi que tes widgets ont bien ces classes :
   - colonne/menu : .nav-menu
   - bouton contact : .btn-contact
   - bouton langue : .btn-lang
   - bouton offrir : .btn-gift
   - bouton mobile (burger) : .btn-mobile
*/
.header-main.elementor-sticky--effects .nav-menu .elementor-button,
.header-main.elementor-sticky--effects .btn-contact .elementor-button,
.header-main.elementor-sticky--effects .btn-lang .elementor-button,
.header-main.elementor-sticky--effects .btn-gift .elementor-button,
.header-main.elementor-sticky--effects .btn-mobile .elementor-button{
  color: var(--sticky-txt) !important;
}
.header-main.elementor-sticky--effects .nav-menu .elementor-button:hover,
.header-main.elementor-sticky--effects .btn-contact .elementor-button:hover,
.header-main.elementor-sticky--effects .btn-lang .elementor-button:hover,
.header-main.elementor-sticky--effects .btn-gift .elementor-button:hover,
.header-main.elementor-sticky--effects .btn-mobile .elementor-button:hover{
  color: var(--sticky-txt-hover) !important;
}
.header-main.elementor-sticky--effects .nav-menu .elementor-button::after,
.header-main.elementor-sticky--effects .btn-contact .elementor-button::after,
.header-main.elementor-sticky--effects .btn-lang .elementor-button::after,
.header-main.elementor-sticky--effects .btn-gift .elementor-button::after,
.header-main.elementor-sticky--effects .btn-mobile .elementor-button::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: transparent; transition: background .25s ease;
}
.header-main.elementor-sticky--effects .nav-menu .elementor-button:hover::after,
.header-main.elementor-sticky--effects .btn-contact .elementor-button:hover::after,
.header-main.elementor-sticky--effects .btn-lang .elementor-button:hover::after,
.header-main.elementor-sticky--effects .btn-gift .elementor-button:hover::after,
.header-main.elementor-sticky--effects .btn-mobile .elementor-button:hover::after{
  background: currentColor;
}

/* ========= MOBILE ========= */
@media (max-width: 767px){
  .logo-col{ justify-content:flex-start !important; text-align:left !important; }
  .header-main .logo-light .elementor-widget-container,
  .header-main .logo-dark  .elementor-widget-container{ text-align:left !important; }
  .header-main .logo-light a,
  .header-main .logo-dark  a{ display:inline-flex !important; justify-content:flex-start !important; }
  .header-main .logo-light img,
  .header-main .logo-dark  img{ display:block; margin:0 !important; max-width:100%; height:auto; }
}

/* ========= MOBILE/TABLET : éviter débordement ========= */
@media (max-width: 1024px){
  html, body{ overflow-x:hidden; }
  .header-main{ left:0; right:0; width:100% !important; box-sizing:border-box; }
  .elementor-sticky__spacer{ width:100% !important; max-width:100% !important; }
  .header-main .e-con{ max-width:100%; overflow:hidden; }
  .header-main img{ max-width:100%; height:auto; }
}

/* --- PATCH MINIMAL (garde ton comportement de logo) --- */
.header-main,
.header-main .e-con,
.header-main .elementor-container{ overflow: visible !important; }

:root{
  --logo-initial-h: 200px;
  --logo-y-offset: 100px;
}
.header-main:not(.elementor-sticky--effects) .logo-light img{
  height: var(--logo-initial-h) !important;
  width: auto !important;
  max-height: none !important;
  margin-top: 0 !important;
  transform: translateY(var(--logo-y-offset));
  transition: transform .6s cubic-bezier(.22,.61,.36,1), opacity .45s ease;
  display: block;
}
.header-main .logo-light,
.header-main .logo-dark{
  display: inline-block !important;
  transition: opacity .45s ease, transform .45s ease;
}
.header-main .logo-light{ opacity:1; transform: translateY(0); }
.header-main .logo-dark { opacity:0; transform: translateY(4px); }
.header-main.elementor-sticky--effects .logo-light{ opacity:0; transform: translateY(-4px); pointer-events:none; }
.header-main.elementor-sticky--effects .logo-dark { opacity:1; transform: translateY(0); }

.header-main{
  height: var(--hdr-h-initial);
  transition: height .6s cubic-bezier(.22,.61,.36,1), background-color .6s, box-shadow .6s;
}
.header-main.elementor-sticky--effects{
  height: var(--hdr-h-sticky);
}

/* Responsive logo tweak */
@media (max-width: 767px){
  :root{ --logo-initial-h: 170px; --logo-y-offset: 8px; }
}

/* ===========================
   Couleurs globales sticky
   =========================== */
.header-main.elementor-sticky--effects,
.elementor-sticky--effects .header-main,
body.is-scrolled .header-main{
  background: var(--sticky-bg) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.08) !important;
  min-height: var(--hdr-h-sticky, 80px);
}

.header-main.elementor-sticky--effects a,
.elementor-sticky--effects .header-main a,
body.is-scrolled .header-main a,
.header-main.elementor-sticky--effects .elementor-button,
.elementor-sticky--effects .header-main .elementor-button,
body.is-scrolled .header-main .elementor-button,
.header-main.elementor-sticky--effects .elementor-item,
.elementor-sticky--effects .header-main .elementor-item,
body.is-scrolled .header-main .elementor-item{
  color: var(--sticky-txt) !important;
  fill: var(--sticky-txt) !important;
}

.header-main.elementor-sticky--effects a:hover,
.elementor-sticky--effects .header-main a:hover,
body.is-scrolled .header-main a:hover,
.header-main.elementor-sticky--effects .elementor-button:hover,
.elementor-sticky--effects .header-main .elementor-button:hover,
body.is-scrolled .header-main .elementor-button:hover,
.header-main.elementor-sticky--effects .elementor-item:hover,
.elementor-sticky--effects .header-main .elementor-item:hover,
body.is-scrolled .header-main .elementor-item:hover{
  color: var(--sticky-txt-hover) !important;
  fill: var(--sticky-txt-hover) !important;
}

/* Petit trait fin au hover sur les boutons "texte" en sticky */
.header-main.elementor-sticky--effects .elementor-button::after,
.elementor-sticky--effects .header-main .elementor-button::after,
body.is-scrolled .header-main .elementor-button::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px;
  background: transparent; transition: background .2s ease;
}
.header-main.elementor-sticky--effects .elementor-button:hover::after,
.elementor-sticky--effects .header-main .elementor-button:hover::after,
body.is-scrolled .header-main .elementor-button:hover::after{
  background: currentColor;
}



/* Coins arrondis uniquement AU SCROLL (sticky) */
.header-main{
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  transition: 
    height .6s cubic-bezier(.22,.61,.36,1),
    background-color .6s,
    box-shadow .6s,
    border-radius .45s ease,
    border-color .3s ease;
}

/* Quand le header est sticky : coins BL & BR à 30px + trait */
.header-main.elementor-sticky--effects{
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
  border-bottom: 1px solid rgba(108,117,125,0.18); /* #6C757D en transparent */
  overflow: clip; /* évite débordement */
}

/* Mobile : garder plein écran sans arrondi (optionnel) */
@media (max-width: 767px){
  .header-main.elementor-sticky--effects{
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom: none;
  }
}

/* === MOBILE : réduire la taille du logo en haut du header === */
@media (max-width: 767px){
  /* 1) on rabaisse la hauteur du header et la taille du logo au chargement */
  :root{
    --hdr-h-initial: 88px;   /* header plus compact au top */
    --hdr-h-sticky: 72px;    /* facultatif, sticky un peu plus bas */
    --logo-initial-h: 80px;  /* taille du logo en haut de page (non sticky) */
    --logo-y-offset: 0px;    /* pas de décalage vertical */
  }

  /* 2) on limite vraiment la taille de l’image du logo côté widget */
  .header-main .logo-light img,
  .header-main .logo-dark img,
  .header-main .elementor-widget-theme-site-logo img{
    max-height: 56px !important; /* doit correspondre à --logo-initial-h */
    height: auto !important;
    width: auto !important;
    transform: none !important;   /* annule tout éventuel translate */
  }

  /* 3) (option) un peu plus petit encore une fois sticky */
  .header-main.elementor-sticky--effects .elementor-widget-theme-site-logo img{
    max-height: 46px !important;
  }
}/* End custom CSS */