/* ==========================================================================
   Il Maggiolino - campingmaggiolino.it
   Feuille unique. Prefixe de classes : pzl- (metaphore de la PIAZZOLA,
   l'emplacement de campeggio : accoglienza, sbarra, radura, piazzola, tenda,
   tabellone, sentiero, uscita).
   Aucune police distante, aucun CDN, aucune image distante.
   ========================================================================== */

:root {
  /* --- 1. couleurs --- */
  --sosta:            #F6F8F1;   /* fond de page, herbe seche au soleil */
  --telo:             #FFFEFA;   /* panneaux poses dessus, toile de tente */
  --ombra:            #E7EEDD;   /* bandes creusees, ombre du pino */
  --inchiostro:       #1F2B1E;   /* encre */
  --inchiostro-tenue: #5A6B55;   /* encre secondaire */
  --nervatura:        #D3DEC4;   /* filets */
  --brace:            #CE4F14;   /* accent, la braise du falo */
  --brace-scura:      #A63C0C;
  --elitra:           #B08214;   /* contrepoint, bronze de l'elitra */
  --pino:             #16301B;   /* fond sombre, pied de page et velo */
  --su-accento:       #FFFEFA;
  --fuoco:            #B08214;   /* couleur du focus clavier */

  /* teintes de rubrique */
  --via-1: #2F6B3A;
  --via-2: #1F5F7C;
  --via-3: #A34A12;
  --via-4: #6A5A12;
  --via-5: #8A3350;
  --via-6: #40563F;
  --via: var(--via-1);

  /* --- 2. typographie --- */
  --titolo-font: Bahnschrift, "DIN Alternate", "DIN Condensed", "PT Sans Narrow",
                 "Liberation Sans Narrow", "Arial Narrow", Tahoma, sans-serif;
  --testo-font:  "Lucida Bright", "Lucida Fax", Charter, "Bitstream Charter",
                 "Sitka Text", Georgia, serif;
  --regia-font:  "Trebuchet MS", "Fira Sans", "Noto Sans", Verdana, sans-serif;

  /* --- 3. rythme --- */
  --mappa: 74rem;
  --lettura: 40rem;
  --respiro: clamp(2.2rem, 4.5vw, 3.6rem);
  --canale: clamp(1rem, 2vw, 1.6rem);
  --corpo: clamp(1.02rem, 0.98rem + 0.2vw, 1.12rem);
  --interlinea: 1.72;
  --curva: 14px;
  --curva-piccola: 9px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--sosta);
  color: var(--inchiostro);
  font-family: var(--testo-font);
  font-size: var(--corpo);
  line-height: var(--interlinea);
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--brace-scura); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--inchiostro); }

:focus-visible {
  outline: 3px solid var(--fuoco);
  outline-offset: 2px;
  border-radius: 3px;
}

h1, h2, h3, h4 {
  font-family: var(--titolo-font);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0.005em;
  margin: 0 0 0.5em;
}

.pzl-mappa {
  width: 100%;
  max-width: var(--mappa);
  margin-inline: auto;
  padding-inline: clamp(1rem, 3.5vw, 2.2rem);
}
.pzl-mappa--lettura { max-width: calc(var(--lettura) + 4rem); }

.pzl-scorciatoia {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--pino);
  color: var(--telo);
  padding: 0.7rem 1.1rem;
  font-family: var(--regia-font);
  z-index: 50;
  border-radius: 0 0 var(--curva-piccola) 0;
}
.pzl-scorciatoia:focus { left: 0; }

.pzl-fuori-schermo {
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ---------- accoglienza : la reception ---------- */

.pzl-accoglienza {
  background: var(--pino);
  color: var(--telo);
  border-bottom: 4px solid var(--elitra);
}
.pzl-accoglienza__barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.8rem var(--canale);
  padding-block: 0.7rem;
}
.pzl-insegna { display: flex; align-items: center; gap: 0.65rem; text-decoration: none; color: inherit; }
.pzl-insegna__segno {
  width: 34px; height: 34px;
  border-radius: 9px;
  flex: none;
}
.pzl-insegna__nome {
  font-family: var(--titolo-font);
  font-size: 1.42rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
}
.pzl-insegna__motto {
  display: block;
  font-family: var(--regia-font);
  font-size: 0.62rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #C6D3B8;
  margin-top: 0.22rem;
}
.pzl-sbarra { margin-left: auto; }
.pzl-sbarra ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.15rem 0.25rem;
  list-style: none;
  margin: 0; padding: 0;
}
.pzl-sbarra__voce {
  display: inline-block;
  font-family: var(--regia-font);
  font-size: 0.76rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #DCE7CE;
  text-decoration: none;
  padding: 0.45rem 0.6rem;
  border-radius: var(--curva-piccola);
}
.pzl-sbarra__voce:hover,
.pzl-sbarra__voce[aria-current="page"] {
  background: rgba(255, 254, 250, 0.13);
  color: #FFFEFA;
}

