/*
 * Correções de contraste, foco e espaçamento exclusivas da landing page.
 * Esta folha deve permanecer depois de bts-refresh-pages.css.
 */

.bts-landing-corporate {
    --landing-surface: var(--rf-bg);
    --landing-surface-elevated: var(--rf-bg-elev);
    --landing-surface-soft: var(--rf-bg-soft);
    --landing-text: var(--rf-text);
    --landing-text-muted: var(--rf-text-muted);
    --landing-border: var(--rf-border);
}

.bts-landing-corporate section[id] {
    scroll-margin-top: 5.5rem;
}

/* Cabeçalho: impede o deslocamento herdado do seletor e separa os controles. */
.header-corporate .container {
    gap: 1rem;
}

.header-corporate .nav {
    gap: clamp(0.85rem, 1.5vw, 1.5rem);
    margin-left: auto;
}

.header-corporate #landing-lang-selector {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
    flex: 0 0 auto;
}

.header-corporate .bts-theme-toggle,
.header-corporate .language-selector,
.header-corporate .mobile-menu-btn {
    flex: 0 0 auto;
    min-width: 44px;
    min-height: 44px;
}

.header-corporate .bts-theme-toggle {
    width: 44px !important;
    height: 44px !important;
    margin: 0 0 0 0.5rem !important;
}

.header-corporate #landing-lang-selector .language-selector {
    min-height: 44px;
    padding: 0.55rem 0.85rem !important;
}

/* Contraste coerente nas superfícies que antes mantinham fundo claro no dark mode. */
.cta-diagnostico-corp,
.solucoes-corp,
.contato-corp {
    background: var(--landing-surface-elevated) !important;
    color: var(--landing-text) !important;
}

.parametrizacao-corp,
.empresas-corp {
    background: var(--landing-surface-soft) !important;
    color: var(--landing-text) !important;
}

.quem-somos-corp {
    background-color: var(--landing-surface) !important;
}

.parametrizacao-corp .section-title h2,
.parametrizacao-corp .content-text p,
.parametrizacao-corp .content-text ul,
.parametrizacao-corp .content-text li,
.solucoes-corp .section-title h2,
.solucao-card-corp p,
.empresas-corp h3,
.empresas-corp p,
.contato-corp .info-col h4,
.contato-corp .info-col > p,
.contato-corp .contact-link-text {
    color: var(--landing-text) !important;
}

.solucao-card-corp {
    background: var(--landing-surface-soft) !important;
    color: var(--landing-text) !important;
    border: 1px solid var(--landing-border);
}

/* Cartões que ainda traziam cores fixas do tema claro. */
.pwa-card-compact,
.pwa-card-compact .card-header-compact {
    background: var(--landing-surface-elevated) !important;
    border-color: var(--landing-border) !important;
}

.pwa-card-compact .card-header-compact h3,
.pwa-card-compact .step-content-compact strong {
    color: var(--landing-text) !important;
}

.pwa-card-compact .step-content-compact p {
    color: var(--landing-text-muted) !important;
}

.pwa-card-compact .step-num {
    background: #0f766e !important;
    color: #fff !important;
}

.pwa-card-compact .icon-demo {
    background: var(--landing-surface-soft) !important;
    color: var(--rf-accent-strong) !important;
}

.blog-card-corp {
    background: var(--landing-surface-elevated) !important;
    color: var(--landing-text) !important;
    border: 1px solid var(--landing-border);
}

.blog-card-corp h4 {
    color: var(--landing-text) !important;
}

.blog-card-corp p,
.blog-card-corp .blog-meta {
    color: var(--landing-text-muted) !important;
}

.solucoes-corp::before {
    color: var(--landing-surface-soft) !important;
}

.cta-diagnostico-corp .cta-content,
.cta-diagnostico-corp .cta-content h3,
.cta-diagnostico-corp .cta-content p,
.especialistas-corp h2,
.especialistas-corp h4,
.quem-somos-corp h2,
.quem-somos-corp h4,
.quem-somos-corp p,
.footer-corp,
.footer-corp a {
    color: #fff !important;
}

.cta-diagnostico-corp .cta-content p,
.quem-somos-corp p {
    opacity: 1;
}

.form-group-corp input,
.form-group-corp textarea {
    background: var(--landing-surface-elevated) !important;
    color: var(--landing-text) !important;
    border-color: var(--landing-border) !important;
}

