/* Reset e Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: #ffffff;
    background: #0a0a0f;
    overflow-x: hidden;
    position: relative;
}

/* Background Cósmico */
.cosmic-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background: radial-gradient(ellipse at center, #1a0b2e 0%, #2d1b69 25%, #4c1d95 50%, #1e1b4b 75%, #0f0f23 100%);
}

.stars-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(2px 2px at 20px 30px, #ffffff, transparent),
        radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 90px 40px, #ffffff, transparent),
        radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent),
        radial-gradient(2px 2px at 160px 30px, #ffffff, transparent);
    background-repeat: repeat;
    background-size: 200px 100px;
    animation: twinkle 4s ease-in-out infinite alternate;
}

.nebula-layer {
    position: absolute;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(ellipse at 20% 50%, rgba(138, 43, 226, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 20%, rgba(75, 0, 130, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 40% 80%, rgba(72, 61, 139, 0.1) 0%, transparent 50%);
    animation: nebula-drift 20s ease-in-out infinite alternate;
}

@keyframes twinkle {
    0% { opacity: 0.3; }
    100% { opacity: 1; }
}

@keyframes nebula-drift {
    0% { transform: translateX(-10px) translateY(-5px); }
    100% { transform: translateX(10px) translateY(5px); }
}

/* Container */
.container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Header */
.header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(10, 10, 15, 0.9);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
}

.logo {
    font-family: 'Orbitron', 'Playfair Display', serif;
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(135deg, #e0e7ff 0%, #a855f7 30%, #c084fc 70%, #e0e7ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 15px rgba(168, 85, 247, 0.3), 0 0 25px rgba(192, 132, 252, 0.2);
    letter-spacing: 1px;
    position: relative;
    transition: all 0.3s ease;
}

.logo::after {
    content: '';
    position: absolute;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    background: linear-gradient(45deg, rgba(168, 85, 247, 0.1), rgba(192, 132, 252, 0.1));
    border-radius: 6px;
    z-index: -1;
    opacity: 0.6;
    filter: blur(4px);
}

.logo:hover {
    transform: scale(1.02);
    text-shadow: 0 0 20px rgba(168, 85, 247, 0.5), 0 0 35px rgba(192, 132, 252, 0.3);
}

.logo:hover::after {
    opacity: 0.8;
    filter: blur(6px);
}

.nav-links {
    display: flex;
    gap: 2rem;
}

.nav-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
}

.nav-link:hover {
    color: #a855f7;
    text-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background: linear-gradient(90deg, #a855f7, #c084fc);
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

/* Hero Section */
.hero {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 100px 0 60px;
    position: relative;
    overflow: hidden;
}

/* Background de Vídeo */
.video-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    overflow: hidden;
}

.video-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        135deg,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(13, 13, 35, 0.75) 50%,
        rgba(0, 0, 0, 0.7) 100%
    );
    z-index: 2;
}

/* Container do vídeo do universo */
.universe-video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 1;
}

/* Iframe do YouTube */
.universe-video-iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%; /* Ligeiramente maior para cobrir bordas */
    height: 120%;
    transform: translate(-50%, -50%);
    border: none;
    z-index: 2;
    pointer-events: none; /* Impede interação com o vídeo */
}

/* Ajustes para monitores maiores (1920px+) */
@media (min-width: 1920px) {
    .universe-video-iframe {
        width: 140%;
        height: 140%;
    }
}

/* Ajustes para monitores muito grandes (2560px+) */
@media (min-width: 2560px) {
    .universe-video-iframe {
        width: 160%;
        height: 160%;
    }
}

/* Ajustes para monitores ultra-wide (3440px+) */
@media (min-width: 3440px) {
    .universe-video-iframe {
        width: 180%;
        height: 180%;
    }
}

/* Placeholder animado simulando vídeo do universo */
.cosmic-video-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(ellipse at 30% 20%, rgba(138, 43, 226, 0.4) 0%, transparent 60%),
        radial-gradient(ellipse at 70% 80%, rgba(75, 0, 130, 0.5) 0%, transparent 70%),
        radial-gradient(ellipse at 10% 70%, rgba(72, 61, 139, 0.3) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 30%, rgba(147, 51, 234, 0.3) 0%, transparent 60%),
        linear-gradient(135deg, #0a0a0a 0%, #1a0b2e 25%, #2d1b69 50%, #1e1b4b 75%, #0f0f23 100%);
}

/* Fallback placeholder (aparece se o vídeo falhar) */
.fallback-placeholder {
    z-index: 1;
}

/* Esconde o placeholder quando o iframe está carregado */
.universe-video-iframe + .fallback-placeholder {
    opacity: 0;
    transition: opacity 0.5s ease;
}

/* Camadas de estrelas com diferentes velocidades */
.stars-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 200%;
    background-repeat: repeat;
    animation: drift linear infinite;
}

.stars-layer-1 {
    background-image: 
        radial-gradient(1px 1px at 20px 30px, rgba(255,255,255,0.9), transparent),
        radial-gradient(1px 1px at 40px 70px, rgba(255,255,255,0.7), transparent),
        radial-gradient(1px 1px at 90px 40px, rgba(255,255,255,0.8), transparent),
        radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 160px 30px, rgba(255,255,255,0.9), transparent);
    background-size: 200px 200px;
    animation-duration: 120s;
    opacity: 0.8;
}

.stars-layer-2 {
    background-image: 
        radial-gradient(2px 2px at 60px 90px, rgba(168, 85, 247, 0.8), transparent),
        radial-gradient(1px 1px at 100px 50px, rgba(196, 181, 253, 0.6), transparent),
        radial-gradient(1px 1px at 180px 120px, rgba(255,255,255,0.7), transparent),
        radial-gradient(2px 2px at 220px 60px, rgba(147, 51, 234, 0.5), transparent);
    background-size: 250px 250px;
    animation-duration: 180s;
    opacity: 0.6;
}

.stars-layer-3 {
    background-image: 
        radial-gradient(1px 1px at 80px 120px, rgba(255,255,255,0.4), transparent),
        radial-gradient(1px 1px at 140px 180px, rgba(196, 181, 253, 0.3), transparent),
        radial-gradient(2px 2px at 200px 100px, rgba(168, 85, 247, 0.4), transparent);
    background-size: 300px 300px;
    animation-duration: 240s;
    opacity: 0.4;
}

