/* =========================================
   ESTILOS GERAIS INTERNOS
   ========================================= */
.page-header {
    background: linear-gradient(180deg, #001029 0%, #051a3d 100%);
    padding-top: calc(var(--header-height) + 60px);
    padding-bottom: 80px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.page-header::before {
    content: '';
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background-image: radial-gradient(rgba(255,255,255,0.03) 1px, transparent 1px);
    background-size: 30px 30px;
    opacity: 0.5;
}

.page-header h1 {
    font-size: 3rem;
    color: #fff;
    margin-bottom: 15px;
}

.page-header p {
    font-size: 1.2rem;
    max-width: 700px;
    margin: 0 auto;
    color: rgba(255,255,255,0.8);
}

/* =========================================
   PÁGINA SOBRE (Storytelling & ZigZag)
   ========================================= */
/* Contador Animado */
.counter-section {
    margin-top: -50px;
    position: relative;
    z-index: 10;
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.counter-box {
    background: rgba(33, 77, 139, 0.9); /* Azul Translúcido */
    backdrop-filter: blur(10px);
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 15px 30px rgba(0,0,0,0.2);
    
    /* FLEXBOX PARA CENTRALIZAR PERFEITAMENTE */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    padding: 40px 20px;
    min-height: 180px; /* Garante altura igual para todos */
    flex: 1;
    min-width: 250px;
    max-width: 350px;
}

.counter-number {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--primary-color);
    line-height: 1.1;
    margin-bottom: 10px;
    white-space: nowrap; /* O SEGREDO: Impede que o "Mi" vá para baixo */
}

.counter-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
    text-align: center;
    line-height: 1.4; /* Melhora leitura de "Compliance Jurídico" */
}

/* Layout ZigZag (Texto vs Imagem) */
.zigzag-row {
    display: flex;
    align-items: center;
    gap: 60px;
    margin-bottom: 100px;
}

.zigzag-row:nth-child(even) {
    flex-direction: row-reverse; 
}

.zigzag-text { flex: 1; }
.zigzag-text h2 { font-size: 2.2rem; margin-bottom: 20px; color: #fff; }
.zigzag-text p { font-size: 1.1rem; color: #ccc; line-height: 1.8; margin-bottom: 20px; }

.zigzag-visual {
    flex: 1;
    position: relative;
}

.zigzag-card {
    background: linear-gradient(145deg, #0d2852, #001029);
    padding: 40px;
    border-radius: 20px;
    border-left: 5px solid var(--primary-color);
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
}

@media (max-width: 768px) {
    .zigzag-row { flex-direction: column !important; gap: 30px; }
    .counter-box { margin-bottom: 20px; }
}

/* =========================================
   PÁGINA SOLUÇÕES (Features & Accordion)
   ========================================= */
/* Grid de Detalhes */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 60px;
}

.feature-item {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.05);
    padding: 30px;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.feature-item:hover { transform: translateY(-5px); background: rgba(255,255,255,0.05); }
.feature-icon { font-size: 2rem; margin-bottom: 15px; display: block; }
.feature-item h3 { color: #fff; font-size: 1.3rem; }

/* Tabela Refinada */
.economy-table-container {
    background: #020d1f;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 0 40px rgba(0,0,0,0.2);
    border: 1px solid rgba(108, 229, 232, 0.1);
}

.economy-table th {
    background-color: #0d2852;
    color: #fff;
    padding: 25px;
    font-size: 1rem;
}

.economy-table td {
    padding: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    font-size: 1.1rem;
}

.economy-value { color: var(--success-color); }
.final-value { font-weight: 700; color: #fff; }

/* =========================================
   PÁGINA CONTATO (Redesign Centralizado)
   ========================================= */
.contact-centered-wrapper {
    max-width: 700px;
    margin: -60px auto 0; /* Sobe sobre o header */
    position: relative;
    z-index: 10;
}

/* Barra de Contatos Rápidos */
.contact-strip {
    display: flex;
    justify-content: space-around;
    background: var(--primary-color);
    padding: 20px;
    border-radius: 12px 12px 0 0; /* Arredonda só em cima */
    color: #001029;
    font-weight: 700;
    flex-wrap: wrap;
    gap: 15px;
}

.contact-strip div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.contact-strip a { text-decoration: underline; }

/* Formulário Clean */
.contact-card-clean {
    background: #fff; /* Fundo claro para contraste máximo na conversão */
    padding: 50px;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
    text-align: center;
}

.contact-card-clean h2 {
    color: #001029;
    margin-bottom: 10px;
}

.contact-card-clean p {
    color: #666;
    margin-bottom: 30px;
}

/* Inputs no fundo claro precisam de borda visível */
.contact-card-clean input, 
.contact-card-clean select {
    background: #f4f6f8;
    border: 1px solid #ddd;
    color: #333;
    padding: 15px;
}

.contact-card-clean input:focus, 
.contact-card-clean select:focus {
    border-color: var(--primary-color);
    background: #fff;
}

@media (max-width: 768px) {
    .contact-card-clean { padding: 30px 20px; }
    .contact-strip { flex-direction: column; text-align: center; border-radius: 12px; margin-bottom: 20px; }
    .contact-card-clean { border-radius: 12px; }
}

/* =========================================
   FAQ & CTA NA PÁGINA CONTATO
   ========================================= */

/* Container do FAQ */
.faq-wrapper {
    margin-top: 40px;
    text-align: left;
    color: #fff;
}

.faq-title {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 20px;
    padding-left: 10px;
    border-left: 3px solid var(--primary-color);
}

/* Item do Acordeão */
.faq-item {
    background: rgba(255, 255, 255, 0.05);
    margin-bottom: 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    transition: all 0.3s ease;
}

.faq-item[open] {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary-color);
}

.faq-item summary {
    padding: 15px 20px;
    font-weight: 600;
    cursor: pointer;
    list-style: none; /* Remove seta padrão feia */
    position: relative;
    padding-right: 40px;
}

/* Setinha personalizada */
.faq-item summary::after {
    content: '+';
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2rem;
    color: var(--primary-color);
    font-weight: bold;
}

.faq-item[open] summary::after {
    content: '-';
}

.faq-item p {
    padding: 0 20px 20px 20px;
    font-size: 0.9rem;
    color: #ccc;
    line-height: 1.6;
    margin-bottom: 0;
}

/* Box do CTA Alternativo (Simulador) */
.alt-cta-box {
    margin-top: 50px;
    padding: 30px;
    background: linear-gradient(145deg, #001029, #051a3d);
    border: 1px dashed var(--primary-color);
    border-radius: 12px;
    text-align: center;
}

.alt-cta-box p {
    font-size: 0.9rem;
    color: #aaa;
    margin-bottom: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.alt-cta-box h4 {
    color: #fff;
    font-size: 1.3rem;
    margin-bottom: 0;
}

.alt-cta-box .btn-outline:hover {
    background-color: var(--primary-color);
    color: #001029 !important; /* Texto escuro no hover */
    box-shadow: 0 0 15px rgba(108, 229, 232, 0.3);
}

/* =========================================
   PASSO A PASSO EM ACCORDION (Página Soluções)
   ========================================= */

/* Badge de Número (Bolinha: 1, 2, 3) */
.step-badge {
    background-color: var(--primary-color);
    color: #001029; /* Texto escuro para contraste */
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    font-weight: 800;
    font-size: 0.9rem;
    box-shadow: 0 0 10px rgba(108, 229, 232, 0.4);
}

/* Ajuste fino para o texto do passo não colar na bolinha */
.faq-item summary {
    display: flex;
    align-items: center;
}