/* ---------- radura : la bande d'ouverture ---------- */

.pzl-radura {
  position: relative;
  isolation: isolate;
  color: #FFFEFA;
  overflow: hidden;
}
.pzl-radura__foto {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: -2;
}
.pzl-radura__velo {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg, rgba(15, 34, 17, 0.90) 0%, rgba(22, 48, 27, 0.84) 55%, rgba(35, 61, 26, 0.72) 100%);
}
.pzl-radura__testo {
  padding-block: clamp(1.15rem, 2.4vw, 1.75rem);
  display: grid;
  gap: 0.62rem;
  max-width: 54rem;
}
.pzl-radura__occhiello {
  font-family: var(--regia-font);
  font-size: 0.7rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #E2CD8C;
  margin: 0;
}
.pzl-radura__titolo {
  font-size: clamp(1.95rem, 1.3rem + 2.1vw, 2.9rem);
  margin: 0;
  letter-spacing: 0.01em;
}
.pzl-radura__sommario {
  margin: 0;
  font-size: clamp(1rem, 0.96rem + 0.2vw, 1.1rem);
  color: #E9F0DF;
  max-width: 44rem;
}
.pzl-radura__cifre {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.5rem;
  margin: 0.2rem 0 0;
  padding: 0;
  list-style: none;
}
.pzl-cifra { display: flex; align-items: baseline; gap: 0.45rem; }
.pzl-cifra__valore {
  font-family: var(--titolo-font);
  font-size: 1.5rem;
  color: #F0D89A;
  line-height: 1;
}
.pzl-cifra__voce {
  font-family: var(--regia-font);
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #CFDCC0;
}

/* ---------- settore : une section ---------- */

.pzl-settore { padding-block: var(--respiro); }
.pzl-settore--incassato { background: var(--ombra); }
.pzl-settore--stretto { padding-block: calc(var(--respiro) * 0.55); }

.pzl-settore__tetto {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 0.5rem 1.5rem;
  padding-bottom: 0.7rem;
  margin-bottom: clamp(0.9rem, 1.5vw, 1.25rem);
  border-bottom: 2px solid var(--nervatura);
}
.pzl-settore__titolo {
  margin: 0;
  font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.85rem);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.pzl-settore__nota {
  margin: 0;
  font-family: var(--regia-font);
  font-size: 0.82rem;
  color: var(--inchiostro-tenue);
  max-width: 34rem;
}

/* ---------- griglia di piazzole : les rubriques ---------- */

.pzl-griglia {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0.9rem;
}
.pzl-piazzola {
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-radius: var(--curva);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-top: 5px solid var(--via);
}
.pzl-piazzola__foto {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 0;
}
.pzl-piazzola__corpo { padding: 0.7rem 0.8rem 0.85rem; display: grid; gap: 0.32rem; }
.pzl-piazzola__numero {
  font-family: var(--regia-font);
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--via);
}
.pzl-piazzola__titolo { margin: 0; font-size: 1.16rem; }
.pzl-piazzola__titolo a { color: var(--inchiostro); text-decoration: none; }
.pzl-piazzola__titolo a:hover { color: var(--brace-scura); text-decoration: underline; }
.pzl-piazzola__estratto { margin: 0; font-size: 0.86rem; color: var(--inchiostro-tenue); }
.pzl-piazzola__vie {
  margin: 0.25rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.28rem;
  border-top: 1px dashed var(--nervatura);
  padding-top: 0.55rem;
  font-family: var(--regia-font);
  font-size: 0.8rem;
  line-height: 1.35;
}
.pzl-piazzola__vie a { text-decoration: none; }
.pzl-piazzola__vie a:hover { text-decoration: underline; }

