/* ================================================================
   ODS Animations Premium — Niveau 2 FAANG biotech
   Scroll-reveal fade-up + hover polish on buttons + service cards
   Deploy: 22 avril 2026
   Rollback: sudo rm .../mu-plugins/ods-animations-premium.php
   Sections: 41fad53, af54e56, 706ff60, 8917372, e502ce7, 0633d0f, b2d50cd
   Buttons:  da42b51, c81f648, 148f3d9, e56d372
   Cards:    5181d9f, 5ba0fa3, c784b76
   Stats:    ff933cf (.ods-counter)
   ================================================================ */

/* ========= A. SCROLL REVEAL ========= */
.ods-reveal {
    opacity: 0;
    transform: translateY(20px);
    will-change: opacity, transform;
}
.ods-reveal.ods-revealed {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1),
                transform 600ms cubic-bezier(0.16, 1, 0.3, 1);
}
/* Stagger children columns */
.ods-reveal.ods-revealed > .elementor-container > .elementor-column:nth-child(2) { transition-delay: 120ms; }
.ods-reveal.ods-revealed > .elementor-container > .elementor-column:nth-child(3) { transition-delay: 240ms; }
.ods-reveal.ods-revealed > .elementor-container > .elementor-column:nth-child(4) { transition-delay: 360ms; }

/* ========= B. HOVER — hero buttons ========= */
body .elementor .elementor-element.elementor-element-da42b51 .elementor-button,
body .elementor .elementor-element.elementor-element-c81f648 .elementor-button,
body .elementor .elementor-element.elementor-element-148f3d9 .elementor-button,
body .elementor .elementor-element.elementor-element-e56d372 .elementor-button {
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 250ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}
body .elementor .elementor-element.elementor-element-da42b51 .elementor-button:hover,
body .elementor .elementor-element.elementor-element-148f3d9 .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(45, 122, 31, 0.18), 0 2px 6px rgba(45, 122, 31, 0.10) !important;
}
body .elementor .elementor-element.elementor-element-c81f648 .elementor-button:hover,
body .elementor .elementor-element.elementor-element-e56d372 .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12), 0 2px 6px rgba(15, 23, 42, 0.06) !important;
}

/* ========= C. HOVER — service cards ========= */
body .elementor .elementor-element.elementor-element-5181d9f .elementor-column,
body .elementor .elementor-element.elementor-element-5ba0fa3 .elementor-column,
body .elementor .elementor-element.elementor-element-c784b76 .elementor-column {
    transition: transform 250ms cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 250ms cubic-bezier(0.16, 1, 0.3, 1);
}
body .elementor .elementor-element.elementor-element-5181d9f .elementor-column:hover,
body .elementor .elementor-element.elementor-element-5ba0fa3 .elementor-column:hover,
body .elementor .elementor-element.elementor-element-c784b76 .elementor-column:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08), 0 2px 8px rgba(15, 23, 42, 0.04);
}

/* ========= D. REDUCED MOTION ========= */
@media (prefers-reduced-motion: reduce) {
    .ods-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    .ods-reveal.ods-revealed { transition: none !important; }
    .ods-reveal.ods-revealed > .elementor-container > .elementor-column { transition-delay: 0ms !important; }
}
