/* ========================== CONFIGURAÇÕES GERAIS ========================== */


* {
    box-sizing: border-box;
}

html, body {
    padding: 0;
    margin: 0;
    font-family: 'Beatrice', Arial, sans-serif;
    background: #FFFCFB;   
    color: #333333;       
}

/* ========================== HEADER ========================== */
.Cl_HeaderPP {
    background: linear-gradient(180deg, #0071BC, #002B5C); /* Azul médio > azul escuro */
    color: #fff;
    padding: 28px 16px;
}
.Cl_HeaderPP_Conteudo {
    max-width: 1100px;
    margin: 0 auto;
}
.Cl_HeaderPP h1 {
    margin: 0 0 6px 0;
    font-weight: bold;
}
.Cl_HeaderPP p {
    margin: 0;
    opacity: .9;
}

/* ========================== CONTAINER ========================== */
.Cl_PPContainer {
    max-width: 1100px;
    margin: 22px auto 60px auto;
    padding: 0 16px;
}
.Cl_Card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 18px 20px;
    margin-bottom: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}
.Cl_Card h2 {
    margin: 0 0 10px 0;
    font-size: 20px;
}
.Cl_CardDestaque {
    border-color: #0071BC;
    background: #e0f4ff;  /* fundo azul claro */
}
.Cl_Lista {
    margin: 8px 0 0 18px;
}
.Cl_Lista li {
    margin: 6px 0;
}

/* ========================== TOC / ÂNCORAS ========================== */
.Cl_TOC {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 16px 0;
}
.Cl_BtnAncoras {
    background: #fff;
    border: 1px solid #0071BC;
    color: #0071BC;
    border-radius: 8px;
    padding: 8px 12px;
    cursor: pointer;
    transition: background .2s, color .2s, transform .1s;
}
.Cl_BtnAncoras:hover {
    background: #0071BC;
    color: #fff;
    transform: translateY(-1px);
}

/* ========================== AÇÕES ========================== */
.Cl_Acoes {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 14px;
}
.Cl_BtnPrimario {
    background: #0071BC;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 16px;
    cursor: pointer;
    transition: background .2s, transform .1s;
}
.Cl_BtnPrimario:hover {
    background: #002B5C;
    transform: scale(1.02);
}
.Cl_BtnNeutro {
    background: #fff;
    color: #333333;
    border: 1px solid #ccc;
    border-radius: 8px;
    padding: 10px 16px;
    cursor: pointer;
    transition: border-color .2s, transform .1s;
}
.Cl_BtnNeutro:hover {
    border-color: #bbb;
    transform: scale(1.02);
}

/* ========================== LINKS E MENSAGENS ========================== */
.Cl_Link {
    color: #0071BC;
    text-decoration: none;
    border-bottom: 1px dotted #0071BC;
}
.Cl_Link:hover {
    color: #002B5C;
}
.Cl_Alerta {
    margin-top: 8px;
    padding: 10px 12px;
    border: 1px dashed #0071BC;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
}
.Cl_InfoAtualizacao {
    margin-top: 10px;
    font-size: 13px;
    opacity: .9;
}

/* ========================== FOOTER ========================== */
.Cl_FooterPP {
    text-align: center;
    padding: 18px 10px;
    border-top: 1px solid #eee;
    background: #fff;
}

/* ========================== RESPONSIVO ========================== */
@media (max-width: 768px) {
    .Cl_TOC {
        flex-direction: column;
        align-items: stretch;
    }
}


/* ========================== IMPRESSÃO / PDF ========================== */
@media print {
  /* Esconde todos os elementos marcados com .Cl_NoPrint */
  .Cl_NoPrint {
    display: none !important;
    visibility: hidden !important;
  }

  /* Ajusta cabeçalho para impressão limpa */
  .Cl_HeaderPP {
    background: none !important;
    color: #000 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Remove sombras/bordas pesadas */
  .Cl_Card {
    box-shadow: none !important;
    border-color: #999 !important;
  }

  /* Evita que links mostrem a URL ao lado */
  a[href]:after { content: "" !important; }

  /* Configuração de página A4 */
  @page {
    size: A4;
    margin: 14mm 12mm;
  }

  /* Utilitário: quebra de página forçada */
  .Cl_QuebraPagina {
    break-before: page;
    page-break-before: always;
  }
}