/* Camada de nebulosa */
.nebula-layer {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: 
        radial-gradient(ellipse 800px 400px at 30% 40%, rgba(138, 43, 226, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse 600px 300px at 70% 60%, rgba(75, 0, 130, 0.2) 0%, transparent 60%),
        radial-gradient(ellipse 400px 600px at 20% 80%, rgba(147, 51, 234, 0.1) 0%, transparent 40%);
    animation: nebula-drift 300s linear infinite;
    opacity: 0.7;
}

/* Espiral galáctica */
.galaxy-spiral {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 150%;
    height: 150%;
    transform: translate(-50%, -50%);
    background: 
        conic-gradient(from 0deg, 
            transparent 0deg, 
            rgba(168, 85, 247, 0.1) 45deg, 
            transparent 90deg,
            rgba(147, 51, 234, 0.08) 135deg,
            transparent 180deg,
            rgba(138, 43, 226, 0.12) 225deg,
            transparent 270deg,
            rgba(196, 181, 253, 0.06) 315deg,
            transparent 360deg
        );
    border-radius: 50%;
    animation: galaxy-rotation 400s linear infinite;
    opacity: 0.3;
}

/* Animações */
@keyframes drift {
    0% { transform: translate(0, 0); }
    100% { transform: translate(-50%, -50%); }
}

@keyframes nebula-drift {
    0% { transform: translate(0, 0) rotate(0deg); }
    100% { transform: translate(-30%, -30%) rotate(360deg); }
}

@keyframes galaxy-rotation {
    0% { transform: translate(-50%, -50%) rotate(0deg); }
    100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Vídeo real (para implementação futura) */
.universe-video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

.cosmic-animation {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: 
        radial-gradient(2px 2px at 20px 30px, rgba(255,255,255,0.8), transparent),
        radial-gradient(2px 2px at 40px 70px, rgba(255,255,255,0.6), transparent),
        radial-gradient(1px 1px at 90px 40px, rgba(255,255,255,0.9), transparent),
        radial-gradient(1px 1px at 130px 80px, rgba(255,255,255,0.4), transparent),
        radial-gradient(2px 2px at 160px 30px, rgba(255,255,255,0.7), transparent);
    background-repeat: repeat;
    background-size: 200px 100px;
    animation: cosmic-drift 15s ease-in-out infinite alternate;
}

@keyframes cosmic-drift {
    0% { 
        transform: translateX(-20px) translateY(-10px);
        opacity: 0.6;
    }
    100% { 
        transform: translateX(20px) translateY(10px);
        opacity: 1;
    }
}

.hero-content {
    max-width: 800px;
    animation: fadeInUp 1s ease-out;
}

.hero-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}

.highlight {
    background: linear-gradient(135deg, #7c3aed, #a855f7, #c084fc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    position: relative;
}

.highlight::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #7c3aed, #a855f7, #c084fc);
    border-radius: 2px;
    animation: glow 2s ease-in-out infinite alternate;
}

@keyframes glow {
    0% { box-shadow: 0 0 5px rgba(124, 58, 237, 0.5); }
    100% { box-shadow: 0 0 20px rgba(124, 58, 237, 0.8); }
}

.hero-subtitle {
    font-size: 1.25rem;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 3rem;
    line-height: 1.6;
}

.hero-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.cta-subtitle {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
}

/* Botões */
.btn {
    display: inline-block;
    padding: 1rem 2rem;
    border: none;
    border-radius: 50px;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    font-size: 1rem;
}

.btn-large {
    padding: 1.25rem 2.5rem;
    font-size: 1.1rem;
}

.btn-full {
    width: 100%;
    min-height: 48px;
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: auto;
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
    line-height: 1.1;
}

/* Hover unificado mantendo tema por variante */
.btn-full.btn-primary:hover { transform: translateY(-3px); }
.btn-full.btn-secondary:hover { transform: translateY(-3px); }
.btn-full.btn-gold:hover { transform: translateY(-3px); }

/* Foco acessível */
.btn-primary:focus-visible,
.btn-full.btn-primary:focus-visible {
    outline: 3px solid #c084fc;
    outline-offset: 2px;
}

.btn-secondary:focus-visible,
.btn-full.btn-secondary:focus-visible {
    outline: 3px solid #8b5cf6;
    outline-offset: 2px;
}

.btn-gold:focus-visible,
.btn-full.btn-gold:focus-visible {
    outline: 3px solid #ffed4e;
    outline-offset: 2px;
}

.btn[disabled], .btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
    filter: grayscale(10%);
}

.btn-primary {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    color: white;
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.4), 0 0 20px rgba(168, 85, 247, 0.3);
    border: 1px solid rgba(168, 85, 247, 0.3);
    position: relative;
    z-index: 10;
    cursor: pointer;
    pointer-events: auto;
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(124, 58, 237, 0.6), 0 0 25px rgba(168, 85, 247, 0.4);
    background: linear-gradient(135deg, #8b5cf6, #c084fc);
}

