@media print {
    /* Reseteo de márgenes y padding para toda la página */
    body, .container-fluid, .impresion {
        margin: 0;
        padding: 0;
        font-family:  'Tahoma';  /* Tipografía serif más adecuada para impresión */
        width: 100%;
        height: 100%;
    }

    /* Elimina los márgenes por defecto de la página */
    @page {
        margin: 10mm; /* Añade un margen pequeño para evitar problemas de corte */
    }

    .vistacliente {
        display: none;
    }

    /* Oculta los elementos que no deberían aparecer en la impresión */
    .hidden-print {
        display: none;
    }

    /* Muestra solo los elementos con la clase visible-print */
    .visible-print {
        display: block;
    }

    /* Estilo general del ticket para llenar todo el papel */
    .impresion {
        width: 100%;
        height: 100%;
        padding: 20px; /* Espacio interior */
        box-sizing: border-box;
        font-size: 10pt;  /* Tamaño de fuente ligeramente mayor para mejor legibilidad */
        line-height: 1.5;
    }

    /* Títulos principales */
    .impresion h1, .impresion h2 {
        margin: 0;
        text-align: center;
        font-size: 10pt;  /* Aumentamos el tamaño para los títulos */
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 0.5px; /* Añadimos un poco de espaciado entre letras */
    }

    .impresion h3 {
        margin-top: 10px;
        font-size: 10pt;  /* Ajustamos el tamaño para h3 */
        font-weight: normal;
        text-align: center;
    }

    /* Información del restaurante */
    .impresion .restaurant-info {
        text-align: center;
        font-size: 8pt; /* Reducimos un poco el tamaño para la info del restaurante */
    }

    .impresion .restaurant-info div {
        line-height: 1.5;
    }

    /* Separadores de secciones */
    .impresion .separator {
        margin: 10px 0;
        border-top: 1px dashed #333;
    }

    /* Estilo de la tabla de productos */
    .impresion .product-list {
        width: 100%;
        margin-top: 5px;
        font-size: 9pt;
    }

    .impresion .product-list th, .impresion .product-list td {
        text-align: left;
        padding: 5px;
    }

    .impresion .product-list th {
        background-color: #f5f5f5;
        font-weight: bold;
    }

    .impresion .product-list td {
        border-bottom: 1px dashed #ccc;
    }

    /* Total y subtotal */
    .impresion .total-section {
        text-align: right;  /* Centra el texto */
        font-weight: bold;   /* Aplica negrita */
        color: black;        /* Establece el color del texto a negro */
        text-transform: uppercase;  /* Convierte el texto a mayúsculas */
        font-size: 15pt;  /* Ajuste en tamaño de fuente */
    }

    .impresion .total-section div {
        margin-top: 1px;
    }

    .impresion .total-section .label {
        font-weight: bold;  /* Si deseas que la palabra "TOTAL" esté en negrita */
    }

    /* Información del cliente */
    .impresion .customer-info {
        margin-top: 10px;  /* Añadimos más espacio entre el total y la info del cliente */
        font-size: 12pt;
        line-height: 1.5;
        font-weight: 500;
        text-transform: uppercase;
    }

    /* Pie de página */
    .impresion .footer {
        margin-top: 10px;
        text-align: center;
        font-size: 12pt;
        font-weight: normal;
    }

    .impresion .footer .thank-you {
        font-weight: normal;
        font-size: 12pt;
    }
}
