.elementor-233 .elementor-element.elementor-element-af78b54{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-489500b *//* ═══════════════════════════════════════════════════════════════
   REF 2027 — EN-TÊTE
   Widget HTML › Avancé › CSS personnalisé
   Menu complet au-dessus de 1200 px, menu mobile en dessous.
   ═══════════════════════════════════════════════════════════════ */

.elementor-233 .elementor-element.elementor-element-489500b{ width:100%; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav{ font-family:"DM Sans","Helvetica Neue",Arial,sans-serif; }

/* ── Barre ───────────────────────────────────────── */
.elementor-233 .elementor-element.elementor-element-489500b .refnav__bar{
  display:flex; align-items:center; gap:24px;
  min-height:72px; padding:0 clamp(16px,5vw,96px);
  background:rgba(255,255,255,.97); border-bottom:1px solid #DCE3F0;
  transition:min-height .3s cubic-bezier(.2,0,.2,1), box-shadow .3s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-scrolled .refnav__bar{ min-height:62px; box-shadow:0 6px 24px rgba(0,18,49,.08); }

.elementor-233 .elementor-element.elementor-element-489500b .refnav__logo{ display:flex; flex:none; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__logo img{ height:36px; width:auto; display:block; transition:height .3s cubic-bezier(.2,0,.2,1); }
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-scrolled .refnav__logo img{ height:30px; }

/* ── Liens (ordinateur) ──────────────────────────── */
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links{ display:flex; gap:2px; margin-left:auto; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a{
  position:relative; padding:8px 11px; white-space:nowrap;
  font-weight:500; font-size:14px; line-height:1.2; color:#2A3242; text-decoration:none;
  transition:color .2s;
  opacity:0; transform:translateY(-6px); animation:refNavIn .5s cubic-bezier(.16,1,.3,1) forwards;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a::after{
  content:""; position:absolute; left:11px; right:11px; bottom:2px; height:2px; background:#F67E03;
  transform:scaleX(0); transform-origin:left; transition:transform .3s cubic-bezier(.16,1,.3,1);
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:hover,
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a.is-active{ color:#013FB0; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:hover::after,
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a.is-active::after{ transform:scaleX(1); }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(1){ animation-delay:.05s; } .elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(2){ animation-delay:.1s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(3){ animation-delay:.15s; } .elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(4){ animation-delay:.2s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(5){ animation-delay:.25s; } .elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(6){ animation-delay:.3s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__links a:nth-child(n+7){ animation-delay:.35s; }
@keyframes refNavIn{ to{ opacity:1; transform:none; } }

/* ── Bouton orange (remplissage + reflet) ────────── */
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta{
  --fond:#F67E03; --survol:#DD6F00;
  position:relative; overflow:hidden; flex:none;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 16px; border:2px solid var(--fond); border-radius:3px;
  font-weight:600; font-size:14px; line-height:1; color:#fff; text-decoration:none;
  background:linear-gradient(var(--survol),var(--survol)) no-repeat left / 0% 100%, var(--fond);
  transition:background-size .35s cubic-bezier(.16,1,.3,1), border-color .25s, transform .2s, box-shadow .25s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta:hover,
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta:focus-visible{
  color:#fff; background-size:100% 100%; border-color:var(--survol);
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(246,126,3,.28);
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta > *{ position:relative; z-index:1; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta svg{ transition:transform .25s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta:hover svg{ transform:translateX(4px); }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta::before{
  content:""; position:absolute; top:0; bottom:0; width:40%; left:-60%; pointer-events:none;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-20deg); animation:refShine 5s cubic-bezier(.2,0,.2,1) 1.5s infinite;
}
@keyframes refShine{ 0%,70%{ left:-60%; } 100%{ left:130%; } }

/* ── Bouton menu (mobile) ────────────────────────── */
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger{
  display:none; position:relative; flex:none; margin-left:auto;
  width:46px; height:46px; padding:0; border:0; border-radius:3px; background:#013FB0; cursor:pointer;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger span{ position:absolute; left:12px; height:2px; background:#fff; transition:width .3s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger span:nth-child(1){ top:16px; width:22px; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger span:nth-child(2){ top:22px; width:16px; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger span:nth-child(3){ top:28px; width:10px; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__burger:hover span{ width:22px; }

/* ── Menu mobile hors-canevas ────────────────────── */
.elementor-233 .elementor-element.elementor-element-489500b .refnav__scrim{
  position:fixed; inset:0; z-index:9998; background:rgba(0,18,49,.55);
  opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__panel{
  position:fixed; top:0; right:0; bottom:0; z-index:9999;
  width:min(400px,88vw); overflow-y:auto;
  display:flex; flex-direction:column;
  padding:calc(20px + env(safe-area-inset-top,0px)) 28px calc(28px + env(safe-area-inset-bottom,0px));
  background-color:#001231; color:#fff;
  background-image:linear-gradient(rgba(0,18,49,.94),rgba(0,18,49,.94)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='128' viewBox='0 0 56 128'%3E%3Cg fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square'%3E%3Cg id='c'%3E%3Cpath d='M8 12l6-6 6 6M8 18l6-6 6 6M8 24l6-6 6 6'/%3E%3Cpath d='M14 30l11 11-11 11-11-11z'/%3E%3Cpath d='M14 35l6 6-6 6-6-6z'/%3E%3Cpath d='M8 58l6 6 6-6M8 64l6 6 6-6'/%3E%3Cpath d='M8 78h12M8 83h12'/%3E%3C/g%3E%3Ccircle cx='14' cy='41' r='1.2' fill='%23fff'/%3E%3Cuse href='%23c' transform='translate(28 64)'/%3E%3Cuse href='%23c' transform='translate(28 -64)'/%3E%3Ccircle cx='42' cy='105' r='1.2' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E");
  transform:translateX(100%); visibility:hidden;
  transition:transform .5s cubic-bezier(.16,1,.3,1), visibility .5s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-open .refnav__scrim{ opacity:1; visibility:visible; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-open .refnav__panel{ transform:none; visibility:visible; }

.elementor-233 .elementor-element.elementor-element-489500b .refnav__panel-top{ display:flex; align-items:center; justify-content:space-between; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__panel-logo{ height:34px; width:auto; display:block; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__close{
  width:44px; height:44px; display:grid; place-items:center; padding:0; cursor:pointer;
  color:#fff; background:transparent; border:1px solid rgba(255,255,255,.25); border-radius:3px;
  transition:background-color .2s, transform .3s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__close:hover{ background:rgba(255,255,255,.1); transform:rotate(90deg); }

.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks{ display:flex; flex-direction:column; margin-top:36px; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12);
  font-weight:600; font-size:20px; letter-spacing:-.01em; color:#fff; text-decoration:none;
  opacity:0; transform:translateX(24px);
  transition:opacity .4s, transform .5s cubic-bezier(.16,1,.3,1), color .2s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a small{ font-size:12px; font-weight:600; letter-spacing:.08em; color:rgba(255,255,255,.4); }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:hover,
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a.is-active{ color:#F67E03; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-open .refnav__mlinks a{ opacity:1; transform:none; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(1){ transition-delay:.12s; } .elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(2){ transition-delay:.16s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(3){ transition-delay:.2s; }  .elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(4){ transition-delay:.24s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(5){ transition-delay:.28s; } .elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(6){ transition-delay:.32s; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__mlinks a:nth-child(n+7){ transition-delay:.36s; }

.elementor-233 .elementor-element.elementor-element-489500b .refnav__panel-foot{
  margin-top:auto; padding-top:32px; display:flex; flex-direction:column; gap:18px;
  opacity:0; transition:opacity .5s .4s;
}
.elementor-233 .elementor-element.elementor-element-489500b .refnav.is-open .refnav__panel-foot{ opacity:1; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__cta--lg{ padding:18px 22px; font-size:16px; }
.elementor-233 .elementor-element.elementor-element-489500b .refnav__infos{ margin:0; font-size:13.5px; line-height:1.6; color:rgba(255,255,255,.65); }

/* ── Bascule ordinateur / mobile ─────────────────── */
@media (max-width:1199px){
  .elementor-233 .elementor-element.elementor-element-489500b .refnav__links,
  .elementor-233 .elementor-element.elementor-element-489500b .refnav__bar > .refnav__cta{ display:none; }
  .elementor-233 .elementor-element.elementor-element-489500b .refnav__burger{ display:block; }
}

/* ── Moins d'animations si le visiteur l'a demandé ── */
@media (prefers-reduced-motion:reduce){
  .elementor-233 .elementor-element.elementor-element-489500b .refnav *{ animation:none !important; transition:none !important; }
  .elementor-233 .elementor-element.elementor-element-489500b .refnav__links a{ opacity:1; transform:none; }
}/* End custom CSS */