/* ==========================================================================
   maestrosimoncini — stili del tema
   Colori e caratteri vengono da theme.json (variabili --wp--preset--…)
   ========================================================================== */

:root {
	--ms-rosso: var(--wp--preset--color--rosso, #D7141A);
	--ms-rosso-scuro: var(--wp--preset--color--rosso-scuro, #A50E13);
	--ms-inchiostro: var(--wp--preset--color--inchiostro, #111111);
	--ms-caldo: var(--wp--preset--color--bianco-caldo, #F7F7F4);
	--ms-pietra: var(--wp--preset--color--pietra, #E3E3DE);
	--ms-linea: var(--wp--preset--color--linea, #DADAD4);
	--ms-grigio: var(--wp--preset--color--grigio, #5A5A56);
	--ms-grafite: var(--wp--preset--color--grafite, #3B3B3B);
	--ms-titoli: var(--wp--preset--font-family--titoli, "Space Grotesk", system-ui, sans-serif);
	--ms-testo: var(--wp--preset--font-family--testo, "IBM Plex Sans", system-ui, sans-serif);
	--ms-margine: clamp(20px, 5.56vw, 80px);
	--ms-larghezza: 1280px;
}

html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.wp-site-blocks > .ms-main { flex: 1 0 auto; }
.wp-site-blocks > * + * { margin-block-start: 0; }

:where(a, button, input):focus-visible {
	outline: 2px solid var(--ms-rosso);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Contenitore comune per testata e piede */
.ms-testata,
.ms-piede {
	box-sizing: content-box;
	max-width: var(--ms-larghezza);
	margin-inline: auto;
	padding-inline: var(--ms-margine);
}

/* --------------------------------------------------------------------------
   Testata
   -------------------------------------------------------------------------- */
.ms-contenitore-testata { position: relative; z-index: 20; background: #fff; }

.ms-testata {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding-block: 32px;
}

.ms-logo {
	font-family: var(--ms-titoli);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--ms-inchiostro);
	text-decoration: none;
	white-space: nowrap;
}
.ms-logo:hover { color: var(--ms-inchiostro); }
.ms-punto { color: var(--ms-rosso); }

.ms-destra { display: flex; align-items: center; gap: 36px; }

.ms-nav ul { display: flex; gap: 36px; margin: 0; padding: 0; list-style: none; }
.ms-nav a {
	font-size: 15px;
	color: var(--ms-inchiostro);
	text-decoration: none;
	padding-bottom: 2px;
	border-bottom: 2px solid transparent;
}
.ms-nav a:hover { color: var(--ms-rosso); }
.ms-nav a[aria-current="page"] { font-weight: 500; border-bottom-color: var(--ms-rosso); }

.ms-pill {
	font-size: 13px;
	line-height: 1.3;
	color: var(--ms-inchiostro);
	text-decoration: none;
	padding: 6px 12px;
	border: 1px solid var(--ms-inchiostro);
	border-radius: 999px;
	white-space: nowrap;
}
.ms-pill:hover { background: var(--ms-inchiostro); color: #fff; }

.ms-burger {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ms-inchiostro);
	cursor: pointer;
	align-items: center;
	justify-content: center;
}
.ms-burger path { transition: transform .2s ease, opacity .2s ease; transform-origin: 12px 12px; }
.ms-burger[aria-expanded="true"] .ms-burger-a { transform: translateY(5px) rotate(45deg); }
.ms-burger[aria-expanded="true"] .ms-burger-b { opacity: 0; }
.ms-burger[aria-expanded="true"] .ms-burger-c { transform: translateY(-5px) rotate(-45deg); }

/* --------------------------------------------------------------------------
   Onda con bacchetta
   -------------------------------------------------------------------------- */
.ms-onda { line-height: 0; }
.ms-onda svg { display: block; width: 100%; height: auto; overflow: visible; }
.ms-onda .ms-onda-linea { stroke: var(--ms-rosso); }
.ms-onda-compatta { display: none !important; max-width: 350px; }

/* --------------------------------------------------------------------------
   Contenuto: spaziature generali
   -------------------------------------------------------------------------- */
.ms-main { padding-bottom: clamp(48px, 5.5vw, 80px); }

.ms-main .ms-testa-pagina { padding-top: 56px; }
.ms-main .ms-testa-pagina > * + * { margin-block-start: 16px; }
.ms-main .ms-testa-pagina + * { margin-block-start: 8px; }

.ms-titolo-pagina,
.ms-main h1.ms-titolo-pagina {
	margin: 0;
	font-family: var(--ms-titoli);
	font-weight: 500;
	font-size: clamp(48px, 6.2vw, 88px);
	line-height: 0.95;
	letter-spacing: -0.03em;
}

.ms-main p { margin-block: 0; }
:where(.ms-main .wp-block-post-content p) { color: #2B2B2A; }

.ms-lead-pagina,
.ms-main p.ms-lead-pagina {
	font-size: 18px;
	line-height: 1.55;
	max-width: 760px;
	color: var(--ms-grafite);
}
.ms-lead,
.ms-main p.ms-lead {
	font-size: 22px;
	line-height: 1.5;
	max-width: 640px;
	color: var(--ms-grafite);
}

.ms-main .ms-blocco { margin-block-start: clamp(40px, 4.5vw, 64px); }
.ms-main .ms-blocco > * + * { margin-block-start: 20px; }

.ms-riga-sezione { gap: 16px 24px; align-items: baseline !important; }
.ms-riga-sezione h2 { margin: 0; }
.ms-nota,
.ms-main p.ms-nota { font-size: 14px; color: var(--ms-grigio); }

.ms-link-freccia,
.ms-main .ms-link-freccia {
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	color: var(--ms-rosso);
}
.ms-link-freccia:hover { color: var(--ms-rosso-scuro); }

.ms-riquadro {
	background: var(--ms-caldo);
	border-radius: 16px;
	padding: 28px;
}
.ms-grigio { color: #4A4A47; }
.ms-vuoto { color: var(--ms-grigio); }

.ms-etichetta {
	display: block;
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ms-rosso);
	line-height: 1.4;
}

.ms-occhiello,
.ms-main p.ms-occhiello {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ms-rosso);
	line-height: 1.5;
}

/* Pulsanti "fatti a mano" (materiali) con lo stesso aspetto dei blocchi pulsante */
.ms-bottone {
	display: inline-block;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--ms-rosso);
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid var(--ms-rosso);
	white-space: nowrap;
}
.ms-bottone:hover { background: var(--ms-rosso-scuro); border-color: var(--ms-rosso-scuro); color: #fff; }
.ms-bottone-contorno { background: transparent; color: var(--ms-inchiostro); border-color: var(--ms-inchiostro); }
.ms-bottone-contorno:hover { background: var(--ms-inchiostro); border-color: var(--ms-inchiostro); color: #fff; }

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--ms-inchiostro);
	color: #fff;
	border-color: var(--ms-inchiostro);
}

/* --------------------------------------------------------------------------
   Pagina iniziale
   -------------------------------------------------------------------------- */
.ms-main .ms-hero { padding-top: 72px; }
.ms-main .ms-hero > * + * { margin-block-start: 32px; }

.ms-display,
.ms-main h1.ms-display {
	margin: 0;
	font-family: var(--ms-titoli);
	font-weight: 500;
	font-size: clamp(56px, 8.9vw, 128px);
	line-height: 0.92;
	letter-spacing: -0.03em;
}

.ms-riga-hero { gap: 24px 40px; }
.ms-riga-hero .wp-block-buttons { margin: 0; gap: 12px; }

.ms-main .ms-foto-concerto { margin-block-start: 56px; }
.ms-foto-concerto img {
	display: block;
	width: 100%;
	height: clamp(280px, 36vw, 520px);
	object-fit: cover;
	border-radius: 16px;
}

.ms-main .ms-blocco-sezioni { margin-block-start: clamp(40px, 5.5vw, 80px); }
.ms-sezioni { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.ms-sezione {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	min-height: 140px;
	padding: 28px;
	box-sizing: border-box;
	background: var(--ms-caldo);
	border-radius: 16px;
	color: var(--ms-inchiostro);
	text-decoration: none;
	transition: background-color .15s ease;
}
.ms-sezione:hover { background: var(--ms-pietra); color: var(--ms-inchiostro); }
.ms-sezione-num { font-family: var(--ms-titoli); font-size: 14px; font-weight: 700; color: var(--ms-rosso); }
.ms-sezione-riga { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.ms-sezione-titolo { font-family: var(--ms-titoli); font-size: 28px; font-weight: 500; line-height: 1.1; }
.ms-freccia { font-size: 22px; color: var(--ms-rosso); }

.ms-main .ms-blocco-novita { margin-block-start: clamp(40px, 5.5vw, 80px); }
.ms-blocco-novita > h2 { margin: 0; font-size: clamp(26px, 2.6vw, 36px); }
.ms-main .ms-blocco-novita > * + * { margin-block-start: 28px; }

.ms-novita {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ms-novita-voce {
	display: flex;
	gap: 20px;
	padding-top: 20px;
	border-top: 2px solid var(--ms-inchiostro);
	color: var(--ms-inchiostro);
	text-decoration: none;
}
.ms-novita-voce:hover .ms-novita-titolo { color: var(--ms-rosso); }
.ms-novita-copertina {
	flex-shrink: 0;
	width: 88px;
	height: 116px;
	background: var(--ms-pietra);
	overflow: hidden;
}
.ms-novita-copertina img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-novita-copertina img,
.ms-scheda-copertina img { outline: 1px solid rgba(17, 17, 17, 0.1); outline-offset: -1px; }
.ms-novita-testo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ms-novita-titolo { font-size: 17px; font-weight: 500; line-height: 1.35; transition: color .15s ease; }
.ms-novita-dettaglio { font-size: 14px; line-height: 1.45; color: var(--ms-grigio); }

/* --------------------------------------------------------------------------
   Profilo
   -------------------------------------------------------------------------- */
.ms-main .ms-colonne-profilo,
.ms-main .ms-colonne-libro { margin-block-start: 24px; gap: 40px; }
.ms-colonne-profilo > .wp-block-column:first-child > * + * { margin-block-start: 24px; }
.ms-colonne-profilo > .wp-block-column:last-child { padding-left: 24px; }
.ms-colonne-profilo > .wp-block-column:last-child > * + * { margin-block-start: 28px; }
.ms-ritratto img { display: block; width: 100%; height: auto; border-radius: 16px; }
.ms-riquadro-titolo,
.ms-main h2.ms-riquadro-titolo { margin: 0; font-size: 22px; }
.ms-riquadro > * + * { margin-block-start: 14px; }
.ms-contatti { font-size: 16px; line-height: 1.9; }
.ms-contatti a { text-decoration: none; }

.ms-intro,
.ms-main p.ms-intro {
	font-family: var(--ms-titoli);
	font-size: clamp(24px, 2.1vw, 30px);
	line-height: 1.3;
	font-weight: 400;
	color: var(--ms-inchiostro);
}
.ms-colonne-profilo p:not([class]) { font-size: 18px; line-height: 1.7; }
.ms-colonne-profilo .wp-block-buttons { padding-top: 8px; gap: 16px; }

/* --------------------------------------------------------------------------
   Didattica: materiali e articoli
   -------------------------------------------------------------------------- */
.ms-materiali { list-style: none; margin: 0; padding: 8px 28px; }
.ms-materiale {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 20px 0;
	border-bottom: 1px solid #ECECE7;
}
.ms-materiale:last-child { border-bottom: 0; }
.ms-materiale-anteprima {
	flex-shrink: 0;
	width: 96px;
	height: 54px;
	border-radius: 6px;
	background: var(--ms-pietra);
	overflow: hidden;
}
.ms-materiale-anteprima img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-materiale-testo { display: flex; flex-direction: column; gap: 4px; flex-grow: 1; min-width: 0; }
.ms-materiale-titolo { font-size: 18px; font-weight: 500; line-height: 1.35; }
.ms-materiale-dati { font-size: 14px; color: var(--ms-grigio); }
.ms-badge {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 500;
	padding: 4px 10px;
	border: 1px solid var(--ms-inchiostro);
	border-radius: 999px;
	white-space: nowrap;
}
.ms-materiale-azioni { display: flex; gap: 12px; flex-shrink: 0; }
.ms-materiali-vuoto p { color: var(--ms-grigio); }

.ms-griglia-articoli,
.ms-main ul.ms-griglia-articoli {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ms-articolo {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 20px;
	border-top: 2px solid var(--ms-inchiostro);
	color: var(--ms-inchiostro);
	text-decoration: none;
}
a.ms-articolo:hover .ms-articolo-titolo { color: var(--ms-rosso); }
.ms-articolo-data { font-size: 13px; font-weight: 500; color: var(--ms-rosso); }
.ms-articolo-titolo,
.ms-main .ms-articolo-titolo {
	margin: 0;
	font-family: var(--ms-titoli);
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	transition: color .15s ease;
}
.ms-articolo-titolo a { color: inherit; text-decoration: none; }
.ms-articolo-titolo a:hover { color: var(--ms-rosso); }
.ms-articolo-sommario,
.ms-articolo .wp-block-post-excerpt__excerpt { margin: 0; font-size: 15px; line-height: 1.55; color: #4A4A47; }
.ms-articolo-leggi { font-size: 14px; font-weight: 500; color: var(--ms-rosso); }
.ms-articolo > * { margin-block: 0 !important; }
.ms-articolo .wp-block-post-date { font-size: 13px; }

.ms-main .ms-elenco-articoli { margin-block-start: 24px; }
.ms-paginazione { margin-top: 48px; font-weight: 500; }
.ms-paginazione a { text-decoration: none; }

/* Articolo singolo */
.ms-articolo-singolo { padding-top: 56px; }
.ms-articolo-singolo > * + * { margin-block-start: 20px; }
.ms-titolo-articolo,
.ms-main h1.ms-titolo-articolo {
	margin: 0;
	font-size: clamp(36px, 4vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.02em;
}
.ms-articolo-singolo .wp-block-post-content { margin-block-start: 40px; }
.ms-articolo-singolo .wp-block-post-content > * + * { margin-block-start: 1.1em; }
.ms-articolo-singolo .wp-block-post-content p { font-size: 18px; line-height: 1.75; }
.ms-articolo-singolo .wp-block-post-content h2 { margin-block-start: 1.8em; }
.ms-articolo-singolo > .wp-block-shortcode { margin-block-start: 56px; }

/* --------------------------------------------------------------------------
   Partiture
   -------------------------------------------------------------------------- */
.ms-filtri { display: flex; flex-direction: column; gap: 16px; margin-bottom: 40px; }
.ms-filtri-riga { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; }
.ms-filtri-tipo { display: flex; flex-wrap: wrap; gap: 10px; }
.ms-filtri-organico { justify-content: flex-start; gap: 10px; }

.ms-chip-tipo,
.ms-chip-organico {
	font-family: var(--ms-testo);
	cursor: pointer;
	border-radius: 999px;
	line-height: 1.3;
	transition: background-color .15s ease, color .15s ease;
}
.ms-chip-tipo {
	padding: 10px 18px;
	font-size: 15px;
	font-weight: 500;
	border: 1px solid var(--ms-inchiostro);
	background: #fff;
	color: var(--ms-inchiostro);
}
.ms-chip-tipo:hover { background: var(--ms-caldo); }
.ms-chip-tipo[aria-pressed="true"] { background: var(--ms-inchiostro); color: #fff; }

.ms-filtri-etichetta { font-size: 14px; color: var(--ms-grigio); margin-right: 4px; }
.ms-chip-organico {
	padding: 8px 14px;
	font-size: 14px;
	border: 0;
	background: var(--ms-caldo);
	color: var(--ms-inchiostro);
}
.ms-chip-organico:hover { background: var(--ms-pietra); }
.ms-chip-organico[aria-pressed="true"] { background: var(--ms-rosso); color: #fff; }
.ms-conteggio { margin-left: auto; font-size: 14px; color: var(--ms-grigio); }

.ms-cerca {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 340px;
	max-width: 100%;
	box-sizing: border-box;
	padding: 10px 18px;
	border: 1px solid var(--ms-linea);
	border-radius: 999px;
	color: var(--ms-grigio);
}
.ms-cerca:focus-within { border-color: var(--ms-inchiostro); }
.ms-cerca input {
	flex-grow: 1;
	min-width: 0;
	border: 0;
	outline: none;
	background: transparent;
	font: 15px/1.3 var(--ms-testo);
	color: var(--ms-inchiostro);
}
.ms-cerca input:focus-visible { outline: none; }

.ms-griglia-partiture {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ms-scheda {
	display: flex;
	gap: 20px;
	padding: 24px;
	background: var(--ms-caldo);
	border-radius: 16px;
}
.ms-scheda[hidden],
.ms-gruppo[hidden] { display: none; }
.ms-gruppo + .ms-gruppo { margin-top: clamp(40px, 4.5vw, 64px); }
.ms-gruppo-titolo,
.ms-main h2.ms-gruppo-titolo {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin: 0 0 20px;
	padding-top: 16px;
	border-top: 2px solid var(--ms-inchiostro);
	font-size: clamp(24px, 2.2vw, 30px);
}
.ms-gruppo-numero { font-family: var(--ms-testo); font-size: 14px; font-weight: 400; color: var(--ms-grigio); }
.ms-scheda-copertina {
	flex-shrink: 0;
	width: 104px;
	height: 140px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--ms-pietra);
}
.ms-scheda-copertina img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ms-senza-copertina { display: flex; align-items: center; justify-content: center; }
.ms-senza-copertina .ms-punto { font-family: var(--ms-titoli); font-size: 40px; font-weight: 700; line-height: 1; }
.ms-scheda-testo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ms-scheda-testo p { margin: 0; }
.ms-scheda-titolo,
.ms-main .ms-scheda-titolo { margin: 0; font-family: var(--ms-titoli); font-size: 22px; font-weight: 500; line-height: 1.15; }
.ms-scheda-autore { font-size: 14px; line-height: 1.45; color: var(--ms-grafite); }
.ms-scheda-organico { font-size: 14px; line-height: 1.45; color: var(--ms-grigio); }
.ms-scheda-negozi {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin-top: auto !important;
	padding-top: 8px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}
.ms-scheda-negozi a { text-decoration: none; }
.ms-nessuna { color: var(--ms-grigio); margin-top: 24px !important; }

/* --------------------------------------------------------------------------
   Libri
   -------------------------------------------------------------------------- */
.ms-riquadro-libro { padding: 40px; display: flex; justify-content: center; }
.ms-copertina-libro { margin: 0; width: 100%; max-width: 420px; }
.ms-copertina-libro img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	box-shadow: 0 12px 32px rgba(17, 17, 17, 0.18);
}
.ms-colonne-libro > .wp-block-column:last-child { padding-left: 16px; }
.ms-colonne-libro > .wp-block-column:last-child > * + * { margin-block-start: 22px; }
.ms-titolo-libro,
.ms-main h2.ms-titolo-libro {
	margin: 0;
	font-size: clamp(40px, 3.9vw, 56px);
	line-height: 1;
	letter-spacing: -0.02em;
}
.ms-sottotitolo-libro,
.ms-main p.ms-sottotitolo-libro { font-size: 20px; line-height: 1.45; font-style: italic; color: var(--ms-grafite); }
.ms-colonne-libro h3 { margin: 0; padding-top: 8px; font-size: 26px; }
.ms-colonne-libro p:not([class]) { font-size: 18px; line-height: 1.7; }
.ms-chip-riga { gap: 10px; }
.ms-chip,
.ms-main p.ms-chip {
	margin: 0;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--ms-caldo);
	font-size: 14px;
	line-height: 1.4;
	color: var(--ms-inchiostro);
}
.ms-riga-acquisto { gap: 16px 20px; align-items: center; padding-top: 8px; }
.ms-riga-acquisto .wp-block-buttons { margin: 0; }
.ms-uscita,
.ms-main p.ms-uscita { font-size: 15px; color: var(--ms-grafite); }
.ms-uscita strong { color: var(--ms-rosso); font-weight: 500; }

/* --------------------------------------------------------------------------
   Piede
   -------------------------------------------------------------------------- */
.ms-contenitore-piede { border-top: 1px solid var(--ms-linea); }
.ms-piede {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 24px;
	padding-block: 36px;
	font-size: 14px;
	line-height: 1.5;
	color: #4A4A47;
}
.ms-piede p { margin: 0; }
.ms-piede-link { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.ms-piede a { color: #4A4A47; text-decoration: none; }
.ms-piede a:hover { color: var(--ms-rosso); }

/* --------------------------------------------------------------------------
   Schermi medi
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
	.ms-griglia-partiture { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-sezione-titolo { font-size: 24px; }
	.ms-materiale { flex-wrap: wrap; }
	.ms-materiale-testo { flex-basis: calc(100% - 120px); }
	.ms-materiale-azioni { margin-left: 120px; }
}

@media (max-width: 900px) {
	.ms-sezioni { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-novita,
	.ms-griglia-articoli,
	.ms-main ul.ms-griglia-articoli { grid-template-columns: minmax(0, 1fr); }
	.ms-colonne-profilo > .wp-block-column:last-child,
	.ms-colonne-libro > .wp-block-column:last-child { padding-left: 0; }
}

/* --------------------------------------------------------------------------
   Cellulare
   -------------------------------------------------------------------------- */
@media (max-width: 781px) {
	.ms-contenitore-testata { border-bottom: 1px solid #ECECE7; }
	.ms-testata { padding-block: 16px; }
	.ms-logo { font-size: 17px; }
	.ms-destra { gap: 8px; }
	.ms-pill { font-size: 12px; padding: 6px 10px; }
	.ms-burger { display: inline-flex; }

	.ms-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid #ECECE7;
		box-shadow: 0 16px 24px rgba(17, 17, 17, 0.06);
	}
	.ms-nav.is-aperto { display: block; }
	.ms-nav ul { flex-direction: column; gap: 0; padding: 8px var(--ms-margine) 20px; }
	.ms-nav li + li { border-top: 1px solid #ECECE7; }
	.ms-nav a {
		display: block;
		padding: 14px 0;
		border: 0;
		font-family: var(--ms-titoli);
		font-size: 24px;
		font-weight: 500;
	}
	.ms-nav a[aria-current="page"] { color: var(--ms-rosso); }

	.ms-onda-ampia { display: none !important; }
	.ms-onda-compatta { display: block !important; }

	.ms-main .ms-hero { padding-top: 36px; }
	.ms-main .ms-hero > * + * { margin-block-start: 20px; }
	.ms-lead, .ms-main p.ms-lead { font-size: 17px; }
	.ms-riga-hero { flex-direction: column; align-items: flex-start !important; gap: 20px; }

	.ms-main .ms-foto-concerto { margin-block-start: 28px; }
	.ms-foto-concerto img { height: 280px; border-radius: 12px; object-position: 58% 50%; }

	.ms-main .ms-blocco-sezioni { margin-block-start: 32px; }
	.ms-sezioni { gap: 12px; }
	.ms-sezione { min-height: 110px; padding: 18px; border-radius: 14px; gap: 12px; }
	.ms-sezione-num { font-size: 13px; }
	.ms-sezione-titolo { font-size: 21px; }
	.ms-freccia { font-size: 18px; }

	.ms-main .ms-blocco-novita { margin-block-start: 44px; }
	.ms-main .ms-blocco-novita > * + * { margin-block-start: 18px; }
	.ms-novita { gap: 18px; }
	.ms-novita-voce { gap: 16px; padding-top: 16px; }
	.ms-novita-copertina { width: 64px; height: 84px; }
	.ms-novita-titolo { font-size: 16px; }

	.ms-main .ms-testa-pagina { padding-top: 36px; }
	.ms-main .ms-colonne-profilo,
	.ms-main .ms-colonne-libro { gap: 32px; }

	.ms-riquadro-libro { padding: 28px; }

	.ms-filtri-riga { flex-direction: column; align-items: stretch; }
	.ms-filtri-organico { flex-direction: row; align-items: center; }
	.ms-cerca { width: 100%; }
	.ms-conteggio { margin-left: 0; width: 100%; }
	.ms-griglia-partiture { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.ms-scheda { padding: 18px; gap: 16px; border-radius: 14px; }
	.ms-scheda-copertina { width: 80px; height: 108px; }
	.ms-scheda-titolo, .ms-main .ms-scheda-titolo { font-size: 20px; }

	.ms-materiali { padding: 4px 18px; }
	.ms-materiale { gap: 14px; }
	.ms-materiale-anteprima { width: 72px; height: 40px; }
	.ms-materiale-testo { flex-basis: calc(100% - 90px); }
	.ms-materiale-azioni { margin-left: 0; width: 100%; }
	.ms-materiale-azioni .ms-bottone { flex: 1; text-align: center; }
	.ms-badge { order: 3; }

	.ms-piede { flex-direction: column; padding-block: 24px; font-size: 13px; }
	.ms-piede > p:first-child { order: 2; }
	.ms-piede-link { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; }
}

/* Nell'editor: l'onda occupa poco spazio e le intestazioni hanno i caratteri giusti */
.editor-styles-wrapper .ms-onda { pointer-events: none; }
