/* ============================================================
   PAJE Systems — legal.css
   Estilos compartilhados para todas as páginas de documentos legais.
   Depende de: variables.css (tokens de cor, fonte, espaçamento)
   ============================================================ */

/* --- Layout Principal ---------------------------------------- */
.legal-page-wrapper {
    background: var(--color-bg-base);
    min-height: 100vh;
    padding-top: 80px; /* compensar header fixo */
}

.legal-container {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--spacing-lg) var(--spacing-md);
}

/* --- Cabeçalho do Documento ---------------------------------- */
.legal-header {
    text-align: center;
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid #334155;
    margin-bottom: var(--spacing-md);
}

.legal-header h1 {
    font-family: var(--font-logo);
    font-size: clamp(1.6rem, 4vw, 2.4rem);
    color: var(--color-brand-gold);
    letter-spacing: 1px;
    margin-bottom: var(--spacing-xs);
    line-height: 1.2;
}

.legal-header p.legal-subtitle {
    color: var(--color-text-secondary);
    font-size: 15px;
    margin: 0;
}

/* Badges de versão, data e status ----------------------------- */
.legal-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: var(--spacing-sm);
}

.legal-badge {
    display: inline-block;
    padding: 0.3rem 0.9rem;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.legal-badge.versao   { border: 1px solid var(--color-brand-gold); color: var(--color-brand-gold); }
.legal-badge.data     { border: 1px solid #334155; color: var(--color-text-secondary); }
.legal-badge.vigente  { background: rgba(22, 163, 74, 0.15); border: 1px solid var(--color-brand-green); color: var(--color-brand-green); }
.legal-badge.lgpd     { background: rgba(30, 58, 138, 0.2); border: 1px solid var(--color-brand-blue); color: #60A5FA; }
.legal-badge.cns      { background: rgba(212, 175, 55, 0.1); border: 1px solid var(--color-brand-gold); color: var(--color-brand-gold); }

/* --- Índice (TOC) -------------------------------------------- */
.legal-toc {
    background: var(--color-bg-surface);
    border: 1px solid #334155;
    border-left: 4px solid var(--color-brand-blue);
    border-radius: 8px;
    padding: var(--spacing-sm) var(--spacing-md);
    margin-bottom: var(--spacing-md);
}

.legal-toc h3 {
    font-family: var(--font-logo);
    font-size: 14px;
    letter-spacing: 2px;
    color: var(--color-brand-gold);
    text-transform: uppercase;
    margin-bottom: 0.75rem;
}

.legal-toc ol {
    margin: 0;
    padding-left: 1.2rem;
}

.legal-toc ol li {
    margin-bottom: 0.4rem;
    font-size: 14px;
}

.legal-toc ol li a {
    color: #60A5FA;
    text-decoration: none;
    transition: color 0.2s;
}

.legal-toc ol li a:hover {
    color: var(--color-brand-gold);
    text-decoration: underline;
}

/* --- Seções do Documento ------------------------------------- */
.legal-section {
    margin-bottom: var(--spacing-md);
    padding-bottom: var(--spacing-md);
    border-bottom: 1px solid #1E2733;
}

.legal-section:last-child {
    border-bottom: none;
}

.legal-section h2 {
    font-family: var(--font-logo);
    font-size: clamp(1rem, 2.5vw, 1.25rem);
    color: var(--color-text-primary);
    letter-spacing: 0.5px;
    margin-bottom: var(--spacing-sm);
    padding-left: 1rem;
    border-left: 3px solid var(--color-brand-blue);
}

.legal-section h3 {
    font-size: 1rem;
    color: var(--color-brand-gold);
    margin-bottom: 0.6rem;
    margin-top: var(--spacing-sm);
}

.legal-section p {
    color: var(--color-text-secondary);
    line-height: 1.8;
    font-size: 15px;
    margin-bottom: 0.75rem;
}

.legal-section p strong {
    color: var(--color-text-primary);
}

.legal-section ul,
.legal-section ol {
    color: var(--color-text-secondary);
    padding-left: 1.5rem;
    font-size: 15px;
    line-height: 1.8;
}

.legal-section ul li,
.legal-section ol li {
    margin-bottom: 0.4rem;
}

.legal-section ul li::marker {
    color: var(--color-brand-blue-text);
}

.legal-section ol li::marker {
    color: var(--color-brand-gold);
    font-weight: 700;
}

/* --- Caixas de Destaque (Consentimento/Alerta) --------------- */
.consent-box {
    background: rgba(30, 58, 138, 0.12);
    border: 1px solid rgba(96, 165, 250, 0.3);
    border-left: 4px solid var(--color-brand-blue);
    border-radius: 8px;
    padding: var(--spacing-sm) var(--spacing-md);
    margin: var(--spacing-sm) 0;
}

.consent-box p {
    margin: 0;
    color: #93C5FD;
    font-size: 14px;
    line-height: 1.7;
}

.consent-box.warning {
    background: rgba(234, 179, 8, 0.08);
    border-color: rgba(212, 175, 55, 0.4);
    border-left-color: var(--color-brand-gold);
}

.consent-box.warning p { color: #FDE68A; }

.consent-box.danger {
    background: rgba(220, 38, 38, 0.08);
    border-color: rgba(220, 38, 38, 0.3);
    border-left-color: #DC2626;
}

.consent-box.danger p { color: #FCA5A5; }

.consent-box.green {
    background: rgba(22, 163, 74, 0.08);
    border-color: rgba(22, 163, 74, 0.3);
    border-left-color: var(--color-brand-green);
}

.consent-box.green p { color: #86EFAC; }

/* --- Abas (TCLE adulto / pediátrico) ------------------------- */
.legal-tabs {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #334155;
    margin-bottom: var(--spacing-md);
}

.legal-tab-btn {
    padding: 0.7rem 1.5rem;
    background: transparent;
    border: none;
    color: var(--color-text-secondary);
    font-family: var(--font-main);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
    letter-spacing: 0.5px;
}

.legal-tab-btn:hover { color: var(--color-text-primary); }

.legal-tab-btn.active {
    color: var(--color-brand-gold);
    border-bottom-color: var(--color-brand-gold);
}

.legal-tab-content { display: none; }
.legal-tab-content.active { display: block; }

/* --- Tabela de Dados Coletados ------------------------------- */
.legal-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: var(--spacing-sm) 0;
}

.legal-table th {
    background: var(--color-bg-surface);
    color: var(--color-brand-gold);
    font-family: var(--font-logo);
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 0.75rem 1rem;
    text-align: left;
    border-bottom: 2px solid #334155;
}

.legal-table td {
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #1E2733;
    color: var(--color-text-secondary);
    vertical-align: top;
}

.legal-table tr:hover td {
    background: rgba(30, 35, 43, 0.5);
}

.legal-table td strong {
    color: var(--color-text-primary);
    display: block;
    margin-bottom: 2px;
}

/* --- Rodapé do Documento ------------------------------------- */
.legal-doc-footer {
    margin-top: var(--spacing-lg);
    padding-top: var(--spacing-md);
    border-top: 1px solid #334155;
    text-align: center;
}

.legal-doc-footer p {
    font-size: 13px;
    color: var(--color-text-secondary);
    line-height: 1.7;
    margin-bottom: 0.5rem;
}

.legal-doc-footer a {
    color: #60A5FA;
    text-decoration: none;
}

.legal-doc-footer a:hover {
    color: var(--color-brand-gold);
    text-decoration: underline;
}

/* --- Botão de impressão ------------------------------------- */
.btn-print {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.4rem;
    background: transparent;
    border: 1px solid #334155;
    border-radius: 4px;
    color: var(--color-text-secondary);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s;
    font-family: var(--font-main);
    margin-top: var(--spacing-sm);
}

.btn-print:hover {
    border-color: var(--color-brand-gold);
    color: var(--color-brand-gold);
}

/* --- Responsividade ----------------------------------------- */
@media (max-width: 600px) {
    .legal-container { padding: var(--spacing-md) var(--spacing-sm); }
    .legal-table { font-size: 12px; }
    .legal-table th, .legal-table td { padding: 0.5rem 0.6rem; }
    .legal-tabs { flex-direction: column; border-bottom: none; gap: 4px; }
    .legal-tab-btn { border: 1px solid #334155; border-radius: 4px; margin: 0; text-align: left; }
    .legal-tab-btn.active { border-color: var(--color-brand-gold); }
}

@media print {
    .legal-page-wrapper { background: white; }
    .legal-container { max-width: 100%; padding: 1rem; }
    .legal-header h1 { color: #1a1a2e; }
    .legal-section h2 { color: #1a1a2e; border-left-color: #1a1a2e; }
    .legal-section p, .legal-section ul, .legal-section ol { color: #333; }
    header, .btn-print { display: none; }
    .legal-toc { border-color: #ccc; }
}
