/* ============================================
   ADDITIONAL ANIMATIONS & EFFECTS
   ============================================ */

/* Glow Pulse Effect */
.glow-pulse {
    animation: glowPulse 2s ease-in-out infinite;
}

@keyframes glowPulse {

    0%,
    100% {
        box-shadow: 0 0 5px var(--color-gold-muted);
    }

    50% {
        box-shadow: 0 0 30px var(--color-gold), 0 0 60px var(--color-gold-muted);
    }
}

/* Tilt Effect on Hover */
.tilt-effect {
    transition: transform 0.5s var(--ease-bounce);
    transform-style: preserve-3d;
}

.tilt-effect:hover {
    transform: perspective(1000px) rotateX(5deg) rotateY(-5deg) scale(1.02);
}

/* Gradient Text Animation */
.gradient-text-animated {
    background: linear-gradient(90deg, var(--color-gold-dark), var(--color-gold), var(--color-gold-light), var(--color-gold), var(--color-gold-dark));
    background-size: 400% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: gradientFlow 4s linear infinite;
}

@keyframes gradientFlow {
    0% {
        background-position: 0% center;
    }

    100% {
        background-position: 400% center;
    }
}

/* Floating Animation with Rotation */
.float-rotate {
    animation: floatRotate 8s ease-in-out infinite;
}

@keyframes floatRotate {

    0%,
    100% {
        transform: translateY(0) rotate(0deg);
    }

    25% {
        transform: translateY(-15px) rotate(2deg);
    }

    50% {
        transform: translateY(0) rotate(0deg);
    }

    75% {
        transform: translateY(-10px) rotate(-2deg);
    }
}

/* Underline Grow Effect */
.underline-grow::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 50%;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
    transition: all 0.4s var(--ease-bounce);
    transform: translateX(-50%);
}

.underline-grow:hover::after {
    width: 100%;
}

/* Morphing Shape */
.morph-shape {
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    animation: morphShape 8s ease-in-out infinite;
}

@keyframes morphShape {
    0% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }

    25% {
        border-radius: 30% 60% 70% 40% / 50% 60% 30% 60%;
    }

    50% {
        border-radius: 50% 60% 30% 60% / 30% 60% 70% 40%;
    }

    75% {
        border-radius: 60% 40% 60% 30% / 70% 30% 50% 60%;
    }

    100% {
        border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%;
    }
}

/* Ripple Effect */
.ripple {
    position: relative;
    overflow: hidden;
}

.ripple::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(201, 169, 97, 0.2);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.6s ease, height 0.6s ease;
}

.ripple:hover::after {
    width: 300px;
    height: 300px;
}

/* Elastic Scale */
.elastic-scale:hover {
    animation: elasticScale 0.8s var(--ease-bounce);
}

@keyframes elasticScale {
    0% {
        transform: scale(1);
    }

    30% {
        transform: scale(1.15);
    }

    50% {
        transform: scale(0.9);
    }

    70% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

/* Heartbeat Effect */
.heartbeat {
    animation: heartbeat 1.5s ease-in-out infinite;
}

@keyframes heartbeat {
    0% {
        transform: scale(1);
    }

    14% {
        transform: scale(1.1);
    }

    28% {
        transform: scale(1);
    }

    42% {
        transform: scale(1.1);
    }

    70% {
        transform: scale(1);
    }
}

/* Icon Bounce */
.icon-bounce:hover i {
    animation: iconJump 0.5s var(--ease-bounce);
}

@keyframes iconJump {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

/* Enhanced hero badge glow */
.hero-badge {
    animation: fadeInDown 1s ease forwards, glowPulse 3s ease-in-out infinite 1s;
}

/* Section header underline animation */
.section-header h2::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    background: var(--color-gold);
    transition: width 0.6s var(--ease-bounce);
}

.section-header:hover h2::after {
    width: 80px;
}

/* Enhanced Nav Links glow */
.nav-links a:hover {
    text-shadow: 0 0 10px rgba(201, 169, 97, 0.3);
}

/* Enhanced Product Cards glow */
.product-card:hover {
    box-shadow: var(--shadow-elegant), 0 0 40px rgba(201, 169, 97, 0.15);
}

/* USP number scale on hover */
.usp-item:hover .usp-number {
    transform: scale(1.1);
    text-shadow: 0 0 20px rgba(201, 169, 97, 0.4);
}

.usp-number {
    transition: all 0.4s var(--ease-bounce);
}

/* Footer social glow */
.footer-social a:hover {
    box-shadow: 0 0 20px rgba(201, 169, 97, 0.4);
}

/* About image hover movement */
.about-image:hover::before {
    transform: translate(-5px, -5px);
}

.about-image:hover::after {
    transform: translate(5px, 5px);
}

/* Form focus glow */
.form-group input:focus,
.form-group textarea:focus {
    box-shadow: 0 0 0 3px var(--color-gold-muted), var(--shadow-gold);
}

/* Logo shine on hover */
.logo:hover span {
    animation: logoShine 0.6s ease forwards;
}

@keyframes logoShine {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
        text-shadow: 0 0 20px var(--color-gold);
    }

    100% {
        opacity: 1;
    }
}

/* Hero scroll animation */
.hero-scroll {
    animation: fadeIn 1s ease 1.5s forwards;
    opacity: 0;
}

.hero-scroll:hover .hero-scroll-line {
    height: 80px;
}

.hero-scroll-line {
    transition: height 0.3s ease;
}

/* Button press effect */
.btn:active {
    transform: scale(0.95) translateY(2px);
}

/* Product card content lift */
.product-card:hover .product-card-content {
    transform: translateY(-10px);
}

.product-card-content {
    transition: all 0.4s var(--ease-smooth);
}

/* Breadcrumb letter spacing hover */
.breadcrumb a {
    transition: all 0.3s ease;
}

.breadcrumb a:hover {
    letter-spacing: 0.1em;
}

/* Contact info item slide */
.contact-info-item {
    transition: all 0.4s var(--ease-smooth);
}

.contact-info-item:hover {
    transform: translateX(10px);
    background: var(--color-gold-muted);
    padding: var(--space-4);
    border-radius: 8px;
}

/* Card shimmer on hover */
.card:hover::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(201, 169, 97, 0.1), transparent);
    animation: cardShimmer 0.8s ease forwards;
}

@keyframes cardShimmer {
    0% {
        left: -100%;
    }

    100% {
        left: 200%;
    }
}

/* Page header text animation */
.page-header h1 {
    animation: fadeInUp 0.8s ease forwards;
}

.page-header h1 span {
    animation: gradientFlow 4s linear infinite;
    background: linear-gradient(90deg, var(--color-gold-dark), var(--color-gold), var(--color-gold-light), var(--color-gold));
    background-size: 400% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Map filter transition */
section iframe {
    transition: filter 0.5s ease;
}

section iframe:hover {
    filter: grayscale(80%) invert(90%) contrast(85%);
}