/* Custom CSS for Pengobatan Gus Jagat Satria */
@keyframes pulseGlow {
  0%, 100% { opacity: 0.4; transform: scale(1); }
  50% { opacity: 0.7; transform: scale(1.05); }
}

.glow-animation {
  animation: pulseGlow 4s infinite ease-in-out;
}

/* Service option selection */
.service-option.active-plan {
  border-color: #f59e0b !important;
  background: rgba(16, 55, 44, 0.9) !important;
  box-shadow: 0 0 15px rgba(245, 158, 11, 0.2);
}

/* Ticket Notch Cutout */
.ticket-notch-left {
  position: absolute;
  top: 50%;
  left: -12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #071914;
}

.ticket-notch-right {
  position: absolute;
  top: 50%;
  right: -12px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #071914;
}

/* Watermark in Digital Ticket */
.ticket-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  height: 320px;
  opacity: 0.06;
  pointer-events: none;
  z-index: 1;
}

/* QRIS Scanner Viewfinder Frame */
.qris-frame {
  position: relative;
  background: #ffffff;
  border-radius: 18px;
  padding: 12px;
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(245, 158, 11, 0.5);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.qris-frame:hover {
  transform: scale(1.02);
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.5), 0 0 15px rgba(245, 158, 11, 0.6);
}

.qris-corner-tl, .qris-corner-tr, .qris-corner-bl, .qris-corner-br {
  position: absolute;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.qris-corner-tl {
  top: 6px;
  left: 6px;
  border-top: 3px solid #059669;
  border-left: 3px solid #059669;
  border-top-left-radius: 6px;
}

.qris-corner-tr {
  top: 6px;
  right: 6px;
  border-top: 3px solid #059669;
  border-right: 3px solid #059669;
  border-top-right-radius: 6px;
}

.qris-corner-bl {
  bottom: 6px;
  left: 6px;
  border-bottom: 3px solid #059669;
  border-left: 3px solid #059669;
  border-bottom-left-radius: 6px;
}

.qris-corner-br {
  bottom: 6px;
  right: 6px;
  border-bottom: 3px solid #059669;
  border-right: 3px solid #059669;
  border-bottom-right-radius: 6px;
}

/* Authentic Realistic Stamp Styling */
.official-stamp {
  position: relative;
  display: inline-block;
  padding: 6px 14px;
  text-transform: uppercase;
  font-weight: 900;
  border: 3px solid #dc2626;
  color: #dc2626;
  border-radius: 8px;
  transform: rotate(-7deg);
  letter-spacing: 1.5px;
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.2);
  background: rgba(255, 255, 255, 0.8);
}

.official-stamp-paid {
  border-color: #059669 !important;
  color: #059669 !important;
  box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.2) !important;
}

/* Stempel Bulat Fisik Tradisional Khas Gus Jagat */
.circle-stamp {
  width: 112px;
  height: 112px;
  border: 3px double #dc2626;
  border-radius: 50%;
  color: #dc2626;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transform: rotate(-8deg);
  padding: 4px;
  box-sizing: border-box;
  font-family: 'Arial Black', Impact, sans-serif;
  text-transform: uppercase;
  user-select: none;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
}

.circle-stamp.stamp-paid {
  border-color: #059669 !important;
  color: #059669 !important;
  box-shadow: 0 0 0 1px rgba(5, 150, 105, 0.15) !important;
}

.stamp-top-arc {
  font-size: 7.5px;
  font-weight: 800;
  letter-spacing: 0.5px;
  line-height: 1;
}

.stamp-middle-status {
  font-size: 13px;
  font-weight: 900;
  border-top: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  padding: 2px 4px;
  margin: 3px 0;
  letter-spacing: 1px;
}

.stamp-bottom-arc {
  font-size: 7px;
  font-weight: 700;
  letter-spacing: 0.5px;
  line-height: 1;
}

/* ========================================================
   PRINT INVOICE ENGINE (100% Sempurna saat dicetak ke PDF/Kertas)
   ======================================================== */
@media screen {
  #officialPrintInvoice {
    display: none;
  }
}

@media print {
  html, body {
    background: #ffffff !important;
    color: #111111 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Sembunyikan SEMUA elemen induk dan saudara, KECUALI section antrian */
  body > *:not(section#antrian) {
    display: none !important;
  }

  header, footer, nav, .no-print, .fixed, #liveNotificationToast, #imageModal {
    display: none !important;
  }

  section#antrian {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #ffffff !important;
  }

  /* Sembunyikan semua elemen di dalam section antrian kecuali kontainer tiket */
  section#antrian > div > *:not(#ticketResultContainer) {
    display: none !important;
  }

  #bookingFormContainer {
    display: none !important;
  }

  #ticketResultContainer {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #ticketPrintArea {
    display: none !important;
  }

  /* Tampilkan hanya Invoice Dokumen Resmi */
  #officialPrintInvoice {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 195mm !important;
    margin: 0 auto !important;
    padding: 10mm 15mm !important;
    background: #ffffff !important;
    color: #111111 !important;
    box-sizing: border-box !important;
  }

  /* Watermark Print Kertas */
  .print-watermark {
    position: absolute !important;
    top: 52% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 380px !important;
    height: 380px !important;
    opacity: 0.08 !important;
    z-index: 0 !important;
    pointer-events: none !important;
  }

  .print-watermark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  .print-content {
    position: relative !important;
    z-index: 10 !important;
  }
}

/* Sembunyikan badge Powered by Netlify agar tidak menutupi tombol WhatsApp */
#nl-badge-frame,
iframe#nl-badge-frame,
[id="nl-badge-frame"],
.nl-badge,
#nl-card,
[data-netlify-deploy-id] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  position: absolute !important;
  top: -9999px !important;
  left: -9999px !important;
  z-index: -9999 !important;
}
