/* ============================================================================
   FRAME AM — V17 · LEGGIBILITA' SU MOBILE
   ----------------------------------------------------------------------------
   Il progetto grafico usa molte etichette in maiuscoletto spaziato: occhielli,
   intestazioni del footer, ruoli del team, etichette dei filtri. Su schermo
   grande funzionano; su un telefono da 390 px scendevano fra 9 e 12 px e, con
   la spaziatura fra le lettere, risultavano faticose da leggere.

   Questo foglio agisce da 1024 px di larghezza in giu': telefoni in verticale
   e in orizzontale e tablet in verticale. Dai 1025 px in su non cambia nulla:
   la resa sui portatili e sui monitor e' identica a prima.

   Che cosa fa:
     - porta ogni etichetta ad almeno 13 px (14 px per i testi di lettura);
     - riduce la spaziatura fra le lettere nelle scritte in maiuscolo, che a
       corpo piccolo e' il fattore che pesa di piu' sulla leggibilita';
     - allarga le aree toccabili dei pulsanti piccoli a 44 px, la misura
       raccomandata per il dito;
     - impedisce che i moduli facciano ingrandire la pagina su iPhone
       (Safari applica lo zoom automatico ai campi sotto 16 px).

   Caricato per ultimo, dopo css/v16-scala.css.
   ========================================================================== */

