/* ========================================
   HOME - AJUSTE DE FLUIDEZ GLOBAL
======================================== */

/* Remove limitação da home apenas */
.home .abacode-container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

/* Mantém conteúdo centralizado onde necessário */
.home .hero-content,
.home .cards-grid,
.home .faq-accordion-group {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ========================================
   HERO - ESCALA PROFISSIONAL
======================================== */

.home .hero-section {
    min-height: 75vh !important;
    aspect-ratio: auto !important;
    padding: 80px 20px !important;
}

/* Título principal */
.home .hero-content h1 {
    font-size: clamp(2.4rem, 4.5vw, 3.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 15px !important;
}

/* Subtítulo */
.home .hero-content h2 {
    font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
    margin-bottom: 25px !important;
}

/* Texto */
.home .hero-content p {
    font-size: 20px !important;
    line-height: 1.7 !important;
    max-width: 750px !important;
}

/* Remove uso de <br> visualmente */
.home .hero-content br {
    display: none;
}

/* ========================================
   CARDS - PADRÃO PREMIUM
======================================== */

/* Mais respiro da seção */
.home .solutions-section {
    padding: 100px 0 !important;
}

/* Grid mais elegante */
.home .cards-grid {
    gap: 40px !important;
}

/* Card refinado */
.home .card-item {
    padding: 35px !important;
    border-radius: 12px !important;
    background: var(--pure-white) !important;
    box-shadow: 0 10px 30px rgba(5, 17, 38, 0.06) !important;
    border-bottom: 4px solid var(--deep-blue) !important;

    transition: all 0.3s ease !important;
}

/* Hover mais suave e premium */
.home .card-item:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 20px 50px rgba(5, 17, 38, 0.10) !important;
    border-bottom-color: var(--electric-cyan) !important;
}

/* Título */
.home .card-item h3 {
    font-size: 1.4rem !important;
    margin-bottom: 12px !important;
    line-height: 1.3 !important;
}

/* Texto */
.home .card-item p {
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    color: var(--text-dark) !important;
}

/* Imagem mais equilibrada */
.home .card-item img {
    border-radius: 8px;
    margin-bottom: 18px !important;
}

/* ========================================
   FAQ - MAIS LEVE, AMPLO E LEGÍVEL
======================================== */

.home .faq-central-wrapper {
    padding: 100px 0 110px !important;
    background: linear-gradient(180deg, var(--deep-blue) 0%, #0a1f3d 100%) !important;
}

.home .faq-central-banner {
    width: min(1200px, calc(100% - 40px)) !important;
    margin: 0 auto 45px auto !important;
    padding: 0 0 24px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18) !important;
}

.home .faq-banner-title {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
    color: var(--pure-white) !important;
}

.home .faq-accordion-group {
    width: min(1200px, calc(100% - 40px)) !important;
    gap: 14px !important;
}

/* Botões de categoria */
.home .faq-btn {
    padding: 20px 24px !important;
    font-size: 18px !important;
    border-radius: 12px !important;
    background: rgba(255, 255, 255, 0.92) !important;
}

.home .faq-btn:hover {
    transform: translateY(-1px) !important;
}

.home .faq-btn.active {
    background: var(--electric-cyan) !important;
    color: var(--deep-blue) !important;
}

/* Área interna da categoria */
.home .faq-category {
    padding: 8px 0 26px !important;
}

/* Item */
.home .faq-item {
    border-radius: 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Pergunta */
.home .faq-question {
    padding: 18px 22px !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    border-left: 4px solid var(--electric-cyan) !important;
}

/* Resposta */
.home .faq-answer {
    font-size: 15.5px !important;
    line-height: 1.8 !important;
    padding: 0 22px !important;
}

.home .faq-item.open .faq-answer {
    padding: 18px 22px 24px !important;
}

.home .faq-answer ul,
.home .faq-answer ol {
    padding-left: 22px !important;
}

.home .faq-answer li {
    margin-bottom: 8px !important;
}

.home .faq-answer a {
    color: #0b57d0 !important;
}

/* Mobile */
@media (max-width: 768px) {
    .home .faq-central-wrapper {
        padding: 70px 0 80px !important;
    }

    .home .faq-btn {
        font-size: 16px !important;
        padding: 16px 16px !important;
    }

    .home .faq-question {
        padding: 15px 14px !important;
        font-size: 15px !important;
    }

    .home .faq-answer,
    .home .faq-item.open .faq-answer {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

/* ========================================
   RITMO GLOBAL - ESPAÇAMENTO PROFISSIONAL
======================================== */

/* Espaçamento padrão entre seções */
.home section {
    margin-bottom: 0 !important;
}

/* Hero → Cards */
.home .hero-section {
    margin-bottom: 0 !important;
}

/* Cards → FAQ */
.home .solutions-section {
    margin-bottom: 0 !important;
}

/* Padding vertical consistente */
.home .hero-section,
.home .solutions-section,
.home .faq-central-wrapper {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

/* Ajuste fino para desktop grande */
@media (min-width: 1400px) {
    .home .hero-section,
    .home .solutions-section,
    .home .faq-central-wrapper {
        padding-top: 120px !important;
        padding-bottom: 120px !important;
    }
}

/* Ajuste mobile */
@media (max-width: 768px) {
    .home .hero-section,
    .home .solutions-section,
    .home .faq-central-wrapper {
        padding-top: 70px !important;
        padding-bottom: 70px !important;
    }
}

/* FAQ - correção de contraste no hover dos botões de categoria */
.home .faq-btn:hover {
    background: var(--deep-blue) !important;
    color: var(--pure-white) !important;
    border-color: var(--electric-cyan) !important;
}

.home .faq-btn:hover,
.home .faq-btn:hover * {
    color: var(--pure-white) !important;
}

/* ========================================
   FAQ - ESTADOS VISUAIS CORRETOS DOS BOTÕES
======================================== */

.home .faq-btn,
.home .faq-btn:visited,
.home .faq-btn:focus {
    background: var(--soft-gray) !important;
    color: var(--deep-blue) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
}

/* Hover apenas visual temporário */
.home .faq-btn:hover,
.home .faq-btn:hover:visited,
.home .faq-btn:hover:focus {
    background: var(--deep-blue) !important;
    color: var(--pure-white) !important;
    border-color: var(--electric-cyan) !important;
}

/* Estado ativo real */
.home .faq-btn.active,
.home .faq-btn.active:hover,
.home .faq-btn.active:focus,
.home .faq-btn.active:visited {
    background: var(--electric-cyan) !important;
    color: var(--deep-blue) !important;
    border-color: var(--electric-cyan) !important;
}

/* Garante que nenhum elemento interno herde cor errada */
.home .faq-btn *,
.home .faq-btn:hover *,
.home .faq-btn.active *,
.home .faq-btn:focus * {
    color: inherit !important;
}