/* Vistortec - Custom Styles (supplements Tailwind CDN) */

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

/* Glass navigation effect */
.glass-nav {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

/* Material Symbols default settings */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* Text balance for hero headings */
.text-balance {
    text-wrap: balance;
}

/* Pricing tab active state */
.pricing-tab-active {
    background-color: #006193;
    color: #ffffff;
}

/* Mobile menu transitions */
#mobile-menu-panel {
    transition: transform 0.3s ease-in-out;
}

#mobile-menu.open #mobile-menu-panel {
    transform: translateX(0);
}

/* Fade-in animation for sections on scroll.
   O estado oculto depende de .fade-in-armed, que o main.js adiciona a cada seção
   imediatamente antes de observá-la. Sem JavaScript, com o script bloqueado, com erro
   antes desse ponto ou sem suporte a IntersectionObserver, a classe nunca é aplicada e
   a seção nasce visível — o conteúdo nunca fica preso em opacity: 0. */
.fade-in-section.fade-in-armed {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in-section.fade-in-armed.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Contact form success/error messages */
.form-message {
    padding: 1rem 1.5rem;
    border-radius: 0.75rem;
    font-size: 0.875rem;
    font-weight: 500;
}

.form-message-success {
    background-color: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.form-message-error {
    background-color: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Plan card hover effect */
.plan-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.plan-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(0, 97, 147, 0.1);
}

/* Testimonial card */
.testimonial-card {
    transition: transform 0.2s ease;
}

.testimonial-card:hover {
    transform: translateY(-2px);
}
