/*
 * PTSP Digital PN Tegal — Patch V14
 * Tiket ringkas untuk printer thermal 58 mm.
 * Tinggi halaman dibatasi 110 mm agar kertas tidak keluar terlalu panjang.
 */

@media print {
  @page {
    size: 58mm 110mm;
    margin: 0;
  }

  html,
  body {
    box-sizing: border-box !important;
    width: 58mm !important;
    min-width: 58mm !important;
    max-width: 58mm !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body * {
    visibility: hidden !important;
  }

  .ticket,
  .ticket * {
    visibility: visible !important;
  }

  header,
  footer,
  .utility,
  .page-hero,
  .skip,
  .screen-reader,
  .mobile-dock,
  .wa,
  .actions {
    display: none !important;
  }

  main,
  .section,
  .wrap {
    box-sizing: border-box !important;
    width: 58mm !important;
    min-width: 58mm !important;
    max-width: 58mm !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  .ticket {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 58mm !important;
    min-width: 58mm !important;
    max-width: 58mm !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 108mm !important;
    margin: 0 !important;
    padding: 2mm 3mm 2.5mm !important;
    overflow: hidden !important;
    color: #000 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 8pt !important;
    line-height: 1.15 !important;
    text-align: center !important;
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .ticket-brand {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 1.5mm !important;
    margin: 0 0 1mm !important;
    padding: 0 0 1mm !important;
    border-bottom: 0.25mm dashed #000 !important;
    text-align: left !important;
  }

  .ticket-brand svg,
  .ticket-brand img {
    display: block !important;
    flex: 0 0 9mm !important;
    width: 9mm !important;
    height: 9mm !important;
    max-width: 9mm !important;
    object-fit: contain !important;
    filter: grayscale(1) contrast(1.4) !important;
  }

  .ticket-brand div {
    min-width: 0 !important;
  }

  .ticket-brand b {
    display: block !important;
    color: #000 !important;
    font-size: 7.8pt !important;
    line-height: 1.05 !important;
  }

  .ticket-brand small {
    display: block !important;
    margin-top: 0.4mm !important;
    color: #000 !important;
    font-size: 6.2pt !important;
    line-height: 1.05 !important;
  }

  .ticket .pill {
    display: inline-block !important;
    margin: 0.2mm auto 0.5mm !important;
    padding: 0.4mm 1.5mm !important;
    color: #000 !important;
    border: 0.2mm solid #000 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 6.5pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
  }

  .ticket-no {
    display: block !important;
    margin: 0 !important;
    color: #000 !important;
    font-size: 25pt !important;
    font-weight: 900 !important;
    line-height: 0.95 !important;
    letter-spacing: 0.3mm !important;
    overflow-wrap: anywhere !important;
  }

  .ticket h2 {
    margin: 0.5mm 0 1mm !important;
    padding: 0 0 1mm !important;
    color: #000 !important;
    border-bottom: 0.25mm dashed #000 !important;
    font-size: 9.5pt !important;
    line-height: 1.05 !important;
  }

  .ticket-visitor,
  .ticket-info {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .ticket-visitor > div,
  .ticket-info > div {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 1.5mm !important;
    margin: 0 !important;
    padding: 0.65mm 0 !important;
    border-bottom: 0.15mm dotted #777 !important;
  }

  .ticket-visitor small,
  .ticket-info small {
    display: block !important;
    flex: 0 0 42% !important;
    color: #000 !important;
    font-size: 6.3pt !important;
  }

  .ticket-visitor b,
  .ticket-info b {
    display: block !important;
    flex: 1 1 auto !important;
    color: #000 !important;
    font-size: 6.8pt !important;
    font-weight: 700 !important;
    text-align: right !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .ticket .alert.info {
    display: block !important;
    margin: 1mm 0 !important;
    padding: 0.8mm 0 !important;
    color: #000 !important;
    border: 0 !important;
    border-top: 0.25mm dashed #000 !important;
    border-bottom: 0.25mm dashed #000 !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 6.2pt !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .ticket-print-note {
    display: block !important;
    margin: 1mm 0 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-size: 6.2pt !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .ticket-print-note::after {
    content: "Simpan tiket sampai pelayanan selesai";
    display: block !important;
    margin-top: 1mm !important;
    padding-top: 0.8mm !important;
    border-top: 0.25mm dashed #000 !important;
    font-weight: 700 !important;
  }
}
