/* ─── MOBILE SAFE — defensive patch fără să modifice stiluri existente ──────
 *
 * Include pe orice pagină publică:
 *   <link rel="stylesheet" href="mobile-safe.css">
 *
 * Reguli sigure (nu sparg layout-uri existente):
 *  - overflow-x: hidden global (previne horizontal scroll accidental)
 *  - text-size-adjust 100% (Safari iOS nu zoom-uiește la rotire)
 *  - Inputs cu font-size ≥16px (previne zoom-in automat la focus iOS)
 *  - Tap highlight transparent (UX mai modern)
 *  - Safe-area-inset pentru notched devices
 *
 * NU schimbă: button heights, font-sizes generale, padding-uri specifice.
 */

html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

/* Anti-bounce (rubber-band) DOAR pe touch — telefoane / iOS app.
   IMPORTANT: pe desktop (Mac + Chrome), overscroll-behavior pe body BLOCHEAZĂ
   scroll-ul cu trackpad-ul (două degete). De aceea îl aplicăm exclusiv pe
   dispozitive touch, unde anti-bounce-ul chiar e necesar și nu strică scroll-ul. */
@media (hover: none) and (pointer: coarse) {
  html, body { overscroll-behavior-y: none; }
}

/* iOS evită zoom automat la focus dacă input-ul are font-size ≥16px */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="number"],
input[type="search"],
textarea,
select {
  font-size: max(16px, 1em);
}

/* Safe-area pentru notch iPhone — doar pe body, nu pe content */
@supports (padding: env(safe-area-inset-top)) {
  body {
    padding-left:  env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
  }
}

/* Containerul principal nu trebuie să sufle peste viewport — failsafe */
img, video, iframe {
  max-width: 100%;
  height: auto;
}