@media (max-width:1024px){

  /* ---- OCCHIELLI E SOVRATITOLI ------------------------------------------ */
  .eyebrow,
  .fx-eyebrow,
  .cfm-eyebrow,
  .pm-eyebrow,
  .svc-eyebrow,
  .lux-world-tag,
  .fx-shot-k,
  .amc-cat,
  .v10-service-reader-k{
    font-size:.86rem!important;
    letter-spacing:.16em!important;
    line-height:1.5!important;
  }
  .eyebrow:before{width:22px}

  /* ---- FOOTER ----------------------------------------------------------- */
  .footer-col h3{
    font-size:.86rem!important;
    letter-spacing:.12em!important;
  }
  .footer-col a,
  .footer-bottom-links a{
    font-size:.9rem!important;
    line-height:1.5;
  }
  .footer-reg{
    font-size:.88rem!important;
    line-height:1.7!important;
  }

  /* ---- TEAM ------------------------------------------------------------- */
  .member-role{
    font-size:.86rem!important;
    letter-spacing:.1em!important;
    line-height:1.5!important;
  }
  .member-bio{font-size:.92rem!important;line-height:1.7!important}
  .bio-toggle{font-size:.86rem!important;letter-spacing:.12em!important}
  .team-group-title{font-size:.88rem!important;letter-spacing:.14em!important}

  /* ---- ARCHIVI: PUNTO MENSILE, DESKNEWS, RASSEGNA STAMPA ---------------- */
  .pm-month,
  .rs-source,
  .pm-card-top .pm-eyebrow{
    font-size:.86rem!important;
    letter-spacing:.12em!important;
  }
  .pm-card h3,.pm-card h4{font-size:1.05rem!important;line-height:1.3!important}
  .pm-card p{font-size:.92rem!important;line-height:1.7!important}
  .pm-reader-note,
  .monthly-disclaimer,
  .monthly-disclaimer strong,
  .amc-updated,
  .access-disclaimer p{
    font-size:.88rem!important;
    line-height:1.7!important;
  }
  .pm-year{min-height:44px;font-size:.9rem!important}

  /* ---- PULSANTI E FILTRI ------------------------------------------------ */
  .btn,
  .nav-cta,
  .v13-pill,
  .svc-tab,
  .amc-btn,
  .pm-btn,
  .pm-read,
  .pm-pdf,
  .cookie-actions .btn,
  .cta-card .btn,
  .lux-world-go,
  .cfm-link,
  .fx-sat-btn b{
    font-size:.88rem!important;
    letter-spacing:.1em!important;
  }
  .btn,.nav-cta,.v13-pill,.svc-tab,.amc-btn,.pm-btn,.pm-read,.pm-pdf,.pm-year{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .lang-opt{min-width:44px;min-height:44px;font-size:.9rem!important}

  /* ---- DATI IN EVIDENZA E NASTRO DI MERCATO ----------------------------- */
  .lux-stat-label,
  .cfm-feature em,
  .fx-value-k span,
  .fx-layer-name,
  .page-cover-scroll span{
    font-size:.86rem!important;
    letter-spacing:.12em!important;
  }
  .lux-tick-sym{font-size:.86rem!important;letter-spacing:.1em!important}
  .lux-tick-val{font-size:.9rem!important}

  /* ---- MODULI ----------------------------------------------------------- */
  /* Safari su iPhone ingrandisce la pagina quando si toccano campi con corpo
     inferiore a 16 px: 1rem evita l'effetto e la pagina resta ferma. */
  .field label,
  .check label,
  .access-check label,
  .monthly-check label{
    font-size:.88rem!important;
    line-height:1.6!important;
    letter-spacing:.06em!important;
  }
  input,select,textarea{font-size:1rem!important;min-height:46px}
  textarea{min-height:120px}
  .field .hint,.small,.note,.form-status{font-size:.88rem!important;line-height:1.65!important}

  /* ---- BANNER DEL CONSENSO --------------------------------------------- */
  .cb-title{font-size:1rem!important}
  .cb-meta{font-size:.88rem!important;line-height:1.6!important}
  .cookie-banner p{font-size:.9rem!important;line-height:1.7!important}

  /* ---- VOCI RESIDUE INDIVIDUATE NEL COLLAUDO SU TELEFONO ---------------- */
  /* Schede dei servizi (Cosa facciamo): occhiello e invito erano a 10 px. */
  .v10-service-card em{font-size:.86rem!important;letter-spacing:.12em!important}
  .v10-service-card b{font-size:.88rem!important;letter-spacing:.1em!important}
  .v10-service-card h3{font-size:1.15rem!important;line-height:1.3!important}
  .v10-service-card p{font-size:.95rem!important;line-height:1.65!important}
  /* Indicatori di scorrimento delle schede: area toccabile portata a 44 px. */
  .svc-dot{min-width:44px;min-height:44px;background-clip:content-box!important;
    padding:17px;box-sizing:border-box}
  .svc-nav button,.v10-service-nav button{min-width:44px;min-height:44px}

  /* Riquadro dell'indirizzo nella home. */
  .v13-addr-street{font-size:1.05rem!important}
  .v13-addr-city,.v13-addr-country{font-size:.9rem!important;letter-spacing:.1em!important}

  /* Occhielli della home non coperti dalle classi generiche. */
  .lux-mission-label span,
  .lux-eyebrow,
  .fx-strata-note,
  .author-content span{font-size:.86rem!important;letter-spacing:.12em!important}

  /* Modulo di iscrizione al Punto mensile e gate dei prodotti. */
  .monthly-form label,
  .monthly-check span,
  .monthly-check a,
  .access-field label{font-size:.9rem!important;letter-spacing:.06em!important;line-height:1.6!important}
  .monthly-input-row button,
  .access-button{font-size:.88rem!important;letter-spacing:.1em!important;min-height:46px}

  /* Il collegamento di salto è visibile solo al focus da tastiera, ma se
     compare deve essere leggibile. */
  .skip-link{font-size:.95rem!important}

  /* ---- ULTIME VOCI EMERSE DAL COLLAUDO --------------------------------- */
  /* Etichette della scheda contatti ("Telefono", "Lavora con noi"). */
  .contact-list .label{font-size:.86rem!important;letter-spacing:.12em!important}
  .contact-list a,.contact-list .value{font-size:1rem!important}
  /* Indicatori di scorrimento delle schede servizi: il pallino resta piccolo
     ma l'area toccabile diventa 44 px grazie al riquadro trasparente. */
  .v10-service-controls button{
    min-width:44px;min-height:44px;
    background-clip:content-box!important;
    padding:17px!important;box-sizing:border-box!important;
  }
  /* Pulsante di revoca del consenso nelle pagine legali. */
  .consent-reset{min-height:44px;font-size:.9rem!important}

  /* Segnaposto della mappa: i due pulsanti stanno in colonna, altrimenti
     "Apri in una nuova finestra" viene tagliato. */
  .map-placeholder-actions{display:grid;gap:10px}
  .map-placeholder-actions .btn{width:100%;white-space:normal;text-align:center;
    line-height:1.35;padding-block:12px;height:auto}
  .map-placeholder p{font-size:.9rem!important;line-height:1.6!important}

  /* ---- TESTI DI LETTURA ------------------------------------------------- */
  .legal-wrap p,.legal-wrap li,.legal-content p,.legal-content li{
    font-size:1rem!important;
    line-height:1.75!important;
  }
  .section-subtitle,.lead,.fx-lead,.cfm-lead,.page-head-lead,.page-cover-lead{
    font-size:1rem!important;
    line-height:1.7!important;
  }
}

/* Telefoni piu' stretti: si tolgono le maiuscole spaziate dove il testo e'
   lungo, perche' a 340 px andrebbero a capo in modo disordinato. */
@media (max-width:400px){
  .eyebrow,.fx-eyebrow,.cfm-eyebrow,.pm-eyebrow,.svc-eyebrow{
    letter-spacing:.1em!important;
  }
  .member-role{letter-spacing:.06em!important}
  .footer-bottom-links{gap:14px}
}
