/**
 * privacidade.css - Estilos exclusivos da página de Política de Privacidade do UPMATH.
 * Arquivo isolado: não importa o style.css geral para evitar que o body centralizado da index
 * quebre a leitura de um documento longo.
 */

/* Importa a barra lateral padrão do UPMATH */
@import url('painel/layout/sidebar.css');

/* ==========================================================================
   TOKENS DE DESIGN (cores, raios e sombras reutilizados em toda a página)
   ========================================================================== */
/* Abre o bloco de variáveis globais acessíveis em qualquer seletor */
:root {
    /* Cor de fundo principal, um azul-marinho profundo */
    --priv-bg: hsl(222, 47%, 9%);
    /* Cor de fundo secundária usada no gradiente do topo */
    --priv-bg-2: hsl(230, 45%, 14%);
    /* Fundo translúcido dos cartões (efeito vidro) */
    --priv-card: hsla(220, 40%, 18%, 0.55);
    /* Borda sutil e translúcida dos cartões */
    --priv-border: hsla(210, 60%, 70%, 0.14);
    /* Cor principal do texto, um branco levemente azulado */
    --priv-text: hsl(210, 30%, 92%);
    /* Cor do texto secundário, mais apagada */
    --priv-muted: hsl(215, 18%, 68%);
    /* Cor de destaque azul, alinhada ao theme-color #3498db da index */
    --priv-accent: hsl(204, 70%, 60%);
    /* Cor de destaque verde, alinhada ao botão CADASTRAR da index */
    --priv-accent-2: hsl(145, 63%, 52%);
    /* Cor de alerta âmbar para avisos importantes */
    --priv-warn: hsl(38, 92%, 60%);
    /* Raio padrão dos cantos arredondados */
    --priv-radius: 18px;
    /* Sombra padrão dos cartões */
    --priv-shadow: 0 20px 45px -20px hsla(222, 80%, 2%, 0.8);
/* Fecha o bloco de variáveis */
}

/* ==========================================================================
   BASE
   ========================================================================== */
/* Aplica o modelo de caixa que inclui padding e borda na largura em todos os elementos */
*, *::before, *::after {
    /* Faz largura/altura considerarem padding e borda */
    box-sizing: border-box;
/* Fecha a regra universal */
}

/* Ativa rolagem suave ao clicar nos links do sumário */
html {
    /* Rolagem animada entre âncoras */
    scroll-behavior: smooth;
    /* Compensa o cabeçalho fixo ao pular para uma âncora */
    scroll-padding-top: 90px;
/* Fecha a regra do html */
}

/* Estilo do corpo da página */
body {
    /* Remove a margem padrão do navegador */
    margin: 0;
    /* Define a fonte do texto corrido */
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    /* Aplica a cor principal do texto */
    color: var(--priv-text);
    /* Fundo com dois brilhos radiais coloridos sobre o azul-marinho */
    background:
        /* Brilho azul no canto superior esquerdo */
        radial-gradient(circle at 10% 0%, hsla(204, 70%, 45%, 0.25), transparent 45%),
        /* Brilho verde no canto superior direito */
        radial-gradient(circle at 95% 10%, hsla(145, 63%, 40%, 0.18), transparent 40%),
        /* Cor base sólida */
        var(--priv-bg);
    /* Mantém o fundo parado durante a rolagem */
    background-attachment: fixed;
    /* Altura de linha confortável para leitura de textos longos */
    line-height: 1.7;
    /* Suaviza a renderização das fontes */
    -webkit-font-smoothing: antialiased;
/* Fecha a regra do body */
}

/* Estilo padrão dos links */
a {
    /* Usa a cor de destaque azul */
    color: var(--priv-accent);
    /* Remove o sublinhado padrão */
    text-decoration: none;
    /* Anima a troca de cor no hover */
    transition: color 0.2s ease;
/* Fecha a regra dos links */
}

/* Estado de hover e foco dos links */
a:hover, a:focus-visible {
    /* Troca para o verde de destaque */
    color: var(--priv-accent-2);
/* Fecha a regra de hover */
}

/* ==========================================================================
   CABEÇALHO FIXO
   ========================================================================== */
