/* Ringmaster — custom styles beyond Tailwind */

/* Smooth scrolling for chat */
#chat-messages {
    scroll-behavior: smooth;
}

/* HTMX loading indicator */
.htmx-indicator {
    display: none;
}
.htmx-request .htmx-indicator {
    display: inline-block;
}

/* Form input defaults */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    width: 100%;
    padding: 0.5rem 0.75rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
}

input:focus,
textarea:focus,
select:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
    border-color: #3b82f6;
}

/* Floating chat widget */
.chat-widget-panel {
    width: 380px;
    height: 500px;
}

#chat-widget-messages {
    scroll-behavior: smooth;
}

@media (max-width: 480px) {
    .chat-widget-panel {
        width: calc(100vw - 1.5rem);
        height: calc(100vh - 6rem);
        bottom: 0.75rem;
        right: 0.75rem;
    }
}

/* Scroll reveal */
.fade-up { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
.fade-up-delay-1 { transition-delay: 0.1s; }
.fade-up-delay-2 { transition-delay: 0.2s; }
.fade-up-delay-3 { transition-delay: 0.3s; }
.fade-up-delay-4 { transition-delay: 0.4s; }

/* Nav scroll transition */
.landing-nav { transition: background-color 0.3s ease, backdrop-filter 0.3s ease; }
.landing-nav.scrolled { background-color: rgba(30, 27, 75, 0.95); backdrop-filter: blur(12px); }

/* Hero carousel */
.carousel-slide { pointer-events: none; }
.carousel-slide.opacity-100 { pointer-events: auto; }

/* Smooth scroll for anchor links */
html { scroll-behavior: smooth; }