.btn-secondary {
    background: linear-gradient(135deg, #5b21b6, #7c3aed);
    color: white;
    box-shadow: 0 10px 30px rgba(91, 33, 182, 0.3);
    border: 1px solid rgba(124, 58, 237, 0.2);
    font-weight: 600;
    letter-spacing: 0.5px;
    position: relative;
    z-index: 10;
    cursor: pointer;
    pointer-events: auto;
}

.btn-secondary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(91, 33, 182, 0.5);
    background: linear-gradient(135deg, #6d28d9, #8b5cf6);
}

.btn-gold {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #1a0b2e;
    box-shadow: 0 10px 30px rgba(255, 215, 0, 0.3);
    border: 1px solid rgba(255, 215, 0, 0.2);
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: 0.5px;
    text-shadow: none;
    position: relative;
    z-index: 10;
    cursor: pointer;
    pointer-events: auto;
}

.btn-gold:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 40px rgba(255, 215, 0, 0.5);
    background: linear-gradient(135deg, #ffed4e, #ffd700);
    color: #1a0b2e;
}

/* CTAs nas descrições de planos */
.plan-bottom-cta { margin-top: 20px; text-align: center; }
.plan-bottom-cta .btn-full { margin-top: 0; }
.guarantee-text, .premium-guarantee { margin-top: 10px; font-size: 0.95rem; color: rgba(255, 255, 255, 0.85); }

/* Layout interno dos cards de preço */
.pricing-card .card-content { display: grid; grid-template-rows: auto 1fr auto auto auto; gap: 0.75rem; }

/* Acessibilidade: reduzir movimento quando preferido */
@media (prefers-reduced-motion: reduce) {
    .btn, .btn-full { transition: none !important; }
    .btn-primary:hover, .btn-secondary:hover, .btn-gold:hover { transform: none !important; }
}

/* Seções */
.section-header {
    text-align: center;
    margin-bottom: 3rem;
}

.section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 600;
    margin-bottom: 1rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Prova Social (seção principal) */
section.social-proof {
    padding: 80px 0;
    background: linear-gradient(135deg, rgba(45, 27, 105, 0.8), rgba(76, 29, 149, 0.6));
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
    margin-top: 3rem;
}

.stat-card {
    background: rgba(255, 255, 255, 0.05);
    padding: 2rem;
    border-radius: 20px;
    text-align: center;
    border: 1px solid rgba(168, 85, 247, 0.2);
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(124, 58, 237, 0.3);
}

.stat-number {
    font-size: 3rem;
    font-weight: 700;
    background: linear-gradient(135deg, #a855f7, #c084fc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.5rem;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

.stat-number.animate {
    opacity: 1;
    transform: translateY(0);
}

.stat-label {
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.9rem;
}

/* Quebra de Objeções */
.objections {
    padding: 80px 0;
    background: linear-gradient(135deg, rgba(26, 11, 46, 0.9), rgba(45, 27, 105, 0.7));
}

.objection-content {
    max-width: 800px;
    margin: 0 auto;
}

.objection-text {
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    border-radius: 20px;
    border: 1px solid rgba(168, 85, 247, 0.2);
    backdrop-filter: blur(10px);
}

.objection-text h3 {
    color: #ffffff;
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.objection-text p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.8;
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
}

/* Alinhamento central no desktop para os parágrafos desta seção */
@media (min-width: 1024px) {
    .objection-text p { text-align: center; }
}

.highlight-box {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.2), rgba(168, 85, 247, 0.1));
    padding: 1.5rem;
    border-radius: 15px;
    border-left: 4px solid #a855f7;
    margin-top: 2rem;
}

.highlight-box h4 {
    color: #a855f7;
    margin-bottom: 1rem;
    font-weight: 600;
}

.highlight-box p {
    margin-bottom: 0;
    color: rgba(255, 255, 255, 0.95);
}

/* Urgência */
.urgency {
    padding: 60px 0;
    background: linear-gradient(135deg, rgba(220, 38, 127, 0.1), rgba(168, 85, 247, 0.1));
    border-top: 2px solid rgba(168, 85, 247, 0.3);
    border-bottom: 2px solid rgba(168, 85, 247, 0.3);
}

.urgency-content {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.urgency-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    color: #ffffff;
    margin-bottom: 1.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.urgency-text {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    margin-bottom: 2rem;
}

.urgency-highlight {
    background: rgba(168, 85, 247, 0.1);
    padding: 1.5rem;
    border-radius: 15px;
    border: 1px solid rgba(168, 85, 247, 0.3);
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.95);
    line-height: 1.6;
}

.section-subtitle {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    text-align: justify;
}

/* Centralização em todas as larguras para subtítulos de seções específicas (Social Proof e Objeções) */
.social-proof .section-header .section-subtitle,
.objections .section-header .section-subtitle { text-align: center; }

/* Centralização em todas as larguras para subtítulos específicos (Planos e Como Funciona) */
.pricing .section-header .section-subtitle,
.how-it-works .section-header .section-subtitle { text-align: center; }
   
/* Análise Gratuita */
.free-analysis {
    padding: 80px 0;
    background: linear-gradient(135deg, rgba(26, 11, 46, 0.8), rgba(45, 27, 105, 0.6), rgba(76, 29, 149, 0.4));
    backdrop-filter: blur(10px);
}

.analysis-form {
    max-width: 600px;
    margin: 0 auto;
}

.cosmic-form {
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

/* Container do botão de submit */
.form-submit {
    margin-top: 2rem;
    text-align: center;
}

/* Validação de campos */
.form-group input.invalid {
    border-color: #ef4444;
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.3);
}

.form-group input.valid {
    border-color: #10b981;
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
}

.error-message {
    color: #ef4444;
    font-size: 0.875rem;
    margin-top: 0.5rem;
    display: none;
}

.error-message.show {
    display: block;
}

/* Layout em linha para campos relacionados */
.form-row {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

.form-row .form-group {
    flex: 1;
    margin-bottom: 0;
}

/* Responsividade para telas menores */
@media (max-width: 768px) {
    .form-row {
        flex-direction: column;
        gap: 0;
    }
    
    .form-row .form-group {
        margin-bottom: 20px;
    }
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
}

.form-group input,
.form-group select {
    width: 100%;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    font-size: 1rem;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

/* Estilo específico para selects */
.form-group select {
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 5"><path fill="%23ffffff" d="M2 0L0 2h4zm0 5L0 3h4z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 15px center;
    background-size: 12px;
    padding-right: 40px;
    cursor: pointer;
}

/* Select desabilitado */
.form-group select:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: rgba(255, 255, 255, 0.05);
}

/* Opções do select */
.form-group select option {
    background: #2a1a4a;
    color: white;
    padding: 10px;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: #7c3aed;
    box-shadow: 0 0 20px rgba(124, 58, 237, 0.3);
}

/* Hover para selects habilitados */
.form-group select:not(:disabled):hover {
    border-color: rgba(124, 58, 237, 0.6);
    background-color: rgba(255, 255, 255, 0.15);
}

.form-group input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

/* Animação de carregamento para selects */
.form-group select[data-loading="true"] {
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><circle cx="25" cy="25" r="20" fill="none" stroke="%23ffffff" stroke-width="4" stroke-dasharray="31.416" stroke-dashoffset="31.416"><animate attributeName="stroke-dasharray" dur="2s" values="0 31.416;15.708 15.708;0 31.416" repeatCount="indefinite"/><animate attributeName="stroke-dashoffset" dur="2s" values="0;-15.708;-31.416" repeatCount="indefinite"/></circle></svg>');
    background-size: 16px;
    background-position: right 15px center;
}

/* Problema e Solução */
.problem-solution {
    padding: 80px 0;
}

.content-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
}

.problem, .solution {
    background: rgba(255, 255, 255, 0.05);
    padding: 2.5rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.problem h3, .solution h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.problem ul, .solution ul {
    list-style: none;
}

.problem li, .solution li {
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    position: relative;
    padding-left: 1.5rem;
}

.problem li::before {
    content: '❌';
    position: absolute;
    left: 0;
}

.solution li::before {
    content: '✅';
    position: absolute;
    left: 0;
}

/* Pricing */
.pricing {
    padding: 100px 0;
    background: linear-gradient(135deg, rgba(26, 11, 46, 0.6), rgba(45, 27, 105, 0.5), rgba(76, 29, 149, 0.3));
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
    align-items: stretch;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 1024px) {
    .pricing-grid {
        grid-template-columns: repeat(3, minmax(320px, 1fr));
        gap: 2rem;
        align-items: stretch; /* força cartões a esticarem igualmente */
    }
}

.pricing-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 2.5rem;
    text-align: center;
    position: relative;
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    cursor: default;
    user-select: text;
    display: grid;
    grid-template-rows: auto 1fr auto; /* header | conteúdo flexível | CTA/rodapé */
    min-height: 700px;
}

.pricing-card.featured {
    border: 2px solid #7c3aed;
    box-shadow: 0 0 40px rgba(124, 58, 237, 0.4);
    transform: none;
}

.pricing-card.premium {
    border: 2px solid #ffd700;
    box-shadow: 0 0 50px rgba(255, 215, 0, 0.5);
    transform: none;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), rgba(255, 255, 255, 0.05));
}

