/* ==========================================================================
   SEG · Portal do Aluno — print.css
   "Baixar apostila (PDF)": a apostila do curso em A4, com a identidade SEG.

   Ordem do PDF:
     capa (página cheia, sem margem) → sumário → apresentação e objetivos →
     um módulo por página (faixa SEG, texto, checklist, exercícios sem gabarito,
     fontes) → glossário e referências → contracapa.

   Cores de marca saem impressas (print-color-adjust: exact) só onde contam:
   capa, faixa do módulo, cabeçalho de tabela, números dos passos e cadeados.
   O resto é papel branco, para o PDF também imprimir bem.
   ========================================================================== */

@page {
  size: A4;
  margin: 22mm 16mm 20mm;

  @top-left {
    content: "SEG Consultoria de SST  ·  Apostila do aluno";
    font-family: "Archivo", Arial, sans-serif;
    font-size: 7.5pt;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #4c554d;
    vertical-align: bottom;
    padding-bottom: 3mm;
    border-bottom: 0.6pt solid #dfa601;
  }
  @top-right {
    /* o leitor troca este texto pelo código do procedimento do curso */
    content: "Portal do Aluno";
    font-family: "Archivo", Arial, sans-serif;
    font-size: 7.5pt;
    font-weight: 700;
    color: #0e5a36;
    vertical-align: bottom;
    padding-bottom: 3mm;
    border-bottom: 0.6pt solid #dfa601;
  }
  @bottom-left {
    content: "Material de estudo · não substitui o procedimento vigente nem o treinamento obrigatório";
    font-family: "Archivo", Arial, sans-serif;
    font-size: 6.5pt;
    color: #5f6a5c;
    vertical-align: top;
    padding-top: 3mm;
  }
  @bottom-right {
    content: "Página " counter(page) " de " counter(pages);
    font-family: "Archivo", Arial, sans-serif;
    font-size: 7.5pt;
    font-weight: 600;
    color: #12160f;
    vertical-align: top;
    padding-top: 3mm;
  }
}

/* capa e contracapa: página cheia, sem cabeçalho e rodapé */
@page capa {
  margin: 0;
  @top-left { content: none; border: 0; }
  @top-right { content: none; border: 0; }
  @bottom-left { content: none; }
  @bottom-right { content: none; }
}