/* ---------- vetrina : trois tende en avant ---------- */

.pzl-vetrina {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--canale);
}
.pzl-vetrina--capo { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pzl-tenda {
  display: flex;
  flex-direction: column;
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-radius: var(--curva);
  overflow: hidden;
}
.pzl-tenda--larga { grid-column: span 2; }
.pzl-tenda__foto {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}
.pzl-tenda--larga .pzl-tenda__foto { aspect-ratio: 2 / 1; }
.pzl-tenda__corpo { padding: 1rem 1.1rem 1.15rem; display: grid; gap: 0.45rem; }
.pzl-tenda__titolo { margin: 0; font-size: clamp(1.3rem, 1.12rem + 0.6vw, 1.6rem); }
.pzl-tenda__titolo a { color: var(--inchiostro); text-decoration: none; }
.pzl-tenda__titolo a:hover { color: var(--brace-scura); text-decoration: underline; }
.pzl-tenda__estratto { margin: 0; color: var(--inchiostro-tenue); font-size: 0.97rem; }
.pzl-tenda__riga {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.8rem;
}

.pzl-etichetta {
  display: inline-block;
  font-family: var(--regia-font);
  font-size: 0.66rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--su-accento);
  background: var(--via);
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  text-decoration: none;
}
.pzl-etichetta:hover { background: var(--inchiostro); color: var(--su-accento); }
.pzl-etichetta--v1 { --via: var(--via-1); }
.pzl-etichetta--v2 { --via: var(--via-2); }
.pzl-etichetta--v3 { --via: var(--via-3); }
.pzl-etichetta--v4 { --via: var(--via-4); }
.pzl-etichetta--v5 { --via: var(--via-5); }
.pzl-etichetta--v6 { --via: var(--via-6); }

.pzl-data {
  font-family: var(--regia-font);
  font-size: 0.74rem;
  letter-spacing: 0.09em;
  color: var(--inchiostro-tenue);
  white-space: nowrap;
}

/* ---------- tabellone : le flux date ---------- */

.pzl-tabellone {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
  gap: 0.9rem var(--canale);
}
.pzl-riga {
  display: grid;
  grid-template-columns: 7.2rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-radius: var(--curva);
  padding: 0.6rem;
}
.pzl-riga__foto {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--curva-piccola);
}
.pzl-riga__corpo { display: grid; gap: 0.3rem; }
.pzl-riga__titolo { margin: 0; font-size: 1.06rem; line-height: 1.16; }
.pzl-riga__titolo a { color: var(--inchiostro); text-decoration: none; }
.pzl-riga__titolo a:hover { color: var(--brace-scura); text-decoration: underline; }
.pzl-riga__estratto {
  margin: 0;
  font-size: 0.88rem;
  color: var(--inchiostro-tenue);
}

/* ---------- attrezzi : les dossiers ---------- */

.pzl-attrezzi {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
  gap: var(--canale);
}
.pzl-cassetta {
  display: grid;
  grid-template-columns: 9.5rem minmax(0, 1fr);
  gap: 1rem;
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-left: 5px solid var(--elitra);
  border-radius: var(--curva);
  padding: 0.85rem;
  align-items: center;
}
.pzl-cassetta__foto {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: var(--curva-piccola);
}
.pzl-cassetta__titolo { margin: 0 0 0.3rem; font-size: 1.2rem; }
.pzl-cassetta__titolo a { color: var(--inchiostro); text-decoration: none; }
.pzl-cassetta__titolo a:hover { color: var(--brace-scura); text-decoration: underline; }
.pzl-cassetta__estratto { margin: 0; font-size: 0.92rem; color: var(--inchiostro-tenue); }

/* ---------- sguardi : bande de vignettes ---------- */

.pzl-sguardi {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0.8rem;
}
.pzl-scatto { margin: 0; }
.pzl-scatto__foto {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--curva);
}
.pzl-scatto__nota {
  font-family: var(--regia-font);
  font-size: 0.78rem;
  color: var(--inchiostro-tenue);
  margin-top: 0.4rem;
  line-height: 1.4;
}

/* ---------- sentiero : fil d'ariane ---------- */

