/* ==========================================================================
   guild-lab-print.css — hoja de impresión de Guild Lab
   Se carga con media="print" en /herramientas/, así que no pesa en pantalla.

   Objetivo: que «Imprimir → Guardar como PDF» produzca un documento legible en
   blanco y negro, con la marca, la fecha, el identificador del resumen y el
   aviso de que es una estimación referencial.

   Todo el archivo va dentro de @media print para que no afecte a la pantalla
   aunque el navegador ignore el atributo media.
   ========================================================================== */

@media print {
  @page {
    margin: 15mm 14mm;
  }

  html,
  body {
    background: #fff !important;
    color: #000 !important;
  }

  /*
   * ORDEN IMPORTANTE: este bloque va ANTES del que oculta cosas.
   * Varias de las secciones que hay que esconder son también `.section`
   * (por ejemplo `class="section lab-hero"`). Con la misma especificidad y
   * ambas con !important gana la última, así que aplanar la maqueta primero y
   * ocultar después es lo que hace que el hero desaparezca de verdad.
   */
  main,
  .section,
  .section-shell,
  .guild-lab,
  .lab-panel,
  .lab-panels {
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  /* ---------- Fuera todo lo que no es contenido ---------- */
  .navbar,
  .footer,
  .skip-link,
  .breadcrumbs,
  .lab-hero,
  .lab-content,
  .lab-tabs,
  .lab-devices,
  .lab-hero__actions,
  .lab-result__actions,
  .lab-summary__actions,
  .lab-calc-form__actions,
  .lab-summary__missing .lab-btn,
  .guild-grid-button,
  .lab-btn,
  .lab-preview,
  .pv-frame,
  .lab-progress,
  .lab-nav,
  [data-lab-teaser] {
    display: none !important;
  }

  /* La calculadora se imprime por su resultado, no por su formulario. */
  .lab-calc { display: none !important; }

  /* Los paneles ocultos siguen ocultos: se imprime la pestaña abierta. */
  .lab-panel[hidden] { display: none !important; }

  /* ---------- Texto ---------- */
  .guild-lab,
  .guild-lab p,
  .guild-lab li,
  .guild-lab dt,
  .guild-lab dd,
  .guild-lab td,
  .guild-lab th,
  .guild-lab span,
  .guild-lab small,
  .guild-lab code,
  .guild-lab strong,
  .guild-lab h3,
  .guild-lab h4,
  .guild-lab h5 {
    color: #000 !important;
    text-shadow: none !important;
  }

  .guild-lab {
    font-size: 10.5pt;
    line-height: 1.5;
  }

  /* ---------- Cabecera de marca, solo en papel ---------- */
  .lab-summary__print-head {
    display: block !important;
    margin-bottom: 8mm;
    padding-bottom: 3mm;
    border-bottom: 2px solid #000;
  }

  .lab-summary__print-brand {
    margin: 0;
    font-size: 15pt;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .lab-summary__print-meta {
    margin: 1mm 0 0;
    font-size: 9pt;
    color: #333 !important;
  }

  .lab-summary__badges { gap: 3mm; }

  .lab-summary__badge,
  .lab-summary__id {
    border: 1px solid #000 !important;
    color: #000 !important;
  }

  /* ---------- Tarjetas ---------- */
  .lab-summary__section,
  .lab-result__block,
  .lab-result__hero,
  .lab-metric,
  .lab-estimate,
  .lab-formula,
  .lab-summary__highlight,
  .lab-summary__missing {
    border: 1px solid #999 !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  /* Nada de tarjetas cortadas entre páginas. */
  .lab-summary__section,
  .lab-result__block,
  .lab-metric,
  .lab-formula,
  .lab-priority,
  .lab-summary__highlight {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .lab-summary__section-title,
  .lab-result__block-title {
    break-after: avoid;
    page-break-after: avoid;
  }

  .lab-summary__letter {
    border: 1px solid #000 !important;
    color: #000 !important;
  }

  /* ---------- Gráficos ---------- */
  /* Las barras dependen de colores de fondo que muchas impresoras descartan:
     el valor va escrito al lado, así que se imprime el texto y se marca la
     barra con un contorno. */
  .lab-bar__track {
    border: 1px solid #666 !important;
    background: none !important;
  }

  .lab-bar__fill {
    background: #666 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .lab-gauge__track { stroke: #ccc !important; }
  .lab-gauge__value { stroke: #333 !important; }

  /* ---------- Detalles del cálculo ---------- */
  /* En papel no hay dónde pulsar: el desglose y los acordeones del detalle
     técnico se imprimen abiertos, con su título visible como encabezado. */
  .lab-result__breakdown > summary { display: none !important; }
  .lab-result__breakdown > *:not(summary) { display: revert !important; }
  .lab-result__acc > *:not(summary) { display: revert !important; }
  .lab-result__acc-summary::before { display: none !important; }
  .lab-result__acc-count { display: none !important; }
  .lab-formula__expr { color: #000 !important; }

  .lab-breakdown th,
  .lab-breakdown td,
  .lab-summary__table th,
  .lab-summary__table td {
    border-color: #999 !important;
    color: #000 !important;
  }

  /* ---------- Avisos ---------- */
  .lab-disclaimer,
  .lab-result__fineprint {
    color: #333 !important;
    font-size: 8.5pt;
    font-style: italic;
  }

  /* Pie con el carácter referencial y el contacto, en cada impresión. */
  .lab-summary::after {
    content: "Documento generado desde Guild Lab. Estimación inicial referencial: no constituye una cotización contractual ni una garantía de ahorro. Solicita tu evaluación técnica en guildsystemia.cl/contacto/";
    display: block;
    margin-top: 8mm;
    padding-top: 3mm;
    border-top: 1px solid #999;
    color: #333;
    font-size: 8.5pt;
    line-height: 1.45;
  }

  /* ---------- Enlaces ---------- */
  .guild-lab a { color: #000 !important; text-decoration: underline; }
  .guild-lab a[href^="/"]::after { content: " (guildsystemia.cl" attr(href) ")"; font-size: 8pt; }

  /* ---------- Sin animaciones en papel ---------- */
  .guild-lab *,
  .guild-lab *::before,
  .guild-lab *::after {
    animation: none !important;
    transition: none !important;
  }
}