@media print {
  :root,
  [data-tema="escuro"] {
    color-scheme: light;
    --papel: #ffffff;
    --papel-2: #f7f4ec;
    --papel-3: #f2ecdd;
    --branco: #ffffff;
    --tinta: #12160f;
    --tinta-2: #3c443d;
    --tinta-3: #5f6a5c;
    --linha: #d9d0bc;
    --linha-forte: #bfb398;
    --verde: #0e5a36;
    --ouro-lavado: #fbf0cc;
    --laranja-lavado: #fdece2;
  }

  html {
    font-size: 10.5pt;
  }
  body {
    background: #fff !important;
    color: var(--tinta) !important;
    font-family: var(--f-leitura);
  }

  /* ---- o que não vai para o PDF ---- */
  .topo,
  .lateral,
  .barra,
  .overlay,
  .rodape,
  .faixa-numeros,
  .pular,
  .anotacoes,
  .modulo__fim,
  .navegacao-modulo,
  .fim-curso,
  .capa,
  .so-tela,
  .btn,
  .quiz__rodape,
  .explicacao,
  .aula-video__palco,
  .aula-video__faixa,
  .aula-video__trilho {
    display: none !important;
  }

  .app,
  .conteudo {
    display: block !important;
  }
  .leitor {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .pdf-capa,
  .pdf-capa *,
  .folha-rosto,
  .folha-rosto *,
  .tabela th,
  .checklist__topo,
  .prosa .passos > li::before,
  .prosa .cores i,
  .modulo__num,
  .caixa,
  .pdf-sumario__num {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ======================================================================
     CAPA
     ====================================================================== */
  .pdf-capa {
    page: capa;
    display: flex !important;
    flex-direction: column;
    width: 210mm;
    height: 297mm;
    margin: 0;
    background: #fbf8f1;
    break-after: page;
    font-family: var(--f-ui);
    overflow: hidden;
  }
  .pdf-capa__topo {
    position: relative;
    background: #082018;
    color: #f3efe4;
    padding: 24mm 20mm 18mm;
    border-bottom: 5mm solid #dfa601;
    min-height: 168mm;
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }
  .pdf-capa__topo::after {
    /* anel decorativo, como na capa do portal */
    content: "";
    position: absolute;
    right: -46mm;
    top: -40mm;
    width: 130mm;
    height: 130mm;
    border-radius: 50%;
    border: 16mm solid rgba(223, 166, 1, 0.12);
  }
  .pdf-capa__logo {
    align-self: flex-start;
    background: #fbf8f1;
    border-radius: 3mm;
    padding: 4mm 6mm;
    margin-bottom: 18mm;
  }
  .pdf-capa__logo img {
    display: block;
    width: 52mm;
    height: auto;
  }
  .pdf-capa__rotulo {
    margin: 0;
    font-size: 9pt;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #dfa601;
  }
  .pdf-capa__sigla {
    margin: 4mm 0 0;
    font-size: 34pt;
    font-weight: 800;
    letter-spacing: -0.04em;
    line-height: 1;
    color: #dfa601;
  }
  .pdf-capa__titulo {
    margin: 5mm 0 0;
    font-size: 27pt;
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    color: #ffffff;
    max-width: 150mm;
  }
  .pdf-capa__sub {
    margin: 6mm 0 0;
    font-size: 11.5pt;
    line-height: 1.45;
    color: #c9d2c3;
    max-width: 140mm;
  }
  .pdf-capa__corpo {
    flex: 1;
    padding: 12mm 20mm 0;
  }
  .pdf-capa__doc {
    display: grid;
    gap: 1.2mm;
    padding: 5mm 6mm;
    border-left: 2mm solid #0e5a36;
    background: #ffffff;
    border-radius: 1.5mm;
  }
  .pdf-capa__doc span {
    font-size: 7.5pt;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #5f6a5c;
  }
  .pdf-capa__doc strong {
    font-size: 14pt;
    color: #0e5a36;
  }
  .pdf-capa__doc em {
    font-style: normal;
    font-size: 10pt;
    color: #3c443d;
  }
  .pdf-capa__dados {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin: 7mm 0 0;
    border-top: 0.6pt solid #cfc4ac;
    border-bottom: 0.6pt solid #cfc4ac;
  }
  .pdf-capa__dados div {
    padding: 4mm 0;
  }
  .pdf-capa__dados dt {
    font-size: 7pt;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #5f6a5c;
  }
  .pdf-capa__dados dd {
    margin: 1.5mm 0 0;
    font-size: 13pt;
    font-weight: 700;
    color: #12160f;
  }
  .pdf-capa__aviso {
    margin: 6mm 0 0;
    padding: 3mm 4mm;
    background: #fbf0cc;
    border-left: 1.2mm solid #dfa601;
    font-size: 8.5pt;
    color: #4a3800;
  }
  .pdf-capa__rodape {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6mm 20mm 10mm;
    border-top: 0.6pt solid #cfc4ac;
    margin: 0 0 0;
    font-size: 8.5pt;
    color: #3c443d;
  }
  .pdf-capa__rodape strong {
    font-size: 10pt;
    color: #0e5a36;
  }

  /* ======================================================================
     SUMÁRIO
     ====================================================================== */
  .pdf-sumario {
    display: block !important;
    break-after: page;
    font-family: var(--f-ui);
  }
  .pdf-etiqueta {
    margin: 0;
    font-size: 8pt;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #8a6a00;
  }
  .pdf-sumario h2 {
    margin: 2mm 0 8mm;
    font-size: 26pt;
    letter-spacing: -0.03em;
  }
  .pdf-sumario ol {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 0.8pt solid #12160f;
  }
  .pdf-sumario li {
    display: grid;
    grid-template-columns: 16mm 1fr auto;
    gap: 4mm;
    align-items: baseline;
    padding: 4mm 0;
    border-bottom: 0.5pt solid #d9d0bc;
  }
  .pdf-sumario__num {
    font-size: 16pt;
    font-weight: 800;
    color: #b38600;
    letter-spacing: -0.04em;
  }
  .pdf-sumario__titulo {
    font-size: 11.5pt;
    font-weight: 700;
  }
  .pdf-sumario__titulo small {
    display: block;
    margin-top: 1mm;
    font-size: 8.5pt;
    font-weight: 400;
    color: #5f6a5c;
  }
  .pdf-sumario__tempo {
    font-size: 8.5pt;
    color: #5f6a5c;
    white-space: nowrap;
  }
  .pdf-sumario__nota {
    margin-top: 10mm;
    padding: 4mm 5mm;
    background: #f7f4ec;
    border-left: 1.2mm solid #0e5a36;
    font-size: 9pt;
    line-height: 1.5;
    color: #3c443d;
  }

  /* ======================================================================
     APRESENTAÇÃO E OBJETIVOS
     ====================================================================== */
  .apresentacao {
    display: block !important;
  }
  .apresentacao__texto {
    font-size: 11pt !important;
    line-height: 1.6 !important;
  }
  .objetivos li {
    font-size: 10pt !important;
    break-inside: avoid;
  }

  /* ======================================================================
     MÓDULO
     ====================================================================== */
  .modulo {
    break-before: page;
    page-break-before: always;
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: 0 !important;
  }
  .modulo__cabecalho {
    grid-template-columns: 20mm 1fr !important;
    gap: 4mm !important;
    margin-bottom: 5mm !important;
  }
  .modulo__num {
    font-size: 30pt !important;
    color: #b38600 !important;
  }
  .modulo__cabecalho h2 {
    font-size: 17pt !important;
    line-height: 1.15 !important;
  }
  .modulo__resumo {
    font-size: 9.5pt !important;
    color: #3c443d !important;
  }

  /* faixa SEG do módulo — com as cores da marca */
  .folha-rosto {
    background: #082018 !important;
    color: #f3efe4 !important;
    border-bottom: 1.2mm solid #dfa601 !important;
    break-inside: avoid;
    margin-bottom: 6mm !important;
  }
  .folha-rosto__texto span,
  .folha-rosto__doc span {
    color: #c9d2c3 !important;
  }
  .folha-rosto__doc {
    color: #dfa601 !important;
  }

  /* aula em vídeo vira uma ficha */
  .aula-video {
    border: 0.6pt solid #cfc4ac !important;
    border-left: 1.5mm solid #0e5a36 !important;
    border-radius: 1mm !important;
    background: #fff !important;
    break-inside: avoid;
    margin: 0 0 6mm !important;
  }
  .aula-video__titulo {
    padding: 4mm !important;
    font-family: var(--f-ui) !important;
  }
  .aula-video__titulo strong {
    color: #12160f !important;
    font-size: 11pt !important;
  }
  .aula-video__titulo > span:last-child {
    color: #3c443d !important;
    font-size: 9pt !important;
  }
  .aula-video__titulo::after {
    content: "Aula em vídeo obrigatória: assista no portal do aluno, na área do curso.";
    display: block;
    margin-top: 2mm;
    font-family: var(--f-ui);
    font-size: 8pt;
    font-weight: 600;
    color: #0e5a36;
  }

  /* ---- texto ---- */
  .prosa {
    font-family: var(--f-leitura) !important;
    font-size: 10.5pt !important;
    line-height: 1.55 !important;
    max-width: none !important;
    color: #12160f !important;
  }
  .prosa > * + * {
    margin-top: 0.8em !important;
  }
  .prosa h3 {
    font-family: var(--f-ui) !important;
    font-size: 12.5pt !important;
    margin-top: 7mm !important;
    padding-left: 3mm;
    border-left: 1.2mm solid #dfa601;
    color: #12160f !important;
    break-after: avoid;
  }
  .prosa h4 {
    font-family: var(--f-ui) !important;
    color: #12160f !important;
    break-after: avoid;
  }
  .prosa strong {
    background: none !important;
    color: #12160f !important;
    font-weight: 700 !important;
    box-shadow: none !important;
  }
  .prosa a {
    color: #12160f !important;
    text-decoration: none !important;
  }
  .prosa li {
    break-inside: avoid;
  }

  /* ---- blocos da identidade ---- */
  .caixa,
  .fichas,
  .tabela-wrap,
  .checklist,
  .definicoes > div,
  .cores > li,
  .glossario div {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .caixa {
    font-family: var(--f-ui) !important;
    font-size: 9pt !important;
    padding: 3.5mm 4mm !important;
    margin-block: 4mm !important;
    border-radius: 1mm !important;
  }
  .caixa--norma {
    --caixa-cor: #0e5a36;
    --caixa-fundo: #eef5f0;
  }
  .caixa--atencao {
    --caixa-cor: #7a5500;
    --caixa-fundo: #fbf0cc;
  }
  .caixa--erro {
    --caixa-cor: #b2460e;
    --caixa-fundo: #fdece2;
  }
  .caixa--fonte {
    --caixa-cor: #5f6a5c;
    --caixa-fundo: #f7f4ec;
  }

  .tabela-wrap {
    overflow: visible !important;
    border-color: #cfc4ac !important;
    margin-block: 4mm !important;
  }
  .tabela {
    font-family: var(--f-ui) !important;
    font-size: 8.5pt !important;
    min-width: 0 !important;
  }
  .tabela th {
    background: #082018 !important;
    color: #f3efe4 !important;
  }
  .tabela td {
    color: #12160f !important;
    border-top: 0.5pt solid #d9d0bc !important;
  }
  .tabela tr {
    break-inside: avoid;
  }

  .fichas {
    border-color: #cfc4ac !important;
    background: #cfc4ac !important;
    margin-block: 4mm !important;
  }
  .ficha {
    background: #fff !important;
    padding: 3mm !important;
  }

  .prosa .passos {
    font-size: 9.5pt !important;
    margin-block: 4mm !important;
  }
  .prosa .passos > li {
    padding-bottom: 3.5mm !important;
    break-inside: avoid;
  }
  .prosa .passos > li::before {
    background: #dfa601 !important;
    color: #12160f !important;
    box-shadow: 0 0 0 3px #fff !important;
  }

  .prosa .definicoes {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5mm !important;
    margin-block: 4mm !important;
  }
  .prosa .definicoes > div {
    padding: 3mm !important;
    border-color: #d9d0bc !important;
    border-top-color: #0e5a36 !important;
  }
  .prosa .definicoes dd {
    font-size: 8.5pt !important;
  }

  .prosa .cores > li {
    padding: 2.5mm 3.5mm !important;
    font-size: 9pt !important;
  }

  .checklist {
    border: 0.6pt solid #0e5a36 !important;
    border-radius: 1mm !important;
    margin-block: 5mm !important;
  }
  .checklist__topo {
    background: #0e5a36 !important;
    color: #fff !important;
  }
  .checklist li {
    border-bottom: 0.5pt dashed #cfc4ac !important;
    font-size: 9pt !important;
  }

  /* ---- exercícios de fixação: perguntas sem gabarito ---- */
  .quiz {
    display: block !important;
    break-before: page;
    border: 0 !important;
    background: #fff !important;
    padding: 0 !important;
    margin-top: 0 !important;
  }
  .quiz__topo {
    background: none !important;
    border: 0 !important;
    border-bottom: 1mm solid #dfa601 !important;
    padding: 0 0 3mm !important;
    margin-bottom: 4mm !important;
    color: #12160f !important;
  }
  .quiz__topo h3 {
    font-size: 13pt !important;
    color: #12160f !important;
  }
  .quiz__topo h3 svg {
    display: none;
  }
  .quiz__topo span {
    color: #5f6a5c !important;
  }
  .quiz__topo span::after {
    content: " · responda no portal para registrar sua nota";
  }
  .quiz__corpo {
    padding: 0 !important;
  }
  .pergunta {
    break-inside: avoid;
    margin-bottom: 4mm !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .pergunta legend {
    font-family: var(--f-ui) !important;
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #12160f !important;
  }
  .alternativa,
  .alternativa--certa,
  .alternativa--errada,
  .alternativa:has(input:checked) {
    background: #fff !important;
    border: 0 !important;
    padding: 1mm 0 1mm 2mm !important;
    font-size: 9.5pt !important;
    color: #12160f !important;
  }
  .alternativa input {
    border: 0.8pt solid #3c443d !important;
    background: #fff !important;
  }
  .alternativa input::before,
  .alternativa__marca {
    display: none !important;
  }

  .fontes {
    font-family: var(--f-ui) !important;
    font-size: 7.5pt !important;
    color: #5f6a5c !important;
    border-top: 0.5pt solid #cfc4ac !important;
    margin-top: 6mm !important;
  }

  /* ---- glossário e referências ---- */
  #glossario {
    break-before: page;
  }
  .glossario {
    font-family: var(--f-ui) !important;
    font-size: 9pt !important;
  }
  .titulo-secao {
    font-size: 18pt !important;
  }
  .lista-referencias {
    font-family: var(--f-ui) !important;
    font-size: 9pt !important;
  }

  /* ======================================================================
     CONTRACAPA
     ====================================================================== */
  .pdf-contracapa {
    page: capa;
    break-before: page;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6mm;
    width: 210mm;
    height: 297mm;
    background: #082018;
    border-top: 5mm solid #dfa601;
    color: #c9d2c3;
    text-align: center;
    font-family: var(--f-ui);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .pdf-contracapa img {
    width: 62mm;
    height: auto;
    background: #fbf8f1;
    border-radius: 3mm;
    padding: 5mm 7mm;
  }
  .pdf-contracapa p {
    margin: 0;
    font-size: 10pt;
  }
  .pdf-contracapa strong {
    display: block;
    margin-bottom: 1.5mm;
    font-size: 14pt;
    color: #dfa601;
  }
}
