/* PÁGINAS LEGAIS (Privacidade, Cookies, Termos, Aviso Legal) */

.saltar-conteudo {
    position: absolute;
    left: 10px; top: -60px;
    z-index: 3000;
    background: #c8a84b;
    color: #0b2a44;
    padding: 10px 18px;
    font-size: 13px;
    text-decoration: none;
}
.saltar-conteudo:focus { top: 10px; }

.legal-hero {
    background: linear-gradient(135deg, #0d4f80, #1b6ca8);
    color: #fff;
    text-align: center;
    padding: 135px 20px 55px;
}
.legal-subtitulo { font-size: 13px; letter-spacing: 4px; text-transform: uppercase; color: #e8d08a; margin-bottom: 10px; }
.legal-hero h1 { font-size: 36px; letter-spacing: 3px; color: #fff; }
.legal-atualizacao { font-size: 13px; color: #d0e8f8; margin-top: 14px; letter-spacing: 1px; }

.legal { background: #f0f6fb; padding: 60px 20px; }
.legal-conteudo {
    max-width: 840px;
    margin: 0 auto;
    background: #fff;
    padding: 50px 55px;
    border-top: 3px solid #1b6ca8;
    box-shadow: 0 4px 20px rgba(27,108,168,0.1);
    color: #444;
    font-size: 15.5px;
    line-height: 1.8;
    text-align: left;
}
.legal-idioma { font-size: 13px; color: #666; font-style: italic; margin-bottom: 25px; }
/* Em inglês o aviso passa a destaque, já que o texto abaixo continua em português */
body.lang-en .legal-idioma {
    font-size: 15px;
    font-style: normal;
    font-weight: bold;
    color: #0d4f80;
    background: #e8f4fd;
    border-left: 3px solid #1b6ca8;
    padding: 14px 18px;
}
.legal-intro { font-size: 16px; margin-bottom: 10px; }

/* Índice */
.legal-indice { background: #f0f6fb; border-left: 3px solid #c8a84b; padding: 22px 28px; margin: 25px 0 10px; }
.legal-indice h2 { font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: #1b6ca8; margin-bottom: 10px; }
.legal-indice ol { padding-left: 20px; }
.legal-indice li { margin-bottom: 3px; }
.legal-indice a { color: #1b6ca8; text-decoration: none; }
.legal-indice a:hover { text-decoration: underline; }

/* Secções — anula os estilos globais de "section" */
.legal-seccao { padding: 0; text-align: left; scroll-margin-top: 100px; }
.legal-seccao h2 {
    font-size: 20px;
    color: #1b6ca8;
    letter-spacing: 1px;
    margin: 40px 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e3edf5;
}
.legal-seccao h3 { font-size: 16px; color: #0d4f80; margin: 22px 0 8px; }
.legal-seccao p { margin-bottom: 12px; }
.legal-seccao ul, .legal-seccao ol { margin: 0 0 14px 22px; }
.legal-seccao li { margin-bottom: 6px; }
.legal-conteudo a { color: #1b6ca8; }
.legal-conteudo a:hover { color: #0d4f80; }
.legal-conteudo strong { color: #333; }

/* Ficha de identificação */
.legal-ficha { list-style: none; margin: 0 0 14px !important; padding: 18px 22px; background: #f0f6fb; border-left: 3px solid #1b6ca8; }
.legal-ficha li { margin-bottom: 4px; }

/* Tabelas */
.legal-tabela-wrap { overflow-x: auto; margin: 10px 0 20px; }
.legal-tabela { width: 100%; min-width: 560px; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.legal-tabela caption { text-align: left; font-size: 13px; color: #666; padding-bottom: 8px; }
.legal-tabela th, .legal-tabela td { border: 1px solid #dde8f1; padding: 10px 12px; vertical-align: top; text-align: left; }
.legal-tabela th { background: #1b6ca8; color: #fff; font-weight: normal; letter-spacing: 1px; font-size: 13px; }
.legal-tabela tbody tr:nth-child(even) { background: #f7fafd; }

/* Dados a preencher — propositadamente visível */
.placeholder {
    background: #fff3cd;
    color: #6b4e00;
    border: 1px dashed #c8a84b;
    padding: 0 5px;
    font-size: 0.92em;
    font-family: Consolas, 'Courier New', monospace;
}

.legal-destaque { background: #e8f4fd; border-left: 3px solid #1b6ca8; padding: 16px 20px; margin: 14px 0; }

.legal-btn {
    display: inline-block;
    background: #1b6ca8;
    color: #fff !important;
    padding: 12px 28px;
    border: none;
    text-decoration: none;
    letter-spacing: 2px;
    font-size: 12px;
    font-weight: bold;
    font-family: Georgia, serif;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}
.legal-btn:hover { background: #0d4f80; transform: translateY(-2px); }

.legal-voltar { margin-top: 40px; padding-top: 20px; border-top: 1px solid #e3edf5; font-size: 14px; }

@media (max-width: 650px) {
    .legal-hero { padding: 105px 20px 40px; }
    .legal-hero h1 { font-size: 24px; letter-spacing: 2px; }
    .legal { padding: 30px 10px; }
    .legal-conteudo { padding: 30px 20px; font-size: 15px; }
    .legal-indice { padding: 18px 18px; }
    .legal-seccao h2 { font-size: 18px; }
}
