@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600&display=swap');

body {
  font-family: 'Poppins', sans-serif;
  background-color: #f0f7ff;
  max-width: 1080px; /* Full HD width in portrait */
  margin: 0 auto;
  height: 100vh;
  touch-action: manipulation;
}

.app-container {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: 1920px; /* Full HD height in portrait */
}

.ticket-container {
  background: linear-gradient(135deg, #3b82f6 0%, #1e40af 100%);
  box-shadow: 0 10px 25px rgba(59, 130, 246, 0.5);
}

.ticket-tear {
  position: relative;
  height: 20px;
  margin: 0 20px;
}

.ticket-tear:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 20px;
  background-image: radial-gradient(
    circle at 10px 10px,
    #f0f7ff 10px,
    transparent 0
  );
  background-size: 20px 20px;
  background-position: -10px;
}

.service-card {
  transition: all 0.3s ease;
}

.service-card:hover,
.service-card:active {
  transform: translateY(-5px);
}

.service-icon {
  transition: all 0.3s ease;
}

.service-card:hover .service-icon,
.service-card:active .service-icon {
  transform: scale(1.1);
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}

.pulse-animation {
  animation: pulse 1.5s infinite;
}

/* Modal animations */
.modal {
  transition: opacity 0.3s ease;
}

.modal-content {
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.modal.hidden .modal-content {
  transform: scale(0.9);
  opacity: 0;
}

.modal.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Touchscreen optimizations */
button,
.service-card {
  min-height: 60px; /* Larger touch targets */
}

input[type='tel'] {
  font-size: 1.25rem;
  height: 60px;
}

/* Custom number pad - smaller size */
.number-pad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.number-key {
  aspect-ratio: 1/1;
  font-size: 1.25rem;
  font-weight: bold;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f0f7ff;
  border: 1px solid #e2e8f0;
  transition: all 0.2s;
}

.number-key:active {
  background-color: #dbeafe;
  transform: scale(0.95);
}

/* Loading spinner */
.loading-spinner {
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  border-top: 4px solid white;
  width: 30px;
  height: 30px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Logo placeholder */
.logo-placeholder {
    width: 70px;
    height: 70px;
    /* Ubah warna latar belakang lingkaran menjadi putih jika memang itu yang ada di tampilan Anda */
    background-color: white; /* Asumsi: lingkaran yang ada shadow adalah putih */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Properti font ini akan dihapus/tidak digunakan karena sudah ada gambar */
    /* color: white; */
    /* font-weight: bold; */
    /* font-size: 1.5rem; */
    
    /* === Tambahkan atau Ubah Properti box-shadow di sini === */
    /* Opsi 1: Bayangan abu-abu lembut (paling umum dan terlihat profesional) */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
    
    /* Opsi 2: Bayangan yang lebih tipis dan sedikit lebih kabur */
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); */

    /* Opsi 3: Bayangan dengan sedikit efek ke atas, menyatu dengan warna header biru */
    /* box-shadow: 0 -2px 10px rgba(30, 64, 175, 0.4); */ /* Warna shadow disesuaikan dengan warna header biru #1e40af */

    /* Opsi 4: Jika Anda ingin menghilangkan bayangan sama sekali */
    /* box-shadow: none; */
}

/* Pastikan gambar di dalamnya tidak ada bayangan tambahan jika tidak diinginkan */
.logo-placeholder img {
    /* Pastikan tidak ada box-shadow di sini juga jika Anda ingin kontrol penuh dari .logo-placeholder */
    /* box-shadow: none; */
}

/* Date and time styling */
.datetime-container {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 10px;
  padding: 8px 12px;
}
