/**
 * RedRRHH - Estilos de Impresión y Generación de Reportes Oficiales
 *
 * Adaptación fiel del formato institucional de RedRRHH:
 * - Aislamiento total: solo se imprime el reporte oficial, no la web de WordPress ni menús.
 * - En pantalla (@media screen): 100% oculto, sin espacios residuales ni contenedores visibles.
 * - En impresión (@media print): Formato Carta (Letter 8.5 x 11 pulg) o A4 vertical impecable.
 * - Compatible con todas las calculadoras laborales, previsionales y tributarias.
 *
 * @package RedRRHH_Calculadoras
 * @version 1.3.1
 */

/* ==========================================================================
   1. MODO PANTALLA (SCREEN): OCULTAMIENTO ABSOLUTO (SECCIÓN 2)
   El membrete, logo, reportes y hojas de simulación nunca deben verse en la web normal.
   ========================================================================== */
@media screen {
  #redrrhh-print-document,
  .redrrhh-print-sheet,
  .redrrhh-report-container,
  [data-redrrhh-print-sheet],
  .redrrhh-print-hidden-screen {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    left: -99999px !important;
    top: -99999px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    pointer-events: none !important;
  }
}

/* ==========================================================================
   2. MODO IMPRESIÓN Y EXPORTACIÓN A PDF (@media print)
   ========================================================================== */
