html {
  scroll-behavior: smooth;
}
.hero-anime {
  opacity: 0;
  transform: translateY(14px);
  animation: rise .7s ease-out forwards;
}
.hero-anime.delai-1 { animation-delay: .12s; }
.hero-anime.delai-2 { animation-delay: .24s; }
.hero-anime.delai-3 { animation-delay: .36s; }

@keyframes rise {
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-anime { animation: none; opacity: 1; transform: none; }
}
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s ease-out, transform .6s ease-out;
}
.reveal.in {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
}

/* Effet zoom au survol des photos */
.zoom-photo {
  overflow: hidden;
}

.zoom-photo img {
  transition: transform 0.5s ease;
}

.zoom-photo:hover img {
  transform: scale(1.05);
}

/* Effet doux au survol des cartes */
.carte-douce {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.carte-douce:hover {
  transform: translateY(-7px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

/* Désactivation du mouvement si nécessaire */
@media (prefers-reduced-motion: reduce) {
  .carte-douce {
    transition: none;
  }
}
/* Boutons : effet léger au survol */
.wp-block-button__link {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.wp-block-button__link:hover {
  transform: translateY(-3px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);
}
/* Soulignement animé des liens */
.lien-anime {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0% 1px;
  transition: background-size 0.4s ease;
}

.lien-anime:hover {
  background-size: 100% 1px;
}
/* Photo : variation douce de luminosité */
.photo-douce img {
  transition: filter 0.4s ease;
}

.photo-douce:hover img {
  filter: brightness(1.06);
}
.titre-anime {
  display: inline-block;
  position: relative;
}
.photo-douce img {
  transition: filter 0.5s ease;
}

.photo-douce:hover img {
  filter: brightness(1.06);
}
.certification {
  transition: transform 0.3s ease;
}

/* Animation des étapes d'accompagnement */
.etape-accompagnement {
  border: 1px solid #eee7df;
  border-radius: 12px;
  padding: 22px;
  transition: transform 0.35s ease,
              box-shadow 0.35s ease,
              border-color 0.35s ease;
}

.etape-accompagnement:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.07);
  border-color: #c7ad91;
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .etape-accompagnement {
    transition: none;
  }
}

/* Mise en valeur du témoignage client */
.temoignage-client {
  transition: transform 0.4s ease,
              box-shadow 0.4s ease,
              border-color 0.4s ease;
  border: 1px solid #eee7df;
  border-radius: 14px;
}

.temoignage-client:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: #c7ad91;
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .temoignage-client {
    transition: none;
  }
}

/* Photos du cabinet : zoom et lumière */
.photo-cabinet {
  overflow: hidden;
  border-radius: 12px;
}

.photo-cabinet img {
  transition: transform 0.6s ease,
              filter 0.6s ease;
}

.photo-cabinet:hover img {
  transform: scale(1.05);
  filter: brightness(1.05);
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .photo-cabinet img {
    transition: none;
  }
}

/* Apparition au défilement avec effet de flou */
.scroll-flou {
  animation: reveal-flou linear both;
  animation-timeline: view();
  animation-range: entry 0% entry 80%;
}

@keyframes reveal-flou {
  from {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    filter: blur(0);
    transform: translateY(0);
  }
}

/* Accessibilité */
@media (prefers-reduced-motion: reduce) {
  .scroll-flou {
    animation: none;
    opacity: 1;
    filter: none;
    transform: none;
  }
}
@keyframes reveal-fondu {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Apparition du bas vers le haut */
.scroll-haut {
  animation: reveal-haut linear both;
  animation-timeline: view();
  animation-range: entry 0% entry 80%;
}

/* Petit mouvement sur les certifications */
.certification {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.certification:hover {
  transform: translateY(-4px);
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

/* Accessibilité : désactiver le mouvement si nécessaire */
@media (prefers-reduced-motion: reduce) {
  .certification {
    transition: none;
  }
}