/* Barra superior fixa com efeito de vidro */
.priv-topbar {
    /* Mantém a barra presa ao topo durante a rolagem */
    position: sticky;
    /* Cola a barra exatamente no topo */
    top: 0;
    /* Garante que a barra fique acima do conteúdo */
    z-index: 10;
    /* Organiza logo e botão lado a lado */
    display: flex;
    /* Afasta logo e botão para as extremidades */
    justify-content: space-between;
    /* Centraliza verticalmente os itens */
    align-items: center;
    /* Espaçamento interno da barra */
    padding: 14px clamp(16px, 4vw, 48px);
    /* Fundo translúcido escuro */
    background: hsla(222, 47%, 9%, 0.7);
    /* Desfoca o que passa por trás (glassmorphism) */
    backdrop-filter: blur(14px);
    /* Prefixo para Safari */
    -webkit-backdrop-filter: blur(14px);
    /* Linha sutil separando a barra do conteúdo */
    border-bottom: 1px solid var(--priv-border);
/* Fecha a regra da barra superior */
}

/* Link do logotipo na barra */
.priv-brand {
    /* Alinha imagem e texto em linha */
    display: flex;
    /* Centraliza verticalmente imagem e texto */
    align-items: center;
    /* Espaço entre imagem e texto */
    gap: 10px;
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Texto em negrito forte */
    font-weight: 800;
    /* Tamanho do nome da marca */
    font-size: 1.25rem;
    /* Mantém a cor do texto principal */
    color: var(--priv-text);
    /* Leve espaçamento entre letras */
    letter-spacing: 0.04em;
/* Fecha a regra da marca */
}

/* Imagem do logotipo */
.priv-brand img {
    /* Largura do ícone */
    width: 34px;
    /* Altura do ícone */
    height: 34px;
    /* Cantos arredondados no ícone */
    border-radius: 10px;
/* Fecha a regra da imagem */
}

/* Botão de voltar para a página inicial */
.priv-back {
    /* Alinha ícone e texto */
    display: inline-flex;
    /* Centraliza verticalmente */
    align-items: center;
    /* Espaço entre seta e texto */
    gap: 8px;
    /* Espaçamento interno do botão */
    padding: 10px 18px;
    /* Formato de pílula */
    border-radius: 999px;
    /* Gradiente azul igual ao botão ENTRAR */
    background: linear-gradient(135deg, hsl(204, 70%, 53%), hsl(210, 64%, 42%));
    /* Texto branco */
    color: #fff;
    /* Texto semi-negrito */
    font-weight: 600;
    /* Tamanho do texto do botão */
    font-size: 0.9rem;
    /* Brilho azul ao redor */
    box-shadow: 0 6px 18px -6px hsla(204, 70%, 50%, 0.7);
    /* Anima elevação e sombra */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
/* Fecha a regra do botão voltar */
}

/* Hover do botão voltar */
.priv-back:hover, .priv-back:focus-visible {
    /* Mantém o texto branco no hover */
    color: #fff;
    /* Eleva levemente o botão */
    transform: translateY(-2px);
    /* Intensifica o brilho */
    box-shadow: 0 10px 24px -6px hsla(204, 70%, 50%, 0.9);
/* Fecha a regra de hover */
}

/* ==========================================================================
   HERO (introdução)
   ========================================================================== */
/* Bloco de abertura da página */
.priv-hero {
    /* Limita a largura do conteúdo */
    max-width: 1100px;
    /* Centraliza horizontalmente e dá respiro vertical */
    margin: 0 auto;
    /* Espaçamento interno responsivo */
    padding: clamp(40px, 7vw, 80px) clamp(16px, 4vw, 48px) 32px;
    /* Centraliza o texto */
    text-align: center;
    /* Animação de entrada */
    animation: privFadeUp 0.7s ease both;
/* Fecha a regra do hero */
}

