/* ============================================================================
   NO ZOOM — su dispositivi touch lo zoom della pagina non deve mai essere
   possibile (pinch, doppio tap, e l'auto-zoom di iOS al focus di un campo).

   Va incluso in OGNI pagina del sito, anche quelle fuori dalla shell di gioco
   (login, recupero password, wiki, pagine legali, offline PWA).

   Perché non basta la meta viewport: iOS ignora `user-scalable=no` e
   `maximum-scale` dalla versione 10 (2016). `touch-action: manipulation` è la
   via supportata: mantiene scorrimento e pan, elimina pinch e doppio tap.

   La MAPPA non è toccata: MapLibre dichiara il proprio `touch-action: none`
   sulla tela e implementa pan e zoom a due dita in JavaScript.
   ============================================================================ */

@media (pointer: coarse) {

    html, body {
        touch-action: manipulation;
    }

    /* iOS ingrandisce la pagina quando un campo con font-size < 16px riceve il
       focus. 16px è anche il minimo consigliato per l'accessibilità dei campi. */
    input[type="text"],
    input[type="search"],
    input[type="password"],
    input[type="email"],
    input[type="number"],
    input[type="tel"],
    input[type="url"],
    input[type="date"],
    input[type="datetime-local"],
    input:not([type]),
    textarea,
    select {
        font-size: 16px;
    }
}

/* ── Tatto da app nativa (solo wrapper: body.native-app, mai sul web) ──────
   I tre riflessi che tradiscono subito "pagina web" dentro l'app:
   1. il lampo di evidenziazione del browser su ogni tocco (link e bottoni
      che "si riempiono di colore");
   2. il menu di copia/salva al tocco prolungato su testi e immagini;
   3. il trascinamento-fantasma delle immagini.
   Questo file è incluso da OGNI pagina del sito, quindi la regola copre
   anche le satellite (registrazione, recupero password) senza ripeterla.
   I campi di testo restano selezionabili: scrivere e correggere è sacro. */
body.native-app,
body.native-app * {
    -webkit-tap-highlight-color: transparent;
}
body.native-app {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    overscroll-behavior: none;
}
body.native-app input,
body.native-app textarea,
body.native-app [contenteditable] {
    -webkit-user-select: text;
    user-select: text;
}
body.native-app img {
    -webkit-user-drag: none;
}