.premium-badge {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #1a0b2e;
    padding: 0.6rem 1.2rem;
    border-radius: 25px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 5px 20px rgba(255, 215, 0, 0.4);
    animation: goldPulse 3s infinite;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
    line-height: 1.2;
    z-index: 10;
}

@keyframes goldPulse {
    0%, 100% { transform: translateX(-50%) scale(1); box-shadow: 0 5px 20px rgba(255, 215, 0, 0.4); }
    50% { transform: translateX(-50%) scale(1.1); box-shadow: 0 8px 30px rgba(255, 215, 0, 0.6); }
}

.popular-badge {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #7c3aed, #a855f7);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 25px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 5px 15px rgba(124, 58, 237, 0.3);
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
    line-height: 1.2;
    z-index: 10;
}

.starter-badge {
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    transform: none;
    background: linear-gradient(135deg, #dc2626, #ef4444);
    color: white;
    padding: 0.6rem 1.2rem;
    border-radius: 25px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    box-shadow: 0 5px 15px rgba(220, 38, 38, 0.4);
    animation: pulse 2s infinite;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: max-content;
    max-width: 90%;
    line-height: 1.2;
    z-index: 10;
    margin-left: auto;
    margin-right: auto;
}

@keyframes pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

.pricing-card.starter {
    border: 2px solid #dc2626;
    box-shadow: 0 0 30px rgba(220, 38, 38, 0.3);
}

.pricing-card.starter .starter-badge {
    left: 0;
    right: 0;
    transform: none;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.price-comparison {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.old-price {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: line-through;
    font-size: 1rem;
}

.discount {
    background: linear-gradient(135deg, #dc2626, #ef4444);
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 15px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.discount.premium-discount {
    background: linear-gradient(135deg, #ffd700, #ffed4e);
    color: #1a0b2e;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0.4rem 1rem;
    box-shadow: 0 3px 15px rgba(255, 215, 0, 0.3);
    animation: discountGlow 2s infinite alternate;
}

@keyframes discountGlow {
    0% { box-shadow: 0 3px 15px rgba(255, 215, 0, 0.3); }
    100% { box-shadow: 0 5px 25px rgba(255, 215, 0, 0.5); }
}

.risk-free {
    background: linear-gradient(135deg, #4A90E2, #7B68EE);
    color: #ffffff;
    padding: 1rem;
    border-radius: 10px;
    margin: 0.75rem 0;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
    text-align: center;
}

.risk-free strong {
    font-weight: 800;
    letter-spacing: 0.2px;
}

.guarantee-text {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: #E1E6FF;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
}

.plan-name {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
    margin-top: 1.25rem;
    color: #ffffff;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.plan-price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin-bottom: 1rem;
}

.currency {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
}

.amount {
    font-size: 3rem;
    font-weight: 700;
    color: white;
    margin: 0 0.2rem;
}

.cents {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, 0.8);
}

/* Padronização da altura do cabeçalho dos cards para alinhar a descrição */
.pricing-card .card-header {
    display: grid;
    grid-template-areas:
        "name"
        "price"
        "discount";
    row-gap: 0.6rem;
    align-items: start;
    justify-items: center;
    min-height: 0; /* remove a altura mínima para eliminar espaço vazio e aproximar a descrição da badge */
}

/* Mapeamento de áreas do grid no header */
.pricing-card .plan-name { grid-area: name; }
.pricing-card .price-comparison { grid-area: price; }
.pricing-card .discount { grid-area: discount; }

.plan-description {
    color: rgba(255, 255, 255, 0.9);
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    line-height: 1.6;
}

/* Ajuste específico para o card Caminhos Revelados */
/* Estilos padronizados para todos os cards de preço */
.pricing-card .price-comparison {
    margin-bottom: 0;
    position: relative;
}

/* Estilo base para todos os badges de desconto */
.pricing-card .discount {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: static;
    margin-top: 0.25rem;
    margin-bottom: 0;
    z-index: 5;
}

/* Ajustes específicos para o card Essência Astral */
.pricing-card:not(.featured):not(.premium) .discount {
    position: static;
    top: auto;
    right: auto;
}

/* Ajustes específicos para o card Caminhos Revelados */
.pricing-card.featured .discount {
    position: static;
    top: auto;
    right: auto;
}

/* Ajustes específicos para o card O Grande Oráculo */
.pricing-card.premium .discount {
    position: static;
    top: auto;
    right: auto;
}

/* Espaçamento padronizado para descrições em todos os cards */
.pricing-card .plan-description {
    margin-top: 1.25rem;
    padding-top: 0;
    margin-bottom: 2rem;
}

/* Correção fina por card: manter igual ao Premium */
.pricing-card.starter .plan-description,
.pricing-card.featured .plan-description {
    margin-top: 1.25rem; /* igual ao espaçamento base do Premium */
}

.plan-features {
    list-style: none;
    margin-top: 0;
    margin-bottom: 1.5rem;
    padding-left: 0;
    text-align: left;
}

.plan-features li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.6rem 0;
    line-height: 1.5;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
}

.plan-features li:last-child {
    border-bottom: none;
}

.feature-icon {
    width: 20px;
    height: 20px;
    color: #e0e7ff;
    flex: 0 0 20px; /* largura fixa para manter alinhamento vertical */
    margin-top: 0.2rem; /* alinhado com a primeira linha do texto */
}

@media (max-width: 480px) {
    .plan-features li {
        gap: 0.65rem;
        line-height: 1.6;
    }
    .feature-icon { width: 18px; height: 18px; flex-basis: 18px; }
}

/* Seção Detalhada dos Planos */
.detailed-plans {
    padding: 80px 0;
    background: linear-gradient(135deg, #0f0f23 0%, #1a1a3e 50%, #2d1b69 100%);
    position: relative;
    overflow: hidden;
}

.detailed-plans::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 80%, rgba(168, 85, 247, 0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(192, 132, 252, 0.1) 0%, transparent 50%);
    pointer-events: none;
}

.plan-detailed {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(168, 85, 247, 0.3);
    border-radius: 20px;
    padding: 40px;
    margin-bottom: 40px;
    backdrop-filter: blur(10px);
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
}

.plan-detailed:hover {
    transform: translateY(-5px);
    border-color: rgba(168, 85, 247, 0.6);
    box-shadow: 0 20px 40px rgba(168, 85, 247, 0.2);
}

.plan-detailed::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, #a855f7, #c084fc, #e879f9);
}

.plan-header {
    text-align: center;
    margin-bottom: 30px;
}

.plan-badge {
    display: inline-block;
    padding: 8px 20px;
    background: linear-gradient(135deg, #a855f7, #c084fc);
    color: white;
    border-radius: 25px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.plan-badge.popular {
    background: linear-gradient(135deg, #f59e0b, #f97316);
}

.plan-badge.premium {
    background: linear-gradient(135deg, #eab308, #f59e0b);
}

.plan-detailed h3 {
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 10px;
    font-weight: 700;
}

.social-proof {
    color: #c084fc;
    font-size: 16px;
    font-weight: 500;
    background: transparent;
    padding: 10px 0;
    text-align: center;
}

.value-highlight {
    background: linear-gradient(135deg, #4A90E2, #7B68EE);
    color: white;
    padding: 1rem;
    border-radius: 10px;
    margin: 0.75rem 0;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
    text-align: center;
}

.ultimate-value {
    background: linear-gradient(135deg, #4A90E2, #7B68EE);
    color: white;
    padding: 1rem;
    border-radius: 10px;
    margin: 0.75rem 0;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(74, 144, 226, 0.3);
    text-align: center;
}

.pricing-card .card-content .social-proof {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    font-size: 0.9rem;
    color: #DEE5FF;
    font-weight: 500;
    text-align: center;
    background: transparent;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 0;
}

.premium-guarantee {
    margin-top: 0.75rem;
    font-size: 0.9rem;
    color: #DEE5FF;
    font-weight: 500;
    text-align: center;
}

@media (max-width: 480px) {
  .risk-free { padding: 0.7rem 0.75rem; margin: 1rem 0 0.75rem; }
  .guarantee-text,
  .pricing-card .card-content .social-proof,
  .premium-guarantee { font-size: 0.85rem; line-height: 1.4; }
}

@media (min-width: 481px) and (max-width: 768px) {
  .risk-free { padding: 0.8rem 0.9rem; }
  .guarantee-text,
  .pricing-card .card-content .social-proof,
  .premium-guarantee { font-size: 0.9rem; }
}

.testimonial-count {
    background: rgba(168, 85, 247, 0.2);
    padding: 5px 15px;
    border-radius: 15px;
    border: 1px solid rgba(168, 85, 247, 0.3);
}

.plan-content h4 {
    color: #ffffff;
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: 600;
}

.benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 15px;
    border: 1px solid rgba(168, 85, 247, 0.2);
    transition: all 0.3s ease;
}

.benefit-item:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(168, 85, 247, 0.4);
}

.benefit-icon {
    font-size: 24px;
    min-width: 40px;
    text-align: center;
}

.benefit-text {
    color: #e0e7ff;
    line-height: 1.6;
}

.benefit-text strong {
    color: #ffffff;
    display: block;
    margin-bottom: 5px;
}

.urgency-section, .scarcity-section, .exclusive-section {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.2));
    border: 2px solid rgba(239, 68, 68, 0.5);
    border-radius: 15px;
    padding: 20px;
    margin: 30px 0;
    text-align: center;
}

.urgency-badge, .scarcity-badge, .exclusive-badge {
    display: inline-block;
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.exclusive-badge {
    background: linear-gradient(135deg, #eab308, #f59e0b);
}

.urgency-section p, .scarcity-section p, .exclusive-section p {
    color: #ffffff;
    font-size: 16px;
    margin: 0;
    line-height: 1.6;
}

.highlight-badge {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: #000;
    padding: 2px 8px;
    border-radius: 5px;
    font-weight: bold;
    display: inline-block;
}

.transformation-promise {
    margin: 30px 0;
}

.promise-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.promise-list li {
    color: #e0e7ff;
    padding: 10px 0;
    font-size: 16px;
    line-height: 1.6;
    border-bottom: 1px solid rgba(168, 85, 247, 0.2);
}

.promise-list li:last-child {
    border-bottom: none;
}

.social-proof-section {
    margin: 30px 0;
}

.testimonial {
    background: rgba(255, 255, 255, 0.05);
    border-left: 4px solid #a855f7;
    padding: 20px;
    border-radius: 10px;
    margin-top: 15px;
}

.testimonial p {
    color: #e0e7ff;
    font-style: italic;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 1.6;
}

.testimonial-author {
    color: #c084fc;
    font-weight: 600;
    font-size: 14px;
}

.value-explosion {
    margin: 30px 0;
}

.value-breakdown {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 15px;
    padding: 25px;
    margin-top: 20px;
}

.value-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(168, 85, 247, 0.2);
    color: #e0e7ff;
}

.value-item:last-child {
    border-bottom: none;
}

.value-total {
    border-top: 2px solid rgba(168, 85, 247, 0.5);
    margin-top: 15px;
    padding-top: 15px;
    font-size: 18px;
}

.your-investment {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.2), rgba(22, 163, 74, 0.2));
    border: 2px solid rgba(34, 197, 94, 0.5);
    border-radius: 10px;
    padding: 15px;
    margin-top: 15px;
    font-size: 20px;
}

.final-cta-section {
    text-align: center;
    margin-top: 60px;
    padding: 40px;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(220, 38, 38, 0.1));
    border: 2px solid rgba(239, 68, 68, 0.3);
    border-radius: 20px;
}

.urgency-final h3 {
    color: #ffffff;
    font-size: 32px;
    margin-bottom: 30px;
    font-weight: 700;
}

.countdown-timer {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 30px 0;
}

.time-unit {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    border-radius: 15px;
    padding: 20px;
    min-width: 80px;
    text-align: center;
}

.time-number {
    display: block;
    color: #ffffff;
    font-size: 32px;
    font-weight: bold;
    line-height: 1;
}

.time-label {
    display: block;
    color: #fecaca;
    font-size: 14px;
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.final-warning {
    color: #ffffff;
    font-size: 18px;
    font-weight: 600;
    margin-top: 20px;
}

@media (max-width: 768px) {
    .detailed-plans {
        padding: 40px 0;
    }
    
    .plan-detailed {
        padding: 25px;
        margin-bottom: 30px;
    }
    
    .benefits-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .countdown-timer {
        gap: 15px;
    }
    
    .time-unit {
        padding: 15px;
        min-width: 60px;
    }
    
    .time-number {
        font-size: 24px;
    }
    
    .value-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
}

/* Seção Como Funciona - Redesign Quântico */
.how-it-works {
    padding: 120px 0;
    position: relative;
    overflow: hidden;
    background: linear-gradient(
        135deg,
        #0a0a0f 0%,
        #1a0b2e 25%,
        #2d1b69 50%,
        #1e1b4b 75%,
        #0f0f23 100%
    );
}

/* Background Cósmico Exclusivo */
.cosmic-process-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    overflow: hidden;
}

.quantum-particles {
    position: absolute;
    width: 250%;
    height: 250%;
    left: -75%;
    top: -75%;
    background-image: 
        radial-gradient(3px 3px at 25px 25px, rgba(168, 85, 247, 0.8), transparent),
        radial-gradient(2px 2px at 75px 50px, rgba(192, 132, 252, 0.6), transparent),
        radial-gradient(1px 1px at 125px 75px, rgba(232, 121, 249, 0.4), transparent),
        radial-gradient(2px 2px at 200px 25px, rgba(139, 92, 246, 0.7), transparent),
        radial-gradient(1px 1px at 300px 100px, rgba(168, 85, 247, 0.5), transparent),
        radial-gradient(2px 2px at 350px 180px, rgba(147, 51, 234, 0.6), transparent);
    background-repeat: repeat;
    background-size: 400px 250px;
    animation: quantum-float-enhanced 10s ease-in-out infinite alternate;
}

.data-streams {
    position: absolute;
    width: 300%;
    height: 300%;
    left: -100%;
    top: -100%;
    background: 
        linear-gradient(45deg, transparent 40%, rgba(168, 85, 247, 0.1) 50%, transparent 60%),
        linear-gradient(-45deg, transparent 40%, rgba(192, 132, 252, 0.08) 50%, transparent 60%);
    background-size: 400px 400px;
    animation: data-flow-seamless 20s linear infinite;
}

.neural-network {
    position: absolute;
    width: 200%;
    height: 200%;
    left: -50%;
    top: -50%;
    background: 
        radial-gradient(ellipse at 20% 30%, rgba(124, 58, 237, 0.15) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 70%, rgba(139, 92, 246, 0.12) 0%, transparent 50%),
        radial-gradient(ellipse at 60% 20%, rgba(168, 85, 247, 0.1) 0%, transparent 50%),
        radial-gradient(ellipse at 40% 80%, rgba(147, 51, 234, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 40%, rgba(196, 181, 253, 0.06) 0%, transparent 50%);
    animation: neural-pulse-enhanced 18s ease-in-out infinite alternate;
}

@keyframes quantum-float-enhanced {
    0% { transform: translateY(0px) translateX(-30px) rotate(0deg); opacity: 0.6; }
    50% { transform: translateY(-10px) translateX(0px) rotate(1deg); opacity: 0.8; }
    100% { transform: translateY(-20px) translateX(30px) rotate(2deg); opacity: 1; }
}

@keyframes data-flow-seamless {
    0% { transform: translateX(-400px) translateY(-200px); }
    100% { transform: translateX(400px) translateY(200px); }
}

@keyframes neural-pulse-enhanced {
    0% { transform: scale(1) rotate(0deg) translateX(-20px); opacity: 0.3; }
    50% { transform: scale(1.05) rotate(0.5deg) translateX(0px); opacity: 0.5; }
    100% { transform: scale(1.1) rotate(1deg) translateX(20px); opacity: 0.6; }
}

/* Grid Quântico */
.quantum-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem;
    margin-top: 4rem;
    position: relative;
    z-index: 2;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 1024px) {
    .quantum-steps-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 2rem;
    }
}

.quantum-step {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(168, 85, 247, 0.2);
    border-radius: 20px;
    padding: 2.5rem;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
    transform: translateY(0);
}

.quantum-step::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(168, 85, 247, 0.1),
        transparent
    );
    transition: left 0.6s ease;
}

.quantum-step:hover::before {
    left: 100%;
}

.quantum-step:hover {
    transform: translateY(-10px);
    border-color: rgba(168, 85, 247, 0.4);
    box-shadow: 
        0 20px 60px rgba(168, 85, 247, 0.2),
        0 0 40px rgba(192, 132, 252, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

/* Ícones Inovadores */
.step-icon-container {
    position: relative;
    width: 100px;
    height: 100px;
    margin: 0 auto 2rem;
}

.step-icon {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7c3aed 0%, #a855f7 50%, #c084fc 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    box-shadow: 
        0 15px 35px rgba(124, 58, 237, 0.4),
        0 5px 15px rgba(168, 85, 247, 0.3);
    animation: icon-pulse 3s ease-in-out infinite;
}

.step-glow {
    position: absolute;
    top: -10px;
    left: -10px;
    right: -10px;
    bottom: -10px;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.3) 0%, transparent 70%);
    border-radius: 50%;
    z-index: 1;
    animation: glow-pulse 3s ease-in-out infinite alternate;
}

.icon-svg {
    width: 50px;
    height: 50px;
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.3));
}

