/* =======================================================
   BASE
======================================================= */
html,
body {
    margin: 0;
    padding: 0;
    color: #222;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12pt;
}

/* =======================================================
   HEADER
======================================================= */
.print-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 22mm;
    padding: 4mm 8mm;
    box-sizing: border-box;
    border-bottom: 3px solid #7413dc;
}

.header-logo {
    width: 40px;
    height: 40px;
}

.temp-icon-grid img {
    width: 70px;
    height: 70px;
}

.badge-icon {
    width: 100px;
    height: 100px;
}

.ods-icon {
    width: 60px;
    height: 60px;
}

.header-center {
    font-size: 20pt;
    font-weight: bold;
    text-align: center;
    color: #7413dc;
}

/* =======================================================
   LAYOUT PRINCIPAL
======================================================= */
.print-page {
    display: flex;
    gap: 8mm;
    padding: 6mm 8mm 0;
    align-items: flex-start;
}

.print-sidebar {
    width: 25%;
    flex-shrink: 0;
}

.print-content {
    width: 75%;
    min-width: 0;
}

/* =======================================================
   SIDEBAR
======================================================= */
.sidebar-box {
    border: 1px dashed #7413dc;  /* #a50ee6; */
    background: #f7f7f7;
    border-radius: 25px;
    padding: 4mm;
    font-size: 12pt;
}

.sidebar-section {
    margin-bottom: 5mm;
    page-break-inside: avoid;
}

.sidebar-section:last-child {
    margin-bottom: 0;
}

.sidebar-section h3 {
    margin: 0 0 2mm;
    padding-bottom: 1mm;
    font-size: 13pt;
    border-bottom: 2px solid #999;
    text-transform: uppercase;
}

.meta-item {
    display: flex;
    align-items: center;
/*    padding: 1.5mm 0; 
    border-bottom: 1px solid #b4b4b4; */  
    margin-bottom: 4mm;
    vertical-align: middle;

}

.meta-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.meta-label {
    font-size: 11pt;
    font-weight: bold;
    color: #666;
    text-transform: uppercase;
    padding-right: 4px;
}

.meta-value {
    font-size: 9pt;
}

.sidebar-box ul {
    margin: 0;
    padding-left: 5mm;
}

.sidebar-box li {
    margin-bottom: 1mm;
}

/* =======================================================
   CONTENIDO
======================================================= */
.print-content h1 {
    margin: 0 0 18px;
    font-size: 26pt;
    font-weight: bold;
    text-align: center;
    padding-bottom: 8px;
}

.activity-summary {
    background: #f7f7f7;
    border-left: 5px solid #7413dc;
    padding: 3mm;
    margin-bottom: 5mm;
    font-style: italic;
}

.print-section {
    margin-bottom: 5mm;
    break-inside: avoid;
/*    page-break-inside: avoid; */
}

.print-section h2 {
    background: #b4b4b4;
    border-left: 5px solid #7413dc;
    padding: 2mm 3mm;
    margin-bottom: 3mm;
    font-size: 16pt;
}

.print-section a,
.print-section li,
.print-section p,
.reference-url {
    overflow-wrap: break-word;
    word-break: break-word;
    line-height: 1.4;
}

.reference-url {
    font-size: 10pt;
    color: #555;
    margin-top: 1mm;
}

/* =======================================================
   IMÁGENES
======================================================= */
.print-content img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 6mm auto;
    border: 1px solid #7413dc;
    padding: 2mm;
    background: white;
    break-inside: avoid;
    page-break-inside: avoid;
}

.print-content figure {
    break-inside: avoid;
    page-break-inside: avoid;
}

/* =======================================================
   FOOTER
======================================================= */
.print-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1.5px solid #7413dc;
    padding-top: 3mm;
    padding-left: 6mm;
    padding-right: 6mm;
    font-size: 11pt;
    height: 10mm;
}

.print-document tfoot {
    height: 15mm;
}

.print-document tfoot td {
    vertical-align: bottom;
}

/* =======================================================
   RECURSOS
======================================================= */
.resource-list {
    display: flex;
    flex-direction: column;
    gap: 4mm;
}

.resource-card {
    border: 1px solid #7413dc;
    background: #f8f8f8;
    padding: 3mm;
    border-radius: 6px;
}

.resource-title {
    font-weight: bold;
    margin-bottom: 1mm;
}

.resource-url {
    font-size: 10pt;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* =======================================================
   QR
======================================================= */
.activity-qr {
    width: 110px;
    height: 110px;
    display: block;
    margin: 0 auto 2mm;
    border: 1px dashed #7413dc;
}

.qr-url {
    font-size: 9pt;
    text-align: center;
    overflow-wrap: break-word;
    word-break: break-word;
    color: #666;
}

/* =======================================================
   CRÉDITOS
======================================================= */
.credits-section {
    margin-top: 8mm;
    font-size: 11pt;
}

.credits-section h2 {
    margin-bottom: 3mm;
}

.credits-section ul {
    margin: 0;
    padding-left: 5mm;
}

/* =======================================================
   PAGINADO
======================================================= */
.print-document {
    width: 100%;
    border-collapse: collapse;
}

.print-document thead {
    display: table-header-group;
}

.print-document tfoot {
    display: table-footer-group;
}

.print-document tbody {
    display: table-row-group;
}

/* =======================================================
   IMPRESIÓN
======================================================= */
@page {
    size: A4 portrait;
    margin-top: 15mm;
    margin-bottom: 18mm;
    margin-left: 15mm;
    margin-right: 15mm;
}

@media print {
    html,
    body {
        margin: 0;
        padding: 0;
    }

    .print-document {
        min-height: 100%;
    }

    .print-document tbody {
        height: 100%;
    }
}


/* =======================================================
   LICENCIAS Y ATRIBUCIONES
======================================================= */

.license-image {
    max-width: 120px;
    border: none !important;
    padding: 0 !important;
    margin: 3mm 0;
    padding-right: 4px;
}

.print-section ul li {
    margin-bottom: 2mm;
}




/* =======================================================
   PAGED.JS
======================================================= */
/*
.pagedjs_page {
    box-sizing: border-box;
}

.page-counter::after {
    content: counter(page);
}
*/

