/* ==========================================================================
   Impresión · Portal de Integradores NSCA
   Se aplica a "Imprimir todo" y a "Imprimir esta sección" (body.printing-one)
   ========================================================================== */
@media print{

  @page{ size:A4; margin:16mm 14mm; }

  /* --- fuera de la impresión --- */
  .sidebar,.topbar,.backdrop,.totop,.btn,.cta,.searchwrap,.filters,
  .noprint{ display:none !important; }

  html,body{ background:#fff !important; color:#000 !important; }
  body{ font-size:10.5pt; line-height:1.45; }
  main{ margin-left:0 !important; padding:0 !important; }
  .wrap{ max-width:none; padding:0; }

  /* --- impresión de una sola sección --- */
  body.printing-one section:not(.print-target){ display:none !important; }
  body.printing-one .printhead{ display:block !important; }
  .printhead{ display:none; padding-bottom:10pt; margin-bottom:12pt;
              border-bottom:1.5pt solid #202042; }
  .printhead img{ height:26pt; width:auto; }
  .printhead .meta{ font-size:8.5pt; color:#444; margin-top:6pt; }

  /* --- tipografía --- */
  h1,h2,h3,h4{ color:#000 !important; page-break-after:avoid; break-after:avoid; }
  h1{ font-size:19pt; margin:0 0 6pt; }
  h2{ font-size:14.5pt; margin:0 0 6pt; }
  h3{ font-size:12pt; margin:14pt 0 5pt; }
  h4{ font-size:10.5pt; margin:11pt 0 4pt; }
  p,li,td,th,dd,dt{ color:#1a1a1a !important; }
  strong{ color:#000 !important; }
  p{ max-width:none; orphans:3; widows:3; }

  section{ padding:0 0 14pt; border:0; page-break-inside:auto; }
  section + section{ page-break-before:always; }
  body.printing-one section + section{ page-break-before:auto; }
  .kicker{ color:#0B7A44 !important; }

  /* --- superficies planas --- */
  .card,.block,.stat,.note,.warn,.danger,.tw,figure svg,.diagdesc{
    background:#fff !important; border:0.6pt solid #B8C0CC !important;
    box-shadow:none !important; page-break-inside:avoid; break-inside:avoid;
  }
  .note{ border-left:2.5pt solid #0B7A44 !important; }
  .warn{ border-left:2.5pt solid #8A5300 !important; }
  .danger{ border-left:2.5pt solid #A32217 !important; }

  /* --- los <details> se imprimen abiertos --- */
  details{ display:block !important; }
  details > summary{ list-style:none; font-weight:700; page-break-after:avoid; }
  details > summary::-webkit-details-marker{ display:none; }
  details:not([open]) > *:not(summary){ display:revert !important; }
  .block .bchev{ display:none !important; }
  .bbody{ display:block !important; padding:0 14pt 10pt !important; }

  /* --- tablas --- */
  table{ min-width:0 !important; font-size:9pt; }
  .tw{ overflow:visible !important; }
  thead{ display:table-header-group; }
  tr{ page-break-inside:avoid; break-inside:avoid; }
  th{ background:#EDEFF3 !important; color:#000 !important; -webkit-print-color-adjust:exact;
      print-color-adjust:exact; border-bottom:0.6pt solid #B8C0CC !important; }
  td{ border-bottom:0.5pt solid #D5DAE2 !important; }
  tbody tr:hover td{ background:transparent !important; }

  /* --- badges de evidencia: legibles en blanco y negro --- */
  .ev,.pill{ border:0.6pt solid #666 !important; color:#000 !important;
             background:#fff !important; font-size:7.5pt; padding:1pt 5pt; }
  .ev::before{ font-weight:700; }

  code{ background:#F2F4F7 !important; border:0.5pt solid #D5DAE2 !important;
        color:#0B2A4A !important; font-size:8.5pt; white-space:normal; }

  /* --- checklists imprimibles --- */
  .chk input{ appearance:none; -webkit-appearance:none; width:9pt; height:9pt;
              border:0.8pt solid #444; border-radius:1.5pt; }
  .chk input:checked{ background:#000; }
  .chk input:checked + span{ text-decoration:none; color:#1a1a1a !important; }
  .chk label{ min-height:0; padding:3pt 0; }

  /* --- diagramas --- */
  figure{ page-break-inside:avoid; break-inside:avoid; margin:10pt 0; }
  figure svg{ max-height:150mm; }
  figcaption{ font-size:8.5pt; color:#444 !important; }
  .diagdesc > summary{ min-height:0; padding:5pt 8pt; }
  .diagdesc > div{ padding:0 8pt 7pt; font-size:9pt; }

  /* --- enlaces: mostrar destino solo si es externo --- */
  a{ color:#000 !important; text-decoration:underline; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:8pt; color:#555; }
  a[href^="#"]::after{ content:""; }

  mark{ background:#fff !important; box-shadow:none !important;
        border-bottom:0.8pt solid #000; }

  footer{ border-top:0.6pt solid #B8C0CC; padding-top:8pt; font-size:8.5pt; color:#444 !important; }
}