@keyframes icon-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes glow-pulse {
    0% { opacity: 0.5; transform: scale(1); }
    100% { opacity: 0.8; transform: scale(1.1); }
}

/* Títulos e Textos */
.quantum-step h3 {
    font-family: 'Orbitron', 'Playfair Display', serif;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
    color: #ffffff;
    text-shadow: 0 0 20px rgba(168, 85, 247, 0.5);
    letter-spacing: 0.5px;
}

.quantum-step p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.7;
    font-size: 1rem;
    margin-bottom: 1.5rem;
}

.quantum-step p strong {
    color: #c084fc;
    font-weight: 600;
    text-shadow: 0 0 10px rgba(192, 132, 252, 0.3);
}

/* Tech Badges */
.tech-badge {
    display: inline-block;
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.2), rgba(168, 85, 247, 0.2));
    border: 1px solid rgba(168, 85, 247, 0.3);
    border-radius: 25px;
    padding: 0.5rem 1rem;
    font-size: 0.8rem;
    color: #c084fc;
    font-weight: 500;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
    box-shadow: 0 5px 15px rgba(124, 58, 237, 0.2);
}

/* Garantia Quântica */
.quantum-guarantee {
    margin-top: 4rem;
    text-align: center;
    position: relative;
    z-index: 2;
}

