/* =====================================================================
   Studio Masaracchio – stili del tema
   Colori dal logo: blu #2E47C2 (scurito per la leggibilità), verde #007A55.
   Tutte le misure sono in rem: i pulsanti A−/A/A+ scalano l'intero sito.
   ===================================================================== */

:root {
	--inchiostro: #14213d;
	--testo: #2b3550;
	--attenuato: #4a5470;
	--sfondo: #ffffff;
	--superficie: #f3f6fc;
	--primario: #2e47c2;
	--primario-scuro: #1c2f8f;
	--verde: #007a55;
	--linea: #d9dfec;
	--tinta: #e4eafa;
	--fuoco: #f2a900;

	--font-testo: 'Atkinson Hyperlegible', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--font-titoli: 'Lexend', 'Atkinson Hyperlegible', system-ui, sans-serif;

	--raggio: 20px;
	--raggio-grande: 28px;
	--larghezza: 77.5rem;
	--stretto: 47.5rem;
	--margine: 1.5rem;
	--spazio-sezione: clamp(3.5rem, 7vw, 5.5rem);
}

/* Dimensione del testo scelta dal visitatore */
html { font-size: 112.5%; }
html[data-testo="0"] { font-size: 100%; }
html[data-testo="2"] { font-size: 125%; }
html[data-testo="3"] { font-size: 137.5%; }

