/* ==========================================================================
   NAFRA OVERSEAS - ANIMATIONS & MICRO-INTERACTIONS
   ========================================================================== */

@keyframes floatSlow {
    0% {
        transform: translateY(0px) rotate(0deg);
    }
    50% {
        transform: translateY(-8px) rotate(1deg);
    }
    100% {
        transform: translateY(0px) rotate(0deg);
    }
}

@keyframes pulseBubble {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.04);
        box-shadow: 0 8px 20px rgba(10, 38, 29, 0.15);
    }
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes rotateSlow {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

@keyframes shimmerEffect {
    0% {
        background-position: -200% 0;
    }
    100% {
        background-position: 200% 0;
    }
}

.shimmer-gold {
    background: linear-gradient(90deg, rgba(212, 175, 55, 0.1) 0%, rgba(212, 175, 55, 0.3) 50%, rgba(212, 175, 55, 0.1) 100%);
    background-size: 200% 100%;
    animation: shimmerEffect 2.5s infinite;
}

.hover-lift {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;
}

.hover-lift:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

@keyframes btnShineSweep {
    0% {
        left: -120%;
    }
    25%, 100% {
        left: 150%;
    }
}

@keyframes pulseGreen {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 7px rgba(37, 211, 102, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

@keyframes goldGlowBorder {
    0%, 100% {
        border-color: rgba(212, 175, 55, 0.25);
    }
    50% {
        border-color: rgba(212, 175, 55, 0.6);
    }
}

/* ==========================================================================
   CREATIVE SCROLL REVEAL & PAGE LOAD ANIMATIONS
   Fluid staggered entrances, momentum slide-ups, and luxury micro-interactions
   ========================================================================== */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(36px) scale(0.97);
    transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), 
                transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s ease;
    will-change: opacity, transform;
}

.reveal-on-scroll.is-revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
    will-change: auto !important;
}

@media (max-width: 768px) {
    .reveal-on-scroll {
        transform: translateY(20px);
    }
    .reveal-on-scroll.is-revealed {
        transform: translateY(0);
        will-change: auto !important;
    }
}

/* Header Reveal (gentle fade and slide) */
.section-header-reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.section-header-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered Cascading Delay for Cards in Grids */
.stagger-cards > .reveal-on-scroll:nth-child(1),
.stagger-grid > .reveal-on-scroll:nth-child(1),
.pjm-range-grid > .reveal-on-scroll:nth-child(1) { transition-delay: 0.04s; }

.stagger-cards > .reveal-on-scroll:nth-child(2),
.stagger-grid > .reveal-on-scroll:nth-child(2),
.pjm-range-grid > .reveal-on-scroll:nth-child(2) { transition-delay: 0.11s; }

.stagger-cards > .reveal-on-scroll:nth-child(3),
.stagger-grid > .reveal-on-scroll:nth-child(3),
.pjm-range-grid > .reveal-on-scroll:nth-child(3) { transition-delay: 0.18s; }

.stagger-cards > .reveal-on-scroll:nth-child(4),
.stagger-grid > .reveal-on-scroll:nth-child(4),
.pjm-range-grid > .reveal-on-scroll:nth-child(4) { transition-delay: 0.25s; }

.stagger-cards > .reveal-on-scroll:nth-child(5),
.stagger-grid > .reveal-on-scroll:nth-child(5),
.pjm-range-grid > .reveal-on-scroll:nth-child(5) { transition-delay: 0.32s; }

.stagger-cards > .reveal-on-scroll:nth-child(6),
.stagger-grid > .reveal-on-scroll:nth-child(6),
.pjm-range-grid > .reveal-on-scroll:nth-child(6) { transition-delay: 0.39s; }

.stagger-cards > .reveal-on-scroll:nth-child(7),
.stagger-grid > .reveal-on-scroll:nth-child(7) { transition-delay: 0.46s; }

.stagger-cards > .reveal-on-scroll:nth-child(8),
.stagger-grid > .reveal-on-scroll:nth-child(8) { transition-delay: 0.53s; }

/* Icon Badge Entrance Spring Effect */
.luxury-feature-card .feature-icon-badge {
    transform: scale(0.85);
    transition: transform 0.65s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.45s ease;
}

.luxury-feature-card.is-revealed .feature-icon-badge {
    transform: scale(1);
}

/* Sourcing Step Entrance */
.sourcing-step-item.reveal-on-scroll:nth-child(1) { transition-delay: 0.05s; }
.sourcing-step-item.reveal-on-scroll:nth-child(2) { transition-delay: 0.16s; }
.sourcing-step-item.reveal-on-scroll:nth-child(3) { transition-delay: 0.27s; }
.sourcing-step-item.reveal-on-scroll:nth-child(4) { transition-delay: 0.38s; }

/* Certificate Cards Entrance */
.certificates-grid > .certificate-card-item:nth-child(1) { transition-delay: 0.05s; }
.certificates-grid > .certificate-card-item:nth-child(2) { transition-delay: 0.12s; }
.certificates-grid > .certificate-card-item:nth-child(3) { transition-delay: 0.19s; }
.certificates-grid > .certificate-card-item:nth-child(4) { transition-delay: 0.26s; }
.certificates-grid > .certificate-card-item:nth-child(5) { transition-delay: 0.33s; }
.certificates-grid > .certificate-card-item:nth-child(6) { transition-delay: 0.40s; }