.guarantee-content {
    background: linear-gradient(135deg, rgba(168, 85, 247, 0.1), rgba(124, 58, 237, 0.1));
    border: 2px solid rgba(168, 85, 247, 0.3);
    border-radius: 20px;
    padding: 2.5rem;
    backdrop-filter: blur(20px);
    box-shadow: 
        0 20px 60px rgba(168, 85, 247, 0.2),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    position: relative;
    overflow: hidden;
}

.guarantee-content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        45deg,
        transparent 30%,
        rgba(168, 85, 247, 0.05) 50%,
        transparent 70%
    );
    animation: guarantee-shimmer 4s ease-in-out infinite;
}

@keyframes guarantee-shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

.guarantee-content h3 {
    font-family: 'Orbitron', serif;
    font-size: 1.6rem;
    color: #ffffff;
    margin-bottom: 1rem;
    text-shadow: 0 0 20px rgba(168, 85, 247, 0.5);
}

.guarantee-content p {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.1rem;
    line-height: 1.6;
}

.guarantee-content p strong {
    color: #c084fc;
    font-weight: 600;
    text-shadow: 0 0 10px rgba(192, 132, 252, 0.3);
}

/* Gradientes SVG */
.quantum-step svg defs {
    position: absolute;
}

.quantum-step svg {
    overflow: visible;
}