.pzl-sentiero {
  font-family: var(--regia-font);
  font-size: 0.78rem;
  padding-block: 0.85rem 0;
  color: var(--inchiostro-tenue);
}
.pzl-sentiero ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.5rem;
  list-style: none;
  margin: 0; padding: 0;
}
.pzl-sentiero li + li::before { content: "\203A"; margin-right: 0.5rem; color: var(--nervatura); }

/* ---------- insegna di pagina ---------- */

.pzl-cartello {
  padding-block: clamp(1.2rem, 2.6vw, 2rem) clamp(1rem, 2vw, 1.5rem);
  border-bottom: 2px solid var(--nervatura);
  display: grid;
  gap: 0.6rem;
  border-left: 6px solid var(--via);
  padding-left: clamp(0.8rem, 1.6vw, 1.2rem);
  margin-block: 1rem clamp(1.4rem, 2.4vw, 2rem);
}
.pzl-cartello__occhiello {
  font-family: var(--regia-font);
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--via);
  margin: 0;
}
.pzl-cartello__titolo {
  margin: 0;
  font-size: clamp(1.75rem, 1.25rem + 1.9vw, 2.75rem);
}
.pzl-cartello__amo { margin: 0; font-size: 1.06rem; color: var(--inchiostro-tenue); max-width: 46rem; }
.pzl-cartello__firma {
  font-family: var(--regia-font);
  font-size: 0.78rem;
  color: var(--inchiostro-tenue);
  margin: 0;
}

/* ---------- percorso : le corps d'article ---------- */

.pzl-percorso { max-width: var(--lettura); }
.pzl-percorso p { margin: 0 0 1.1em; }
.pzl-percorso h2 {
  font-size: clamp(1.35rem, 1.1rem + 0.9vw, 1.7rem);
  margin-top: 2.1em;
  padding-top: 0.4em;
  border-top: 2px solid var(--nervatura);
}
.pzl-percorso h3 { font-size: 1.16rem; margin-top: 1.7em; }
.pzl-percorso ul, .pzl-percorso ol { margin: 0 0 1.2em; padding-left: 1.25rem; }
.pzl-percorso li { margin-bottom: 0.4em; }

.pzl-annuncio {
  font-size: 1.14rem;
  color: var(--inchiostro);
  border-left: 4px solid var(--brace);
  padding-left: 1rem;
  margin: 0 0 1.6em;
}

.pzl-indice {
  background: var(--ombra);
  border-radius: var(--curva);
  padding: 1rem 1.2rem;
  margin: 0 0 1.8em;
}
.pzl-indice__titolo {
  font-family: var(--regia-font);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--inchiostro-tenue);
  margin: 0 0 0.5rem;
}
.pzl-indice ol { margin: 0; padding-left: 1.1rem; font-family: var(--regia-font); font-size: 0.92rem; }

.pzl-citazione {
  margin: 1.8em 0;
  padding: 0.2rem 0 0.2rem 1.1rem;
  border-left: 5px solid var(--elitra);
  font-size: 1.16rem;
  color: var(--inchiostro);
}

.pzl-avviso {
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-top: 4px solid var(--via);
  border-radius: var(--curva);
  padding: 1rem 1.15rem;
  margin: 1.8em 0;
}
.pzl-avviso__titolo {
  font-family: var(--regia-font);
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--via);
  margin: 0 0 0.45rem;
}
.pzl-avviso p:last-child, .pzl-avviso ul:last-child { margin-bottom: 0; }

.pzl-capo-foto {
  width: 100%;
  aspect-ratio: 21 / 9;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--curva);
}

.pzl-figura { margin: 1.8em 0; }
.pzl-figura__foto {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: var(--curva);
}
.pzl-figura__didascalia {
  font-family: var(--regia-font);
  font-size: 0.82rem;
  color: var(--inchiostro-tenue);
  margin-top: 0.5rem;
  line-height: 1.45;
}

.pzl-tavola-scorre { overflow-x: auto; margin: 1.6em 0; }
.pzl-tavola-scorre table { border-collapse: collapse; min-width: 30rem; width: 100%; font-size: 0.94rem; }
.pzl-tavola-scorre th, .pzl-tavola-scorre td {
  border: 1px solid var(--nervatura);
  padding: 0.5rem 0.7rem;
  text-align: left;
  vertical-align: top;
}
.pzl-tavola-scorre th { background: var(--ombra); font-family: var(--regia-font); font-size: 0.85rem; }

/* ---------- legami : renvois croises ---------- */