/* Alto contrasto */
html[data-contrasto="alto"] {
	--inchiostro: #000;
	--testo: #000;
	--attenuato: #1a1a1a;
	--superficie: #fff;
	--primario: #0a1a78;
	--primario-scuro: #0a1a78;
	--verde: #004d35;
	--linea: #000;
	--tinta: #fff;
}
html[data-contrasto="alto"] a:not(.pulsante) { text-decoration: underline; }
html[data-contrasto="alto"] .scheda-trattamento,
html[data-contrasto="alto"] .canale,
html[data-contrasto="alto"] .riquadro { border-width: 2px; }

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body {
	margin: 0;
	font-family: var(--font-testo);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--testo);
	background: var(--sfondo);
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--primario); text-underline-offset: 0.15em; }
a:hover { color: var(--primario-scuro); }
:focus-visible { outline: 3px solid var(--fuoco); outline-offset: 2px; }
main:focus { outline: none; }
h1, h2, h3, h4 { font-family: var(--font-titoli); color: var(--inchiostro); font-weight: 600; line-height: 1.2; margin: 0 0 0.6em; }
p { margin: 0 0 1em; }
address { font-style: normal; }
.icona { flex: none; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.salta {
	position: absolute; left: 1rem; top: -100px; z-index: 100;
	background: var(--primario); color: #fff; padding: 0.6em 1em; border-radius: 8px; font-weight: 700;
}
.salta:focus { top: 0.5rem; color: #fff; }

.contenitore { width: 100%; max-width: var(--larghezza); margin: 0 auto; padding: 0 var(--margine); }
.contenitore-stretto { max-width: calc(var(--stretto) + 2 * var(--margine)); }

/* ---------- Pulsanti e collegamenti ---------- */
.pulsante {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.5em;
	min-height: 2.75rem; padding: 0.75em 1.5em; border-radius: 999px;
	font-family: var(--font-testo); font-size: 1rem; font-weight: 700; line-height: 1.2;
	text-decoration: none; border: 2px solid transparent; cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}
.pulsante-primario { background: var(--primario); color: #fff; }
.pulsante-primario:hover { background: var(--primario-scuro); color: #fff; }
.pulsante-contorno { background: var(--sfondo); color: var(--inchiostro); border-color: var(--inchiostro); }
.pulsante-contorno:hover { background: var(--inchiostro); color: #fff; }
.pulsante-scuro { background: var(--inchiostro); color: #fff; }
.pulsante-scuro:hover { background: var(--primario-scuro); color: #fff; }
.pulsante-chiaro { background: #fff; color: var(--primario-scuro); }
.pulsante-chiaro:hover { background: var(--tinta); color: var(--primario-scuro); }
.pulsante-nota { font-weight: 400; font-size: 0.85em; opacity: .85; }
.gruppo-pulsanti { display: flex; flex-wrap: wrap; gap: 0.8rem 1.4rem; align-items: center; margin-top: 1.2rem; }
.link-freccia { display: inline-flex; align-items: center; gap: 0.4em; font-weight: 700; padding: 0.4em 0; text-decoration: none; }
.link-freccia:hover { text-decoration: underline; }
.link-freccia .icona { transition: transform .15s; }
.link-freccia:hover .icona { transform: translateX(3px); }

/* ---------- Barra servizi ---------- */
.barra-servizi { background: var(--inchiostro); color: #fff; font-size: 0.82rem; }
html[data-contrasto="alto"] .barra-servizi { background: #000; }
.barra-servizi-interno { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; align-items: center; justify-content: space-between; padding-top: 0.45rem; padding-bottom: 0.45rem; }
.barra-contatti { display: flex; flex-wrap: wrap; gap: 0.3rem 1.6rem; list-style: none; margin: 0; padding: 0; }
.barra-contatti a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 0.45em; padding: 0.35em 0; }
.barra-contatti a:hover { text-decoration: underline; color: #fff; }
.barra-a11y { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; }
.barra-a11y-etichetta { opacity: .85; margin-right: 0.2rem; }
.barra-a11y button {
	min-width: 2.75rem; min-height: 2.25rem; padding: 0 0.7em; border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, .5); background: transparent; color: #fff;
	font: inherit; font-weight: 700; cursor: pointer; display: inline-flex; align-items: center; gap: 0.4em;
}
.barra-a11y button:hover { background: rgba(255, 255, 255, .12); }
.barra-a11y button[aria-pressed="true"] { background: #fff; color: #000; }
@media (max-width: 40rem) { .solo-largo { display: none; } }

/* ---------- Testata ---------- */
.testata { background: var(--sfondo); border-bottom: 1px solid var(--linea); position: relative; z-index: 20; }
.testata-interno { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-top: 0.8rem; padding-bottom: 0.8rem; }
.testata-logo { display: block; line-height: 0; }
.testata-logo .logo { height: 4.2rem; width: auto; }
.navigazione { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 0.6rem; font-family: var(--font-titoli); font-size: 0.92rem; }
.navigazione .menu { display: flex; flex-wrap: wrap; gap: 0.2rem 0.3rem; list-style: none; margin: 0; padding: 0; }
.navigazione .menu a { display: block; color: var(--inchiostro); text-decoration: none; padding: 0.6em 0.75em; border-bottom: 2px solid transparent; font-weight: 500; }
.navigazione .menu a:hover { color: var(--primario); border-bottom-color: var(--linea); }
.navigazione .menu a[aria-current="page"],
.navigazione .menu .current-menu-item > a { color: var(--primario); border-bottom-color: var(--primario); }
.navigazione .sub-menu { list-style: none; margin: 0; padding: 0 0 0 1rem; }
.testata-cta { margin-left: 0.6rem; font-family: var(--font-titoli); font-weight: 500; }
.menu-pulsante { display: none; }

@media (min-width: 60.01rem) {
	.navigazione .menu > li { position: relative; }
	.navigazione .sub-menu {
		position: absolute; left: 0; top: 100%; min-width: 14rem; padding: 0.4rem 0;
		background: var(--sfondo); border: 1px solid var(--linea); border-radius: 12px;
		box-shadow: 0 10px 30px rgba(20, 33, 61, .1); display: none;
	}
	.navigazione .menu > li:hover > .sub-menu,
	.navigazione .menu > li:focus-within > .sub-menu { display: block; }
}

@media (max-width: 60rem) {
	.menu-pulsante {
		display: inline-flex; align-items: center; gap: 0.4em; min-height: 2.75rem; padding: 0 1em;
		border: 2px solid var(--inchiostro); border-radius: 999px; background: var(--sfondo);
		color: var(--inchiostro); font: inherit; font-weight: 700; cursor: pointer;
	}
	.menu-pulsante-chiudi { display: none; }
	.menu-pulsante[aria-expanded="true"] .menu-pulsante-apri { display: none; }
	.menu-pulsante[aria-expanded="true"] .menu-pulsante-chiudi { display: inline; }
	.js .navigazione { display: none; }
	.js .navigazione.is-aperta { display: flex; }
	.navigazione { flex-basis: 100%; flex-direction: column; align-items: stretch; padding: 0.5rem 0 1rem; font-size: 1.05rem; }
	.navigazione .menu { flex-direction: column; }
	.navigazione .menu a { border-bottom: 1px solid var(--linea); padding: 0.8em 0.2em; }
	.testata-cta { margin: 0.8rem 0 0; }
	.testata-logo .logo { height: 3.4rem; }
}

/* ---------- Sezioni ---------- */
.sezione { padding: var(--spazio-sezione) 0; background: var(--sfondo); }
.sezione-tinta { background: var(--superficie); }
.sezione-intensa { background: var(--tinta); }
.sezione-intensa .scheda-icona { background: var(--superficie); }
.sezione-intestazione { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 2.4rem; }
.sezione-intestazione.is-centrata { text-align: center; align-items: center; }
.sezione-intestazione-riga { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; justify-content: space-between; margin-bottom: 2.4rem; }
.sezione-intestazione-riga .sezione-intestazione { margin-bottom: 0; }
.occhiello {
	margin: 0; font-family: var(--font-titoli); font-size: 0.85rem; font-weight: 600;
	letter-spacing: 0.08em; text-transform: uppercase; color: var(--verde);
}
.occhiello a { color: inherit; text-decoration: none; }
.occhiello a:hover { text-decoration: underline; }
.sezione-titolo { font-size: clamp(1.6rem, 3vw, 2rem); margin: 0; }
.testo-grande { font-size: 1.2rem; max-width: 34em; }

.due-colonne { display: flex; flex-wrap: wrap; gap: 3.5rem; align-items: center; }
.due-colonne .colonna-testo { flex: 999 1 26rem; min-width: 0; }
.due-colonne .colonna-foto { flex: 1 1 19rem; min-width: 0; }
.due-colonne.senza-foto .colonna-testo { max-width: 46rem; }
.colonna-foto img { width: 100%; border-radius: 24px; border: 1px solid var(--linea); object-fit: cover; aspect-ratio: 4 / 3; }
.contenuto > :last-child { margin-bottom: 0; }

.griglia { display: grid; gap: 1.5rem; }
.griglia-schede { grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
.griglia-canali { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.griglia-articoli { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); }

/* ---------- Presentazione ---------- */
.presentazione { position: relative; padding-bottom: calc(var(--spazio-sezione) + 2rem); }
.presentazione-interno { display: flex; flex-wrap: wrap; gap: 3.5rem; align-items: center; }
.presentazione-foto { flex: 1 1 20rem; max-width: 30rem; min-width: 0; }
.presentazione-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raggio-grande); border: 1px solid var(--linea); }
.presentazione-testo { flex: 999 1 25rem; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.presentazione-testo .testo-grande { margin: 0; }
.presentazione-titolo { font-size: clamp(2.1rem, 5vw, 2.9rem); line-height: 1.12; margin: 0; }
.presentazione-info { list-style: none; margin: 0.8rem 0 0; padding: 1.2rem 0 0; border-top: 1px solid var(--linea); display: flex; flex-wrap: wrap; gap: 0.6rem 2rem; color: var(--attenuato); font-size: 0.92rem; }
.presentazione-info li { display: inline-flex; gap: 0.5em; align-items: center; }
.senza-foto .presentazione-testo { max-width: 46rem; }
.onda { position: absolute; left: 0; bottom: -1px; width: 100%; height: 3rem; display: block; fill: var(--sfondo); }

/* ---------- Schede trattamenti ---------- */
.scheda-trattamento {
	background: var(--sfondo); border: 1px solid var(--linea); border-radius: var(--raggio);
	padding: 2rem 1.6rem 1.8rem; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.8rem; position: relative;
}
.scheda-icona {
	width: 4.25rem; height: 4.25rem; border-radius: 16px; background: var(--tinta); color: var(--primario);
	display: inline-flex; align-items: center; justify-content: center; flex: none;
}
html[data-contrasto="alto"] .scheda-icona { border: 2px solid #000; }
.scheda-titolo { font-size: 1.2rem; margin: 0; }
.scheda-testo { margin: 0; flex-grow: 1; }
.scheda-trattamento .link-freccia { align-self: center; }
.scheda-icona .sm-icona-img { display: block; }
.trattamento-titolo-riga .scheda-icona { width: 3.5rem; height: 3.5rem; }

/* ---------- Canali di prenotazione ---------- */
.canale {
	background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--raggio);
	padding: 2rem; display: flex; flex-direction: column; gap: 0.8rem;
}
.canale-titolo { font-size: 1.25rem; margin: 0; }
.canale-testo { margin: 0; flex-grow: 1; }
.canale .pulsante { align-self: flex-start; }
.canale-evidenza { background: var(--primario); border-color: var(--primario); color: #fff; }
.canale-evidenza .canale-titolo { color: #fff; }

/* ---------- Articoli ---------- */
.scheda-articolo { background: var(--sfondo); border: 1px solid var(--linea); border-radius: var(--raggio); overflow: hidden; display: flex; flex-direction: column; position: relative; }
.scheda-articolo-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.scheda-articolo-corpo { padding: 1.4rem 1.6rem 1.6rem; display: flex; flex-direction: column; gap: 0.5rem; }
.scheda-articolo-titolo { font-size: 1.12rem; line-height: 1.35; margin: 0; }
.scheda-articolo-titolo a { color: inherit; text-decoration: none; }
.scheda-articolo-titolo a::after { content: ""; position: absolute; inset: 0; } /* tutta la scheda è cliccabile */
.scheda-articolo-titolo a:hover { color: var(--primario); }
.scheda-articolo:focus-within { outline: 3px solid var(--fuoco); outline-offset: 2px; }
.scheda-articolo-titolo a:focus-visible { outline: none; }
.scheda-articolo-estratto { margin: 0; color: var(--attenuato); font-size: 0.95rem; }
.meta { margin: 0; font-size: 0.85rem; color: var(--attenuato); }

/* ---------- Sottosezioni (blog + Instagram) ---------- */
.sottosezione + .sottosezione { margin-top: 3.5rem; }
.sottosezione .sezione-intestazione-riga { margin-bottom: 1.5rem; }
.sottosezione-titolo { font-size: 1.35rem; margin: 0; }
.sottosezione .sezione-intestazione-riga:has(> .link-freccia:only-child) { justify-content: flex-end; }

/* ---------- Reel di Instagram ---------- */
.griglia-reel { list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.reel { background: var(--sfondo); border: 1px solid var(--linea); border-radius: var(--raggio); overflow: hidden; display: flex; flex-direction: column; }
.reel-copertina { position: relative; aspect-ratio: 9 / 16; background: var(--tinta); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.2rem; }
.reel-copertina img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.reel-segnaposto { color: var(--primario); }
.reel-play {
	position: relative; z-index: 1; width: 4.25rem; height: 4.25rem; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(20, 33, 61, .78); color: #fff; display: inline-flex; align-items: center; justify-content: center;
	transition: transform .15s, background-color .15s;
}
.reel-play:hover { background: var(--primario); transform: scale(1.06); }
.reel-play svg { margin-left: 4px; }
.reel.is-caricato .reel-copertina { aspect-ratio: auto; background: #fff; }
.reel-copertina iframe { width: 100%; height: 34rem; border: 0; display: block; }
.reel-corpo { padding: 0.9rem 1.1rem 1rem; display: flex; flex-direction: column; gap: 0.3rem; }
.reel-titolo { margin: 0; font-weight: 700; color: var(--inchiostro); line-height: 1.35; }
.reel-link { font-size: 0.92rem; font-weight: 700; align-self: flex-start; padding: 0.3em 0; }
.reel-nota { font-size: 0.85rem; color: var(--attenuato); margin: 1rem 0 0; }

/* ---------- Contatti ---------- */
.contatti-indirizzo { display: flex; flex-direction: column; gap: 0.2rem; margin-bottom: 1.4rem; }
.contatti-indirizzo strong { color: var(--inchiostro); }
.contatti-indirizzo a { display: inline-flex; gap: 0.4em; align-items: center; align-self: flex-start; font-weight: 700; padding: 0.3em 0; }
.contatti-elenco { display: grid; grid-template-columns: auto 1fr; gap: 0.5rem 1.5rem; margin: 0 0 1.6rem; }
.contatti-elenco dt { color: var(--attenuato); }
.contatti-elenco dd { margin: 0; }
.riquadro { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 1.5rem 1.8rem; }
.riquadro-titolo { font-size: 1.1rem; margin: 0 0 0.8rem; }
.sm-orari { width: 100%; border-collapse: collapse; }
.sm-orari th, .sm-orari td { padding: 0.55rem 0; border-bottom: 1px solid var(--linea); vertical-align: top; }
.sm-orari tr:last-child th, .sm-orari tr:last-child td { border-bottom: 0; }
.sm-orari th { text-align: left; color: var(--inchiostro); font-weight: 700; padding-right: 1rem; }
.sm-orari td { text-align: right; }
.mappa { align-self: stretch; }
.mappa-consenso {
	min-height: 26rem; height: 100%; border-radius: 24px; background: var(--tinta); border: 1px solid var(--linea);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.8rem;
	text-align: center; padding: 2rem; color: var(--testo);
}
.mappa-consenso .icona { color: var(--primario); }
.mappa-consenso p { max-width: 24em; margin: 0; }
.mappa-consenso iframe { width: 100%; height: 100%; min-height: 26rem; border: 0; border-radius: 24px; }
.mappa-consenso.is-caricata { padding: 0; background: none; border: 0; }
@media (max-width: 40rem) { .contatti-elenco { grid-template-columns: 1fr; gap: 0 0; } .contatti-elenco dd { margin-bottom: 0.6rem; } }

/* ---------- Pagine interne ---------- */
.intestazione-pagina { background: var(--superficie); padding: 3.5rem 0 3rem; border-bottom: 1px solid var(--linea); }
.titolo-pagina { font-size: clamp(1.9rem, 4vw, 2.6rem); margin: 0.3rem 0 0.6rem; }
.intestazione-pagina .testo-grande { margin: 0; }
.trattamento-titolo-riga { display: flex; align-items: center; gap: 1rem; }
.trattamento-titolo-riga .titolo-pagina { margin: 0.3rem 0 0.6rem; }
.sezione-corpo { padding-top: 3rem; padding-bottom: 4rem; }
.immagine-principale { margin-top: 2.5rem; }
.immagine-principale img { border-radius: var(--raggio); width: 100%; }
.riquadro-prenota { margin-bottom: 4rem; text-align: center; }
.riquadro-prenota .gruppo-pulsanti { justify-content: center; }
.larghezza-piena { min-height: 40vh; }

/* Contenuti scritti nell'editor */
.contenuto { font-size: 1.05rem; }
.contenuto h2 { font-size: 1.6rem; margin-top: 2em; }
.contenuto h3 { font-size: 1.3rem; margin-top: 1.6em; }
.contenuto ul, .contenuto ol { padding-left: 1.3em; margin: 0 0 1em; }
.contenuto li { margin-bottom: 0.3em; }
.contenuto blockquote { margin: 1.5em 0; padding: 0.4em 0 0.4em 1.2em; border-left: 4px solid var(--primario); color: var(--inchiostro); font-size: 1.1em; }
.contenuto img { border-radius: 12px; }
.contenuto figure { margin: 1.5em 0; }
.contenuto figcaption { font-size: 0.85rem; color: var(--attenuato); margin-top: 0.4em; }
.contenuto table { border-collapse: collapse; width: 100%; }
.contenuto th, .contenuto td { border: 1px solid var(--linea); padding: 0.5em 0.7em; text-align: left; }
.alignwide { max-width: none; }
.aligncenter { margin-left: auto; margin-right: auto; }

.navigazione-articoli { padding-bottom: 4rem; }
.navigazione-articoli .nav-links { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; border-top: 1px solid var(--linea); padding-top: 1.5rem; }
.navigazione-articoli a { display: flex; flex-direction: column; text-decoration: none; font-weight: 700; max-width: 22rem; }
.navigazione-articoli .nav-next { margin-left: auto; text-align: right; }
.navigation.pagination { margin-top: 2.5rem; }
.navigation.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.page-numbers { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; padding: 0 0.8em; border: 1px solid var(--linea); border-radius: 999px; text-decoration: none; }
.page-numbers.current { background: var(--primario); color: #fff; border-color: var(--primario); }

/* Ricerca */
.search-form { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.2rem; max-width: 32rem; }
.search-form label { flex: 1 1 14rem; }
.search-field {
	width: 100%; font: inherit; color: var(--testo); background: var(--sfondo);
	padding: 0.7em 0.9em; border: 2px solid var(--attenuato); border-radius: 10px; min-height: 2.75rem;
}
.search-submit { font: inherit; font-weight: 700; padding: 0 1.4em; min-height: 2.75rem; border: 0; border-radius: 999px; background: var(--primario); color: #fff; cursor: pointer; }

/* Il modulo di ricontatto ha i suoi stili nel plugin (assets/modulo.css). */
.sm-griglia-trattamenti { display: grid; gap: 1.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); margin: 1.5em 0; }

/* ---------- Piè di pagina ---------- */
.piede { background: var(--superficie); border-top: 1px solid var(--linea); font-size: 0.92rem; }
.piede-interno { display: flex; flex-wrap: wrap; gap: 2rem 3rem; justify-content: space-between; align-items: flex-start; padding-top: 3rem; padding-bottom: 2rem; }
.piede-marchio { display: flex; flex-direction: column; gap: 1rem; }
.piede-logo .logo { height: 3.6rem; width: auto; }
.piede-indirizzo { margin: 0; color: var(--attenuato); }
.piede-nav { display: flex; flex-direction: column; gap: 0.3rem; }
.piede-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 1.5rem; }
.piede-bottone { font: inherit; color: var(--primario); background: none; border: 0; padding: 0.5em 0; text-decoration: underline; text-underline-offset: 0.15em; cursor: pointer; min-height: 2.75rem; }
.piede-bottone:hover { color: var(--primario-scuro); }
.piede-menu a { display: inline-flex; align-items: center; gap: 0.35em; padding: 0.5em 0; }
.piede-legale { border-top: 1px solid var(--linea); padding-top: 1.2rem; padding-bottom: 2rem; font-size: 0.82rem; color: var(--attenuato); }
.piede-legale p { margin: 0; }

/* Stampa: niente barre e menu */
@media print {
	.barra-servizi, .navigazione, .menu-pulsante, .onda, .mappa, .salta { display: none !important; }
	.sezione, .intestazione-pagina { padding: 1.5rem 0; background: none; }
	a { color: #000; }
}

/* Su telefono la foto di presentazione è meno alta */
@media (max-width: 40rem) {
	.presentazione-foto img { aspect-ratio: 1 / 1; }
	.presentazione-interno { gap: 2rem; }
}

/* Avviso visibile solo a chi amministra il sito */
.sezione-avviso-admin { padding: 2rem 0; }
.sezione-avviso-admin .riquadro { border: 2px dashed var(--primario); }
.sezione-avviso-admin p { margin: 0 0 0.5em; }
