/* Mobile-Only Premium Animations & Optimizations */

@media (max-width: 768px) {
    #mobile-sticky-cta {
        /* Base state: Visible & Premium */
        display: block !important;
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
        filter: blur(0px);
        transition:
            opacity 0.8s cubic-bezier(0.23, 1, 0.32, 1),
            transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1),
            filter 0.6s ease !important;
        pointer-events: auto;
        visibility: visible;
        z-index: 99;
    }

    /* Premium Entrance/Exit State */
    #mobile-sticky-cta.hide-footer {
        opacity: 0 !important;
        transform: translate(-50%, 60px) scale(0.85) !important;
        filter: blur(8px) !important;
        pointer-events: none !important;
        visibility: hidden !important;
    }

    /* Extra Premium touch: subtle glow pulse when visible */
    #mobile-sticky-cta .button-custom {
        box-shadow: 0 10px 40px rgba(0, 163, 255, 0.3), 0 0 20px rgba(0, 163, 255, 0.1);
        animation: premiumPulse 4s infinite ease-in-out;
    }

    /* "O ERRO" Section Optimization */
    #problema {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: clamp(2.5rem, 8vh, 4rem) !important;
        padding-bottom: clamp(2.5rem, 8vh, 4rem) !important;
    }

    #problema h2 {
        font-size: clamp(1.75rem, 8.5vw, 2.75rem) !important;
        margin-bottom: 2vh !important;
        max-width: 100% !important;
    }

    #problema p.text-lg {
        font-size: clamp(0.95rem, 4vw, 1.1rem) !important;
        margin-bottom: 4vh !important;
        line-height: 1.5 !important;
    }

    #problema .grid {
        gap: 1.25rem !important;
        width: 100% !important;
    }

    #problema .card-h {
        padding: 2.5rem 1.25rem !important;
        min-height: 240px !important;
        /* Garante que os cards preencham bem a tela */
        text-align: center !important;
        align-items: center !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    #problema .card-h h3 {
        font-size: clamp(1.25rem, 5vw, 1.5rem) !important;
        margin-bottom: 0.75rem !important;
    }

    #problema .card-h p {
        font-size: clamp(0.85rem, 3.8vw, 1rem) !important;
        line-height: 1.5 !important;
        color: #A1A1AA !important;
        max-width: 90% !important;
    }

    /* Icon box adjustment */
    #problema .w-10.h-10 {
        width: clamp(3rem, 12vw, 3.5rem) !important;
        height: clamp(3rem, 12vw, 3.5rem) !important;
        margin-bottom: 1.25rem !important;
    }

    /* Mobile Menu Navigation Optimizações */
    #mobile-menu {
        height: 100vh !important;
        width: 100vw !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: #000000 !important;
        /* Pure black to prevent leaks */
        background-color: #000000 !important;
        z-index: 99999 !important;
        overflow: hidden !important;
        pointer-events: none;
        /* Default closed */
        opacity: 0;
        visibility: hidden;
    }

    #mobile-menu.translate-y-0 {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        background: #000000 !important;
    }

    #mobile-menu>div {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        padding: 4rem 1.5rem !important;
    }

    .mobile-link {
        font-size: clamp(1rem, 5.5vw, 1.25rem) !important;
        padding: 0.75rem 0 !important;
        width: 100% !important;
        text-align: center !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        letter-spacing: 0.25em !important;
    }

    .mobile-link:last-of-type {
        border-bottom: none !important;
    }

    /* Ajuste especial para o botão dentro do menu */
    #mobile-menu .button-custom.mobile-link {
        border-bottom: none !important;
        margin-top: 3vh !important;
        padding: 1.25rem !important;
        font-size: 1rem !important;
        letter-spacing: normal !important;
    }

    /* "A SOLUÇÃO" Section Optimization (#servicos) */
    #servicos {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: clamp(4rem, 14vh, 6rem) !important;
        padding-bottom: 10rem !important;
        scroll-margin-top: 80px !important;
    }

    #servicos h2 {
        font-size: clamp(1.85rem, 9.5vw, 2.75rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 1.25rem !important;
        text-align: center !important;
    }

    #servicos .text-lg {
        font-size: clamp(0.95rem, 4.2vw, 1.1rem) !important;
        line-height: 1.6 !important;
        margin-bottom: 3.5rem !important;
        text-align: center !important;
    }

    /* Cards premium adjustment */
    #servicos .group {
        padding: 2rem 1.25rem !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        min-height: auto !important;
    }

    #servicos .w-12.h-12 {
        width: clamp(2.75rem, 11vw, 3.25rem) !important;
        height: clamp(2.75rem, 11vw, 3.25rem) !important;
        margin-bottom: 1.25rem !important;
    }

    #servicos h3 {
        font-size: clamp(1.25rem, 5.5vw, 1.5rem) !important;
        margin-bottom: 0.5rem !important;
    }

    #servicos p.text-sm {
        font-size: clamp(0.85rem, 4vw, 1rem) !important;
        line-height: 1.5 !important;
        opacity: 0.8 !important;
        max-width: 95% !important;
    }

    /* "O PROCESSO" Section Optimization (#como-funciona) */
    #como-funciona {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: clamp(4rem, 14vh, 6rem) !important;
        padding-bottom: 12rem !important;
        /* Mais respiro para o CTA fixo */
        scroll-margin-top: 80px !important;
    }

    #como-funciona h2 {
        font-size: clamp(1.85rem, 9.5vw, 2.75rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 2.5rem !important;
        text-align: center !important;
    }

    #como-funciona .card-h {
        padding: 1.75rem 1.25rem !important;
        /* Mais compacto para não esconder texto sob o CTA */
        text-align: center !important;
        align-items: center !important;
        min-height: auto !important;
    }

    #como-funciona .w-10.h-10 {
        width: clamp(2.5rem, 10vw, 3rem) !important;
        height: clamp(2.5rem, 10vw, 3rem) !important;
        margin-bottom: 1rem !important;
    }

    #como-funciona h3 {
        font-size: clamp(1.2rem, 5.5vw, 1.4rem) !important;
        margin-bottom: 0.5rem !important;
    }

    #como-funciona p.text-sm {
        font-size: clamp(0.85rem, 4vw, 0.95rem) !important;
        line-height: 1.5 !important;
        max-width: 90% !important;
    }

    /* "INVESTIMENTO" Section Optimization (#precos) */
    #precos {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        padding-top: clamp(4rem, 14vh, 6rem) !important;
        padding-bottom: 15rem !important;
        /* Espaço amplo para o botão fixo não cobrir os botões de assinatura */
    }

    #precos h2 {
        font-size: clamp(1.8rem, 9vw, 2.7rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 1rem !important;
        text-align: center !important;
    }

    #precos .grid {
        gap: 2.5rem !important;
    }

    /* Price cards premium compact */
    #precos .rounded-2xl {
        padding: 2.5rem 1.25rem !important;
        /* Mais real estate lateral */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    #precos .absolute.-top-3 {
        width: auto !important;
        white-space: nowrap !important;
    }

    #precos .text-4xl {
        font-size: clamp(2.25rem, 10vw, 2.75rem) !important;
    }

    #precos ul {
        text-align: left !important;
        width: 100% !important;
        max-width: 280px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    #precos li {
        font-size: clamp(0.85rem, 4vw, 0.95rem) !important;
        line-height: 1.4 !important;
        gap: 0.75rem !important;
    }

    #precos .button-custom,
    #precos .glass-btn {
        width: 100% !important;
        max-width: 300px !important;
    }

    /* Tactical footnote adjustment */
    #precos .mt-2.text-center {
        margin-top: 4rem !important;
        padding: 0 1rem !important;
    }

    #precos .mt-2 p {
        font-size: 0.85rem !important;
        line-height: 1.6 !important;
    }

    /* "IMPACTO" Section Optimization (#impacto) */
    #impacto {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: clamp(4rem, 14vh, 6rem) !important;
        padding-bottom: 12rem !important;
        /* Respiro para o CTA fixo */
    }

    #impacto h2 {
        font-size: clamp(1.8rem, 8.5vw, 2.5rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 3rem !important;
        text-align: center !important;
    }

    #impacto .grid {
        gap: 2rem !important;
    }

    /* Testimonial cards premium compact */
    #impacto .flex-col.min-h-\[320px\] {
        min-height: auto !important;
        padding: 2.5rem 1.5rem !important;
        /* Mais informação por cm² */
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    #impacto p.text-lg {
        font-size: clamp(1rem, 4.5vw, 1.15rem) !important;
        line-height: 1.5 !important;
        margin-bottom: 1.5rem !important;
    }

    #impacto .text-xs.italic {
        font-size: 0.75rem !important;
        letter-spacing: 0.1em !important;
        opacity: 0.9 !important;
    }

    /* "FAQ" Section Optimization (#faq) */
    #faq {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        padding-top: clamp(4rem, 14vh, 6rem) !important;
        padding-bottom: 15rem !important;
        /* Espaço amplo para ler respostas sob o botão fixo */
    }

    #faq h2 {
        font-size: clamp(2.25rem, 10vw, 3.5rem) !important;
        line-height: 1.1 !important;
        margin-bottom: 2rem !important;
    }

    #faq summary {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    #faq summary .text-lg {
        font-size: clamp(1rem, 4.5vw, 1.2rem) !important;
        line-height: 1.3 !important;
    }

    #faq details .text-base {
        font-size: clamp(0.95rem, 4.2vw, 1.1rem) !important;
        line-height: 1.6 !important;
        padding-bottom: 2rem !important;
    }
}

@keyframes premiumPulse {

    0%,
    100% {
        box-shadow: 0 10px 40px rgba(0, 163, 255, 0.3), 0 0 20px rgba(0, 163, 255, 0.1);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 15px 50px rgba(0, 163, 255, 0.5), 0 0 30px rgba(0, 163, 255, 0.2);
        transform: scale(1.02);
    }
}