
/* IMPRESIÓN */
@media print {
    @page {
        margin: 0.5cm;
        size: auto;
    }

    /* Ocultar elementos globales y de navegación */
    body > *:not(.container), 
    nav, 
    header, 
    footer, 
    .navbar, 
    .card-footer, 
    .no-print, 
    .btn, 
    .alert {
        display: none !important;
    }

    body {
        background-color: white !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* Asegurar que la cadena de contenedores sea visible */
    .container, 
    .row, 
    .col-lg-6, 
    .validation-card {
        display: block !important;
        visibility: visible !important;
        position: static !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        flex: none !important;
        opacity: 1 !important;
    }

    /* Ocultar todo lo que no sea el carnet dentro de la tarjeta */
    .validation-card > *:not(.carnet-container) {
        display: none !important;
    }

    /* Estilos específicos del carnet para impresión */
    .carnet-container {
        display: block !important;
        visibility: visible !important;
        position: relative !important; /* Relative para respetar flujo */
        margin: 20px auto !important; /* Centrado */
        left: auto !important;
        top: auto !important;
        
        /* Asegurar bordes y fondo */
        border: 1px solid #ccc !important;
        background-color: white !important;
        box-shadow: none !important;
        
        /* Forzar impresión de colores de fondo (crucial para el header azul) */
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
        
        /* Dimensiones */
        width: 85.6mm !important;
        max-width: 90% !important; /* Por si el papel es muy pequeño */
        page-break-inside: avoid !important;
    }
    
    /* Header del carnet */
    .carnet-header {
        background-color: #EF3738 !important;
        color: white !important;
        padding: 10px !important;
    }
    
    /* Logo */
    .carnet-logo {
        display: inline-block !important;
        height: 40px !important;
        width: 40px !important;
    }
    
    /* Textos */
    .carnet-body h4 {
        color: #000000 !important;
        font-size: 12pt !important;
    }
    
    .carnet-body p, 
    .carnet-body small, 
    .carnet-body span,
    .carnet-body div,
    .carnet-body strong,
    .carnet-body b,
    .carnet-body i,
    .carnet-body em {
        color: #000000 !important;
    }

    /* Badges */
    .badge {
        border: 1px solid #000000 !important;
        color: #000000 !important;
    }
    
    .badge.bg-primary {
        background-color: #0d6efd !important;
        color: white !important;
        border: none !important;
    }
    
    /* QR */
    .qr-wrapper {
        border: 1px solid #ddd !important;
        padding: 2px !important;
    }
    
    .qr-wrapper img, 
    .qr-wrapper canvas {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
    }
}

/* Estilos normales (fuera de print) se mantienen igual */
body { background-color: #F9F9F9; }
.validation-card {
    border: none;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.header-gradient {
    background-color: #0d6efd;
    color: white;
    padding: 2rem;
}
.status-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}
.valid-bg { background-color: #198754; }
.invalid-bg { background-color: #dc3545; }

/* ESTILOS DEL CARNET */
.carnet-container {
    max-width: 500px;
    width: 100%;
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.1);
}

.carnet-header {
    background-color: #0d6efd;
}

.carnet-logo {
    height: 50px !important;
    width: 50px !important;
    object-fit: contain;
}

.carnet-body {
    min-height: 180px;
}

.qr-wrapper {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.watermark {
    opacity: 0.05;
    pointer-events: none;
    transform: translate(-50%, -50%) rotate(-15deg);
}
