/* ============================================================
   paginas-texto.css — páginas de conteúdo
   (contato, perguntas frequentes, termos de uso, privacidade)
   Cabeçalho e cards vêm de ui.css; aqui fica só a tipografia
   de leitura corrida e os blocos próprios dessas telas.
   ============================================================ */

/* Coluna de leitura: largura confortável para texto longo. */
.txt-coluna {
    max-width: 78ch;
    margin: 0 auto;
}

.txt-secao {
    padding: var(--t-space-5) 0;
    border-bottom: 1px solid var(--t-border);
}

.txt-secao:last-child { border-bottom: 0; }

.txt-secao h2 {
    display: flex;
    align-items: center;
    gap: var(--t-space-3);
    margin: 0 0 var(--t-space-3);
    font-size: var(--t-fs-lg);
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--t-text);
}

.txt-secao h3 {
    margin: var(--t-space-4) 0 var(--t-space-2);
    font-size: var(--t-fs-md);
    font-weight: 600;
    color: var(--t-text);
}

.txt-secao p,
.txt-secao li {
    font-size: var(--t-fs-md);
    line-height: 1.65;
    color: var(--t-text-2);
}

.txt-secao p { margin: 0 0 var(--t-space-3); }
.txt-secao p:last-child { margin-bottom: 0; }

.txt-secao ul,
.txt-secao ol {
    margin: 0 0 var(--t-space-3);
    padding-left: 1.3em;
    display: flex;
    flex-direction: column;
    gap: var(--t-space-2);
}

.txt-secao a { color: var(--t-primary); }

/* Numeração das cláusulas */
.section-number,
.section-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    flex: none;
    font-size: var(--t-fs-sm);
    font-weight: 700;
    color: var(--t-primary-dark);
    background: var(--t-primary-soft);
    border-radius: var(--t-radius-sm);
}

/* Destaque dentro do texto */
.highlight-box {
    padding: var(--t-space-4) var(--t-space-5);
    margin: 0 0 var(--t-space-5);
    border: 1px solid var(--t-info);
    border-left-width: 4px;
    border-radius: var(--t-radius-md);
    background: var(--t-info-soft);
    font-size: var(--t-fs-sm);
    line-height: var(--t-lh-normal);
    color: var(--t-text-2);
}

.highlight-box strong { color: var(--t-text); }

/* Cartões de contato */
.txt-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: var(--t-space-4);
}

.txt-card {
    display: flex;
    flex-direction: column;
    gap: var(--t-space-2);
    padding: var(--t-space-5);
    background: var(--t-surface);
    border: 1px solid var(--t-border);
    border-radius: var(--t-radius-lg);
    box-shadow: var(--t-shadow-card);
}

.txt-card__icone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    font-size: 19px;
    color: var(--t-primary-dark);
    background: var(--t-primary-soft);
    border-radius: var(--t-radius-md);
}

.txt-card h2 {
    margin: 0;
    font-size: var(--t-fs-md);
    font-weight: 600;
    color: var(--t-text);
}

.txt-card p {
    margin: 0;
    font-size: var(--t-fs-sm);
    line-height: var(--t-lh-normal);
    color: var(--t-text-2);
}

.txt-card a { color: var(--t-primary); }

/* Perguntas frequentes */
.faq-grupo {
    display: flex;
    align-items: center;
    gap: var(--t-space-2);
    margin: var(--t-space-6) 0 var(--t-space-3);
    font-size: var(--t-fs-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--t-primary);
}

.faq-grupo:first-child { margin-top: 0; }

.faq-item {
    border: 1px solid var(--t-border);
    border-radius: var(--t-radius-md);
    background: var(--t-surface);
    margin-bottom: var(--t-space-2);
}

.faq-item > summary {
    display: flex;
    align-items: center;
    gap: var(--t-space-3);
    padding: var(--t-space-4);
    font-size: var(--t-fs-md);
    font-weight: 600;
    color: var(--t-text);
    cursor: pointer;
    list-style: none;
}

.faq-item > summary::-webkit-details-marker { display: none; }

.faq-item > summary::after {
    content: "\F229"; /* bi-chevron-down */
    font-family: "bootstrap-icons";
    margin-left: auto;
    font-size: 0.85em;
    color: var(--t-muted);
    transition: transform var(--t-transition);
}

.faq-item[open] > summary::after { transform: rotate(180deg); }

.faq-answer {
    padding: 0 var(--t-space-4) var(--t-space-4);
    font-size: var(--t-fs-md);
    line-height: 1.65;
    color: var(--t-text-2);
}

.lgpd-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    font-size: var(--t-fs-xs);
    font-weight: 600;
    color: var(--t-ok);
    background: var(--t-ok-soft);
    border-radius: var(--t-radius-pill);
}

/* Mapa da página de contato */
#mapaContato {
    height: 380px;
    width: 100%;
    border-radius: var(--t-radius-md);
    overflow: hidden;
    border: 1px solid var(--t-border);
}
