/* NT PROCON — motion globale : tout bouge */

/* --- Hero : zoom lent permanent --- */
.home-hero__bg img,
.home-hero__bg video,
.procon-about-hero__bg img,
.procon-projects-hero__bg img,
.procon-projects-hero__bg video,
body.contact-page .home-hero__bg img,
body.contact-page .home-hero__bg video {
  animation: procon-kenburns 22s ease-in-out infinite alternate;
  transform-origin: center center;
  will-change: transform;
}

@keyframes procon-kenburns {
  from { transform: scale(1); }
  to { transform: scale(1.12); }
}

/* --- Scroll indicator --- */
.home__scroll-down span {
  animation: procon-bob 1.6s ease-in-out infinite;
  display: inline-block;
}

@keyframes procon-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(10px); }
}

/* --- Stripe animé --- */
.procon-stripe::after {
  animation: procon-stripe-slide 3.5s linear infinite;
}

@keyframes procon-stripe-slide {
  0% { right: -5%; }
  100% { right: 105%; }
}

/* --- Kickers pulse léger --- */
.procon-home-section__kicker,
.procon-loader__sector.is-active {
  animation: procon-kicker-glow 2.8s ease-in-out infinite;
}

@keyframes procon-kicker-glow {
  0%, 100% { box-shadow: 0 0 0 rgba(var(--procon-lime-rgb), 0); }
  50% { box-shadow: 0 0 18px rgba(var(--procon-lime-rgb), 0.35); }
}

/* --- Cartes / stats flottent en continu --- */
.procon-reveal--visible .procon-stat:nth-child(odd),
.procon-reveal--visible .procon-why-card:nth-child(odd),
.procon-reveal--visible .procon-commitment:nth-child(odd),
.procon-reveal--visible .procon-presence__card:nth-child(odd),
.procon-reveal--visible .memberships-plan:nth-child(odd),
.procon-reveal--visible .procon-about-card:nth-child(odd),
.procon-reveal--visible .procon-about-mission-gallery__item:nth-child(odd),
.procon-reveal--visible .procon-process__step:nth-child(odd) {
  animation: procon-float-a 4.5s ease-in-out infinite;
}

.procon-reveal--visible .procon-stat:nth-child(even),
.procon-reveal--visible .procon-why-card:nth-child(even),
.procon-reveal--visible .procon-commitment:nth-child(even),
.procon-reveal--visible .procon-presence__card:nth-child(even),
.procon-reveal--visible .memberships-plan:nth-child(even),
.procon-reveal--visible .procon-about-card:nth-child(even),
.procon-reveal--visible .procon-about-mission-gallery__item:nth-child(even),
.procon-reveal--visible .procon-process__step:nth-child(even) {
  animation: procon-float-b 5.2s ease-in-out infinite;
}

@keyframes procon-float-a {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@keyframes procon-float-b {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* --- Images : zoom hover + respiration --- */
.procon-vision__img,
.procon-about-vision__media img,
.procon-about-mission-gallery__item img,
.procon-projects-masonry__item img,
.procon-project-item__img img {
  transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.procon-vision__figure:hover .procon-vision__img,
.procon-about-vision__media:hover img,
.procon-about-mission-gallery__item:hover img,
.procon-projects-masonry__item:hover img,
.procon-project-item:hover .procon-project-item__img img {
  transform: scale(1.08);
}

.procon-reveal--visible .procon-vision__img,
.procon-reveal--visible .procon-about-vision__media img {
  animation: procon-breathe 8s ease-in-out infinite;
}

@keyframes procon-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.04); }
}

/* --- Titres révélés : léger shimmer --- */
.procon-reveal--visible .procon-home-section__title,
.procon-reveal--visible .procon-vision__title,
.procon-reveal--visible .memberships-block__heading,
.procon-reveal--visible .procon-about-mission__title,
.procon-reveal--visible .procon-devis-banner__title {
  animation: procon-title-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes procon-title-in {
  from {
    opacity: 0;
    letter-spacing: 0.12em;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    letter-spacing: normal;
    transform: translateY(0);
  }
}

/* --- CTA pulse --- */
.block-f__cta,
.block-c__cta,
.procon-devis-banner__btn--dark,
.reserve-popup-fab,
.contactform_cta {
  animation: procon-cta-pulse 2.4s ease-in-out infinite;
}

@keyframes procon-cta-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(var(--procon-lime-rgb), 0.45); }
  50% { box-shadow: 0 0 0 12px rgba(var(--procon-lime-rgb), 0); }
}

