/* The Plate Atlas · stile "Atlas" (mockup approvati: riferimenti/mobile/ per il telefono, riferimenti/desktop/ per il computer, 13 novembre 2026).
   Si carica per ultimo in tutte le pagine della guida e sostituisce l'aspetto di forged.css e dei CSS delle pagine.
   Quattro parti: 1. componenti comuni (uguali su telefono e computer); 2. menu a tutto schermo sotto gli 820 px;
   3. telefono (fino a 700 px); 4. computer (da 701 px; da 1001 px la guida divisa e la pagina palestra a due colonne).
   Colori: fondo #1E2023, footer e menu #17181A, fascia Awards #222428, testo #E8E4DC, grigio #A3A8AF, linee #303337, accento #C8562D.
   Un solo titolo grande per pagina (Big Shoulders 900), testi e nomi in Inter, etichette in IBM Plex Mono. Niente riquadri bordati. */

/* ========== 1. componenti comuni ========== */
:root { --osso: #E8E4DC; --osso-2: #A3A8AF; --acciaio: #A3A8AF; --filo: #303337; --ghisa: #1E2023; }
body { background: #1E2023; background-image: none; color: #E8E4DC; }
.menu-apri, .menu-m { display: none; }
.conti[hidden], [data-m-radar][hidden], [data-m-awards][hidden] { display: none !important; }
.solo-pc { display: none !important; }

/* etichetta di sezione: lineetta arancione 32x2 sopra, mono piccolo grigio */
.eti { display: block; margin: 0; font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: 0.16em; line-height: 1.5; color: #A3A8AF; }
.eti::before { content: ""; display: block; width: 32px; height: 2px; margin-bottom: 18px; background: #C8562D; }
.eti::after { content: none !important; }
.blocco-testa h2 { margin: 0 0 14px; font-family: var(--mono); font-size: 10px; font-weight: 400; line-height: 1.5; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }
.blocco-testa h2::before { content: ""; display: block; width: 32px; height: 2px; margin-bottom: 18px; background: #C8562D; }

/* marchio: "THE" piccolo sopra "PLATE ATLAS", senza simbolo nell'header */
.testa .marchio-s, .fr-testa .marchio-s { display: none !important; }
.marchio { flex-direction: column; align-items: flex-start; justify-content: center; min-height: 44px; font-family: var(--titoli); font-weight: 900; font-size: 24px; line-height: 1; letter-spacing: 0.04em; text-transform: uppercase; color: #E8E4DC; text-decoration: none; }
.marchio .m-the, .pm-nome .m-the { display: block; font-family: var(--mono); font-size: 9px; font-weight: 400; letter-spacing: 0.4em; }
.marchio .m-nome, .pm-nome .m-nome { display: block; }
.pm-nome { display: flex; flex-direction: column; line-height: 1; font-family: var(--titoli); font-weight: 900; font-size: 24px; letter-spacing: 0.04em; text-transform: uppercase; color: #E8E4DC; }

/* simboli dello stato */
.segno-m-seg { display: inline-block; flex: none; width: 14px; height: 14px; border: 1.5px dashed #E8E4DC; border-radius: 50%; }
.segno-m-radar { display: inline-block; flex: none; width: 7px; height: 7px; margin: 0 3.5px; border-radius: 50%; background: #6E737A; }
.segno-m-img { display: inline-block; flex: none; width: 16px; height: 16px; }

/* testi e pulsanti delle sezioni */
.m-h2 { margin: 10px 0 20px; font-family: var(--titoli); font-weight: 900; font-size: 32px; line-height: 0.95; text-transform: uppercase; }
.m-testo { margin: 0; font-size: 16px; line-height: 1.55; color: #A3A8AF; }
.m-link { display: inline-block; margin-top: 18px; padding: 10px 0; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #E8E4DC; text-decoration: none; }
.m-btn-bordo { display: flex; align-items: center; justify-content: center; height: 52px; margin-top: 22px; border: 1px solid #E8E4DC; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #E8E4DC; text-decoration: none; }
.m-numero { margin: 12px 0 6px; font-family: var(--titoli); font-weight: 900; font-size: 80px; line-height: 0.85; }
.m-giorni { display: flex; align-items: baseline; gap: 10px; margin: 16px 0 0; }
.m-giorni b { font-family: var(--titoli); font-weight: 900; font-size: 48px; line-height: 1; }
.m-giorni span { font-family: var(--mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }
.m-livelli { list-style: none; margin: 0; padding: 0; }
.m-liv-i { display: flex; gap: 5px; }
.m-liv-i img { width: 24px; height: 24px; }
.m-livelli b { display: block; font-weight: 500; font-size: 17px; color: #E8E4DC; }
.m-livelli b + span { display: block; font-size: 14px; line-height: 1.55; color: #A3A8AF; }

/* righe delle palestre (app.js, rowM) */
.lista-m { list-style: none; margin: 0; padding: 0; }
.riga-m { display: flex; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid #303337; color: #E8E4DC; text-decoration: none; }
.riga-m-s { display: flex; justify-content: center; flex: none; width: 16px; }
.riga-m-t { flex-grow: 1; min-width: 0; }
.riga-m-n { display: block; font-weight: 500; font-size: 17px; line-height: 1.3; }
.riga-m-w { display: block; margin-top: 3px; font-size: 14px; line-height: 1.4; color: #A3A8AF; }
.riga-m-x { display: block; margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #E8E4DC; }
.riga-m-f { flex: none; color: #6E737A; }
.riga-m .tag-chiusa { margin-left: 8px; font-size: 10px; }
.elenco li.acceso .riga-m .riga-m-n { color: #FFFFFF; }
.m-ultima { display: flex; align-items: flex-start; gap: 14px; padding: 18px 0; border-top: 1px solid #303337; border-bottom: 1px solid #303337; color: #E8E4DC; text-decoration: none; }
.m-ultima .riga-m-s { padding-top: 4px; }
.m-ultima-n { display: block; font-weight: 500; font-size: 19px; }
.m-ultima-w { display: block; margin-top: 4px; font-size: 14px; color: #A3A8AF; }

/* righe "vecchie" (palestre vicine, ultime recensioni): stesso aspetto delle righe nuove */
.list { border-top: 0; }
.list > li { border-bottom: 1px solid #303337; }
.entry, .elenco .entry { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto; column-gap: 16px; align-items: start; margin: 0; padding: 20px 0; }
.entry .level, .elenco .entry .level, .elenco .entry-seg .level { grid-column: 1; grid-row: 1 / 4; flex-direction: column; align-items: center; gap: 3px; padding: 3px 0 0; }
.entry .level .label { display: none; }
.entry .mark { flex-direction: column; gap: 3px; }
.entry .mark img, .elenco .mark img { width: 16px; height: 16px; }
.entry .segno-seg { width: 14px; height: 14px; border-width: 1.5px; border-color: #E8E4DC; }
.entry .segno-radar { width: 7px; height: 7px; margin: 4px 0 0; background: #6E737A; box-shadow: none; }
.entry h3, .elenco .entry h3, .elenco .entry-seg h3, .entry-radar h3 { grid-column: 2; margin: 0; font-family: var(--testo); font-weight: 500; font-size: 17px; line-height: 1.3; letter-spacing: 0; text-transform: none; color: #E8E4DC; }
.entry .where, .elenco .entry-seg .where { grid-column: 2; margin-top: 3px; font-family: var(--testo); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #A3A8AF; }
.entry .sum, .elenco .entry .sum, .elenco .entry-seg .sum, .entry-seg .sum { grid-column: 2; margin: 6px 0 0; font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: 0.16em; text-transform: uppercase; color: #E8E4DC; }
.entry .total { grid-column: 3; grid-row: 1; }
.entry .total b, .elenco .entry .total b { font-size: 24px; }
.entry:hover { background: none; }
#nearby .entry { grid-template-columns: 16px minmax(0, 1fr) auto; column-gap: 16px; padding: 20px 0; }
#nearby .entry h3 { font-size: 17px; }
#nearby .entry .total b { font-size: 24px; }
#nearby .mark img { width: 16px; height: 16px; }

/* home: pezzi che non si usano più */
#reports-section [data-out-reports] { display: none; }
.radar-riga, .radar-nota, .radar-link, .giu { display: none; }
.fascia:has(.conti[hidden]) { display: none; }

/* The Guide: ricerca su una riga, pillole, legenda, città */
.filtri { background: #1E2023; border: 0; }
body:not(.mappa-piena) .filtri { position: static; }
.filtri-riga { gap: 14px; margin: 28px 20px 0; padding: 0 0 12px; border-bottom: 1px solid #A3A8AF; }
.mappa-piena .filtri-riga { margin-top: 12px; }
.cerca svg { position: static; flex: none; width: 18px; height: 18px; margin-right: 14px; color: #A3A8AF; }
.cerca input { height: auto; padding: 6px 0; font-size: 16px; color: #E8E4DC; background: transparent; border: 0; }
.cerca input:focus { border: 0; outline: none; }
.cerca:focus-within { box-shadow: 0 1px 0 0 #E8E4DC; }
.chip-filtri { height: auto; min-height: 44px; margin-left: auto; padding: 0; gap: 4px; font-size: 10px; font-weight: 500; letter-spacing: 0.16em; color: #E8E4DC; border: 0; background: transparent; box-shadow: none !important; }
.chip-filtri svg { display: none; }
.g-pillole { display: flex; gap: 8px; margin: 20px 0 0; padding: 0 20px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.g-pillole::-webkit-scrollbar { display: none; }
.pillola { flex: none; height: 38px; padding: 0 16px; font-family: var(--testo); font-size: 14px; font-weight: 500; color: #E8E4DC; background: transparent; border: 1px solid #303337; border-radius: 19px; cursor: pointer; white-space: nowrap; }
.pillola[aria-pressed="true"] { color: #1E2023; background: #E8E4DC; border-color: #E8E4DC; }
.g-legenda { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 20px 20px 0; font-size: 13px; color: #A3A8AF; }
.g-legenda > span { display: inline-flex; align-items: center; gap: 8px; }
.mappa-piena .g-legenda, .mappa-piena .g-intro { display: none; }
.filtri-stato { padding: 6px 20px 0; }
.filtri-stato .conto, .vista { display: none; }
.elenco.ha-m [data-out] { display: none; }
.citta-m { padding-top: 36px; }
.citta-m-t { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding-bottom: 12px; border-bottom: 1px solid #C8562D; font-family: var(--titoli); font-weight: 800; font-size: 22px; letter-spacing: 0.04em; text-transform: uppercase; }
.citta-m-n { font-family: var(--mono); font-size: 10px; font-weight: 400; letter-spacing: 0.16em; color: #A3A8AF; }
.elenco .piede-mini { display: none; }
.flottante { min-height: 48px; height: 48px; gap: 10px; padding: 0 24px; border-radius: 24px; font-size: 11px; font-weight: 500; letter-spacing: 0.16em; color: #1E2023; background: #E8E4DC; box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5); }
.flottante svg { width: 16px; height: 16px; }

/* pagine a blocchi */
.indice { display: none; }
.apertura h1 { font-weight: 900; }
.ap-frase { color: #A3A8AF; }
.btn { font-weight: 500; letter-spacing: 0.16em; }
/* titoli e testi delle righe numerate (principi, passi, regole, categorie, requisiti) */
.principi h3, .cat-carta h3, .colonne-d h3 { margin: 0 0 4px; font-family: var(--testo); font-weight: 500; font-size: 17px; line-height: 1.35; letter-spacing: 0; text-transform: none; color: #E8E4DC; }
.principi p, .cat-carta p, .colonne-d p { margin: 0; font-size: 15px; line-height: 1.55; color: #A3A8AF; }
.principi li::before { font-size: 10px; font-weight: 400; color: #A3A8AF; }
.passi { counter-reset: passo; }
.passi li { counter-increment: passo; }
.passi li::before { content: none !important; }
.passi .mono, .regole .mono { font-size: 0; }
.passi .mono::before { content: counter(passo); font-size: 10px; font-weight: 400; color: #A3A8AF; }
.regole { counter-reset: regola; }
.regole li { counter-increment: regola; }
.regole .mono::before { content: counter(regola); font-size: 10px; font-weight: 400; color: #A3A8AF; }
.passi p { margin: 0 0 4px; font-family: var(--testo); font-weight: 500; font-size: 17px; line-height: 1.35; text-transform: none; color: #E8E4DC; }
.passo-d { font-size: 15px; line-height: 1.55; color: #A3A8AF; }
.regole p { margin: 0; font-size: 15px; line-height: 1.55; color: #A3A8AF; }
.regole p b { display: block; margin-bottom: 4px; font-weight: 500; font-size: 17px; color: #E8E4DC; }
.cat-n, .colonne-d .mono { font-size: 10px; font-weight: 400; color: #A3A8AF; }
.cat-tipi li { padding: 0; font-size: 10px; font-weight: 400; color: #A3A8AF; background: none; border: 0; }
#how .testo-r { display: none; }

/* Method: aree, livelli, requisiti, esclusione */
.aree-m { border-top: 0; }
.area-m { border-bottom: 0; }
.area-m-testa > .mono:first-child { display: none; }
.area-m-testa h3 { font-family: var(--testo); font-weight: 400; font-size: 16px; letter-spacing: 0; text-transform: none; }
.area-m-testa .punti { font-size: 11px; font-weight: 400; color: #A3A8AF; }
.area-m ul li::before { content: none; }
.area-m ul li .pt { font-size: 12px; font-weight: 400; }
.livelli-t thead th { font-weight: 400; border-bottom: 0; }
.livelli-t th[scope="row"], .livelli-t td { border-top: 1px solid #303337; border-bottom: 0; }
.livelli-t .mark, .livelli-t td .mono { display: none; }
.livelli-t .lv-n { font-family: var(--testo); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #E8E4DC; }
.livelli-t td b { font-family: var(--testo); font-size: 15px; font-weight: 400; }
.non-pub .lv { padding-left: 0; }
.livelli-t tbody tr:first-child td:first-of-type b::after { content: "+"; }
.non-pub .lv-n, .non-pub td b { color: #A3A8AF; }
.regola, .esclusione { background: none; border: 0; border-top: 1px solid #303337; }
.regola p, .esclusione p { font-size: 15px; line-height: 1.55; color: #A3A8AF; }
.regola .regola-t { margin-bottom: 6px; font-size: 10px; font-weight: 400; color: #A3A8AF; }
.esclusione .esclusione-t { margin-bottom: 6px; font-family: var(--testo); font-weight: 500; font-size: 17px; line-height: 1.4; text-transform: none; color: #E8E4DC; }

/* Community Reports: il modulo (anteprima non attiva) */
.modulo { padding: 0; border: 0; }
.modulo-nota { letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }
.gruppo-m > legend { font-weight: 400; color: #A3A8AF; }
.campo-m > span:first-child, .scelta-m > legend { font-size: 14px; color: #A3A8AF; }
.campo-m input, .campo-m textarea { min-height: 0; height: 40px; padding: 0; color: #E8E4DC; background: transparent; border: 0; border-bottom: 1px solid #A3A8AF; }
.campo-m textarea { height: 110px; resize: none; }
.campo-h { font-size: 12px; color: #A3A8AF; }
.scelta-m > legend { margin-bottom: 10px; }
.scelta-m label span { height: 36px; padding: 0 14px; font-size: 14px; border-color: #303337; border-radius: 18px; }

/* Awards: conto alla rovescia in una riga da 4 colonne, categorie senza riquadri */
.conto { grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid #C8562D; border-bottom: 1px solid #303337; }
.conto-c, .conto-c + .conto-c, .conto-c:nth-child(n+3) { border: 0; }
.conto-c b { font-weight: 900; line-height: 1; }
.conto-c > span { font-weight: 400; color: #A3A8AF; }
.attesa { display: flex; flex-direction: column; max-width: none; }
.attesa-t { order: 2; margin: 14px 0 0; font-family: var(--testo); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #A3A8AF; }
.ap-premi { text-align: left; }
.ap-premi h1 span { display: inline; }
.ap-premi h1 span + span::before { content: " "; }
.regola-grande { font-family: var(--testo); font-weight: 500; font-size: 17px; line-height: 1.4; text-transform: none; }
.regole-p { border-top: 0; }
.regole-p li { border-top: 1px solid #303337; border-bottom: 0; }

/* pagina palestra */
.ap-torna { display: inline-flex; align-items: center; min-height: 32px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; text-decoration: none; }
.ap-stato-m { display: flex; align-items: center; gap: 8px; margin: 26px 0 0; font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #E8E4DC; }
.ap-nome .eti, .ap-nome .seg-fascia, .ap-dove, .ap-ind { display: none; }
.ap-ind-m { margin: 0; font-size: 16px; line-height: 1.55; color: #A3A8AF; }
.mini-l, .seg-meta { display: none; }
#location .blocco-testa, #location .seg-testo { display: none; }
#mini-mappa { border: 0; }
.seg-fatti-nota { font-size: 13px; color: #A3A8AF; }
.racc { display: flex; flex-direction: column; }
.racc-d { order: 2; margin: 14px 0 0; font-size: 10px; font-weight: 400; letter-spacing: 0.16em; }
blockquote.seg-racconto { margin: 0; }
.seg-racconto { padding-left: 16px; border-left: 1px solid #E8E4DC; }
.seg-racconto .seg-testo { font-size: 16px; line-height: 1.55; color: #E8E4DC; }
.racc-testa { border-bottom: 0; padding-bottom: 0; }
.seg-col-t { margin: 0 0 10px; font-family: var(--mono); font-size: 10px; font-weight: 400; line-height: 1.5; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }
.seg-lista { border-top: 0; }
.seg-lista li { padding: 0 0 10px; font-size: 15px; line-height: 1.55; border-bottom: 0; }
.seg-lista li::before { content: none; }
.seg-fatti { margin-top: 14px; border-top: 0; }
.seg-fatti li, .seg-fatti li.fatto { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; font-size: 15px; border-top: 1px solid #303337; border-bottom: 0; }
.fatto-k { padding: 0; font-family: var(--testo); font-size: 15px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #A3A8AF; }
.fatto-v { text-align: right; color: #E8E4DC; }
.fonti-v { margin: 16px 0 0; font-family: var(--testo); font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #A3A8AF; }
.fonti-v a { min-height: 32px; color: #E8E4DC; }
.info { border-top: 0; }
.info > div { border-top: 1px solid #303337; border-bottom: 0; }

/* scheda degli amici: stesso header, senza menu */
.fr-testa { background: #1E2023; }

/* selettore EN / IT (header, footer, menu): la lingua attiva in chiaro, l'altra in grigio */
.lingue { display: flex; align-items: center; flex: none; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0.16em; color: #A3A8AF; }
.lingue a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 2px; color: #A3A8AF; text-decoration: none; }
.lingue a[aria-current], .lingue a:hover { color: #E8E4DC; }
.lingue span { padding: 0 2px; }
.menu-piede .lingue { margin-top: 8px; }
.piede .piede-fondo .lingue a { min-height: 0; }

/* ========== 2. menu a tutto schermo (telefono e computer stretto: sotto gli 820 px le voci non ci stanno) ========== */
/* primo anno (passo 86): filtri solo per le ispezionate nascosti, nota dei livelli, dati forniti dalla palestra */
[data-solo-ispezioni][hidden] { display: none !important; }
.rating-ora { margin: 20px 0 0; max-width: 640px; }
.cat-dopo { margin-top: 28px; }
.dati-meta { margin: 0 0 14px; font-size: 11px; letter-spacing: 0.12em; color: #A3A8AF; }
.dati-num { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; list-style: none; margin: 4px 0 8px; padding: 0; background: #303337; border: 1px solid #303337; }
.dati-num li { display: flex; flex-direction: column; gap: 4px; padding: 14px 12px; background: #1E2023; }
.dati-num b { font-family: var(--titoli); font-weight: 900; font-size: 34px; line-height: 1; color: #E8E4DC; }
.dati-num span { font-size: 13px; line-height: 1.35; color: #A3A8AF; }
.dati-regole { list-style: none; margin: 0; padding: 0; }
.dati-regole li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid #303337; }
.dati-regola-k { color: #A3A8AF; font-size: 15px; }
.dati-regola-v { display: inline-flex; align-items: center; gap: 10px; text-align: right; font-size: 15px; color: #E8E4DC; }
.dati-livello { display: inline-flex; gap: 3px; flex: none; }
.dati-livello i { width: 10px; height: 10px; border: 1px solid #A3A8AF; }
.dati-livello.l0 i:nth-child(-n+1), .dati-livello.l1 i:nth-child(-n+2), .dati-livello.l2 i { background: #E8E4DC; border-color: #E8E4DC; }
#gym-highlights { order: 14; }
.dati-gruppo-t { margin: 18px 0 0; font-size: 10px; color: #A3A8AF; }
.dati-foto { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; list-style: none; margin: 20px 0 0; padding: 0; }
.dati-foto img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

@media (max-width: 820px) {
  .js-menu .testa .voci { display: none; }
  .testa .lingue { margin-left: auto; }
  .menu-apri { display: flex; align-items: center; min-height: 44px; margin-left: 14px; padding: 14px 0 14px 14px; color: #E8E4DC; background: transparent; border: 0; cursor: pointer; }
  .menu-m:not([hidden]) { display: flex; position: fixed; inset: 0; z-index: 60; flex-direction: column; overflow-y: auto; background: #17181A; color: #E8E4DC; }
  .menu-testa { display: flex; align-items: center; justify-content: space-between; height: 64px; padding: 0 20px; flex: none; }
  .menu-chiudi { display: flex; align-items: center; min-height: 44px; padding: 14px 0 14px 14px; color: #E8E4DC; background: transparent; border: 0; cursor: pointer; }
  .menu-voci { display: flex; flex-direction: column; flex-grow: 1; padding: 32px 20px; }
  .menu-voci a { display: flex; align-items: baseline; gap: 16px; padding: 16px 0; border-bottom: 1px solid #34373B; color: #E8E4DC; text-decoration: none; }
  .menu-n { font-family: var(--mono); font-size: 11px; letter-spacing: 0.14em; color: #A3A8AF; }
  .menu-t { font-family: var(--titoli); font-weight: 900; font-size: 46px; line-height: 0.95; text-transform: uppercase; }
  .menu-voci a[aria-current] .menu-t { text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: #C8562D; text-underline-offset: 6px; }
  .menu-piede { display: flex; flex-direction: column; gap: 10px; padding: 0 20px 32px; }
  .menu-piede > a { display: inline-flex; align-items: center; min-height: 32px; font-size: 15px; color: #A3A8AF; text-decoration: none; }
  .menu-legali { margin: 12px 0 0; font-family: var(--mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #A3A8AF; }
  .menu-legali a { display: inline-flex; align-items: center; min-height: 32px; color: inherit; text-decoration: none; }
  html.menu-aperto, html.menu-aperto body { overflow: hidden; }
}

/* ========== 3. telefono (mockup "Main", "Menu", "Guide", "Gym", "Method", "Awards", "Reports") ========== */
@media (max-width: 700px) {
  .solo-d { display: none !important; }
  [hidden] { display: none !important; }
  :root { --pad: 20px; }
  body { font-size: 17px; }

  /* header B: 64 px, menu a due linee */
  .testa { position: relative; z-index: 20; height: 64px; padding: 0 20px; flex-wrap: nowrap; gap: 0; background: #1E2023; border: 0; }
  body[data-page="home"] .testa { position: fixed; top: 0; left: 0; right: 0; background: transparent; transition: background-color 0.2s; }
  body[data-page="home"] .testa.testa-piena { background: #1E2023; }
  @media (prefers-reduced-motion: reduce) { body[data-page="home"] .testa { transition: none; } }

  /* footer compatto */
  .piede { display: none; }
  .piede-m { display: flex; flex-direction: column; gap: 26px; margin: 0; padding: 44px 20px 36px; background: #17181A; border-top: 2px solid #C8562D; }
  .pm-marchio { display: flex; align-items: center; gap: 12px; }
  .pm-marchio img { width: 30px; height: 30px; }
  .pm-frase { margin: 0; font-size: 15px; line-height: 1.55; color: #A3A8AF; }
  .pm-voci { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 16px; }
  .pm-voci a { display: flex; align-items: center; min-height: 36px; font-size: 15px; color: #E8E4DC; text-decoration: none; }
  .pm-contatti { display: flex; flex-direction: column; gap: 0; }
  .pm-contatti a { display: inline-flex; align-items: center; min-height: 32px; font-size: 14px; color: #A3A8AF; text-decoration: none; overflow-wrap: anywhere; }
  .pm-fondo { margin: 0; padding-top: 18px; border-top: 1px solid #303337; font-family: var(--mono); font-size: 9px; line-height: 2; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }
  .pm-fondo a { display: inline-block; padding: 8px 0; color: inherit; text-decoration: none; }

  .m-sez { padding: 44px 20px; }

  /* home */
  .prima { display: flex; flex-direction: column; height: auto; min-height: 0; overflow: visible; }
  .prima::before { display: none; }
  .disco { order: -1; position: relative; top: auto; right: auto; transform: none; width: auto; height: 400px; margin: 0; overflow: hidden; mix-blend-mode: normal; -webkit-mask-image: none; mask-image: none; }
  .disco picture { display: block; width: calc(100% + 40px); height: auto; margin: -10px 0 0 -10px; }
  .disco img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; mix-blend-mode: lighten; }
  .disco::before, .disco::after { content: ""; position: absolute; left: 0; right: 0; z-index: 1; pointer-events: none; }
  .disco::before { top: 0; height: 140px; background: linear-gradient(rgba(23, 24, 26, 0.8), rgba(23, 24, 26, 0)); }
  .disco::after { bottom: 0; height: 170px; background: linear-gradient(rgba(30, 32, 35, 0), #1E2023); }
  .scena { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-start; gap: 18px; margin-top: -36px; padding: 0 20px 44px; }
  .scena .eti::before { display: none; }
  .scena h1 { margin: 0; font-weight: 900; font-size: 60px; line-height: 0.88; }
  .scena h1 span { display: inline; white-space: normal; }
  .sotto { margin: 0; font-size: 17px; line-height: 1.55; color: #A3A8AF; }
  .azioni { display: flex; flex-direction: column; gap: 18px; margin: 8px 0 0; }
  .azioni .btn-pieno { width: 100%; min-height: 52px; height: 52px; padding: 0 16px; font-size: 11px; font-weight: 500; letter-spacing: 0.16em; color: #1E2023; background: #E8E4DC; border-color: #E8E4DC; }
  .azioni .btn-metodo { flex: none; align-self: center; width: auto; min-height: 44px; padding: 10px; font-size: 11px; font-weight: 500; letter-spacing: 0.16em; color: #E8E4DC; background: transparent; border: 0; }
  .fascia { margin: 0 20px; }
  .m-livelli li { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 0; border-top: 1px solid #303337; }
  .recensioni { display: flex; flex-direction: column; max-width: none; margin: 0; padding: 44px 20px; }
  .recensioni + .recensioni { padding-top: 44px; }
  .recensioni-testa { display: contents; }
  .recensioni-testa h2 { margin: 10px 0 20px; font-weight: 900; font-size: 32px; line-height: 0.95; }
  .recensioni-testa a { order: 5; align-self: flex-start; display: inline-block; min-height: 0; margin-top: 18px; padding: 10px 0; font-size: 11px; font-weight: 500; color: #E8E4DC; }
  .radar-box { width: auto; margin: 0; padding: 44px 20px; border: 0; }

  /* The Guide */
  .g-intro { padding: 40px 20px 0; }
  .g-h1 { margin: 10px 0 8px; font-family: var(--titoli); font-weight: 900; font-size: 44px; line-height: 0.92; text-transform: uppercase; }
  .g-frase { margin: 0; font-size: 16px; line-height: 1.5; color: #A3A8AF; }
  .chip-filtri { margin-left: 0; }
  .elenco { padding: 0 20px 0; }
  .elenco .piede-m { margin: 120px -20px 0; }

  /* pagine a blocchi */
  .scheda { padding: 0 20px; }
  .apertura { padding: 44px 0; }
  .apertura h1 { margin: 10px 0 10px; font-size: 48px; line-height: 0.9; }
  .ap-frase { margin: 0; font-size: 17px; line-height: 1.55; }
  .blocco { display: block; padding: 44px 0; border-top: 0; }
  .apertura + .blocco { margin-top: 0; }
  .grande { margin: 0 0 20px; font-size: 17px; line-height: 1.55; color: #E8E4DC; }
  .testo-m, .testo-r { margin: 14px 0 0; font-size: 15px; line-height: 1.6; color: #A3A8AF; }
  .legale .blocco-corpo > .testo-m:first-child { margin-top: 0; }
  .btn { min-height: 52px; font-size: 11px; }

  /* righe numerate: numero piccolo a sinistra, titolo e testo a destra */
  .principi, .passi, .regole, .categorie, .visite { display: block; margin: 0; padding: 0; list-style: none; }
  .principi li, .passi li, .regole li, .cat-carta, .visita { display: grid; grid-template-columns: 34px minmax(0, 1fr); column-gap: 8px; padding: 18px 0; background: none; border: 0; border-top: 1px solid #303337; }
  .principi li::before { grid-column: 1; grid-row: 1 / span 2; padding-top: 4px; }
  .principi h3, .cat-carta h3, .principi p, .cat-carta p, .passi p, .passo-d, .regole p { grid-column: 2; }
  .passi .mono, .regole .mono { grid-column: 1; grid-row: 1 / span 2; padding-top: 4px; }
  .visita-t { grid-column: 1 / -1; font-size: 10px; font-weight: 400; }
  .visita-d { grid-column: 1 / -1; margin-top: 6px !important; font-family: var(--testo) !important; font-weight: 500 !important; font-size: 17px !important; text-transform: none !important; }
  .visita-n { grid-column: 1 / -1; margin-top: 4px !important; font-size: 15px !important; color: #A3A8AF; }

  /* Method */
  .area-m { display: block; padding: 14px 0; border-top: 1px solid #303337; }
  .area-m-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  .area-m ul { margin-top: 8px; }
  .area-m ul li { padding: 5px 0; font-size: 14px; line-height: 1.45; color: #A3A8AF; }
  .livelli-t thead th { padding: 0 8px 10px 0; font-size: 9px; }
  .livelli-t th[scope="row"], .livelli-t td { padding: 14px 8px 14px 0; }
  .regola, .esclusione { margin-top: 28px; padding: 18px 0 0; }

  /* Community Reports: il modulo */
  .modulo-t { margin: 0 0 10px !important; font-weight: 900; font-size: 32px; line-height: 0.95; }
  .modulo-sotto { font-size: 15px; }
  .modulo-nota { margin: 10px 0 0; font-size: 9px; }
  .gruppo-m { margin-top: 30px; }
  .gruppo-m > legend { margin-bottom: 18px; font-size: 10px; }
  .campi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 16px; margin: 0; }
  .campo-m { gap: 6px; }
  .modulo-invia { width: 100%; margin-top: 30px; }

  /* Awards */
  .ap-premi { padding: 44px 20px; }
  .ap-premi h1 { margin: 10px 0; font-weight: 900; font-size: 48px; line-height: 0.9; }
  .ap-premi .ap-frase { margin: 0; }
  .attesa { margin: 44px 0 0; }
  .conto-c, .conto-c + .conto-c, .conto-c:nth-child(n+3) { gap: 6px; padding: 18px 0; }
  .conto-c b { font-size: 36px; }
  .conto-c > span { font-size: 9px; }
  .cat-n { grid-column: 1; grid-row: 1 / span 3; padding-top: 4px; }
  .cat-carta h3 { font-size: 17px !important; }
  .cat-tipi { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; }
  .regole-p li { padding: 14px 0; font-size: 15px; }

  /* pagina palestra: i contenitori del computer non contano, le sezioni si ordinano col mockup "Gym" */
  .gt, .gc, .gm, .ga { display: contents; }
  body[data-page="gym"] [data-out] { display: flex; flex-direction: column; }
  body[data-page="gym"] [data-out] > *, .gm > *, .ga > * { order: 50; }
  body[data-page="gym"] .apertura { order: 1; padding: 32px 0 36px; }
  .ap-nome h1 { margin: 14px 0 8px; font-weight: 900; font-size: 46px; line-height: 0.9; }
  .ap-riga { gap: 24px; }
  /* le informazioni pratiche si "aprono": i pezzi vanno dopo i fatti */
  #public, #location, #verified, #public .blocco-corpo, #location .blocco-corpo, #verified .blocco-corpo, body[data-page="gym"] .pratiche { display: contents; }
  body[data-page="gym"] .mini-mappa { order: 2; }
  #mini-mappa { height: 170px; }
  #verdict { order: 3; } #scores { order: 4; } #review { order: 5; } #gallery { order: 6; }
  #community { order: 10; } #members { order: 11; } #glance { order: 12; } #facts { order: 13; }
  #public .blocco-testa, #verified .blocco-testa { order: 14; padding-top: 44px; }
  body[data-page="gym"] .pratiche > div:not(.mini-mappa) { order: 14; padding-bottom: 44px; }
  #location .pratiche > div:not(.mini-mappa) { padding-bottom: 0; margin-top: -30px; }
  #official { order: 14; } #older { order: 15; } #send { order: 16; } #inspection { order: 17; } #nearby { order: 18; }
  #community .seg-testo { font-size: 17px; line-height: 1.55; color: #E8E4DC; }
  .seg-due, #glance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 44px 0; }
  #glance::before { content: ""; grid-column: 1 / -1; width: 32px; height: 2px; margin-bottom: -2px; background: #C8562D; }

  /* scheda degli amici */
  .fr-testa { height: 64px; padding: 0 20px; border: 0; }
  .fr-testa .marchio { font-size: 24px; }
}

/* ========== 4. computer (mockup "Desk-*", 1440 px; contenuto largo al massimo 1328 px con margini di 56 px) ========== */
@media (min-width: 701px) {
  .solo-m { display: none !important; }
  :root { --pad: 56px; }
  body { font-size: 17px; }

  /* header: 84 px, linea sottile sotto; in home trasparente sopra la foto */
  .testa { position: relative; z-index: 20; height: 84px; padding: 0 56px; flex-wrap: nowrap; gap: 0; background: #1E2023; border-bottom: 1px solid #303337; }
  .marchio { font-size: 30px; }
  .testa .marchio .m-the { font-size: 10px; }
  .voci { gap: 0 40px; }
  .testa .voci { margin-left: auto; }
  .testa .lingue { margin-left: 40px; }
  .piede .piede-fondo { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
  .voci a { min-width: 0; padding: 10px 0; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0.16em; color: #A3A8AF; text-decoration: none; border-bottom: 2px solid transparent; }
  .voci a:hover { color: #E8E4DC; }
  .voci a[aria-current] { color: #E8E4DC; text-decoration: none; border-bottom-color: #C8562D; }
  body[data-page="home"] .testa { position: absolute; top: 0; left: 0; right: 0; background: transparent; border-bottom: 0; }

  /* footer scuro su 4 colonne */
  .piede { max-width: none; margin: 0; padding: 56px 56px 40px; background: #17181A; border-top: 2px solid #C8562D; }
  .piede-in { max-width: 1328px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; padding: 0; border: 0; }
  .pd-marchio-col { display: flex; flex-direction: column; gap: 16px; }
  .pd-marchio { display: flex; align-items: center; gap: 12px; text-decoration: none; }
  .pd-marchio img { width: 30px; height: 30px; }
  .pd-marchio .pm-nome { font-size: 26px; }
  .pd-frase { margin: 0; max-width: 26em; font-size: 15px; line-height: 1.6; color: #A3A8AF; }
  .piede h2 { margin: 0 0 12px; font-family: var(--mono); font-size: 11px; font-weight: 400; letter-spacing: 0.16em; color: #A3A8AF; }
  .piede ul { display: flex; flex-direction: column; gap: 12px; }
  .piede li a { display: inline; min-height: 0; font-size: 15px; color: #E8E4DC; text-decoration: none; }
  .piede li a:hover { color: #A3A8AF; }
  .piede .piede-fondo { display: flex; justify-content: space-between; align-items: center; gap: 16px; max-width: 1328px; margin: 40px auto 0; padding: 20px 0 0; border-top: 1px solid #303337; font-size: 10px; font-weight: 400; letter-spacing: 0.16em; color: #A3A8AF; }

  /* sezioni */
  .eti, .blocco-testa h2, .seg-col-t { font-size: 11px; }
  .m-sez { max-width: 1328px; margin: 0 auto; padding: 96px 56px; box-sizing: border-box; }
  .m-h2, .sez-t { margin: 12px 0 32px; font-family: var(--titoli); font-weight: 900; font-size: 48px; line-height: 0.9; text-transform: uppercase; }
  .blocco-testa h2:has(+ .sez-t) { margin-bottom: 0; }
  .m-testo { font-size: 17px; line-height: 1.6; }
  .m-link { margin-top: 20px; padding: 0; }
  .btn { min-height: 56px; padding: 0 32px; font-size: 12px; }

  /* home */
  .prima { display: block; position: relative; height: auto; min-height: 760px; padding-bottom: 36px; overflow: hidden; }
  .prima::before { display: none; }
  .disco { position: absolute; z-index: 0; top: 0; right: -60px; width: 820px; height: 760px; margin: 0; overflow: hidden; transform: none; mix-blend-mode: normal; -webkit-mask-image: none; mask-image: none; }
  .disco picture { display: block; width: 820px; height: 820px; margin-top: -30px; }
  .disco img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: lighten; }
  .disco::before, .disco::after { content: ""; position: absolute; z-index: 1; pointer-events: none; }
  .disco::before { inset: 0; background: linear-gradient(90deg, #1E2023, rgba(30, 32, 35, 0) 45%); }
  .disco::after { left: 0; right: 0; bottom: 0; height: 200px; background: linear-gradient(rgba(30, 32, 35, 0), #1E2023); }
  .scena { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: flex-start; gap: 24px; max-width: 1328px; height: auto; margin: 0 auto; padding: 220px 56px 0; box-sizing: border-box; }
  .scena > * { max-width: 640px; }
  .scena .eti::before { margin-bottom: 24px; }
  .scena h1 { margin: 0; font-weight: 900; font-size: clamp(76px, 7.8vw, 112px); line-height: 0.86; }
  .scena h1 span { display: inline; white-space: normal; }
  .sotto { margin: 0; font-size: 20px; line-height: 1.6; color: #A3A8AF; }
  .azioni { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 28px; margin: 12px 0 0; }
  .azioni .btn { flex: none; width: auto; }
  .azioni .btn-pieno { height: 56px; color: #1E2023; background: #E8E4DC; border-color: #E8E4DC; }
  .azioni .btn-metodo { min-height: 44px; padding: 0; color: #E8E4DC; background: transparent; border: 0; }
  .fascia { position: absolute; z-index: 1; left: 56px; right: 56px; bottom: 24px; margin: 0; }
  .sez-rating .m-h2 { margin-bottom: 44px; font-size: 56px; }
  .m-livelli { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
  .m-livelli li { display: block; padding-top: 20px; border-top: 1px solid #303337; }
  .m-liv-i { gap: 6px; height: 30px; align-items: center; }
  .m-liv-i img { width: 30px; height: 30px; }
  .m-livelli b { margin: 18px 0 6px; font-size: 19px; }
  .m-livelli b + span { font-size: 15px; line-height: 1.6; }
  #latest-section { max-width: 1328px; margin: 0 auto; padding: 0 56px 96px; box-sizing: border-box; }
  .recensioni-testa h2 { margin: 12px 0 28px; font-family: var(--titoli); font-weight: 900; font-size: 44px; line-height: 0.9; }
  .home-due { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px; max-width: 1328px; margin: 0 auto; padding: 0 56px 96px; box-sizing: border-box; }
  .home-due .recensioni { display: flex; flex-direction: column; max-width: none; margin: 0; padding: 0; }
  .home-due .recensioni-testa { display: contents; }
  .home-due .recensioni-testa a { order: 5; align-self: flex-start; display: inline-block; min-height: 0; margin-top: 20px; padding: 0; font-size: 11px; font-weight: 500; color: #E8E4DC; }
  .home-due .radar-box { width: auto; margin: 0; padding: 0; border: 0; }
  .m-ultima { gap: 16px; padding: 22px 0; }
  .m-ultima .riga-m-s { padding-top: 5px; }
  .m-ultima-n { font-size: 22px; }
  .m-ultima-w { font-size: 15px; }
  .m-radar { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 24px; align-items: end; margin-top: 12px; }
  .m-radar .m-numero { margin: 0; font-size: 140px; line-height: 0.8; }
  .m-radar .m-testo { padding-bottom: 8px; }
  .m-radar .m-btn-bordo { grid-column: 1 / -1; justify-self: start; display: inline-flex; height: 56px; margin-top: 32px; padding: 0 32px; font-size: 12px; }
  .sez-awards { max-width: none; padding: 0; background: #222428; border-top: 2px solid #C8562D; }
  .sez-awards-in { display: flex; justify-content: space-between; align-items: center; gap: 48px; max-width: 1328px; margin: 0 auto; padding: 72px 56px; box-sizing: border-box; }
  .sez-awards .eti::before { display: none; }
  .sez-awards .m-h2 { margin: 12px 0 8px; font-size: 56px; }
  .m-conto { display: flex; gap: 48px; color: #E8E4DC; text-decoration: none; }
  .m-conto-c { display: flex; flex-direction: column; align-items: center; }
  .m-conto-c b { font-family: var(--titoli); font-weight: 900; font-size: 72px; line-height: 1; font-variant-numeric: tabular-nums; }
  .m-conto-k { margin-top: 6px; font-family: var(--mono); font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: #A3A8AF; }

  /* The Guide: titolo, ricerca, pillole, legenda ed elenco per città; sopra i 1000 px a sinistra (600 px) con la mappa a destra */
  .g-intro { padding: 48px 56px 0; }
  .g-h1 { margin: 12px 0 10px; font-family: var(--titoli); font-weight: 900; font-size: 64px; line-height: 0.9; text-transform: uppercase; }
  .g-frase { margin: 0; font-size: 17px; line-height: 1.6; color: #A3A8AF; }
  .filtri { padding: 0; }
  .filtri-riga { flex-wrap: nowrap; margin: 32px 56px 0; padding: 0 0 12px; }
  .cerca { flex: 1 1 auto; min-width: 0; }
  .g-pillole { flex-wrap: wrap; overflow: visible; padding: 0 56px; }
  .g-legenda { margin: 18px 56px 0; }
  .filtri-stato { padding: 6px 56px 0; }
  .elenco { padding: 0 56px 64px; }
  .riga-m { gap: 18px; }
  .riga-m-n { font-size: 18px; }
  .citta-m-t { font-size: 24px; }
  .guida .corpo { display: block; }
  .guida .mappa-box { display: none; }
  .guida[data-view="map"] .mappa-box { display: block; }

  /* pagine a blocchi */
  .scheda { max-width: 1328px; margin: 0 auto; padding: 0 56px 88px; box-sizing: border-box; }
  .apertura { max-width: 760px; padding: 72px 0 0; }
  .apertura h1 { margin: 12px 0 14px; font-size: clamp(64px, 6.2vw, 88px); line-height: 0.88; }
  .ap-frase { margin: 0; font-size: 20px; line-height: 1.6; }
  .blocco { display: block; padding: 88px 0 0; border-top: 0; }
  .apertura + .blocco { margin-top: 0; }
  .grande { max-width: 760px; margin: 0 0 24px; font-size: 18px; line-height: 1.6; color: #E8E4DC; }
  .testo-m, .testo-r { max-width: 760px; margin: 20px 0 0; font-size: 16px; line-height: 1.6; color: #A3A8AF; }
  .legale .blocco-corpo > .testo-m:first-child { margin-top: 0; }
  .legale .elenco-m li { font-size: 16px; }

  /* colonne con il numero sopra: principi, passi, regole, categorie, requisiti, esempi, visite */
  .principi, .passi, .regole, .categorie, .colonne-d, .visite { display: grid; gap: 40px; margin: 0; padding: 0; list-style: none; }
  .principi, #authenticity .regole { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .passi, .regole, .colonne-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .categorie { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
  .categorie-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .colonne-2, .visite { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .principi li, .passi li, .regole li, .cat-carta, .colonne-d li, .visita { display: block; padding: 20px 0 0; background: none; border: 0; border-top: 1px solid #303337; }
  .principi li::before, .passi .mono, .regole .mono, .cat-n, .colonne-d .mono { display: block; }
  .principi h3, .cat-carta h3, .colonne-d h3, .passi p, .regole p b { margin: 14px 0 8px; font-size: 19px !important; }
  .principi p, .cat-carta p, .colonne-d p, .passo-d, .regole p { font-size: 15px; line-height: 1.6; }
  .passo-d { display: block; }
  .colonne-d .mono + p { margin-top: 14px; }
  .cat-tipi { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 12px 0 0; padding: 0; list-style: none; }
  .visita-t { font-size: 10px; font-weight: 400; }
  .visita-d { margin: 14px 0 8px !important; font-family: var(--testo) !important; font-weight: 500 !important; font-size: 19px !important; line-height: 1.35 !important; text-transform: none !important; }
  .visita-n { margin: 0 !important; font-size: 15px !important; line-height: 1.6 !important; color: #A3A8AF; }

  /* Method (mockup "Desk-Method"): principi, aree e livelli affiancati, requisiti, ispezione, 30 domande, esempi, esclusione */
  main.scheda[data-metodo] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 96px; align-items: start; }
  main.scheda[data-metodo] > * { grid-column: 1 / -1; min-width: 0; }
  main.scheda[data-metodo] > .apertura { order: 1; }
  #principles { order: 2; } #phase { order: 2; }
  #areas { order: 3; grid-column: 1 !important; grid-row: 4; }
  #levels { order: 3; grid-column: 2 !important; grid-row: 4; }
  #requirements-d { order: 4; } #inspection { order: 5; } #questions-d { order: 6; } #examples-d { order: 7; } #exclusion { order: 8; } #report { order: 9; }
  #areas .grande, #levels .grande, #levels .regola { display: none; }
  #areas .area-m { display: block; padding: 14px 0; border-top: 1px solid #303337; }
  #areas .area-m-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  #areas .area-m ul { display: none; }
  .livelli-t { width: 100%; }
  .livelli-t thead th { padding: 14px 8px 14px 0; font-size: 10px; }
  .livelli-t th[scope="row"], .livelli-t td { padding: 14px 8px 14px 0; }
  .livelli-t .lv-n, .livelli-t td b, .area-m-testa h3 { font-size: 16px; }
  .aree-d { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 48px; }
  .aree-d .area-m { display: block; padding-top: 20px; border-top: 1px solid #303337; }
  .aree-d .area-m-testa { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
  .aree-d .area-m-testa h3 { font-weight: 500; font-size: 19px; }
  .aree-d ul { margin-top: 10px; }
  .aree-d ul li { padding: 6px 0; font-size: 14px; line-height: 1.45; color: #A3A8AF; }
  .esclusione { max-width: 760px; padding: 20px 0 0; }
  .esclusione .esclusione-t { font-size: 19px; }
  .esclusione p { font-size: 16px; }

  /* Awards (mockup "Desk-Awards"): titolo a sinistra, conto alla rovescia a destra, categorie su tre colonne */
  .ap-premi { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); column-gap: 80px; align-items: end; max-width: 1328px; margin: 0 auto; padding: 72px 56px 0; box-sizing: border-box; }
  .ap-premi > :not(.attesa) { grid-column: 1; }
  .ap-premi h1 { margin: 12px 0 14px; font-weight: 900; font-size: clamp(64px, 6.2vw, 88px); line-height: 0.88; }
  .ap-premi .ap-frase { max-width: none; margin: 0; font-size: 20px; line-height: 1.6; }
  .attesa { grid-column: 2; grid-row: 1 / span 3; margin: 0; }
  .conto-c, .conto-c + .conto-c, .conto-c:nth-child(n+3) { gap: 8px; padding: 22px 0; }
  .conto-c b { font-size: 64px; }
  .conto-c > span { font-size: 10px; }
  .anteprima > .scheda:not(.ap-premi) { padding-top: 0; }
  .cat-grande, .cat-gruppo { grid-column: auto; }
  .cat-grande h3 { font-size: 19px; }
  .regola-grande { max-width: 760px; font-size: 19px; }
  .regole-p { max-width: 760px; }
  .regole-p li { padding: 14px 0; font-size: 16px; }

  /* Community Reports (mockup "Desk-Reports"): modulo su due colonne */
  body[data-page="reports"] #report.blocco { display: grid; grid-template-columns: 400px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 96px; align-items: start; }
  body[data-page="reports"] #report .blocco-corpo, body[data-page="reports"] #report .modulo { display: contents; }
  body[data-page="reports"] #report .blocco-testa { grid-column: 1; grid-row: 1; }
  .modulo-intro { grid-column: 1; grid-row: 2; }
  .modulo-campi { grid-column: 2; grid-row: 1 / span 2; display: flex; flex-direction: column; gap: 36px; }
  .modulo-t { margin: 12px 0 32px; font-family: var(--titoli); font-weight: 900; font-size: 48px; line-height: 0.9; text-transform: uppercase; }
  .blocco-testa h2 + .modulo-t { margin-top: 0; }
  .modulo-sotto { margin: 0; font-size: 17px; line-height: 1.6; color: #A3A8AF; }
  .modulo .modulo-nota { margin: 16px 0 0; font-size: 10px; }
  .gruppo-m { margin: 0; padding: 28px 0 0; border: 0; box-shadow: inset 0 1px 0 #303337; }
  .gruppo-m > legend { float: left; width: 100%; margin: 0 0 22px; padding: 0; font-size: 10px; }
  .gruppo-m > .campi { clear: both; }
  .campi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 28px; margin: 0; }
  .campo-m { gap: 6px; }
  .modulo-invia { align-self: flex-start; margin: 0; }

  /* pagina palestra (mockup "Desk-Gym"): in alto nome e mappa, sotto colonna principale e colonna dei fatti */
  body[data-page="gym"] main.scheda { padding-bottom: 88px; }
  .gt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 64px; align-items: end; padding-top: 56px; }
  .gt .apertura { max-width: none; padding: 0; }
  .ap-riga { display: block; }
  .ap-stato-m { margin-top: 40px; font-size: 11px; gap: 10px; }
  .ap-nome h1 { margin: 16px 0 12px; font-weight: 900; font-size: clamp(64px, 6.6vw, 96px); line-height: 0.86; }
  .ap-ind-m { font-size: 18px; line-height: 1.6; }
  .ap-voto { margin-top: 28px; }
  .ap-foto { margin-top: 40px; }
  #mini-mappa { height: 300px; }
  .gc { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 96px; padding-top: 88px; }
  .gm { display: flex; flex-direction: column; gap: 64px; min-width: 0; }
  .ga { min-width: 0; }
  .gc .blocco { padding: 0; }
  .ga .blocco + .blocco { margin-top: 18px; }
  .ga #public, .ga #verified { margin-top: 64px !important; }
  #community .seg-testo { font-size: 21px; line-height: 1.6; color: #E8E4DC; }
  .seg-racconto { padding-left: 20px; }
  .seg-racconto .seg-testo { font-size: 18px; line-height: 1.6; }
  .racc-d { margin-top: 16px; }
  .seg-due, #glance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; padding: 0; }
  .seg-col::before { content: ""; display: block; width: 32px; height: 2px; margin-bottom: 18px; background: #C8562D; }
  .seg-col-t { margin-bottom: 14px; }
  .seg-lista li { font-size: 16px; line-height: 1.6; }
  .fonti-v { margin-top: 18px; }
  .verdetto p { font-family: var(--testo); font-size: 24px; line-height: 1.5; text-transform: none; }
  #nearby { padding-top: 88px; }

  /* scheda degli amici */
  .fr-testa { height: 84px; padding: 0 56px; border-bottom: 1px solid #303337; }
  .fr-testa .marchio { font-size: 30px; }
  .fr-testa .marchio .m-the { font-size: 10px; }
}

/* guida divisa: elenco a sinistra (600 px) e mappa MapLibre a destra, ferma mentre si scorre */
@media (min-width: 1001px) {
  .guida { display: grid; grid-template-columns: 600px minmax(0, 1fr); align-items: start; }
  .guida > .g-intro, .guida > .filtri, .guida .elenco { grid-column: 1; border-right: 1px solid #303337; }
  .guida > .g-intro { grid-row: 1; padding: 48px 48px 0 56px; }
  .guida > .filtri { grid-row: 2; }
  .guida .filtri-riga { margin: 32px 48px 0 56px; }
  .guida .g-pillole { padding: 0 48px 0 56px; }
  .guida .g-legenda { margin: 18px 48px 0 56px; }
  .guida .filtri-stato { padding: 6px 48px 0 56px; }
  .guida .corpo { display: contents; }
  .guida .elenco { grid-row: 3; padding: 0 48px 48px 56px; min-height: calc(100vh - 84px); }
  .guida .mappa-box, .guida[data-view] .mappa-box { display: block; grid-column: 2; grid-row: 1 / span 3; position: sticky; top: 0; height: 100vh; border: 0; }
  .guida[data-view] .elenco { display: block; }
  .guida .mappa { height: 100%; }
  .flottante { display: none !important; }
}

/* computer stretto: colonne che non ci stanno vanno una sotto l'altra */
@media (min-width: 701px) and (max-width: 1000px) {
  .piede-in { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m-livelli, .principi, #authenticity .regole { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-due, .gt, .gc, body[data-page="reports"] #report.blocco, .ap-premi { grid-template-columns: minmax(0, 1fr); }
  .gt { align-items: start; }
  .gc { gap: 64px; }
  .attesa { grid-column: 1; grid-row: auto; margin-top: 44px; }
  .modulo-intro, .modulo-campi { grid-column: 1; grid-row: auto; }
  .modulo-campi { margin-top: 36px; }
  main.scheda[data-metodo] { grid-template-columns: minmax(0, 1fr); }
  #areas, #levels { grid-column: 1 !important; grid-row: auto; }
  .aree-d, .categorie, .passi, .regole, .colonne-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sez-awards-in { flex-direction: column; align-items: flex-start; }
  .disco { right: -240px; opacity: 0.55; }
}

/* computer stretto col menu a tutto schermo: il selettore EN / IT va a destra, accanto al pulsante */
@media (min-width: 701px) and (max-width: 820px) {
  .js-menu .testa .lingue { margin-left: auto; }
}
/* segnalazioni della community dal pubblico (gym.js): una scheda per riquadro, testo integrale */
.pr-lista { list-style: none; margin: 16px 0 0; padding: 0; }
.pr-scheda { padding: 18px 0; border-top: 1px solid #303337; }
.pr-chi { margin: 0 0 8px; font-size: 10px; color: #A3A8AF; }
.pr-testo { margin: 0; white-space: pre-wrap; font-size: 16px; line-height: 1.6; color: #E8E4DC; overflow-wrap: anywhere; }
.pr-fatti { margin-top: 12px; }
.pr-replica { margin-top: 14px; padding: 12px 14px; border-left: 2px solid #C8562D; background: #222428; }
.pr-replica .mono { margin: 0 0 6px; font-size: 10px; color: #A3A8AF; }
.pr-replica p:last-child { margin: 0; white-space: pre-wrap; }
.pr-btn { margin-top: 10px; min-height: 44px; padding: 0 12px; font-size: 10px; color: #A3A8AF; background: none; border: 1px solid #303337; cursor: pointer; }
.pr-segnala { display: grid; gap: 6px; margin-top: 10px; max-width: 480px; }
.pr-segnala textarea { min-height: 96px; }
.pr-msg { margin: 8px 0 0; font-size: 14px; color: #E8E4DC; }
.pr-msg:empty { display: none; }
#public-reports { order: 13; }
.rp-scheda { margin: 20px 0; padding: 12px 14px; border-left: 2px solid var(--acciaio); background: var(--ghisa-2); }
.pr-segnala .gd-l { margin: 8px 0 0; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #A3A8AF; }
.pr-segnala .fr-campo { width: 100%; min-height: 48px; padding: 10px 12px; font: inherit; font-size: 16px; color: #E8E4DC; background: #17181A; border: 1px solid #303337; box-sizing: border-box; }
.pr-segnala .btn { justify-self: start; margin-top: 8px; }
.pr-segnala[hidden] { display: none; }
.pr-who { margin: 0 0 6px; font-size: 14px; color: #A3A8AF; }
.pr-rec { margin: 0 0 10px; font-size: 16px; font-weight: 600; color: #E8E4DC; }
.pr-riga { margin-top: 10px; }
.pr-riga .mono { margin: 0 0 3px; font-size: 10px; color: #A3A8AF; }
.pr-altre { margin-top: 12px; border: 1px solid #303337; }
.pr-altre > summary { min-height: 44px; display: flex; align-items: center; padding: 0 12px; font-size: 10px; color: #E8E4DC; cursor: pointer; }
.pr-altre > ul { margin: 0 12px; }