/* Selo acima do título */
.priv-badge {
    /* Permite padding em elemento inline */
    display: inline-block;
    /* Espaçamento interno do selo */
    padding: 6px 14px;
    /* Formato de pílula */
    border-radius: 999px;
    /* Fundo verde translúcido */
    background: hsla(145, 63%, 45%, 0.15);
    /* Borda verde translúcida */
    border: 1px solid hsla(145, 63%, 52%, 0.4);
    /* Texto verde */
    color: var(--priv-accent-2);
    /* Texto pequeno */
    font-size: 0.8rem;
    /* Texto semi-negrito */
    font-weight: 600;
    /* Espaço entre letras para aspecto de etiqueta */
    letter-spacing: 0.08em;
    /* Caixa alta */
    text-transform: uppercase;
/* Fecha a regra do selo */
}

/* Título principal da página */
.priv-hero h1 {
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Tamanho responsivo do título */
    font-size: clamp(2rem, 5vw, 3.4rem);
    /* Altura de linha compacta para títulos */
    line-height: 1.15;
    /* Espaço acima e abaixo */
    margin: 18px 0 14px;
    /* Gradiente aplicado no texto */
    background: linear-gradient(120deg, #fff 20%, var(--priv-accent) 60%, var(--priv-accent-2));
    /* Recorta o gradiente no formato das letras (WebKit) */
    -webkit-background-clip: text;
    /* Recorta o gradiente no formato das letras (padrão) */
    background-clip: text;
    /* Torna o preenchimento transparente para revelar o gradiente */
    color: transparent;
/* Fecha a regra do título */
}

/* Parágrafo de introdução */
.priv-hero p {
    /* Limita a largura da linha para leitura */
    max-width: 720px;
    /* Centraliza o parágrafo */
    margin: 0 auto;
    /* Cor secundária */
    color: var(--priv-muted);
    /* Texto um pouco maior */
    font-size: 1.08rem;
/* Fecha a regra do parágrafo */
}

/* Linha com a data de atualização */
.priv-updated {
    /* Espaço acima */
    margin-top: 18px !important;
    /* Texto menor */
    font-size: 0.9rem !important;
/* Fecha a regra da data */
}

/* ==========================================================================
   RESUMO RÁPIDO (cartões de destaque)
   ========================================================================== */
/* Grade com os cartões de resumo */
.priv-summary {
    /* Limita a largura */
    max-width: 1100px;
    /* Centraliza e afasta do conteúdo seguinte */
    margin: 0 auto 48px;
    /* Espaçamento lateral responsivo */
    padding: 0 clamp(16px, 4vw, 48px);
    /* Usa grade CSS */
    display: grid;
    /* Colunas automáticas de no mínimo 220px */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    /* Espaço entre cartões */
    gap: 18px;
    /* Remove marcadores da lista */
    list-style: none;
/* Fecha a regra da grade */
}

/* Cada cartão de resumo */
.priv-summary li {
    /* Fundo translúcido de vidro */
    background: var(--priv-card);
    /* Borda sutil */
    border: 1px solid var(--priv-border);
    /* Cantos arredondados */
    border-radius: var(--priv-radius);
    /* Espaçamento interno */
    padding: 22px;
    /* Desfoque do fundo */
    backdrop-filter: blur(10px);
    /* Prefixo para Safari */
    -webkit-backdrop-filter: blur(10px);
    /* Sombra padrão */
    box-shadow: var(--priv-shadow);
    /* Anima elevação e borda */
    transition: transform 0.25s ease, border-color 0.25s ease;
    /* Animação de entrada */
    animation: privFadeUp 0.7s ease both;
/* Fecha a regra do cartão */
}

/* Atrasa a animação do segundo cartão */
.priv-summary li:nth-child(2) { animation-delay: 0.08s; }
/* Atrasa a animação do terceiro cartão */
.priv-summary li:nth-child(3) { animation-delay: 0.16s; }
/* Atrasa a animação do quarto cartão */
.priv-summary li:nth-child(4) { animation-delay: 0.24s; }

/* Hover dos cartões de resumo */
.priv-summary li:hover {
    /* Eleva o cartão */
    transform: translateY(-4px);
    /* Destaca a borda em azul */
    border-color: hsla(204, 70%, 60%, 0.5);
/* Fecha a regra de hover */
}

/* Ícone grande do cartão */
.priv-summary .priv-icon {
    /* Tamanho do emoji */
    font-size: 1.8rem;
/* Fecha a regra do ícone */
}

/* Título do cartão */
.priv-summary strong {
    /* Força quebra de linha antes e depois */
    display: block;
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Tamanho do título */
    font-size: 1.1rem;
    /* Espaço acima e abaixo */
    margin: 8px 0 4px;
/* Fecha a regra do título do cartão */
}

/* Texto descritivo do cartão */
.priv-summary span.priv-desc {
    /* Cor secundária */
    color: var(--priv-muted);
    /* Texto menor */
    font-size: 0.92rem;
/* Fecha a regra da descrição */
}

/* ==========================================================================
   LAYOUT PRINCIPAL (sumário lateral + conteúdo)
   ========================================================================== */
/* Container com duas colunas */
.priv-layout {
    /* Limita a largura */
    max-width: 1100px;
    /* Centraliza */
    margin: 0 auto;
    /* Espaçamento interno responsivo */
    padding: 0 clamp(16px, 4vw, 48px) 64px;
    /* Usa grade CSS */
    display: grid;
    /* Coluna fixa para o sumário e flexível para o texto */
    grid-template-columns: 260px 1fr;
    /* Espaço entre colunas */
    gap: 36px;
    /* Alinha os itens ao topo */
    align-items: start;
/* Fecha a regra do layout */
}

/* Sumário lateral de navegação */
.priv-toc {
    /* Fica preso ao rolar a página */
    position: sticky;
    /* Distância do topo considerando o cabeçalho */
    top: 90px;
    /* Fundo de vidro */
    background: var(--priv-card);
    /* Borda sutil */
    border: 1px solid var(--priv-border);
    /* Cantos arredondados */
    border-radius: var(--priv-radius);
    /* Espaçamento interno */
    padding: 20px;
    /* Desfoque do fundo */
    backdrop-filter: blur(10px);
    /* Prefixo para Safari */
    -webkit-backdrop-filter: blur(10px);
/* Fecha a regra do sumário */
}

/* Título do sumário */
.priv-toc h2 {
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Texto pequeno */
    font-size: 0.85rem;
    /* Caixa alta */
    text-transform: uppercase;
    /* Espaço entre letras */
    letter-spacing: 0.1em;
    /* Cor secundária */
    color: var(--priv-muted);
    /* Espaço abaixo */
    margin: 0 0 12px;
/* Fecha a regra do título do sumário */
}

/* Lista do sumário */
.priv-toc ol {
    /* Remove marcadores */
    list-style: none;
    /* Remove margem */
    margin: 0;
    /* Remove recuo */
    padding: 0;
/* Fecha a regra da lista */
}

/* Links do sumário */
.priv-toc a {
    /* Ocupa a linha inteira para área de clique maior */
    display: block;
    /* Espaçamento interno */
    padding: 7px 10px;
    /* Cantos arredondados */
    border-radius: 10px;
    /* Cor secundária */
    color: var(--priv-muted);
    /* Texto menor */
    font-size: 0.9rem;
    /* Anima fundo e cor */
    transition: background 0.2s ease, color 0.2s ease;
/* Fecha a regra dos links do sumário */
}

/* Hover dos links do sumário */
.priv-toc a:hover, .priv-toc a:focus-visible {
    /* Fundo azul translúcido */
    background: hsla(204, 70%, 60%, 0.12);
    /* Texto branco */
    color: var(--priv-text);
/* Fecha a regra de hover */
}

/* ==========================================================================
   SEÇÕES DE CONTEÚDO
   ========================================================================== */
/* Cada seção da política */
.priv-section {
    /* Fundo de vidro */
    background: var(--priv-card);
    /* Borda sutil */
    border: 1px solid var(--priv-border);
    /* Cantos arredondados */
    border-radius: var(--priv-radius);
    /* Espaçamento interno responsivo */
    padding: clamp(22px, 3vw, 34px);
    /* Espaço entre seções */
    margin-bottom: 22px;
    /* Sombra padrão */
    box-shadow: var(--priv-shadow);
    /* Desfoque do fundo */
    backdrop-filter: blur(10px);
    /* Prefixo para Safari */
    -webkit-backdrop-filter: blur(10px);
/* Fecha a regra da seção */
}

/* Título de cada seção */
.priv-section h2 {
    /* Alinha emoji e texto */
    display: flex;
    /* Centraliza verticalmente */
    align-items: center;
    /* Espaço entre emoji e texto */
    gap: 12px;
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Tamanho responsivo */
    font-size: clamp(1.3rem, 2.4vw, 1.6rem);
    /* Remove margem superior e define inferior */
    margin: 0 0 14px;
/* Fecha a regra do título da seção */
}

/* Subtítulos dentro das seções */
.priv-section h3 {
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Tamanho do subtítulo */
    font-size: 1.1rem;
    /* Cor azul de destaque */
    color: var(--priv-accent);
    /* Espaço acima e abaixo */
    margin: 22px 0 8px;
/* Fecha a regra do subtítulo */
}

/* Parágrafos e itens de lista das seções */
.priv-section p, .priv-section li {
    /* Cor levemente mais suave que o branco puro */
    color: hsl(210, 22%, 84%);
/* Fecha a regra de texto */
}

/* Listas das seções */
.priv-section ul {
    /* Recuo da lista */
    padding-left: 1.2rem;
    /* Remove margem extra */
    margin: 8px 0;
/* Fecha a regra das listas */
}

/* Itens das listas */
.priv-section ul li {
    /* Espaço entre itens */
    margin-bottom: 6px;
/* Fecha a regra dos itens */
}

/* Cor do marcador das listas */
.priv-section ul li::marker {
    /* Marcador verde */
    color: var(--priv-accent-2);
/* Fecha a regra do marcador */
}

/* Destaques em negrito no texto */
.priv-section strong {
    /* Usa a cor principal mais clara */
    color: var(--priv-text);
/* Fecha a regra de negrito */
}

/* ==========================================================================
   TABELA DE DADOS
   ========================================================================== */
/* Container com rolagem horizontal para a tabela em telas pequenas */
.priv-table-wrap {
    /* Permite rolar horizontalmente */
    overflow-x: auto;
    /* Espaço acima e abaixo */
    margin: 14px 0;
    /* Cantos arredondados */
    border-radius: 12px;
    /* Borda sutil */
    border: 1px solid var(--priv-border);
/* Fecha a regra do container */
}

/* Tabela de dados coletados */
.priv-table {
    /* Ocupa a largura toda */
    width: 100%;
    /* Une as bordas das células */
    border-collapse: collapse;
    /* Largura mínima para não espremer colunas */
    min-width: 560px;
    /* Texto um pouco menor */
    font-size: 0.93rem;
/* Fecha a regra da tabela */
}

/* Células de cabeçalho e de dados */
.priv-table th, .priv-table td {
    /* Espaçamento interno */
    padding: 12px 14px;
    /* Alinha o texto à esquerda */
    text-align: left;
    /* Alinha ao topo */
    vertical-align: top;
    /* Linha separadora */
    border-bottom: 1px solid var(--priv-border);
/* Fecha a regra das células */
}

/* Cabeçalho da tabela */
.priv-table th {
    /* Fundo azul translúcido */
    background: hsla(204, 70%, 50%, 0.14);
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Cor principal */
    color: var(--priv-text);
    /* Negrito */
    font-weight: 600;
/* Fecha a regra do cabeçalho */
}

/* Remove a borda inferior da última linha */
.priv-table tr:last-child td {
    /* Sem borda */
    border-bottom: none;
/* Fecha a regra */
}

/* Destaque leve ao passar o mouse sobre a linha */
.priv-table tbody tr:hover {
    /* Fundo branco bem translúcido */
    background: hsla(0, 0%, 100%, 0.03);
/* Fecha a regra de hover */
}

/* ==========================================================================
   LINHA DO TEMPO DE RETENÇÃO
   ========================================================================== */
/* Lista ordenada usada como linha do tempo */
.priv-timeline {
    /* Remove marcadores */
    list-style: none;
    /* Remove margem e cria espaço à esquerda para a linha */
    margin: 18px 0;
    /* Recuo para a linha vertical */
    padding-left: 28px;
    /* Referência de posição para a linha */
    position: relative;
/* Fecha a regra da linha do tempo */
}

/* Linha vertical da linha do tempo */
.priv-timeline::before {
    /* Pseudo-elemento sem texto */
    content: '';
    /* Posicionamento absoluto */
    position: absolute;
    /* Distância da esquerda */
    left: 9px;
    /* Começa no topo */
    top: 6px;
    /* Termina perto do fim */
    bottom: 6px;
    /* Espessura da linha */
    width: 2px;
    /* Gradiente azul → âmbar → verde */
    background: linear-gradient(var(--priv-accent), var(--priv-warn), var(--priv-accent-2));
    /* Cantos arredondados */
    border-radius: 2px;
/* Fecha a regra da linha */
}

/* Cada etapa da linha do tempo */
.priv-timeline li {
    /* Referência de posição para o marcador */
    position: relative;
    /* Espaço entre etapas */
    margin-bottom: 18px;
/* Fecha a regra da etapa */
}

/* Bolinha marcadora de cada etapa */
.priv-timeline li::before {
    /* Pseudo-elemento sem texto */
    content: '';
    /* Posicionamento absoluto */
    position: absolute;
    /* Alinha sobre a linha vertical */
    left: -25px;
    /* Alinha com a primeira linha de texto */
    top: 7px;
    /* Largura da bolinha */
    width: 14px;
    /* Altura da bolinha */
    height: 14px;
    /* Formato circular */
    border-radius: 50%;
    /* Preenchimento com a cor de fundo */
    background: var(--priv-bg);
    /* Contorno azul */
    border: 3px solid var(--priv-accent);
/* Fecha a regra da bolinha */
}

/* Rótulo de tempo em cada etapa */
.priv-timeline .priv-when {
    /* Exibe como bloco */
    display: block;
    /* Fonte de títulos */
    font-family: 'Outfit', sans-serif;
    /* Negrito */
    font-weight: 700;
    /* Cor principal */
    color: var(--priv-text);
/* Fecha a regra do rótulo */
}

/* ==========================================================================
   CAIXAS DE AVISO
   ========================================================================== */
/* Caixa de destaque informativo */
.priv-callout {
    /* Alinha ícone e texto */
    display: flex;
    /* Espaço entre ícone e texto */
    gap: 14px;
    /* Espaçamento interno */
    padding: 16px 18px;
    /* Cantos arredondados */
    border-radius: 14px;
    /* Fundo âmbar translúcido */
    background: hsla(38, 92%, 55%, 0.1);
    /* Barra lateral âmbar */
    border-left: 4px solid var(--priv-warn);
    /* Espaço acima e abaixo */
    margin: 16px 0 4px;
/* Fecha a regra da caixa */
}

/* Variante verde da caixa de destaque */
.priv-callout.is-safe {
    /* Fundo verde translúcido */
    background: hsla(145, 63%, 45%, 0.1);
    /* Barra lateral verde */
    border-left-color: var(--priv-accent-2);
/* Fecha a regra da variante */
}

/* Ícone da caixa de destaque */
.priv-callout .priv-icon {
    /* Tamanho do emoji */
    font-size: 1.4rem;
    /* Impede o ícone de encolher */
    flex-shrink: 0;
/* Fecha a regra do ícone */
}

/* Parágrafo dentro da caixa */
.priv-callout p {
    /* Remove margem */
    margin: 0;
/* Fecha a regra */
}

/* ==========================================================================
   CARTÃO DE CONTATO
   ========================================================================== */
/* Botão de e-mail do encarregado */
.priv-contact {
    /* Alinha ícone e texto */
    display: inline-flex;
    /* Centraliza verticalmente */
    align-items: center;
    /* Espaço entre ícone e texto */
    gap: 10px;
    /* Espaçamento interno */
    padding: 14px 22px;
    /* Formato de pílula */
    border-radius: 999px;
    /* Gradiente verde igual ao botão CADASTRAR */
    background: linear-gradient(135deg, #28a745, #218838);
    /* Texto branco */
    color: #fff;
    /* Negrito */
    font-weight: 700;
    /* Espaço acima */
    margin-top: 10px;
    /* Brilho verde */
    box-shadow: 0 6px 18px -6px rgba(40, 167, 69, 0.7);
    /* Anima elevação */
    transition: transform 0.2s ease;
    /* Quebra o e-mail longo em telas pequenas */
    word-break: break-all;
/* Fecha a regra do botão de contato */
}

/* Hover do botão de contato */
.priv-contact:hover, .priv-contact:focus-visible {
    /* Mantém o texto branco */
    color: #fff;
    /* Eleva o botão */
    transform: translateY(-2px);
/* Fecha a regra de hover */
}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
/* Rodapé da página */
.priv-footer {
    /* Centraliza o texto */
    text-align: center;
    /* Espaçamento interno */
    padding: 28px 16px 40px;
    /* Cor secundária */
    color: var(--priv-muted);
    /* Texto pequeno */
    font-size: 0.85rem;
    /* Linha separadora no topo */
    border-top: 1px solid var(--priv-border);
/* Fecha a regra do rodapé */
}

/* ==========================================================================
   ANIMAÇÕES
   ========================================================================== */
/* Animação de surgir subindo levemente */
@keyframes privFadeUp {
    /* Estado inicial: invisível e deslocado para baixo */
    from { opacity: 0; transform: translateY(16px); }
    /* Estado final: visível na posição original */
    to { opacity: 1; transform: translateY(0); }
/* Fecha a animação */
}

/* Respeita usuários que preferem menos movimento */
@media (prefers-reduced-motion: reduce) {
    /* Aplica a todos os elementos */
    *, *::before, *::after {
        /* Desativa animações */
        animation: none !important;
        /* Desativa transições */
        transition: none !important;
    /* Fecha a regra universal */
    }
    /* Desativa a rolagem suave */
    html { scroll-behavior: auto; }
/* Fecha a media query */
}

/* ==========================================================================
   RESPONSIVIDADE
   ========================================================================== */
/* Telas médias e pequenas (tablets e celulares) */
@media (max-width: 860px) {
    /* Layout passa a ter uma única coluna */
    .priv-layout {
        /* Uma coluna só */
        grid-template-columns: 1fr;
    /* Fecha a regra */
    }
    /* Sumário deixa de ser fixo */
    .priv-toc {
        /* Volta ao fluxo normal */
        position: static;
    /* Fecha a regra */
    }
/* Fecha a media query */
}

/* Telas muito pequenas */
@media (max-width: 480px) {
    /* Esconde o texto do botão voltar, deixando só a seta */
    .priv-back .priv-back-text {
        /* Oculta o texto */
        display: none;
    /* Fecha a regra */
    }
/* Fecha a media query */
}

/* ==========================================================================
   INTEGRAÇÃO DA BARRA LATERAL NAS PÁGINAS INSTITUCIONAIS
   ========================================================================== */
/* Estilo especial do botão de escolas na barra lateral */
.sidebar-btn.school-btn {
    /* Borda lateral em destaque amarelo */
    border-left: 4px solid #f1c40f !important;
    /* Margem superior para separação dos outros links */
    margin-top: 10px;
    /* Fundo suave com transparência */
    background-color: rgba(241, 196, 15, 0.05) !important;
/* Fecha a regra do botão escolar */
}

/* Efeito ao passar o mouse sobre o botão de escolas */
.sidebar-btn.school-btn:hover {
    /* Gradiente dourado vibrante */
    background: linear-gradient(135deg, #f1c40f, #f39c12) !important;
    /* Texto branco para contraste perfeito */
    color: #fff !important;
/* Fecha a regra de hover */
}

/* Efeito ao passar o mouse sobre o ícone do botão escolar */
.sidebar-btn.school-btn:hover .icon {
    /* Ícone em branco */
    color: #fff !important;
/* Fecha a regra de hover do ícone */
}

/* Tratamento do texto do botão de escola */
.sidebar-btn.school-btn .text {
    /* Oculta excesso de texto */
    overflow: hidden;
    /* Reticências se necessário */
    text-overflow: ellipsis;
/* Fecha a regra do texto */
}

/* Ajuste na barra superior institucional em telas menores */
@media (max-width: 800px) {
    /* Espaçamento à esquerda para não sobrepor o botão hambúrguer fixo */
    .priv-topbar {
        /* Recuo à esquerda de 60px */
        padding-left: 60px;
    /* Fecha a regra da barra superior */
    }
/* Fecha a media query */
}

