.elementor-1064 .elementor-element.elementor-element-dfcd4c8{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:30px 0px 30px 0px;}.elementor-1064 .elementor-element.elementor-element-dfcd4c8 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-1064 .elementor-element.elementor-element-4c0c42f.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-1064 .elementor-element.elementor-element-4c0c42f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-1064 .elementor-element.elementor-element-982c581 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1064 .elementor-element.elementor-element-982c581{text-align:right;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo{padding:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo-image{max-width:1000px;}.elementor-1064 .elementor-element.elementor-element-982c581.wpr-logo-position-left .wpr-logo-image{margin-right:15px;}.elementor-1064 .elementor-element.elementor-element-982c581.wpr-logo-position-right .wpr-logo-image{margin-left:15px;}.elementor-1064 .elementor-element.elementor-element-982c581.wpr-logo-position-center .wpr-logo-image{margin-bottom:15px;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo-image img{-webkit-transition-duration:0.7s;transition-duration:0.7s;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo-title{color:#605BE5;margin:0 0 0px;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo-description{color:#888888;}.elementor-bc-flex-widget .elementor-1064 .elementor-element.elementor-element-379583c.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-1064 .elementor-element.elementor-element-379583c.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-bc-flex-widget .elementor-1064 .elementor-element.elementor-element-0a776ae.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-1064 .elementor-element.elementor-element-0a776ae.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.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 );}@media(min-width:768px){.elementor-1064 .elementor-element.elementor-element-379583c{width:27.486%;}.elementor-1064 .elementor-element.elementor-element-0a776ae{width:38.846%;}}@media(max-width:1024px) and (min-width:768px){.elementor-1064 .elementor-element.elementor-element-4c0c42f{width:29%;}.elementor-1064 .elementor-element.elementor-element-379583c{width:33%;}.elementor-1064 .elementor-element.elementor-element-0a776ae{width:33%;}}@media(max-width:1366px){.elementor-1064 .elementor-element.elementor-element-dfcd4c8{padding:30px 20px 30px 20px;}}@media(max-width:767px){.elementor-1064 .elementor-element.elementor-element-4c0c42f{width:69%;}.elementor-1064 .elementor-element.elementor-element-982c581 .wpr-logo-image{max-width:267px;}.elementor-1064 .elementor-element.elementor-element-379583c{width:25%;}.elementor-1064 .elementor-element.elementor-element-0a776ae{width:25%;}}/* Start custom CSS for wpr-logo, class: .elementor-element-982c581 *//* Animation continue de zoom/dézoom sur le logo */
.logo img {
  animation: zoomLoop 3s ease-in-out infinite;
  transform-origin: center center;
}

@keyframes zoomLoop {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1); /* Zoom à 110% */
  }
  100% {
    transform: scale(1);
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-c6cc660 */:root{
  --fv-text:#0b1220;
  --fv-muted: rgba(11,18,32,.70);
  --fv-line: rgba(11,18,32,.12);
  --fv-r: 18px;
  --fv-shadow: 0 18px 60px rgba(11,18,32,.14);
  --fv-shadow2: 0 10px 24px rgba(11,18,32,.10);
}

/* Nav */
.fv-nav-pc{
  display:flex;
  align-items:center;
  gap:18px;
  position:relative;
  z-index:999999;
}

.fv-pc-link{
  font: 600 14px/1.1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--fv-text);
  text-decoration:none;
  padding: 12px 12px;
  border-radius: 12px;
}
.fv-pc-link:hover{ background: rgba(11,18,32,.06); }

/* Mega */
.fv-mega{ position:relative; }

.fv-mega-btn{
  font: 800 14px/1.1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  padding: 12px 12px;
  border-radius: 12px;
  border: 1px solid var(--fv-line);
  background: rgba(255,255,255,.88);
  color: var(--fv-text);
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  box-shadow: 0 8px 20px rgba(11,18,32,.12), inset 0 0 0 1px rgba(255,255,255,.4);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, background .18s ease, color .18s ease;
}

.fv-mega-arrow{ transition: transform .2s ease; opacity:.85; }

/* Hover identique Contact */
.fv-mega-btn:hover,
.fv-mega[data-open="true"] .fv-mega-btn{
  transform: translateY(-2px);
  filter: brightness(1.06);
  background:#9B2526;
  color:#fff;
  box-shadow: 0 16px 36px rgba(155,37,38,.45), inset 0 0 0 1px rgba(255,255,255,.18);
}

.fv-mega[data-open="true"] .fv-mega-arrow{ transform: rotate(180deg); opacity:1; }

/* Panel (fixed, clamp JS) */
.fv-mega-panel{
  position: fixed;
  left: 12px;
  top: 72px;
  width: min(980px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  padding: 14px;
  border-radius: calc(var(--fv-r) + 6px);
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: var(--fv-shadow);
  z-index: 2147483647;

  opacity:0;
  transform: translateY(-8px) scale(.985);
  pointer-events:none;
  transition: opacity .18s ease, transform .18s ease;

  overflow: auto;                 /* scroll si besoin */
  overscroll-behavior: contain;

  /* ✅ barre de scroll masquée => plus de “2 barres” visibles */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fv-mega-panel::-webkit-scrollbar{ width:0; height:0; }

.fv-mega[data-open="true"] .fv-mega-panel{
  opacity:1;
  transform: translateY(0) scale(1);
  pointer-events:auto;
}

/* Layout */
.fv-mega-grid{
  display:grid;
  grid-template-columns: 320px 1fr;
  gap: 14px;
  padding: 6px;
}

.fv-mega-intro{
  border-radius: var(--fv-r);
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.75);
  box-shadow: var(--fv-shadow2);
  padding: 18px;
}

.fv-mega-kicker{
  font: 700 12px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--fv-muted);
  margin-bottom: 10px;
}

.fv-mega-intro h3{
  margin: 0 0 10px;
  font: 900 18px/1.15 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: var(--fv-text);
}

.fv-mega-intro p{
  margin: 0 0 14px;
  font: 500 14px/1.45 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: rgba(11,18,32,.75);
}

.fv-mega-all{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font: 700 13px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  text-decoration:none;
  color: var(--fv-text);
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(11,18,32,.12);
  background: rgba(255,255,255,.80);
}
.fv-mega-all:hover{ background: rgba(255,255,255,.95); }

.fv-mega-cards{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.fv-mega-card{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding: 14px;
  border-radius: var(--fv-r);
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.78);
  text-decoration:none;
  color: var(--fv-text);
  box-shadow: 0 10px 22px rgba(11,18,32,.08);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.fv-mega-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 30px rgba(11,18,32,.12);
  background: rgba(255,255,255,.95);
}

.fv-ico{
  width: 36px; height: 36px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  border: 1px solid rgba(11,18,32,.10);
  background: rgba(255,255,255,.90);
  flex: 0 0 36px;
}

.fv-txt{ display:flex; flex-direction:column; gap:4px; }
.fv-txt strong{ font: 900 14px/1.1 system-ui, -apple-system, Segoe UI, Roboto, Arial; }
.fv-txt em{
  font: 600 12.5px/1.25 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  color: rgba(11,18,32,.65);
  font-style: normal;
}

/* Contact */
.fv-pc-contact{
  margin-left:auto;
  padding: 13px 20px;
  border-radius: 14px;
  font: 900 14px/1 system-ui, -apple-system, Segoe UI, Roboto, Arial;
  letter-spacing: .02em;
  text-decoration:none;
  color:#fff;
  background:#9B2526;
  box-shadow: 0 10px 24px rgba(155,37,38,.35), inset 0 0 0 1px rgba(255,255,255,.15);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.fv-pc-contact:hover{
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 16px 36px rgba(155,37,38,.45), inset 0 0 0 1px rgba(255,255,255,.2);
}

@media (max-width: 980px){
  .fv-nav-pc{ display:none; }
}
/* =========================================
   FIX DEFINITIF : 1 seul scroll, PAS 2 barres
   - le panel ne scrolle jamais
   - seule la colonne cartes scrolle si besoin
   ========================================= */

/* 1) Le panel ne doit PAS scroller */
.fv-mega-panel{
  overflow: hidden !important;     /* <-- stop scrollbar panel */
  max-height: calc(100vh - 24px);  /* reste dans l'écran */
}

/* 2) La grille prend la hauteur dispo du panel */
.fv-mega-grid{
  height: 100%;
  max-height: calc(100vh - 24px - 28px); /* 24px marge + ~padding panel */
  overflow: hidden;                       /* évite un 2e scroll sur la grid */
}

/* 3) La colonne cartes devient LE seul scroll container */
.fv-mega-cards{
  max-height: 100%;
  overflow: auto;               /* <-- 1 seul scroll ici */
  overscroll-behavior: contain;
  padding-right: 4px;           /* évite que le texte touche le bord */
}

/* 4) Option : on masque la barre de scroll des cartes (mais scroll molette OK) */
.fv-mega-cards{
  scrollbar-width: none;        /* Firefox */
  -ms-overflow-style: none;     /* Edge legacy */
}
.fv-mega-cards::-webkit-scrollbar{
  width: 0;
  height: 0;
}

/* 5) Bonus : évite les bugs de hauteur dans la colonne de gauche */
.fv-mega-intro{
  align-self: start;
}/* End custom CSS */