/* ==========================================================================
ESTILOS EXCLUSIVOS DA PÁGINA LEGAL & LGPD (AJUSTE DE LAYOUT & NAVEGAÇÃO)
========================================================================== */

/* Ajuste no corpo da página legal */
body.legal-page {
background-color: var(--bg-dark);
margin: 0;
padding: 0;
}

/* Fixação e visibilidade total do cabeçalho superior */
.legal-header-nav {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
background-color: var(--bg-dark);
border-bottom: 1px solid rgba(197, 160, 89, 0.25);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
display: block !important;
}

.active-legal {
display: block !important;
}

/* Correção do contêiner principal: remove o espaço em branco excessivo no topo /
.legal-container {
display: grid;
grid-template-columns: 280px 1fr;
gap: 40px;
margin-top: 100px; / Distância exata abaixo da barra fixa */
padding-top: 20px;
padding-bottom: 80px;
align-items: start;
}

/* Sidebar e Navegação Fixa Lateral */
.legal-sidebar {
position: relative;
z-index: 10;
}

.sidebar-box {
position: sticky;
top: 110px; /* Mantém o índice visível durante a rolagem */
background-color: var(--bg-card);
padding: 22px;
border-radius: var(--border-radius);
border: 1px solid rgba(197, 160, 89, 0.25);
}

.sidebar-box h3 {
font-size: 1.1rem;
color: var(--primary-color);
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sidebar-nav {
display: flex;
flex-direction: column;
gap: 10px;
}

.sidebar-link {
color: var(--text-muted);
font-size: 0.9rem;
line-height: 1.4;
padding: 6px 0;
transition: all var(--transition-speed);
}

.sidebar-link:hover,
.sidebar-link.active {
color: var(--primary-color);
padding-left: 6px;
font-weight: 600;
}

/* Área de Conteúdo dos Textos Legais */
.legal-content {
background-color: var(--bg-card);
padding: 45px;
border-radius: var(--border-radius);
border: 1px solid rgba(255, 255, 255, 0.05);
}

.legal-intro-header {
margin-bottom: 35px;
padding-bottom: 20px;
border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.legal-intro-header h1 {
font-size: 2.3rem;
margin-top: 10px;
margin-bottom: 10px;
color: #ffffff;
}

.last-update {
font-size: 0.85rem;
color: var(--primary-color);
margin-bottom: 15px;
}

.legal-intro {
font-size: 1.05rem;
color: var(--text-muted);
line-height: 1.7;
}

.legal-section {
margin-bottom: 40px;
scroll-margin-top: 120px; /* Alinhamento correto das âncoras ao clicar */
}

.legal-section h2 {
font-size: 1.5rem;
color: var(--primary-color);
margin-bottom: 8px;
}

.legal-section h3 {
font-size: 1.15rem;
color: #ffffff;
margin-top: 22px;
margin-bottom: 10px;
}

.legal-section p {
color: var(--text-muted);
margin-bottom: 15px;
line-height: 1.8;
}

.legal-section ul,
.legal-section ol {
color: var(--text-muted);
margin-bottom: 20px;
padding-left: 20px;
}

.legal-section li {
margin-bottom: 8px;
line-height: 1.6;
}

.legal-callout {
background-color: rgba(197, 160, 89, 0.08);
border-left: 4px solid var(--primary-color);
padding: 18px;
border-radius: 0 var(--border-radius) var(--border-radius) 0;
margin: 20px 0;
}

.legal-callout h3 {
margin-top: 0;
color: var(--primary-color);
}

/* Tabela LGPD */
.table-wrapper {
overflow-x: auto;
margin: 25px 0;
}

.legal-table {
width: 100%;
border-collapse: collapse;
text-align: left;
font-size: 0.9rem;
}

.legal-table th,
.legal-table td {
padding: 12px 15px;
border: 1px solid rgba(255, 255, 255, 0.08);
}

.legal-table th {
background-color: rgba(0, 0, 0, 0.3);
color: var(--primary-color);
}

.legal-table td {
color: var(--text-muted);
}

/* Cartão de Contato */
.contact-card {
background-color: var(--bg-alt);
padding: 22px;
border-radius: var(--border-radius);
border: 1px solid rgba(197, 160, 89, 0.3);
margin-top: 20px;
}

.contact-card h3 {
margin-top: 0;
color: var(--primary-color);
}

.contact-card p {
margin-bottom: 8px;
}

/* Ajustes de Responsividade */
@media (max-width: 992px) {
.legal-container {
grid-template-columns: 1fr;
margin-top: 90px;
padding-top: 10px;
}

.sidebar-box {
    position: relative;
    top: 0;
}

.legal-content {
    padding: 25px 20px;
}


}