.elementor-1918 .elementor-element.elementor-element-21cded2{--display:flex;}.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-890fcef *//* ====== RESET / BASE ====== */
:root {
  --bar-h: 80px;
  --g: 16px;
  --fx-stagger: .06s;
  --fx-duration: .5s;
  --c-text: #111;
  --c-muted: #666;
  --c-bg: #fff;
  --popup-overlay: rgba(0,0,0,.5);
  --radius: 16px;
  --shadow: 0 10px 30px rgba(0,0,0,.12);
}
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif; color: var(--c-text); }

/* ====== BAR ====== */
.hero-bar {
  width: 100%;
  background: var(--c-bg);
}
.hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  height: var(--bar-h);
  display: flex;
  align-items: center;
  gap: var(--g);
  padding: 0 20px;
}
.hero-logo img {
  height: 120px; /* ajuste selon ton logo */
  width: auto;
  display: block;
}

/* ====== Animated text (JetElements-like fx5) ====== */
.animated-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1 1 auto; /* occupe l’espace central */
  min-width: 0;
}
.animated-line .before {
  color: var(--c-muted);
  font-weight: 600;
  letter-spacing: .02em;
  user-select: none;
}
.animated-line .letters {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.animated-line .letters span {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%);
  animation: fxSlideUp var(--fx-duration) cubic-bezier(.2,.7,.2,1) forwards;
}
@keyframes fxSlideUp {
  to { opacity: 1; transform: translateY(0); }
}

/* Stagger par nth-child (18 lettres ici) */
.animated-line .letters span:nth-child(1)  { animation-delay: calc(var(--fx-stagger) * 0); }
.animated-line .letters span:nth-child(2)  { animation-delay: calc(var(--fx-stagger) * 1); }
.animated-line .letters span:nth-child(3)  { animation-delay: calc(var(--fx-stagger) * 2); }
.animated-line .letters span:nth-child(4)  { animation-delay: calc(var(--fx-stagger) * 3); }
.animated-line .letters span:nth-child(5)  { animation-delay: calc(var(--fx-stagger) * 4); }
.animated-line .letters span:nth-child(6)  { animation-delay: calc(var(--fx-stagger) * 5); }
.animated-line .letters span:nth-child(7)  { animation-delay: calc(var(--fx-stagger) * 6); }
.animated-line .letters span:nth-child(8)  { animation-delay: calc(var(--fx-stagger) * 7); }
.animated-line .letters span:nth-child(9)  { animation-delay: calc(var(--fx-stagger) * 8); }
.animated-line .letters span:nth-child(10) { animation-delay: calc(var(--fx-stagger) * 9); }
.animated-line .letters span:nth-child(11) { animation-delay: calc(var(--fx-stagger) * 10); }
.animated-line .letters span:nth-child(12) { animation-delay: calc(var(--fx-stagger) * 11); }
.animated-line .letters span:nth-child(13) { animation-delay: calc(var(--fx-stagger) * 12); }
.animated-line .letters span:nth-child(14) { animation-delay: calc(var(--fx-stagger) * 13); }
.animated-line .letters span:nth-child(15) { animation-delay: calc(var(--fx-stagger) * 14); }
.animated-line .letters span:nth-child(16) { animation-delay: calc(var(--fx-stagger) * 15); }
.animated-line .letters span:nth-child(17) { animation-delay: calc(var(--fx-stagger) * 16); }
.animated-line .letters span:nth-child(18) { animation-delay: calc(var(--fx-stagger) * 17); }

/* ====== Menu right ====== */
.menu-right { margin-left: auto; }
.menu-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  font-weight: 600;
  color: var(--c-text);
}
.menu-link .icon-circle {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
}
.menu-link svg { display: block; }

/* ====== Animations communes ====== */
.fadeInDown {
  animation: fadeInDown .7s ease both;
}
@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fadeIn {
  animation: fadeIn .5s ease both;
  animation-delay: var(--delay, 0s);
}
@keyframes fadeIn {
  from { opacity: 0 }
  to   { opacity: 1 }
}

/* ====== Popup (CSS :target) ====== */
.popup {
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease;
  z-index: 9999;
}
.popup:target {
  opacity: 1;
  pointer-events: auto;
}
.popup-overlay {
  position: absolute;
  inset: 0;
  background: var(--popup-overlay);
  display: block;
}
.popup-dialog {
  position: relative;
  max-width: 520px;
  background: #fff;
  margin: 8vh auto 0;
  padding: 16px 16px 8px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transform: translateY(-6px);
  animation: popupIn .25s ease both;
}
@keyframes popupIn {
  from { opacity: 0; transform: translateY(8px) }
  to   { opacity: 1; transform: translateY(0) }
}
.popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 8px 12px;
  border-bottom: 1px solid #eee;
}
.popup-header h3 { margin: 0; font-size: 18px; }
.popup-header .close {
  font-size: 28px;
  text-decoration: none;
  line-height: 1;
  color: var(--c-muted);
}
.popup-content { padding: 16px 8px 8px; }
.popup-list { list-style: none; margin: 0; padding: 0; }
.popup-list li { margin: 0 0 10px; }
.popup-list a { color: var(--c-text); text-decoration: none; }
.popup-list a:hover { text-decoration: underline; }

/* ====== Responsive ====== */
.elementor-hidden-mobile { display: block; }
@media (max-width: 767px) {
  .hero-inner { height: 64px; }
  .hero-logo img { height: 40px; }
  .elementor-hidden-mobile { display: none !important; } /* fidèle au comportement Elementor */
}

/* ====== Accessibilité / préférences ====== */
@media (prefers-reduced-motion: reduce) {
  .fadeInDown, .fadeIn, .animated-line .letters span, .popup-dialog {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}/* End custom CSS */