@media print {
  @page {
    size: letter portrait;
    margin: 10mm 14mm 10mm 14mm;
  }

  /* Reset y preparación de página limpia */
  html, body {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    color: #000000 !important;
    font-size: 9.5pt !important;
    line-height: 1.3 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Ocultar elementos generales de WordPress, menús, widgets y botones */
  header, footer, nav, aside,
  #wpadminbar, .site-header, .site-footer, .site-navigation,
  .widget-area, .sidebar, .entry-header, .entry-footer,
  .navbar, .breadcrumb, nav[aria-label="breadcrumb"],
  #calc-form, .calculator-box form, .calc-actions,
  .btn, .btn-print-calc, .btn-pdf-calc, .btn-share-calc,
  .related-calculators, .accordion, .alert, .search-box-wrapper,
  .hero-slider-section, .col-lg-4, .calculator-box > p,
  .calculator-box > .d-flex.align-items-center.mb-3 {
    display: none !important;
  }

  /* Asegurar que los contenedores ancestros permitan el flujo visual */
  #redrrhh-app-wrapper,
  #redrrhh-app-wrapper .container,
  #redrrhh-app-wrapper .row,
  #redrrhh-app-wrapper .col-lg-8,
  .calculator-box {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: #FFFFFF !important;
  }

  /* Desplegar la hoja oficial de reporte */
  .redrrhh-print-sheet,
  #redrrhh-print-document {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #FFFFFF !important;
    color: #000000 !important;
    font-family: Arial, Helvetica, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    padding: 0 !important;
    margin: 0 auto !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Barra de acento corporativo RedRRHH */
  .print-sheet-top-accent {
    height: 4px !important;
    background: #DB0100 !important;
    width: 100% !important;
    margin-bottom: 8px !important;
  }

  /* -------------------------------------------------------------------------
     ENCABEZADO OFICIAL CON MEMBRETE INSTITUCIONAL
     ------------------------------------------------------------------------- */
  .print-sheet-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-end !important;
    padding-bottom: 6px !important;
    margin-bottom: 4px !important;
  }

  .print-sheet-header.pos-center {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .print-sheet-header-left {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
  }

  .print-sheet-logo-img {
    height: 44px !important;
    max-width: 180px !important;
    object-fit: contain !important;
    display: block !important;
  }

  .print-sheet-logo-img.size-small {
    height: 32px !important;
  }
  .print-sheet-logo-img.size-large {
    height: 56px !important;
  }

  .print-sheet-titles {
    display: flex !important;
    flex-direction: column !important;
  }

  .print-sheet-main-title {
    font-size: 13.5pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  .print-sheet-website {
    font-size: 9pt !important;
    color: #DB0100 !important;
    font-weight: 600 !important;
    margin-top: 2px !important;
    text-decoration: none !important;
  }

  .print-sheet-header-right {
    text-align: right !important;
    white-space: nowrap !important;
  }

  .print-sheet-header-info {
    font-size: 8pt !important;
    color: #64748B !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 2px !important;
  }

  .print-sheet-date {
    font-size: 9pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
  }

  .print-sheet-folio {
    font-size: 8pt !important;
    color: #475569 !important;
    margin-top: 1px !important;
  }

  .print-sheet-divider {
    border-top: 1.5px solid #000000 !important;
    margin: 4px 0 12px 0 !important;
    width: 100% !important;
  }

  /* -------------------------------------------------------------------------
     BLOQUE SUPERIOR DE PARÁMETROS / BASES UTILIZADAS
     ------------------------------------------------------------------------- */
  .print-sheet-params-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
  }

  .print-sheet-param-box {
    flex: 1 1 300px !important;
    border: 1px solid #CBD5E1 !important;
    border-left: 3px solid #DB0100 !important;
    background: #F8FAFC !important;
    padding: 6px 10px !important;
    font-size: 8.5pt !important;
    box-sizing: border-box !important;
    border-radius: 3px !important;
  }

  .print-sheet-param-box-title {
    font-weight: 700 !important;
    font-size: 8.5pt !important;
    color: #0F172A !important;
    margin-bottom: 4px !important;
    border-bottom: 1px solid #E2E8F0 !important;
    padding-bottom: 2px !important;
  }

  .print-sheet-param-row {
    display: flex !important;
    justify-content: space-between !important;
    padding: 1.5px 0 !important;
    line-height: 1.3 !important;
  }

  .print-sheet-param-label {
    color: #334155 !important;
  }

  .print-sheet-param-value {
    font-weight: 700 !important;
    color: #0F172A !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
  }

  /* -------------------------------------------------------------------------
     TABLA PRINCIPAL DE HABERES Y DESCUENTOS / DESGLOSE
     ------------------------------------------------------------------------- */
  .print-sheet-table {
    width: 100% !important;
    border-collapse: collapse !important;
    border: 1.5px solid #000000 !important;
    margin-bottom: 8px !important;
    font-size: 8.5pt !important;
    table-layout: fixed !important;
  }

  .print-sheet-table th {
    border-bottom: 1.5px solid #000000 !important;
    padding: 5px 8px !important;
    font-weight: 700 !important;
    font-size: 9pt !important;
    text-align: center !important;
    background: #F1F5F9 !important;
    color: #0F172A !important;
  }

  .print-sheet-table th.col-left {
    width: 50% !important;
    border-right: 1.5px solid #000000 !important;
  }

  .print-sheet-table th.col-right {
    width: 50% !important;
  }

  .print-sheet-table td.cell-col-left {
    width: 50% !important;
    border-right: 1.5px solid #000000 !important;
    vertical-align: top !important;
    padding: 6px 8px !important;
  }

  .print-sheet-table td.cell-col-right {
    width: 50% !important;
    vertical-align: top !important;
    padding: 6px 8px !important;
  }

  .print-concept-group-title {
    font-weight: 700 !important;
    margin-bottom: 3px !important;
    color: #0F172A !important;
    font-size: 8.5pt !important;
    border-bottom: 1px dotted #CBD5E1 !important;
    padding-bottom: 1px !important;
  }

  .print-concept-row {
    display: flex !important;
    justify-content: space-between !important;
    padding: 1.5px 0 !important;
    line-height: 1.3 !important;
  }

  .print-concept-label {
    color: #1E293B !important;
  }

  .print-concept-value {
    text-align: right !important;
    font-weight: 600 !important;
    color: #0F172A !important;
    font-variant-numeric: tabular-nums !important;
  }

  .print-subtotal-bar {
    display: flex !important;
    justify-content: space-between !important;
    border-top: 1.5px solid #000000 !important;
    padding: 4px 8px !important;
    font-weight: 700 !important;
    font-size: 9pt !important;
    background: #F8FAFC !important;
    color: #000000 !important;
  }

  .print-subtotal-bar.bar-left {
    border-right: 1.5px solid #000000 !important;
  }

  /* -------------------------------------------------------------------------
     CUADRO DE RESULTADO FINAL DESTACADO (LÍQUIDO A PAGAR / TOTAL)
     ------------------------------------------------------------------------- */
  .print-sheet-highlight-box {
    border: 1.5px solid #000000 !important;
    border-left: 5px solid #DB0100 !important;
    padding: 6px 14px !important;
    margin-top: 6px !important;
    margin-bottom: 14px !important;
    width: 52% !important;
    margin-left: auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 9.5pt !important;
    font-weight: 700 !important;
    background: #FFFFFF !important;
    box-sizing: border-box !important;
    border-radius: 4px !important;
  }

  .print-sheet-highlight-label {
    color: #000000 !important;
    font-weight: 700 !important;
  }

  .print-sheet-highlight-val {
    color: #000000 !important;
    font-weight: 800 !important;
    font-size: 11pt !important;
    font-variant-numeric: tabular-nums !important;
  }

  /* -------------------------------------------------------------------------
     PIE DE PÁGINA, DESCARGO LEGAL Y NUMERACIÓN
     ------------------------------------------------------------------------- */
  .print-sheet-footer {
    margin-top: 16px !important;
    padding-top: 6px !important;
    border-top: 1px solid #E2E8F0 !important;
    font-size: 8pt !important;
    line-height: 1.35 !important;
    color: #475569 !important;
  }

  .print-sheet-disclaimer {
    margin: 0 0 10px 0 !important;
    text-align: justify !important;
  }

  .print-sheet-subfooter {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 8pt !important;
    color: #64748B !important;
    padding-top: 4px !important;
    border-top: 1px dotted #CBD5E1 !important;
  }

  .print-sheet-company {
    font-weight: 700 !important;
    color: #0F172A !important;
  }

  .print-sheet-page-num {
    font-weight: 600 !important;
  }
}