/* Media query para telas maiores */
@media (min-width: 1200px) {
    .pricing-card.featured .discount {
        position: static;
        top: auto;
        right: auto;
    }
}

/* Media query para telas médias */
@media (min-width: 992px) and (max-width: 1199px) {
    .pricing-card.featured .discount {
        position: static;
        top: auto;
        right: auto;
    }
}

/* Responsividade */
@media (max-width: 768px) {
    .quantum-steps-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .quantum-step {
        padding: 2rem;
    }
    
    .step-icon-container {
        width: 80px;
        height: 80px;
    }
    
    .step-icon {
        width: 80px;
        height: 80px;
    }
    
    .icon-svg {
        width: 40px;
        height: 40px;
    }
    
    .quantum-step h3 {
        font-size: 1.2rem;
    }
    
    .guarantee-content {
        padding: 2rem;
    }
    
    .guarantee-content h3 {
        font-size: 1.4rem;
    }
}

/* Depoimentos */
.testimonials {
    padding: 80px 0;
    background: linear-gradient(135deg, #1a0b2e 0%, #16213e 50%, #0f3460 100%);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.testimonial {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 20px;
    padding: 25px;
    transition: all 0.3s ease;
    position: relative;
}

.testimonial:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(157, 78, 221, 0.2);
    border-color: rgba(157, 78, 221, 0.4);
}

.testimonial-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.testimonial-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(157, 78, 221, 0.5);
    transition: all 0.3s ease;
}

.testimonial:hover .testimonial-avatar {
    border-color: #9d4edd;
    transform: scale(1.05);
}

.testimonial-info {
    flex: 1;
}

.testimonial-info strong {
    display: block;
    color: #ffffff;
    font-size: 1.1rem;
    margin-bottom: 4px;
}

.testimonial-info span {
    display: block;
    color: rgba(157, 78, 221, 0.8);
    font-size: 0.9rem;
    margin-bottom: 6px;
}

.testimonial-rating {
    font-size: 0.9rem;
    letter-spacing: 2px;
}

.testimonial-content {
    margin-bottom: 15px;
}

.testimonial-content p {
    font-size: 1rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.9);
    font-style: italic;
    margin: 0;
}

.testimonial-date {
    color: rgba(255, 255, 255, 0.6);
    font-size: 0.85rem;
    text-align: right;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 12px;
    margin-top: 15px;
}

/* Estatísticas dos depoimentos */
.testimonials-stats {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-top: 60px;
    padding: 40px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
    backdrop-filter: blur(10px);
}

.stat-item {
    text-align: center;
}

.stat-number {
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
    color: #9d4edd;
    margin-bottom: 8px;
    text-shadow: 0 0 20px rgba(157, 78, 221, 0.5);
}

.stat-label {
    display: block;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Garantia */
.guarantee {
    padding: 80px 0;
}

.guarantee-content {
    text-align: center;
    background: rgba(255, 255, 255, 0.05);
    padding: 3rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.guarantee-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.guarantee-content h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.8rem;
    margin-bottom: 1rem;
    color: #a855f7;
}

.guarantee-content p {
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.6;
    max-width: 600px;
    margin: 0 auto;
}

/* FAQ */
.faq {
    padding: 100px 0;
}

.faq-list {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 15px;
    margin-bottom: 1rem;
    overflow: hidden;
    backdrop-filter: blur(10px);
}

.faq-question {
    padding: 1.5rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.faq-question:hover {
    background: rgba(255, 255, 255, 0.1);
}

.faq-question h4 {
    color: white;
    font-weight: 600;
}

.faq-toggle {
    font-size: 1.5rem;
    color: #7c3aed;
    transition: transform 0.3s ease;
}

.faq-item.active .faq-toggle {
    transform: rotate(45deg);
}

.faq-answer {
    padding: 0 1.5rem;
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item.active .faq-answer {
    padding: 0 1.5rem 1.5rem;
    max-height: 200px;
}

.faq-answer p {
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}

/* CTA Final */
.final-cta {
    padding: 100px 0;
    background: linear-gradient(135deg, rgba(26, 11, 46, 0.9), rgba(45, 27, 105, 0.7), rgba(76, 29, 149, 0.5));
    text-align: center;
}

.cta-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 2.5rem);
    margin-bottom: 1.5rem;
    background: linear-gradient(135deg, #ffffff, #ddd6fe, #c4b5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.cta-content p {
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 2.5rem;
    line-height: 1.6;
}

/* Footer */
.footer {
    background: rgba(10, 10, 15, 0.95);
    padding: 60px 0 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 3rem;
    margin-bottom: 2rem;
}

.footer-brand h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
    background: linear-gradient(135deg, #a855f7, #c084fc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.footer-brand p {
    color: rgba(255, 255, 255, 0.7);
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.footer-column h4 {
    color: #a855f7;
    margin-bottom: 1rem;
    font-weight: 600;
}

.footer-column ul {
    list-style: none;
}

.footer-column li {
    margin-bottom: 0.5rem;
}

.footer-column a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-column a:hover {
    color: #a855f7;
}

.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.6);
}

/* Efeitos Neon Modernos */
.neon-glow {
    box-shadow: 
        0 0 5px rgba(124, 58, 237, 0.5),
        0 0 10px rgba(124, 58, 237, 0.4),
        0 0 15px rgba(124, 58, 237, 0.3),
        0 0 20px rgba(124, 58, 237, 0.2);
}

.pricing-card.featured {
    border: 2px solid #7c3aed;
    box-shadow: 
        0 0 20px rgba(124, 58, 237, 0.4),
        0 0 20px rgba(168, 85, 247, 0.3),
        inset 0 0 20px rgba(124, 58, 237, 0.1);
    transform: none;
    position: relative;
}

.pricing-card.featured::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(45deg, #7c3aed, #a855f7, #c084fc, #7c3aed);
    border-radius: 22px;
    z-index: -1;
    animation: neon-border 3s linear infinite;
    pointer-events: none; /* Garante que não bloqueia interação */
}

@keyframes neon-border {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Melhor contraste para textos */
.hero-subtitle {
    font-size: clamp(1rem, 2.5vw, 1.1rem);
    color: rgba(255, 255, 255, 0.95);
    margin-bottom: 2rem;
    line-height: 1.5;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.section-subtitle {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.9);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

/* Animações */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Efeito de brilho nos cards */
.pricing-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(168, 85, 247, 0.1),
        transparent
    );
    transition: left 0.5s;
    pointer-events: none; /* Permite interação através da camada */
    z-index: 1;
}

/* Efeitos de hover para pricing-cards */
.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(124, 58, 237, 0.2);
    border-color: rgba(168, 85, 247, 0.3);
}

