/* ==========================================================================
   Yıldırımer Lift Asansör - Animations & Premium Effects (animations.css)
   ========================================================================== */

/* Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pulseGold {
    0% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0.4);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(212, 160, 23, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(212, 160, 23, 0);
    }
}

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

@keyframes shinyGold {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}

/* Classes */
.animate-fade-in-up {
    opacity: 0;
}
.animate-fade-in-up.revealed {
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in-down {
    opacity: 0;
}
.animate-fade-in-down.revealed {
    animation: fadeInDown 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in-left {
    opacity: 0;
}
.animate-fade-in-left.revealed {
    animation: fadeInLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-fade-in-right {
    opacity: 0;
}
.animate-fade-in-right.revealed {
    animation: fadeInRight 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-scale-in {
    opacity: 0;
}
.animate-scale-in.revealed {
    animation: scaleIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Stagger delays */
.delay-100 { animation-delay: 100ms !important; }
.delay-200 { animation-delay: 200ms !important; }
.delay-300 { animation-delay: 300ms !important; }
.delay-400 { animation-delay: 400ms !important; }
.delay-500 { animation-delay: 500ms !important; }

/* Pulse effect for specific widgets (like WhatsApp button or CTA) */
.pulse-gold-btn {
    animation: pulseGold 2s infinite;
}

/* Floating animation for subtle background or decorative lines */
.floating {
    animation: floatElement 6s ease-in-out infinite;
}

/* Shiny gradient transition text */
.shiny-gold-text {
    background: linear-gradient(270deg, #d4a017, #f0c040, #b8860b, #d4a017);
    background-size: 600% 600%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shinyGold 8s ease infinite;
}

/* Glass card subtle blur transition */
.glass-card {
    background: rgba(18, 18, 18, 0.4);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37);
    transition: var(--transition);
}

.glass-card:hover {
    background: rgba(18, 18, 18, 0.6);
    border-color: var(--border-hover);
}
