/*
Theme Name: Cabinet GMA Enfant (Fixé)
Template: astra
Version: 1.1
*/

/* ========================= */
/* PRELOADER GMA */
/* ========================= */

#preloader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  z-index: 99999;

  display: flex;
  justify-content: center;
  align-items: center;

  transition: opacity 0.8s ease;
}

#loader-logo {
  width: 140px;
  height: auto;
  animation: zoomFade 2.5s forwards;
}

/* Animation logo */
@keyframes zoomFade {
  0%   { transform: scale(1); opacity: 1; }
  60%  { transform: scale(1.15); opacity: 0.9; }
  100% { transform: scale(1.35); opacity: 0; }
}

/* Fade-out complet du preloader */
#preloader.hidden {
  opacity: 0;
  pointer-events: none;
}


#loader-logo {
  width: 150px;
  animation: zoomFadeOut 6s forwards;
}

@keyframes zoomFadeOut {
  0%   { transform: scale(1);   opacity: 1; }
  50%  { transform: scale(1.2); opacity: 0.8; }
  100% { transform: scale(1.5); opacity: 0; }
}

.fade-in {
  opacity: 1;
  transition: opacity 5.4s ease-in;
}

.fade-out {
  opacity: 0;
  transition: opacity 5.4s ease-out;
}

.elementor-nav-menu--main .elementor-item {
  position: relative;
  text-decoration: none;
}

.elementor-nav-menu--main .elementor-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 2px;
  background-color: currentColor;
  transition: width 0.3s ease;
}

.elementor-nav-menu--main .elementor-item:hover::after {
  width: 100%;
}

#top-contact-bar {
  position: sticky;
  top: 0;
  z-index: 9999;
  background-color: white;
  width: 100%;
  padding: 0.5em 1em;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}