/* ============================================
   SCROLL ANIMATIONS
   ============================================ */

/* ── Fade / Slide / Zoom ── */
.sa-fade-up,
.sa-fade-left,
.sa-fade-right,
.sa-zoom {
    opacity: 0;
    transition: opacity 0.7s ease, transform 0.7s ease;
}

.sa-fade-up    { transform: translateY(40px); }
.sa-fade-left  { transform: translateX(-50px); }
.sa-fade-right { transform: translateX(50px); }
.sa-zoom       { transform: scale(0.88); }

.sa-visible {
    opacity: 1 !important;
    transform: none !important;
}

/* Délais cascade */
.sa-delay-1 { transition-delay: 0.1s; }
.sa-delay-2 { transition-delay: 0.2s; }
.sa-delay-3 { transition-delay: 0.3s; }
.sa-delay-4 { transition-delay: 0.4s; }


/* ── Séparateurs qui se dessinent ── */
.separator {
    transform-origin: left center;
    transform: scaleX(0);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.separator.sa-line-visible {
    transform: scaleX(1);
}


/* ── Hover cartes de service (amélioré) ── */
.service-card {
    transition: box-shadow 0.35s ease, transform 0.35s ease !important;
}

.service-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.13) !important;
}

.service-card .service-icon-wrapper {
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.service-card:hover .service-icon-wrapper {
    background-color: #FFD700;
    transform: scale(1.08);
}


/* ── Pulse / glow numéros de téléphone ── */
@keyframes phonePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); }
    50%       { box-shadow: 0 0 0 6px rgba(255, 215, 0, 0.35); }
}

a[href^="tel:"] {
    border-radius: 4px;
    animation: phonePulse 3s ease-in-out infinite;
    display: inline-block;
    padding: 0 2px;
}