/* --- WhatsApp flottant --- */
#floating-btn {
  animation: procon-wa-bounce 2.2s ease-in-out infinite !important;
}

@keyframes procon-wa-bounce {
  0%, 100% { transform: translateY(0) scale(1); }
  40% { transform: translateY(-8px) scale(1.05); }
  60% { transform: translateY(-4px) scale(1.02); }
}

#floating-btn:hover {
  animation-play-state: paused !important;
}

/* --- Logo header léger --- */
.header__logo .procon-logo--header,
.header__logo .procon-logotype {
  animation: procon-logo-float 5s ease-in-out infinite;
}

@keyframes procon-logo-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

.header__logo {
  animation: none;
}

/* --- Quote pulse texte --- */
.procon-reveal--visible .procon-quote__text em {
  animation: procon-lime-flash 3s ease-in-out infinite;
}

@keyframes procon-lime-flash {
  0%, 100% { color: var(--procon-lime); text-shadow: 0 0 0 transparent; }
  50% { color: #a8e05c; text-shadow: 0 0 24px rgba(var(--procon-lime-rgb), 0.45); }
}

/* --- Stats chiffres --- */
.procon-reveal--visible .procon-stat__num {
  animation: procon-num-pop 0.7s cubic-bezier(0.22, 1, 0.36, 1) both,
             procon-num-glow 2.8s ease-in-out 0.7s infinite;
}

@keyframes procon-num-pop {
  from { transform: scale(0.6); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes procon-num-glow {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.25); }
}

/* --- Galerie flottante plus rapide / vivante --- */
.procon-float-gallery__track {
  animation-duration: 32s !important;
}

.procon-float-gallery__track--reverse {
  animation-duration: 38s !important;
}

.procon-float-gallery__row img {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.procon-float-gallery__row img:hover {
  transform: scale(1.06) rotate(-1deg);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.25);
  z-index: 2;
}

/* --- Parallax léger via JS classe --- */
.procon-parallax {
  will-change: transform;
  transition: transform 0.1s linear;
}

/* --- Footer scrolltop --- */
.footer__scrolltop {
  animation: procon-bob 2s ease-in-out infinite;
}

.footer__scrolltop:hover {
  animation-play-state: paused;
}

/* --- Loader secteurs déjà animés : bonus --- */
.procon-loader__title {
  animation: procon-logo-float 2.5s ease-in-out infinite;
}

/* --- Bandeau devis : gradient vivant --- */
.procon-devis-banner {
  background-size: 200% 200% !important;
  animation: procon-gradient-shift 8s ease infinite;
  background-image: linear-gradient(
    120deg,
    var(--procon-lime) 0%,
    #a8e05c 40%,
    var(--procon-lime) 70%,
    #7ab82e 100%
  ) !important;
}

@keyframes procon-gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* --- Reveal plus spectaculaire --- */
.procon-reveal {
  transform: translate3d(0, 48px, 0) scale(0.98);
  filter: blur(2px);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

.procon-reveal.procon-reveal--visible {
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

/* --- Respect accessibilité --- */
@media (prefers-reduced-motion: reduce) {
  .home-hero__bg img,
  .home-hero__bg video,
  .procon-about-hero__bg img,
  .procon-projects-hero__bg img,
  .procon-projects-hero__bg video,
  body.contact-page .home-hero__bg img,
  body.contact-page .home-hero__bg video,
  .home__scroll-down span,
  .procon-stripe::after,
  .procon-home-section__kicker,
  .procon-reveal--visible .procon-stat,
  .procon-reveal--visible .procon-why-card,
  .procon-reveal--visible .procon-commitment,
  .procon-reveal--visible .procon-presence__card,
  .procon-reveal--visible .memberships-plan,
  .procon-reveal--visible .procon-about-card,
  .procon-reveal--visible .procon-about-mission-gallery__item,
  .procon-reveal--visible .procon-process__step,
  .procon-reveal--visible .procon-vision__img,
  .procon-reveal--visible .procon-about-vision__media img,
  .block-f__cta,
  .block-c__cta,
  .procon-devis-banner__btn--dark,
  .reserve-popup-fab,
  .contactform_cta,
  #floating-btn,
  .header__logo .procon-logo--header,
  .header__logo .procon-logotype,
  .procon-reveal--visible .procon-quote__text em,
  .procon-reveal--visible .procon-stat__num,
  .procon-devis-banner,
  .footer__scrolltop,
  .procon-loader__title,
  .procon-float-gallery__track {
    animation: none !important;
  }

  .procon-reveal {
    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
