/**
 * assets/css/print.css
 * Hoja de estilos de impresión profesional para fichas de trámites y servicios.
 * 
 * Basado en la estrategia de aislamiento por nodo clonado (#cctsa-print-root),
 * evitando colisiones con contenedores anidados de Divi 5 y restaurando
 * la estructura tabular y paginación óptima para papel Carta y A4.
 */

/* ==========================================================================
   1. Reglas en Pantalla (Fuera de impresión)
   ========================================================================== */
#cctsa-print-root {
    display: none !important;
}

/* ==========================================================================
   2. Reglas en Impresión (@media print)
   ========================================================================== */
@media print {

    /* Ocultación segura del resto del sitio: solo se ocultan los hermanos directos de #cctsa-print-root */
    body.cctsa-print-active > :not(#cctsa-print-root) {
        display: none !important;
    }

    /* Ocultar barra de administración de WordPress si existiera */
    #wpadminbar {
        display: none !important;
    }

    /* Configuración de página e impresión */
    @page {
        margin: 1.5cm 1.2cm 1.5cm 1.2cm;
    }

    body.cctsa-print-active {
        background: #ffffff !important;
        color: #000000 !important;
        font-family: Arial, "Helvetica Neue", Helvetica, sans-serif !important;
        font-size: 10pt !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Contenedor raíz de la ficha impresa */
    #cctsa-print-root {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        color: #000000 !important;
        box-shadow: none !important;
        border: none !important;
        float: none !important;
        position: static !important;
    }

    /* Retirar sombras, gradientes y animaciones en todos los elementos del clon */
    #cctsa-print-root * {
        box-shadow: none !important;
        text-shadow: none !important;
        transition: none !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
    }

    /* Encabezado Principal de la Ficha */
    #cctsa-print-root .cctsa-detail-header {
        border-bottom: 2pt solid #0f172a !important;
        padding-bottom: 8pt !important;
        margin-bottom: 12pt !important;
        page-break-after: avoid;
        break-after: avoid;
    }

    #cctsa-print-root .cctsa-detail-meta-top {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8pt !important;
        margin-bottom: 6pt !important;
        font-size: 9pt !important;
    }

    #cctsa-print-root .cctsa-badge {
        display: inline-block !important;
        padding: 2pt 6pt !important;
        border: 1pt solid #334155 !important;
        border-radius: 3pt !important;
        font-size: 8.5pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        background: #f8fafc !important;
        color: #0f172a !important;
    }

    #cctsa-print-root .cctsa-detail-area {
        font-weight: 600 !important;
        color: #1e293b !important;
    }

    #cctsa-print-root .cctsa-detail-homoclave {
        margin-left: auto !important;
        font-size: 9pt !important;
    }

    #cctsa-print-root .cctsa-detail-homoclave code {
        font-family: Consolas, monospace !important;
        font-weight: 700 !important;
        border: 1pt solid #cbd5e1 !important;
        padding: 1pt 4pt !important;
        background: #f8fafc !important;
        color: #0f172a !important;
    }

    #cctsa-print-root .cctsa-detail-title {
        font-size: 16pt !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        color: #000000 !important;
        margin: 4pt 0 !important;
        page-break-after: avoid;
        break-after: avoid;
    }

    #cctsa-print-root .cctsa-detail-subtitle {
        font-size: 10.5pt !important;
        color: #334155 !important;
        margin: 2pt 0 0 0 !important;
    }

    /* Barra de Síntesis Rápida (Costo, Plazo, Vigencia, Modalidad) */
    #cctsa-print-root .cctsa-snapshot-bar {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 6pt !important;
        border: 1pt solid #94a3b8 !important;
        border-radius: 4pt !important;
        background: #f8fafc !important;
        padding: 6pt 8pt !important;
        margin: 10pt 0 14pt 0 !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    #cctsa-print-root .cctsa-snap-col {
        display: flex !important;
        align-items: flex-start !important;
        gap: 4pt !important;
    }

    #cctsa-print-root .cctsa-snap-icon {
        display: none !important; /* Ocultar íconos decorativos en papel */
    }

    #cctsa-print-root .cctsa-snap-heading {
        display: block !important;
        font-size: 8pt !important;
        text-transform: uppercase !important;
        font-weight: 700 !important;
        color: #475569 !important;
        margin-bottom: 2pt !important;
    }

    #cctsa-print-root .cctsa-snap-value {
        display: block !important;
        font-size: 9.5pt !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    /* Secciones de Contenido */
    #cctsa-print-root .cctsa-section {
        border: 1pt solid #cbd5e1 !important;
        border-radius: 4pt !important;
        padding: 8pt 10pt !important;
        margin-bottom: 10pt !important;
        background: #ffffff !important;
        page-break-inside: auto;
        break-inside: auto;
    }

    #cctsa-print-root .cctsa-section-title {
        font-size: 11pt !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        border-bottom: 1pt solid #e2e8f0 !important;
        padding-bottom: 3pt !important;
        margin-top: 0 !important;
        margin-bottom: 6pt !important;
        page-break-after: avoid;
        break-after: avoid;
    }

    #cctsa-print-root .cctsa-section-body p {
        margin: 0 0 6pt 0 !important;
        font-size: 9.5pt !important;
        line-height: 1.45 !important;
        color: #1e293b !important;
    }

    #cctsa-print-root .cctsa-section-body p:last-child {
        margin-bottom: 0 !important;
    }

    /* Restauración de Tablas Semánticas para Papel */
    #cctsa-print-root .cctsa-table-responsive {
        width: 100% !important;
        overflow: visible !important;
    }

    #cctsa-print-root .cctsa-reqs-table {
        display: table !important;
        width: 100% !important;
        border-collapse: collapse !important;
        margin: 4pt 0 !important;
        font-size: 9pt !important;
        page-break-inside: auto;
        break-inside: auto;
    }

    #cctsa-print-root .cctsa-reqs-table thead {
        display: table-header-group !important;
    }

    #cctsa-print-root .cctsa-reqs-table tbody {
        display: table-row-group !important;
    }

    #cctsa-print-root .cctsa-reqs-table tr {
        display: table-row !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    #cctsa-print-root .cctsa-reqs-table th {
        display: table-cell !important;
        background: #f1f5f9 !important;
        border: 1pt solid #94a3b8 !important;
        padding: 4pt 6pt !important;
        font-weight: 700 !important;
        color: #0f172a !important;
        text-align: left !important;
    }

    #cctsa-print-root .cctsa-reqs-table td {
        display: table-cell !important;
        border: 1pt solid #cbd5e1 !important;
        padding: 4pt 6pt !important;
        color: #1e293b !important;
        vertical-align: top !important;
        text-align: left !important;
    }

    /* Anular pseudoceldas apiladas de la versión móvil */
    #cctsa-print-root .cctsa-reqs-table td::before {
        display: none !important;
        content: none !important;
    }

    #cctsa-print-root .cctsa-col-check {
        text-align: center !important;
        white-space: nowrap !important;
        width: 45pt !important;
    }

    #cctsa-print-root .cctsa-col-qty {
        text-align: center !important;
        white-space: nowrap !important;
        width: 35pt !important;
    }

    /* Ajuste de listas y detalles de atención */
    #cctsa-print-root ul,
    #cctsa-print-root ol {
        margin: 4pt 0 6pt 16pt !important;
        padding: 0 !important;
    }

    #cctsa-print-root li {
        margin-bottom: 3pt !important;
        font-size: 9.5pt !important;
    }

    #cctsa-print-root .cctsa-contact-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8pt !important;
    }

    #cctsa-print-root .cctsa-contact-item {
        border: 1pt solid #e2e8f0 !important;
        border-radius: 3pt !important;
        padding: 6pt !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    /* Salto de línea inteligente en URLs y cadenas largas */
    #cctsa-print-root a {
        color: #000000 !important;
        text-decoration: none !important;
    }

    #cctsa-print-root code,
    #cctsa-print-root pre,
    #cctsa-print-root em {
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    /* Pie de página formal impreso */
    #cctsa-print-root .cctsa-print-footer-note {
        display: block !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }
}
