/* Custom Conversion Animations */

/* Pulsating CTA */
.pulse-cta {
    animation: pulse-soft 2s infinite ease-in-out;
}

@keyframes pulse-soft {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.7);
    }

    70% {
        transform: scale(1.03);
        box-shadow: 0 0 0 15px rgba(212, 175, 55, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
    }
}

/* Hover lift for pricing cards (ensuring it overrides defaults reasonably) */
.pricing-luxury .price-card-luxury {
    transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}

.pricing-luxury .price-card-luxury:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
    border-color: var(--gold-primary, #D4AF37);
    z-index: 15;
}

/* Scroll reveal classes */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* --- Mobile Improvements --- */
@media (max-width: 600px) {

    /* Improve tap targets for buttons on mobile */
    .hero-cta,
    .cta-btn-luxury,
    .btn-elegant {
        padding: 20px 25px;
        font-size: 1rem;
        /* Slightly larger text for readability */
        width: 100%;
        /* Ensure full block width for easy thumb clicking */
        box-sizing: border-box;
    }

    /* Soften the pulse animation on mobile to avoid layout shifts/shakiness */
    @keyframes pulse-soft {
        0% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.5);
        }

        70% {
            transform: scale(1.01);
            box-shadow: 0 0 0 10px rgba(212, 175, 55, 0);
        }

        100% {
            transform: scale(1);
            box-shadow: 0 0 0 0 rgba(212, 175, 55, 0);
        }
    }

    /* Ensure copy doesn't edge right to the screen borders */
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}