/* app/assets/stylesheets/public_layout.css */
/* Custom styles specific to the public layout and landing page elements */

/* Gradient text */
.gradient-text {
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
    background-image: linear-gradient(to right, #3b82f6, #8b5cf6);
}

/* Button hover effects */
.btn-gradient {
    background-image: linear-gradient(to right, #3b82f6, #8b5cf6);
    transition: all 0.3s ease;
}
.btn-gradient:hover {
    background-image: linear-gradient(to right, #2563eb, #7c3aed);
    transform: translateY(-2px);
    box-shadow: 0 10px 25px -5px rgba(59, 130, 246, 0.5);
}

/* Navbar styling (public) */
.navbar.public-nav {
    /* Use a specific class if needed to avoid conflict */
    backdrop-filter: blur(8px);
    background-color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s ease;
}
.navbar.public-nav.scrolled {
    box-shadow: 0 4px 20px -5px rgba(0, 0, 0, 0.1);
}

/* Scroll Animation Styles */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    will-change: opacity, transform;
}
.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.animate-delay-1.is-visible {
    transition-delay: 0.1s;
}
.animate-delay-2.is-visible {
    transition-delay: 0.2s;
}
.animate-delay-3.is-visible {
    transition-delay: 0.3s;
}
.animate-delay-4.is-visible {
    transition-delay: 0.4s;
}

/* Hero Animation Styles */
.hero-fade-in-up {
    animation: heroFadeInUp 0.8s ease-out forwards;
    opacity: 0;
}
@keyframes heroFadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.hero-delay-1 {
    animation-delay: 0.2s;
}
.hero-delay-2 {
    animation-delay: 0.4s;
}
.hero-delay-3 {
    animation-delay: 0.6s;
}
.hero-delay-4 {
    animation-delay: 0.8s;
}

/* Feature icon styling */
.feature-icon {
    line-height: 1;
}

/* Card hover effects */
.hover-card {
    transition: all 0.3s ease;
}
.hover-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

/* Blur effects for backgrounds */
.blur-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(70px);
    z-index: 0;
    opacity: 0.4;
}