.pzl-legami { margin-top: var(--respiro); }
.pzl-legami__lista {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: 0.9rem;
  list-style: none;
  margin: 0; padding: 0;
}
.pzl-legami__voce {
  background: var(--telo);
  border: 1px solid var(--nervatura);
  border-radius: var(--curva);
  padding: 0.75rem 0.9rem;
  display: grid;
  gap: 0.3rem;
}
.pzl-legami__che {
  font-family: var(--regia-font);
  font-size: 0.66rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--inchiostro-tenue);
}
.pzl-legami__titolo { margin: 0; font-size: 1.02rem; }
.pzl-legami__titolo a { color: var(--inchiostro); text-decoration: none; }
.pzl-legami__titolo a:hover { color: var(--brace-scura); text-decoration: underline; }

/* ---------- passo : liens d'action ---------- */

.pzl-passo {
  display: inline-block;
  font-family: var(--regia-font);
  font-size: 0.8rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--brace-scura);
  border: 2px solid var(--brace);
  border-radius: 999px;
  padding: 0.42rem 0.95rem;
}
.pzl-passo:hover { background: var(--brace); color: var(--su-accento); }
.pzl-passo--pieno { background: var(--brace); color: var(--su-accento); }
.pzl-passo--pieno:hover { background: var(--inchiostro); border-color: var(--inchiostro); }

.pzl-elenco-fitto {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 0.5rem 1.4rem;
  list-style: none;
  margin: 0; padding: 0;
  font-family: var(--regia-font);
  font-size: 0.92rem;
}
.pzl-elenco-fitto li { border-bottom: 1px dotted var(--nervatura); padding-bottom: 0.4rem; }

/* ---------- uscita : le pied ---------- */

.pzl-uscita {
  background: var(--pino);
  color: #DCE7CE;
  margin-top: var(--respiro);
  border-top: 4px solid var(--elitra);
}
.pzl-uscita a { color: #EFE2BC; }
.pzl-uscita__griglia {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
  gap: var(--canale);
  padding-block: var(--respiro) 1.5rem;
}
.pzl-uscita__titolo {
  font-family: var(--regia-font);
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #F0D89A;
  margin: 0 0 0.6rem;
}
.pzl-uscita ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.32rem; font-size: 0.92rem; }
.pzl-uscita p { font-size: 0.92rem; margin: 0 0 0.7rem; }
.pzl-uscita__basso {
  border-top: 1px solid rgba(255, 254, 250, 0.16);
  padding-block: 1rem 1.6rem;
  font-family: var(--regia-font);
  font-size: 0.78rem;
  color: #B9C9AB;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem 1.2rem;
  justify-content: space-between;
}

/* ---------- adaptations ---------- */

@media (max-width: 78rem) {
  .pzl-griglia { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 62rem) {
  .pzl-vetrina, .pzl-vetrina--capo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pzl-tenda--larga { grid-column: span 2; }
  .pzl-tenda--larga .pzl-tenda__foto { aspect-ratio: 21 / 9; }
}

@media (max-width: 46rem) {
  :root { --respiro: 2rem; }
  .pzl-griglia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pzl-vetrina, .pzl-vetrina--capo { grid-template-columns: minmax(0, 1fr); }
  .pzl-tenda--larga { grid-column: auto; }
  .pzl-tenda--larga .pzl-tenda__foto { aspect-ratio: 3 / 2; }
  .pzl-radura__testo { padding-block: 1rem; gap: 0.5rem; }
  .pzl-radura__cifre { gap: 0.35rem 1rem; }
  .pzl-settore__tetto { padding-bottom: 0.55rem; margin-bottom: 0.8rem; }
  .pzl-accoglienza__barra { flex-direction: column; align-items: flex-start; }
  .pzl-sbarra { margin-left: 0; width: 100%; }
  .pzl-sbarra ul { gap: 0.1rem; }
  .pzl-cassetta { grid-template-columns: minmax(0, 1fr); }
  .pzl-cassetta__foto { aspect-ratio: 16 / 9; }
}

@media (max-width: 30rem) {
  .pzl-riga { grid-template-columns: minmax(0, 1fr); }
  .pzl-riga__foto { aspect-ratio: 16 / 9; }
}

@media print {
  .pzl-accoglienza, .pzl-uscita, .pzl-sentiero { display: none; }
}
