/* ---- Soul: mobil uyumluluk katmanı ---- */
html, body { overflow-x: hidden; max-width: 100%; }
* { min-width: 0; }
img, video, canvas { max-width: 100%; height: auto; }

@supports (padding: max(0px)) {
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

@media (max-width: 640px) {
  body { font-size: 15px; }
  .w-80 { width: 100% !important; max-width: 21rem; }
  .h-screen { height: 100dvh !important; }

  /* dokunma hedefleri */
  button, a, [role="button"], input, select, textarea { min-height: 42px; }
  input, select, textarea { font-size: 16px; } /* iOS zoom engeli */

  /* iki sütunlu satırları dikey yığ */
  .w-1\/3 { width: 100% !important; }
  .flex-1.text-right { text-align: left !important; }

  /* metin taşması */
  .truncate { max-width: 100%; }

  /* tablo benzeri listeler */
  .flex.justify-between { flex-wrap: wrap; gap: .25rem; }
}

@media (max-width: 380px) {
  .p-6 { padding: 1rem !important; }
  .text-lg { font-size: 1rem !important; }
}

/* dokunmatikte hover yapışmasın */
@media (hover: none) {
  .hover\:bg-gray-100:hover { background-color: transparent; }
  .hover\:bg-gray-50:hover { background-color: transparent; }
}

/* yumuşak kaydırma */
.overflow-y-auto, .overflow-y-scroll { -webkit-overflow-scrolling: touch; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
