html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px;
}

/* =========================================================
   ESTILOS OFICIALES DE IMPRESIÓN (REPORTES Y RANKINGS)
   ========================================================= */
.solo-impresion {
    display: none;
}

@media print {
    /* Ocultar barra superior, pie de página, botones y formularios */
    header, nav, footer, .no-print, .btn, form {
        display: none !important;
    }

    .solo-impresion {
        display: block !important;
    }

    html, body {
        background: #ffffff !important;
        color: #000000 !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 10pt !important;
        height: auto !important;
        min-height: auto !important;
    }

    .container, .container-fluid {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Evitar que Bootstrap recorte el contenido después de la 1ra página */
    .table-responsive, .card, .card-body, .card-header {
        overflow: visible !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        page-break-inside: auto !important;
    }

    .card-header {
        border-bottom: 2px solid #000000 !important;
        page-break-after: avoid !important;
    }

    table {
        width: 100% !important;
        border-collapse: collapse !important;
        page-break-inside: auto !important;
    }

    thead {
        display: table-header-group !important; /* Repite los encabezados en cada página */
    }

    tr {
        page-break-inside: avoid !important;
        page-break-after: auto !important;
    }

    th, td {
        padding: 4px 6px !important;
        border-bottom: 1px solid #cccccc !important;
        color: #000000 !important;
    }

    .table-warning {
        background-color: #fff3cd !important;
    }

    /* Ajustes para tablas anchas de Resumen de Temporada */
    .tabla-fedtiro {
        font-size: 8.5pt !important;
        white-space: normal !important;
    }

        .tabla-fedtiro th.col-sticky-pos,
        .tabla-fedtiro td.col-sticky-pos,
        .tabla-fedtiro th.col-sticky-nombre,
        .tabla-fedtiro td.col-sticky-nombre {
            position: static !important;
            box-shadow: none !important;
            min-width: auto !important;
            max-width: none !important;
        }

    /* Impresión selectiva general */
    body.impresion-selectiva .bloque-imprimible {
        display: none !important;
    }

        body.impresion-selectiva .bloque-imprimible.imprimir-este {
            display: block !important;
        }

    /* Impresión selectiva para Resumen de Temporada */
    body.impresion-selectiva-temporada .seccion-temporada {
        display: none !important;
    }

        body.impresion-selectiva-temporada .seccion-temporada.imprimir-esta-seccion {
            display: block !important;
        }

    /* Salto de página limpio entre secciones al imprimir todo */
    .salto-pagina,
    body:not(.impresion-selectiva-temporada) .seccion-modalidad {
        page-break-before: always !important;
    }
}
