/* Optimasi Khusus Layar Smartphone Android & Layar Sentuh */

html, body {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Responsif Kontainer */
@media (max-width: 768px) {
  body {
    font-size: 10px;
  }

  .container {
    padding: 10px;
  }

  h1 { font-size: 16px; }
  h2 { font-size: 13px; }
  h3 { font-size: 11px; }

  .pixel-box {
    padding: 14px;
    margin-bottom: 14px;
    border-width: 3px;
  }

  .pixel-btn {
    padding: 10px 14px;
    font-size: 10px;
    min-height: 44px; /* Ramah jari Android */
  }

  .retro-nav {
    padding: 10px;
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .retro-nav .nav-actions {
    display: flex;
    justify-content: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
  }

  .retro-nav .nav-actions .pixel-btn {
    flex: 1 1 auto;
    font-size: 9px;
    padding: 8px;
  }

  /* Grid Foto Pengantin & Ulang Tahun */
  .profile-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Hitung Mundur */
  .countdown-container {
    gap: 6px;
  }

  .countdown-box {
    min-width: 55px;
    padding: 8px 6px;
  }

  .countdown-num {
    font-size: 14px;
  }

  .countdown-label {
    font-size: 7px;
  }

  /* Tabel Responsif */
  .pixel-table th, .pixel-table td {
    padding: 5px 3px;
    font-size: 8px;
    white-space: nowrap;
  }

  /* Floating Audio Widget pada Layar Mobile */
  .retro-audio-widget {
    bottom: 12px;
    right: 12px;
    padding: 4px 8px;
    font-size: 9px;
  }

  /* Tombol Menu Cepat */
  .mobile-action-bar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
  }
}

/* Penyesuaian untuk Layar Sangat Kecil (< 380px) */
@media (max-width: 380px) {
  body {
    font-size: 9px;
  }

  h1 { font-size: 13px; }
  h2 { font-size: 11px; }

  .countdown-box {
    min-width: 48px;
    padding: 6px 4px;
  }

  .countdown-num {
    font-size: 12px;
  }
}

/* Grid Layout Utilitas */
.grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

@media (max-width: 600px) {
  .grid-2 {
    grid-template-columns: 1fr;
  }
}
