/* Estilos generales del ticket para impresión */
.ticket-content {
    font-family: 'Courier New', Courier, monospace;
    font-size: 10px !important;
    line-height: 1.2;
    letter-spacing: 0.5px;
    padding: 0 0 5px 0;
}

.ticket-header {
    border-bottom: 2px solid #000 !important;
    padding-bottom: 5px;
    margin-bottom: 5px;
    line-height: 1.1;
}

/* Estilos para TODO el texto del encabezado */
.ticket-header span,
.ticket-header p {
    font-size: 0.9em !important;
    margin-bottom: 0 !important;
    line-height: 1.1;
    font-weight: bold;
    color: #000;
}

.ticket-header strong {
    font-weight: bold;
    color: #000;
}

/* Cuerpo del ticket */
.ticket-body h6 {
    font-size: 0.9em !important;
    font-weight: bolder;
    margin-top: 5px;
    margin-bottom: 2px;
    color: #000;
    text-align: left; 
}

.ticket-body p {
    font-size: 0.8em !important;
    margin-bottom: 1px !important;
    line-height: 1.1;
    font-weight: bold;
    color: #000;
}

.ticket-body p strong {
    font-weight: bold;
    color: #000;
    font-size: 1em !important;
    margin-right: 3px;
}

/* Pie de página del ticket */
.ticket-footer {
    margin-top: 5px !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* --- Estilos para las firmas --- */
.firmas-container {
    display: flex;
    justify-content: space-around; 
    align-items: flex-start; 
    width: 100%;
    margin-top: 15px !important; 
    margin-bottom: 0px !important; 
}

.firma-item {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 48%;
    min-height: 50px; 
}

.firma-linea {
    width: 120px;
    border-top: 1px solid black;
    margin-bottom: 10px;
}

.firma-texto {
    font-size: 0.72em !important;
    line-height: 1.2;
    color: #000 !important;
    font-weight: bold !important;
    margin-top: 2px;
    display: block;
    text-align: center;
    padding: 0 2px;
}

.calificacion-section {
    font-family: Arial, sans-serif;
    margin-top: 0px !important; 
}

.calificacion-section h6 {
    font-size: 0.8em !important;
    font-weight: bold;
    color: #000;
}

.emoji-text {
    font-size: 0.7em;
    font-weight: bold;
    margin-bottom: 2px;
    line-height: 1;
    text-transform: uppercase;
    color: #000;
    display: block;
}

.emoji-container {
    display: flex;
    justify-content: center;
}

.calificacion-section .emoji-container .emoji-icon {
    font-size: 2.5rem !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}

.rating-option-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rating-box {
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    margin-top: 5px;
    display: block;
}

.calificacion-section .small.text-center.mt-2 {
    font-size: 0.75em;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    color: #000 !important;
    font-weight: bold !important;
}

.ticket-logo {
    max-width: 250px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.emoji-icon-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-bottom: 5px;
}

.servicios-box {
    border: 2px dotted #000; 
    padding: 5px 5px 5px 5px; 
    margin-top: 5px; 
    margin-bottom: 5px; 
}

.servicios-box table {
    margin-bottom: 0 !important; 
    line-height: 1.1; 
}

.servicios-box table tbody td {
    padding-top: 1px !important;
    padding-bottom: 1px !important;
}

.servicios-box table thead th {
    border-bottom: 2px solid #000 !important; 
    padding-bottom: 3px !important;
}

.servicios-box table tbody tr.separator-row td {
    border-top: 1px solid #000 !important; 
    padding: 0 !important;
    height: 0;
    line-height: 0;
}

.table-borderless > tbody > tr > td,
.table-borderless > tbody > tr > th,
.table-borderless > tfoot > tr > td,
.table-borderless > tfoot > tr > th,
.table-borderless > thead > tr > td,
.table-borderless > thead > tr > th {
    border: none;
    padding: 0 0.5rem !important;
}

.ticket-body .break-word-container {
    word-break: break-all;
    
    display: inline-block;
    max-width: 100%;
}

.ticket-body .col-6 p {
    width: 100%; 
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* --- Estilos para la Marca de Agua --- */

.ticket-container-print {
    position: relative; 
}

.ticket-content-wrapper { 
    position: relative; 
    z-index: 10000;     
    background-color: transparent; 
}

.watermark-no-solucionado {
    position: absolute;
    top: 50%;           
    left: 50%;          
    transform: translate(-50%, -50%) rotate(-45deg); 
    z-index: 9999;      
    
    font-size: 2.5em;     
    font-weight: bold;
    color: rgba(252, 0, 0, 0.932); 
    text-align: center;
    pointer-events: none; 
    white-space: nowrap; 
    width: 200%; 

    letter-spacing: 5px; 
}

@media print {
    .watermark-no-solucionado {
        color: #8f0d18 !important; 
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}