.pricing-card.featured:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(124, 58, 237, 0.5);
}

.pricing-card.premium:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(255, 215, 0, 0.6);
}

.pricing-card.starter:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(220, 38, 38, 0.4);
}

.pricing-card:hover::after {
    left: 100%;
}



/* Estilos personalizados para Flatpickr */
.flatpickr-calendar {
    background: linear-gradient(135deg, #1a0b2e 0%, #16213e 50%, #0f3460 100%) !important;
    border: 1px solid rgba(138, 43, 226, 0.3) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3), 0 0 30px rgba(138, 43, 226, 0.2) !important;
    backdrop-filter: blur(10px) !important;
}

.flatpickr-calendar.open {
    animation: cosmicFadeIn 0.3s ease-out !important;
}

@keyframes cosmicFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.flatpickr-months {
    background: transparent !important;
}

.flatpickr-month {
    background: transparent !important;
    color: #ffffff !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInputWrapper {
    background: rgba(138, 43, 226, 0.2) !important;
    border: 1px solid rgba(138, 43, 226, 0.3) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
}

.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month .numInputWrapper:hover {
    background: rgba(138, 43, 226, 0.3) !important;
}

.flatpickr-weekdays {
    background: transparent !important;
}

.flatpickr-weekday {
    background: transparent !important;
    color: #b794f6 !important;
    font-weight: 600 !important;
}

.flatpickr-days {
    background: transparent !important;
}

.flatpickr-day {
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    transition: all 0.2s ease !important;
}

.flatpickr-day:hover {
    background: rgba(138, 43, 226, 0.3) !important;
    border-radius: 6px !important;
    transform: scale(1.05) !important;
}

.flatpickr-day.selected {
    background: linear-gradient(135deg, #8a2be2, #9d4edd) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    box-shadow: 0 4px 12px rgba(138, 43, 226, 0.4) !important;
}

.flatpickr-day.today {
    border: 2px solid #ffd700 !important;
    border-radius: 6px !important;
    color: #ffd700 !important;
    font-weight: 600 !important;
}

.flatpickr-day.today:hover {
    background: rgba(255, 215, 0, 0.2) !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    color: #b794f6 !important;
    transition: all 0.2s ease !important;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    color: #8a2be2 !important;
    transform: scale(1.1) !important;
}

/* Estilos para o seletor de hora */
.flatpickr-time {
    background: transparent !important;
    border-top: 1px solid rgba(138, 43, 226, 0.3) !important;
}

.flatpickr-time input {
    background: rgba(138, 43, 226, 0.2) !important;
    border: 1px solid rgba(138, 43, 226, 0.3) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.flatpickr-time input:hover {
    background: rgba(138, 43, 226, 0.3) !important;
}

.flatpickr-time .flatpickr-time-separator {
    color: #b794f6 !important;
    font-weight: 600 !important;
}

.flatpickr-am-pm {
    background: rgba(138, 43, 226, 0.2) !important;
    border: 1px solid rgba(138, 43, 226, 0.3) !important;
    border-radius: 6px !important;
    color: #ffffff !important;
    font-weight: 600 !important;
}

.flatpickr-am-pm:hover {
    background: rgba(138, 43, 226, 0.3) !important;
}

/* Melhorias nos inputs do formulário para combinar com o Flatpickr */
.form-group input[readonly] {
    cursor: pointer !important;
    background: rgba(255, 255, 255, 0.05) !important;
    transition: all 0.3s ease !important;
}

.form-group input[readonly]:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 25px rgba(138, 43, 226, 0.2) !important;
}

.form-group input[readonly]:focus {
    background: rgba(255, 255, 255, 0.1) !important;
    border-color: #8a2be2 !important;
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.3) !important;
}

/* Responsividade */
@media (max-width: 768px) {
    .nav {
        padding: 1rem;
    }
    
    .nav-links {
        display: none;
    }
    
    .hero {
        padding: 100px 0 60px;
    }
    
    .content-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .pricing-card.featured,
    .pricing-card.premium {
        transform: none;
    }
    
    .premium-badge,
    .popular-badge,
    .starter-badge {
        font-size: 0.7rem;
        padding: 0.5rem 1rem;
        top: -18px;
        max-width: 85%;
        letter-spacing: 0.5px;
    }
    
    .plan-name {
        margin-top: 0.75rem;
        font-size: 1.3rem;
    }
    
    .pricing-card.featured .plan-name {
        margin-top: 0.75rem;
    }
    
    /* Efeito de hover removido para evitar conflitos */
    
    .steps-grid {
        grid-template-columns: 1fr;
    }
    
    .testimonials-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .testimonial {
        padding: 20px;
    }
    
    .testimonial-avatar {
        width: 50px;
        height: 50px;
    }
    
    .testimonials-stats {
        flex-direction: column;
        gap: 30px;
        text-align: center;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .form-row {
        grid-template-columns: 1fr;
    }
    
    .cosmic-form {
        padding: 2rem;
    }
    
    .flatpickr-calendar {
        font-size: 14px !important;
    }
    
    .flatpickr-day {
        height: 35px !important;
        line-height: 35px !important;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 15px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .section-title {
        font-size: 1.8rem;
    }
    
    .btn-large {
        padding: 1rem 1.5rem;
        font-size: 1rem;
    }
    
    .cosmic-form {
        padding: 1.5rem;
    }
    
    .pricing-card {
        padding: 1.5rem;
    }
    
    /* Ajustes específicos para o card featured em mobile */
    .pricing-card.featured .price-comparison {
        margin-bottom: 1rem !important;
    }
    
    .pricing-card.featured .discount {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: static;
        top: auto;
        right: auto;
        margin-top: 0.25rem;
        margin-bottom: 0;
    }
    
    .pricing-card.featured .plan-description {
        margin-top: 1.25rem !important; /* consistente com Premium */
        padding-top: 0 !important;
        margin-bottom: 2rem;
    }
}