.form-group-corp label {
    display: block;
    margin: 0 0 0.35rem;
    color: var(--landing-text);
    font-size: 0.85rem;
    font-weight: 600;
    text-align: left;
}

.form-group-corp input::placeholder,
.form-group-corp textarea::placeholder {
    color: var(--landing-text-muted) !important;
    opacity: 1;
}

/* Todos os controles interativos recebem um foco visível e afastado da borda. */
.bts-landing-corporate a:focus-visible,
.bts-landing-corporate button:focus-visible,
.bts-landing-corporate input:focus-visible,
.bts-landing-corporate textarea:focus-visible {
    outline: 3px solid var(--rf-accent) !important;
    outline-offset: 3px;
}

.btn-cta,
.btn-cta-white-corp,
.btn-submit-corp,
.btn-contact-corporate {
    color: #fff !important;
    background: #0f766e !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3 !important;
}

.btn-gradient-corp {
    color: #fff !important;
    background: linear-gradient(90deg, #0f766e 0%, #2e376f 100%) !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3 !important;
}

.btn-cta:hover,
.btn-cta-white-corp:hover,
.btn-submit-corp:hover,
.btn-contact-corporate:hover {
    color: #fff !important;
    background: #115e59 !important;
}

.btn-gradient-corp:hover {
    color: #fff !important;
    background: linear-gradient(90deg, #115e59 0%, #222957 100%) !important;
}

.header-corporate .nav a.btn-contact-corporate {
    color: #fff !important;
    background: #0f766e !important;
}

.header-corporate .nav a.btn-contact-corporate:hover {
    color: #fff !important;
    background: #115e59 !important;
}

@media (max-width: 1199px) {
    .header-corporate .nav {
        gap: 0.75rem;
    }

    .header-corporate .nav a {
        font-size: 0.84rem !important;
    }

    .phone-header {
        display: none !important;
    }
}

@media (max-width: 992px) {
    .header-corporate .container {
        justify-content: flex-start;
        gap: 0.75rem;
    }

    .header-corporate .logo {
        margin-right: auto;
    }

    .header-corporate .bts-theme-toggle {
        margin-left: 0 !important;
    }

    .header-corporate .mobile-menu-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.5rem;
    }

    .header-corporate .nav.active {
        top: 100%;
        left: 1rem;
        right: 1rem;
        width: auto;
        padding: 1rem;
        gap: 0.75rem;
        background: var(--landing-surface-elevated);
        border: 1px solid var(--landing-border);
        border-radius: var(--rf-radius-lg);
        box-shadow: var(--rf-shadow-lg);
    }

    .header-corporate .nav.active a {
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.65rem 1rem;
    }
}

@media (max-width: 575px) {
    .header-corporate {
        padding: 0.65rem 0;
    }

    .header-corporate .container {
        gap: 0.625rem;
        padding-inline: 0.75rem;
    }

    .header-corporate .logo img {
        height: 44px;
        max-width: 92px;
        object-fit: contain;
    }

    .header-corporate #landing-lang-selector .language-selector {
        width: 44px;
        padding: 0 !important;
        justify-content: center;
        overflow: hidden;
        white-space: nowrap;
        gap: 0;
    }

    .header-corporate #landing-lang-selector .current-language {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .header-corporate #landing-lang-selector .language-selector i {
        color: var(--landing-text-muted);
        margin: 0 !important;
    }

    .header-corporate #landing-lang-selector .language-selector::after {
        display: none;
    }

    .hero-content-corp .btn-cta,
    .btn-gradient-corp,
    .btn-cta-white-corp,
    .btn-submit-corp {
        width: 100%;
        max-width: 100%;
        padding-inline: 1rem !important;
        white-space: normal;
    }

    /* Ritmo vertical mais curto e leitura confortável em telas estreitas. */
    .hero-corporate {
        padding-block: 4.75rem 2rem !important;
    }

    .hero-content-corp {
        padding-inline: 0.25rem !important;
    }

    .hero-content-corp h1 {
        font-size: clamp(1.65rem, 8vw, 2rem) !important;
        line-height: 1.12 !important;
    }

    .hero-content-corp p {
        font-size: 0.98rem !important;
        line-height: 1.55 !important;
        margin-block: 1.1rem 1.4rem !important;
    }

    .hero-image-corp img {
        max-height: 300px;
        object-fit: contain;
    }

    .benefits-section-corp,
    .pwa-installation-section,
    .parametrizacao-corp,
    .solucoes-corp,
    .empresas-corp,
    .quem-somos-corp,
    .contato-corp {
        padding-block: 3rem !important;
    }

    .benefits-section-corp h2 {
        margin-bottom: 1.75rem !important;
        font-size: 1.35rem !important;
        line-height: 1.3 !important;
    }

    .benefits-grid-corp {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
        padding-inline: 0.25rem !important;
    }

    .benefit-card-corp {
        min-height: 180px;
        padding: 1rem 0.75rem !important;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .benefit-card-corp p {
        font-size: 0.82rem !important;
        line-height: 1.4 !important;
    }

    .benefit-card-corp:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: calc(50% - 0.375rem);
        justify-self: center;
    }

    .pwa-installation-section {
        margin-block: 0 !important;
    }

    .pwa-cards-compact {
        gap: 0.85rem !important;
    }

    .pwa-card-compact {
        min-height: auto;
    }

    .pwa-card-compact .steps-compact {
        max-height: none;
    }

    /* Instruções de computador não ajudam quem já está navegando pelo celular. */
    .pwa-card-compact.desktop-card-compact {
        display: none !important;
    }

    .cta-diagnostico-corp .cta-content {
        border-radius: var(--rf-radius-lg) !important;
    }

    .parametrizacao-corp .section-title h2,
    .solucoes-corp .section-title h2,
    .quem-somos-corp h2 {
        font-size: 1.75rem !important;
        line-height: 1.2 !important;
    }

    .parametrizacao-corp .content-text p,
    .parametrizacao-corp .content-text li,
    .empresas-corp p,
    .quem-somos-corp p {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }

    .solucoes-grid-corp {
        grid-template-columns: 1fr !important;
        gap: 0.85rem !important;
        padding-inline: 0.25rem !important;
    }

    .solucao-card-corp {
        min-height: auto;
        padding: 1.15rem !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    .solucao-card-corp .icon {
        flex-basis: 52px;
        margin: 0 !important;
    }

    .solucao-card-corp .icon img {
        width: 52px;
        height: 52px;
    }

    .solucao-card-corp h4 {
        font-size: 1rem;
        margin-bottom: 0.35rem;
    }

    .solucao-card-corp p {
        font-size: 0.88rem !important;
        line-height: 1.5 !important;
        margin: 0;
    }

    .empresas-corp .image-wrapper img {
        max-height: 240px;
        width: auto !important;
        object-fit: contain;
    }

    .empresas-corp .content-wrapper {
        padding-top: 1rem !important;
    }

    .quem-somos-corp {
        background:
            linear-gradient(rgba(15, 23, 42, 0.94), rgba(30, 55, 111, 0.94)),
            url('/images/landing/background-1.png') center / cover no-repeat !important;
    }

    .quem-somos-corp .content-wrapper {
        padding: 0.5rem 0 !important;
    }

    .quem-somos-corp .image-wrapper {
        padding: 1.25rem 0 0 !important;
    }

    .quem-somos-corp .image-wrapper img {
        max-height: 260px;
        width: auto !important;
        object-fit: contain;
    }

    /* A ilustração de contato era redundante e empurrava o formulário uma tela abaixo. */
    .contato-corp .image-col {
        display: none !important;
    }

    .contato-corp .form-col,
    .contato-corp .info-col {
        padding-inline: 0 !important;
    }

    .contato-corp .form-col .logo {
        max-width: 180px;
        margin-bottom: 1.5rem;
    }

    .form-group-corp {
        margin-bottom: 0.85rem;
    }

    .form-group-corp input,
    .form-group-corp textarea {
        min-height: 48px;
        font-size: 1rem;
    }

    .form-group-corp textarea {
        min-height: 120px;
    }

    .whatsapp-btn-corp svg {
        width: 48px;
        height: 48px;
    }

    .footer-nav-corp {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0.5rem;
        padding-inline: 2.5rem;
    }

    .footer-nav-corp a {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.6rem 1rem;
        border-radius: var(--rf-radius-sm);
    }
}

@media (max-width: 359px) {
    .benefits-grid-corp {
        grid-template-columns: 1fr !important;
    }

    .benefit-card-corp {
        min-height: 150px;
    }

    .benefit-card-corp:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }
}
