/*
Theme Name: MABP Museo
Theme URI: https://www.mabp.it
Description: Tema figlio di Twenty Twenty-Five per il Museo e Area archeologica di Belmonte Piceno. Nessuna risorsa esterna: caratteri e script sono ospitati nel tema. I video esterni (YouTube e Facebook) vengono caricati soltanto dopo l’interazione del visitatore.
Author: Picenum Legacy APS
Template: twentytwentyfive
Version: 1.7.7
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mabp-museo
*/

/* ---------- Base ---------- */
:root { --mabp-radius: 20px; }

:where(.wp-site-blocks) :focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
}

.wp-block-image img { border-radius: var(--mabp-radius); }

.mabp-inner {
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--50);
}

.mabp-eyebrow {
	margin: 0 0 .75rem;
	font-family: var(--wp--preset--font-family--aboreto);
	font-size: .95rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-1);
}

.mabp-placeholder {
	margin: 0;
	padding: 1.5rem;
	border: 1px dashed var(--wp--preset--color--accent-4);
	border-radius: var(--mabp-radius);
	font-size: .95rem;
}

/* ---------- Intestazione ---------- */
.mabp-header {
	padding-block: 1rem;
	padding-inline: var(--wp--preset--spacing--50);
	gap: 1rem 2rem;
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}
/* Logo: la larghezza si regola qui (un SVG si ingrandisce senza perdere qualità). */
.mabp-header .wp-block-site-logo { line-height: 0; }
.mabp-header .wp-block-site-logo img,
.mabp-header .custom-logo {
	display: block;
	width: clamp(190px, 21vw, 300px);
	height: auto;
	max-width: 100%;
	max-height: none;
	border-radius: 0;
}
.mabp-header .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; }
.mabp-header .wp-block-navigation .wp-block-navigation-item__content { color: var(--wp--preset--color--contrast); }
.mabp-header .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-1); }
.mabp-lang {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: 1.1rem;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: 999px;
	font-size: .9rem;
	text-decoration: none;
}

/* Le sezioni a tutta larghezza si toccano: nessuna striscia di sfondo tra l'una e l'altra. */
.mabp-hero, .mabp-section, .mabp-cta, .mabp-visit, .mabp-avviso { margin-block: 0; }

/* Marchio: simbolo (SVG avorio) + nome e scritta come testo, quindi sempre nitidi e leggibili. */
.mabp-brand {
	display: inline-flex;
	align-items: center;
	gap: clamp(.6rem, 1.2vw, 1rem);
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.mabp-brand:hover { color: var(--wp--preset--color--contrast); text-decoration: none; }
.mabp-brand:focus-visible { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: 4px; border-radius: 8px; }
.mabp-brand__symbol { display: block; flex: none; width: clamp(56px, 6vw, 84px); height: auto; }
.mabp-brand__text { display: flex; flex-direction: column; gap: .25rem; }
.mabp-brand__name {
	font-family: var(--wp--preset--font-family--aboreto);
	font-size: clamp(1.7rem, 2.6vw, 2.4rem);
	line-height: 1;
	letter-spacing: .14em;
	color: var(--wp--preset--color--accent-1);
}
.mabp-brand__sub { max-width: 22ch; font-size: clamp(.75rem, .9vw, .85rem); line-height: 1.3; }
/* Sui telefoni la scritta lunga resta per i lettori di schermo ma non si vede. */
@media (max-width: 600px) {
	.mabp-brand__sub { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
body.home .mabp-brand__symbol { filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .6)); }
body.home .mabp-brand__text { text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }

/* Su telefono: logo, lingua e menu sulla stessa riga (nessun "English" che va a capo). */
@media (max-width: 782px) {
	.mabp-header { flex-wrap: nowrap; gap: .75rem; }
	.mabp-header .wp-block-site-logo img,
	.mabp-header .custom-logo { width: clamp(120px, 38vw, 170px); }
	.mabp-header .wp-block-navigation { order: 3; flex: 0 0 auto; }
	.mabp-lang { order: 2; margin-left: auto; min-height: 40px; padding-inline: .85rem; }
}

/* ---------- Intestazione trasparente sulla home ---------- */
body.home .wp-site-blocks { position: relative; }
body.home .wp-site-blocks > header.wp-block-template-part {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 20;
	padding-bottom: 2.5rem;
	/* Fondo scuro dietro menu e logo: il menu resta leggibile qualunque fotogramma passi nel video. */
	background: linear-gradient(180deg, rgba(14, 14, 14, .92) 0%, rgba(14, 14, 14, .62) 55%, rgba(14, 14, 14, 0) 100%);
}
body.home .mabp-header .custom-logo { filter: drop-shadow(0 2px 8px rgba(0, 0, 0, .6)); }
body.home .mabp-header .wp-block-navigation .wp-block-navigation-item__content { text-shadow: 0 1px 8px rgba(0, 0, 0, .7); }

/* ---------- Copertina ---------- */
.mabp-hero {
	/* Alone attorno alla statua: due livelli (contorno netto e bagliore morbido).
	   Per cambiare colore o forza modifica questi due valori; per toglierlo usa "transparent". */
	--mabp-halo-near: rgba(255, 191, 0, .55);
	--mabp-halo-far: rgba(255, 191, 0, .3);
	--mabp-halo-size: 26px;
	position: relative;
	isolation: isolate;
	overflow-x: clip;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	min-height: min(100svh, 940px);
	padding: 8rem var(--wp--preset--spacing--50) clamp(1.5rem, 3vw, 2.5rem);
	background: radial-gradient(ellipse at 50% 30%, #4a4a4a 0%, #2b2b2b 55%, #161616 100%);
}
/* Vignettatura sopra il video: scurisce i bordi e fa risaltare la statua. */
.mabp-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 50% 55%, rgba(10, 10, 10, 0) 30%, rgba(10, 10, 10, .55) 100%),
		linear-gradient(180deg, rgba(10, 10, 10, .3) 0%, rgba(10, 10, 10, 0) 30%, rgba(10, 10, 10, .5) 100%);
}
/* Video dietro la statua (blocco Video di WordPress, scelto dalla Libreria dei media). */
.mabp-hero .mabp-hero__video,
.mabp-hero > video {
	position: absolute;
	inset: 0;
	z-index: -2;
	margin: 0;
	overflow: hidden;
}
.mabp-hero .mabp-hero__video video,
.mabp-hero > video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .7;
}
/* Sul telefono il video di sfondo non si carica e non si mostra: resta lo sfondo scuro. */
@media (max-width: 767px) {
	.mabp-hero .mabp-hero__video { display: none; }
}
/* La scritta PICENI sta dietro la statua, scura e discreta. */
.mabp-hero__word {
	position: absolute;
	inset-inline: 0;
	top: clamp(6rem, 17vh, 10rem);
	z-index: -1;
	overflow: hidden;
	text-align: center;
	font-family: var(--wp--preset--font-family--aboreto);
	font-size: clamp(4rem, 14vw, 14rem);
	line-height: 1;
	letter-spacing: .16em;
	text-indent: .16em;
	color: rgba(14, 14, 14, .4);
	pointer-events: none;
	user-select: none;
}
/* Statua. Va bene qualsiasi proporzione: si adatta senza deformarsi e non esce mai dalla schermata.
   Meglio PNG/WebP con sfondo trasparente. */
.mabp-hero__art {
	position: relative;
	z-index: 4;
	margin: 0 auto;
	width: min(55vw, 880px);
	height: clamp(240px, calc((100svh - 14rem) * .92), 660px);
}
.mabp-hero__art img,
.mabp-hero__art svg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	border-radius: 0;
	filter:
		drop-shadow(0 0 2px var(--mabp-halo-near))
		drop-shadow(0 0 var(--mabp-halo-size) var(--mabp-halo-far))
		drop-shadow(0 18px 26px rgba(0, 0, 0, .5));
}
@media (max-width: 900px) {
	.mabp-hero__art { width: 84vw; height: clamp(200px, 40vh, 430px); }
}

.mabp-curve {
	position: absolute;
	inset-inline: 0;
	bottom: -1px;
	z-index: 3;
	height: clamp(40px, 7vw, 101px);
	line-height: 0;
	color: var(--wp--preset--color--base);
	transform: rotate(180deg);
}
.mabp-curve svg { display: block; width: 100%; height: 100%; }

/* Tondo: a destra della statua, a metà altezza. Porta alla sezione successiva.
   Per spostarlo cambia right / top qui sotto. Su schermi stretti passa sotto la statua. */
.mabp-hero__cta {
	position: absolute;
	right: clamp(1.5rem, 5vw, 5rem);
	top: 58%;
	z-index: 5;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	box-sizing: border-box;
	width: clamp(150px, 14vw, 184px);
	aspect-ratio: 1;
	padding: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-5);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .45);
	font-family: var(--wp--preset--font-family--aboreto);
	font-size: clamp(.7rem, .85vw, .82rem);
	line-height: 1.25;
	letter-spacing: .06em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
.mabp-hero__cta:hover { background: var(--wp--preset--color--contrast); color: var(--wp--preset--color--accent-5); text-decoration: none; }
.mabp-hero__cta:focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 5px; }
.mabp-hero__cta svg { flex: none; }
@media (max-width: 1000px) {
	.mabp-hero__cta { position: relative; right: auto; top: auto; transform: none; margin: 1.25rem auto 0; }
}

/* Pulsante Pausa: in basso a sinistra, lontano dal menu. */
.mabp-hero__pause {
	position: absolute;
	left: var(--wp--preset--spacing--50);
	bottom: 1.5rem;
	z-index: 6;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	min-height: 44px;
	padding: 0 1rem;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: 999px;
	background: rgba(17, 17, 17, .85);
	color: var(--wp--preset--color--contrast);
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}

/* ---------- Blocco 1: museo e area archeologica ---------- */
.mabp-scopri { padding-top: clamp(4rem, 8vw, 7rem); }
.mabp-scopri__grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 2.5rem);
	align-items: stretch;
}
.mabp-scopri__grid > * { margin: 0; }
.mabp-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: clamp(1.25rem, 2.6vw, 2rem);
	border-radius: var(--mabp-radius);
	background: var(--wp--preset--color--accent-3);
}
.mabp-card > * { margin: 0; }
.mabp-card > :last-child { margin-top: auto; }
.mabp-card .wp-block-image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }
.mabp-card h2 { max-width: none; }
.mabp-card__note { color: var(--wp--preset--color--contrast); }
@media (max-width: 800px) {
	.mabp-scopri__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Blocco 2: percorso a tappe (carosello con indice) ---------- */
.mabp-storia .mabp-intro { max-width: 62ch; }
.mabp-timeline { margin-block: 2.5rem; }
.mabp-timeline__step {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: clamp(1.25rem, 3vw, 2.5rem);
	row-gap: .6rem;
	align-content: start;
	padding: clamp(1rem, 2vw, 1.5rem);
	border-radius: var(--mabp-radius);
	background: var(--wp--preset--color--accent-3);
}
.mabp-timeline__step > * { margin: 0; }
.mabp-timeline__step > .wp-block-image { grid-column: 1; grid-row: 1 / span 4; align-self: start; }
.mabp-timeline__step > :not(.wp-block-image) { grid-column: 2; }
.mabp-timeline__step .wp-block-image img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.mabp-timeline__date { font-family: var(--wp--preset--font-family--aboreto); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; color: var(--wp--preset--color--accent-1); }
.mabp-timeline__step h3 { margin: 0; }
.mabp-timeline__link a { display: inline-flex; align-items: center; min-height: 44px; }
.mabp-timeline:not(.is-enhanced) .mabp-timeline__step + .mabp-timeline__step { margin-top: 1.5rem; }
.mabp-timeline__step[hidden] { display: none !important; }

/* Quando lo script è attivo: indice a lato e una tappa alla volta. */
.mabp-timeline.is-enhanced {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	column-gap: clamp(1.25rem, 3vw, 2.5rem);
	row-gap: 1rem;
	align-items: start;
}
.mabp-timeline.is-enhanced > .mabp-timeline__nav { grid-column: 1; grid-row: 1 / span 2; }
.mabp-timeline.is-enhanced > .mabp-timeline__step { grid-column: 2; grid-row: 1; }
.mabp-timeline__nav { display: flex; flex-direction: column; gap: .5rem; }
.mabp-timeline__tab {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	min-height: 44px;
	padding: .75rem 1rem;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: 14px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.mabp-timeline__tab:hover { border-color: var(--wp--preset--color--accent-1); }
.mabp-timeline__tab[aria-selected="true"] { background: var(--wp--preset--color--accent-1); border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-5); }
.mabp-timeline__tab:focus-visible { outline: 3px solid var(--wp--preset--color--contrast); outline-offset: 3px; }
.mabp-timeline__tab-date { font-family: var(--wp--preset--font-family--aboreto); font-size: 1.15rem; letter-spacing: .04em; }
.mabp-timeline__tab-title { font-size: .95rem; line-height: 1.3; }
.mabp-timeline__controls { grid-column: 2; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.mabp-timeline__ctrl {
	min-height: 44px;
	padding: 0 1.25rem;
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	cursor: pointer;
}
.mabp-timeline__ctrl:hover:not(:disabled) { border-color: var(--wp--preset--color--accent-1); }
.mabp-timeline__ctrl:disabled { opacity: .5; cursor: default; }
.mabp-timeline__ctrl:focus-visible { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: 3px; }
.mabp-timeline__count { font-size: .95rem; }
.mabp-timeline__ctrl--toggle { border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-1); }
@media (max-width: 900px) {
	.mabp-timeline.is-enhanced { grid-template-columns: minmax(0, 1fr); }
	.mabp-timeline.is-enhanced > .mabp-timeline__nav { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mabp-timeline.is-enhanced > .mabp-timeline__step { grid-column: 1; grid-row: 2; }
	.mabp-timeline__controls { grid-column: 1; grid-row: 3; }
}
@media (max-width: 700px) {
	.mabp-timeline__step { grid-template-columns: minmax(0, 1fr); }
	.mabp-timeline__step > .wp-block-image { grid-row: auto; }
	.mabp-timeline__step > :not(.wp-block-image) { grid-column: 1; }
}

/* ---------- Notizie (messaggio se non ci sono articoli, link a tutte) ---------- */
.mabp-news__empty { padding: 1.25rem; border: 1px dashed var(--wp--preset--color--accent-4); border-radius: 14px; font-size: .95rem; }
.mabp-news__all { margin-top: 1rem; }
.mabp-news__all a { display: inline-flex; align-items: center; min-height: 44px; }

/* ---------- Sezioni ---------- */
.mabp-section { padding-block: clamp(3rem, 8vw, 7rem); }
.mabp-section--panel { background: var(--wp--preset--color--accent-3); border-radius: 30px 30px 0 0; }
.mabp-section h2 { max-width: 30ch; margin: 0 0 1.5rem; text-wrap: balance; }
.mabp-events {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 2.5rem;
	align-items: start;
}
.mabp-events > * { margin-block-start: 0; }
.mabp-event > * { margin-block: 0 .75rem; }
.mabp-date {
	font-family: var(--wp--preset--font-family--aboreto);
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.1;
	color: var(--wp--preset--color--accent-1);
}
.mabp-intro { max-width: 60ch; }
.wp-block-quote { margin-inline: 0; padding-inline: 0; border: 0; }
.wp-block-quote p { font-family: var(--wp--preset--font-family--aboreto); font-size: clamp(1.5rem, 3vw, 2.25rem); line-height: 1.25; color: var(--wp--preset--color--contrast); }
.wp-block-quote cite { font-style: normal; font-size: .95rem; }

/* ---------- Video YouTube (si carica solo al clic) ---------- */
.mabp-yt {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--mabp-radius);
	background: radial-gradient(circle at 50% 40%, #3d3d3d, #161616);
}
.mabp-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mabp-yt__play {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: .75rem;
	padding: 1rem 1.5rem;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font: inherit;
	cursor: pointer;
}
.mabp-yt__play svg { width: 72px; height: 72px; }
.mabp-yt__note { margin: .75rem 0 0; font-size: .85rem; }

/* ---------- Audioguide ---------- */
.mabp-audio {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
	gap: .75rem 2rem;
	align-items: center;
	padding-block: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--accent-6);
}
.mabp-audio > * { margin: 0; }
.mabp-audio > h3 { grid-column: 1; font-size: 1.15rem; letter-spacing: .03em; }
.mabp-audio > .wp-block-audio { grid-column: 2; }
.mabp-audio > .wp-block-details { grid-column: 1 / -1; }
.mabp-audio audio { width: 100%; }
.mabp-audio summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; gap: .5rem; list-style: none; color: var(--wp--preset--color--accent-1); }
.mabp-audio summary::-webkit-details-marker { display: none; }
.mabp-audio summary::before { content: "+"; display: inline-block; width: 1.1rem; font-weight: 700; text-align: center; }
.mabp-audio details[open] > summary::before { content: "\2013"; }
@media (max-width: 700px) {
	.mabp-audio { grid-template-columns: minmax(0, 1fr); }
	.mabp-audio > .wp-block-audio { grid-column: 1; }
}

/* ---------- Risorse e contatti ---------- */
.mabp-cta { border-top: 1px solid var(--wp--preset--color--accent-6); padding-block: clamp(2.5rem, 6vw, 4.5rem); background: #1f1f1f; }
.mabp-cta h2 { margin-bottom: .5rem; }
.mabp-visit { padding-block: clamp(3rem, 7vw, 6rem); background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-5); }
.mabp-visit :is(h2, p, a, strong) { color: var(--wp--preset--color--accent-5); }
.mabp-visit h2 { max-width: none; }
.mabp-visit a { text-decoration: underline; }
.mabp-contatti a { display: inline-block; min-height: 24px; }
.mabp-contatti { display: grid !important; gap: 1.5rem 2rem; }
.mabp-contatti > * { margin: 0; }
.mabp-visit .mabp-contatti { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.mabp-footer .mabp-contatti { gap: .75rem; }

/* ---------- Piè di pagina ---------- */
.mabp-footer { padding-block: 3rem 2rem; border-top: 1px solid var(--wp--preset--color--accent-6); font-size: .95rem; }
.mabp-footer__cols { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 2rem; }
.mabp-footer__cols > * { margin: 0; }
.mabp-footer ul { list-style: none; margin: 0; padding: 0; }
.mabp-footer li a { display: inline-flex; align-items: center; min-height: 44px; }
.mabp-footer__legal { margin-top: 2rem; font-size: .85rem; }

/* ---------- Avviso in evidenza ---------- */
.mabp-avviso { padding-block: .9rem; background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-5); }
.mabp-avviso :is(p, a, strong) { margin: 0; color: var(--wp--preset--color--accent-5); }
.mabp-avviso .mabp-inner { gap: .5rem 2rem; }
.mabp-avviso a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; }

/* ---------- Griglia di articoli (notizie o eventi) ---------- */
.mabp-posts .wp-block-post-template { list-style: none; margin: 0; padding: 0; gap: 1.5rem; }
.mabp-post-card { height: 100%; overflow: hidden; border-radius: 14px; background: var(--wp--preset--color--accent-3); padding-bottom: 1.25rem; }
.mabp-post-card > * { margin: 0 1.25rem .6rem; }
.mabp-post-card > .wp-block-post-featured-image { margin: 0 0 1rem; }
.mabp-post-card .wp-block-post-featured-image img { border-radius: 0; }
.mabp-post-card .wp-block-post-date { font-size: .85rem; color: var(--wp--preset--color--accent-1); }
.mabp-post-card .wp-block-post-title { font-size: 1.15rem; letter-spacing: .03em; line-height: 1.3; }
.mabp-post-card .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.mabp-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--accent-1); text-decoration: underline; }
.mabp-post-card .wp-block-post-excerpt { font-size: .95rem; }

/* ---------- Movimento ridotto ---------- */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
}


/* ==============================================================
 * MABP 1.6 – Risorse didattiche. Blocchi Gutenberg editabili.
 * Senza JS i pannelli/slides sono visibili nel flusso del documento.
 * ============================================================= */
.mabp-did-wrap{margin-block:0!important;}
.mabp-did-page{--did-gold:#edb52e;--did-cream:#fff3df;background:#242424;color:#f8f5eb;padding:0 0 4rem;margin-block:0!important;}
.mabp-did-page,.mabp-did-page *,.mabp-did-dialog,.mabp-did-dialog *{box-sizing:border-box;}
.mabp-did-page .wp-block-image,.mabp-did-dialog .wp-block-image{margin:0;}
.mabp-did-page img,.mabp-did-dialog img{display:block;max-width:100%;height:auto;}
.mabp-did-page :focus-visible,.mabp-did-dialog :focus-visible{outline:3px solid #ffdc75;outline-offset:4px;}
.mabp-did-hero{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:clamp(1rem,4vw,3.5rem);align-items:center;padding:clamp(2rem,5vw,4.5rem) 2rem 2rem;}
.mabp-did-hero-copy{max-width:620px;}
.mabp-did-eyebrow{color:var(--did-gold);font-size:.84rem;font-weight:700;letter-spacing:.13em;margin:0 0 1rem!important;}
.mabp-did-page .mabp-did-h1{font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;font-size:clamp(2.15rem,4.2vw,4rem)!important;font-weight:400;line-height:1.17!important;color:var(--did-cream);margin:0 0 1rem!important;overflow-wrap:normal;}
.mabp-did-hero-desc{font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.7;color:#f5eee0;margin:0!important;}
.mabp-did-hero-art{min-width:0;}
.mabp-did-hero-art img{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain;border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.25);}
.mabp-did-main{max-width:1180px;margin:auto;padding:15px 24px 0;}
.mabp-did-intro{text-align:center;margin:0 auto 28px;}
.mabp-did-page .mabp-did-section-title{font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;color:var(--did-gold);font-size:clamp(1.35rem,2.1vw,2rem)!important;font-weight:400;margin:0 0 12px!important;}
.mabp-did-section-desc{font-size:.98rem;line-height:1.65;color:#e7ded3;max-width:800px;margin:0 auto!important;}
.mabp-did-unit{border:1px solid #716b5b;border-radius:20px;overflow:hidden;background:#302f2c;margin:16px 0!important;}
.mabp-did-unit-head{display:grid;grid-template-columns:minmax(100px,170px) 50px minmax(0,1fr) auto;gap:clamp(12px,2vw,20px);align-items:center;padding:16px 20px;}
.mabp-did-unit-visual{min-width:0;}
.mabp-did-unit-visual img{width:100%;height:auto!important;aspect-ratio:16/9;object-fit:contain;border-radius:12px;}
.mabp-did-unit-num{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#b87313;color:white;margin:0!important;font-size:1.15rem;font-weight:700;}
.mabp-did-unit-copy{min-width:0;}
.mabp-did-page .mabp-did-unit-title{font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;font-size:clamp(1.13rem,1.85vw,1.55rem)!important;line-height:1.27!important;font-weight:400;color:#fff7e8;margin:0 0 9px!important;}
.mabp-did-unit-subtitle{font-size:.96rem;line-height:1.55;color:#e7e1d4;margin:0!important;}
.mabp-did-page .mabp-did-unit-actions{margin:0;}
.mabp-did-unit-actions .wp-block-button__link,.mabp-did-visit .wp-block-button__link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:999px!important;background:var(--did-gold)!important;border:1px solid var(--did-gold);color:#1d1d1d!important;font-size:.94rem;font-weight:700;padding:11px 18px;text-decoration:none!important;white-space:nowrap;}
.mabp-did-unit-actions .wp-block-button__link:hover,.mabp-did-visit .wp-block-button__link:hover{background:#ffda6f!important;color:#1d1d1d!important;}
/* Fallback senza JS: testo e immagini sono leggibili nella pagina. */
.mabp-did-unit .mabp-did-panel{display:block;padding:clamp(15px,2.5vw,30px);border-top:1px solid #756c5d;}
.mabp-did-ready .mabp-did-panel[hidden],.mabp-did-dialog .mabp-did-slide[hidden]{display:none!important;}
.mabp-did-page .mabp-did-panel-heading,.mabp-did-dialog .mabp-did-panel-heading{font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;font-weight:400;font-size:clamp(1.2rem,2vw,1.65rem)!important;line-height:1.35;margin:0 0 8px!important;color:#f6ce76;}
.mabp-did-panel-help{margin:0 0 18px!important;color:#e6dcca;font-size:.97rem;line-height:1.6;}
.mabp-did-carousel,.mabp-did-slides{min-width:0;}
.mabp-did-slide{background:#f8edda;color:#26363a;border-radius:15px;padding:clamp(14px,2vw,26px);margin:0 0 22px!important;}
.mabp-did-slide-image img{width:100%;height:auto!important;max-height:58svh;object-fit:contain;object-position:center;border-radius:12px;}
.mabp-did-slide-body{max-width:80ch;margin:20px auto 0;}
.mabp-did-slide-eyebrow{color:#704e12;font-size:.79rem;letter-spacing:.1em;font-weight:700;margin:0 0 10px!important;}
.mabp-did-dialog .mabp-did-slide-title,.mabp-did-page .mabp-did-slide-title{font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;font-size:clamp(1.35rem,2.6vw,2.1rem)!important;line-height:1.3!important;color:#24434a!important;font-weight:400;margin:0 0 16px!important;}
.mabp-did-slide-description{color:#233338;font-size:clamp(1rem,1.3vw,1.1rem)!important;line-height:1.7!important;margin:0 0 .85em!important;}
.mabp-did-pdfs{margin-top:26px;padding:20px;background:#38352e;border-radius:14px;}
.mabp-did-pdfs h4{color:#fff3da;font-weight:500;margin:0 0 10px!important;font-size:1.25rem!important;}
.mabp-did-pdfs-hint{font-size:.9rem;line-height:1.6;color:#f0e2c8;margin:0 0 14px!important;}
.mabp-did-pdf-list{padding-left:1.5rem;margin:0!important;color:#f4ebde;}
.mabp-did-pdf-list li{padding:.4rem 0;line-height:1.5;}
.mabp-did-pdf-list a{color:#ffdb81;text-underline-offset:4px;}
.mabp-did-visit{text-align:center;padding:36px 15px 0;}
.mabp-did-visit h2{color:#fff3de;font-family:var(--wp--preset--font-family--aboreto),Georgia,serif!important;font-size:clamp(1.5rem,2.5vw,2rem)!important;font-weight:400;margin:0 0 12px!important;}
.mabp-did-visit-desc{color:#ebe4d8;max-width:650px;margin:0 auto 20px!important;line-height:1.7;}
.mabp-did-visit .wp-block-buttons{justify-content:center;}
/* Visualizzatore: il dialog viene generato dal solo JS, senza duplicare il contenuto Gutenberg. */
.mabp-did-dialog{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:#242424;color:#fff4e6;overflow:auto;overscroll-behavior:contain;}
.mabp-did-dialog::backdrop{background:rgba(0,0,0,.85);}
body.mabp-did-dialog-active{overflow:hidden;}
.mabp-did-toolbar{position:sticky;top:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;padding:12px clamp(12px,3vw,28px);background:#242424;border-bottom:1px solid #76614a;box-shadow:0 7px 20px rgba(0,0,0,.22);}
.mabp-did-control{min-height:46px;min-width:46px;border:1px solid #e0bb62;border-radius:999px;background:#34302a;color:#fff4da;padding:10px 16px;font:inherit;font-size:clamp(.85rem,1.2vw,.98rem);line-height:1.3;cursor:pointer;}
.mabp-did-control:hover:not(:disabled){background:#55482f;}
.mabp-did-control:disabled{opacity:.48;cursor:default;}
.mabp-did-close{background:#f6c951;color:#1b1b1b;font-weight:700;border-color:#f6c951;margin-left:auto;}
.mabp-did-close:hover{background:#ffe18a!important;}
.mabp-did-status{flex:1 1 190px;text-align:center;font-size:.95rem;color:#f8e9cb;line-height:1.4;}
.mabp-did-dialog>.mabp-did-panel{width:min(1100px,100%);margin:0 auto;padding:clamp(14px,3vw,32px);}
.mabp-did-dialog .mabp-did-slide{margin:0 0 18px!important;}
.mabp-did-dialog:not(.is-all-mode) .mabp-did-slide-image img{max-height:min(54svh,690px);}
.mabp-did-dialog.is-all-mode .mabp-did-slide-image{display:none;}
.mabp-did-dialog.is-all-mode .mabp-did-slide-body{max-width:85ch;margin:0 auto;}
.mabp-did-dialog.is-all-mode .mabp-did-slide{margin:0 0 14px!important;}
@media(max-width:900px){.mabp-did-unit-head{grid-template-columns:minmax(90px,140px) 46px minmax(0,1fr);gap:12px;}.mabp-did-unit-actions{grid-column:3;justify-self:start;}}
@media(max-width:680px){.mabp-did-hero{grid-template-columns:minmax(0,1fr);padding:2rem 16px;gap:16px;}.mabp-did-main{padding:12px 12px 0;}.mabp-did-unit-head{grid-template-columns:96px minmax(0,1fr);padding:12px;gap:12px;}.mabp-did-unit-num{grid-column:2;grid-row:1;justify-self:start;height:38px;width:38px;}.mabp-did-unit-visual{grid-column:1;grid-row:1 / 4;}.mabp-did-unit-copy{grid-column:2;grid-row:2;}.mabp-did-unit-actions{grid-column:2;grid-row:3;justify-self:start;}.mabp-did-unit-actions .wp-block-button__link{white-space:normal;}.mabp-did-toolbar{gap:6px;padding:9px;}.mabp-did-status{order:-1;flex:1 0 100%;}.mabp-did-control{padding:9px 11px;min-height:44px;}.mabp-did-close{margin-left:0;}.mabp-did-dialog:not(.is-all-mode) .mabp-did-slide-image img{max-height:35svh;}.mabp-did-slide{padding:12px;}}
@media(max-width:360px){.mabp-did-control{font-size:.77rem;}.mabp-did-unit-head{grid-template-columns:76px minmax(0,1fr);}.mabp-did-hero-art img{border-radius:12px;}}
@media(prefers-reduced-motion:reduce){.mabp-did-page *, .mabp-did-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
/* Gutenberg keeps every slide visible while editing (the JS only runs on the front end). */
.mabp-did-page .mabp-did-hero > *,.mabp-did-unit-head > *,.mabp-did-slide-body > *{margin-block-start:0;}

/* -------- Video social: caricamento consapevole, layout responsive -------- */
.mabp-video-storie { background:#f8f5ee; color:#242424; }
.mabp-video-storie .mabp-inner { padding-block:clamp(2.5rem, 5vw, 5rem); }
.mabp-video-storie h2.wp-block-heading { color:#232323; margin-block:0 1rem; }
.mabp-video-storie .mabp-eyebrow { color:#80591c; }
.mabp-fb-grid { align-items:stretch; gap:clamp(1.2rem,3vw,2.4rem); margin-top:2rem; }
.mabp-fb-grid>.wp-block-column { min-width:0; display:flex; }
.mabp-fb-card { display:flex; flex-direction:column; gap:0.85rem; width:100%; min-width:0; padding:clamp(1.15rem,2.4vw,1.8rem); border:1px solid #d7c9ac; border-radius:20px; background:#fff; box-shadow:0 10px 26px rgba(0,0,0,.055); }
.mabp-fb-card>* { margin-block:0!important; }
.mabp-fb-card__eyebrow { font-size:.84rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:#8b5e1e; }
.mabp-fb-card h3.wp-block-heading { font-size:clamp(1.3rem,2.2vw,1.65rem)!important; line-height:1.3; color:#252525; }
.mabp-fb-card p:not(.mabp-fb-card__eyebrow) { line-height:1.65; }
.mabp-fb-player { width:100%; }
.mabp-fb-player__stage { width:100%; height:clamp(330px,43vw,520px); max-height:70svh; display:flex; align-items:stretch; justify-content:center; border-radius:14px; overflow:hidden; background:linear-gradient(147deg,#252621,#3c3b2e 67%,#735b2f); }
.mabp-fb-player__load { display:flex; flex-direction:column; gap:1rem; justify-content:center; align-items:center; width:100%; border:2px solid transparent; background:transparent; color:white; cursor:pointer; font:inherit; font-weight:700; font-size:1.1rem; }
.mabp-fb-player__load:hover { background:rgba(255,190,46,.13); }
.mabp-video-storie a:focus-visible { outline:3px solid #916200; outline-offset:3px; }
/* Sul riquadro scuro il contorno è ambra chiaro e sta dentro il riquadro (fuori verrebbe tagliato). */
.mabp-fb-player__load:focus-visible { outline:3px solid #ffd166; outline-offset:-8px; }
.mabp-fb-player__symbol { display:grid;place-items:center; width:82px;height:82px; background:#f0b936; color:#1f1f1f; border-radius:50%; font-size:2rem; line-height:1; padding-left:5px; box-shadow:0 4px 20px rgba(0,0,0,.2); }
.mabp-fb-player__privacy { margin:.7rem 0 0!important; font-size:.82rem; color:#535353; line-height:1.5!important; }
.mabp-fb-card__links { display:flex; flex-wrap:wrap; gap:.45rem .65rem; margin-top:auto!important; }
.mabp-fb-card__links a { display:inline-block; padding:.65rem .9rem; border:1px solid #a68540; border-radius:50px; font-size:.88rem; font-weight:700; text-decoration:none!important; background:#fff7e6; color:#48330c!important; }
.mabp-fb-card__links a:hover { background:#ffdf9b; text-decoration:underline!important; }
@media(max-width:780px){ .mabp-fb-grid { flex-direction:column; }.mabp-fb-player__stage{height:450px;max-height:65svh;} }
@media(prefers-reduced-motion:reduce){ .mabp-fb-card,.mabp-fb-player__load { transition:none!important; } }
/* Schede didattiche scaricabili: collegamenti evidenti e riconoscibili. */
.mabp-did-filetype{ display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.05em; vertical-align:middle; border:1px solid #f0c96f; border-radius:4px; margin-left:.4em; padding:.1em .35em; color:#f6d487; }
.mabp-did-pdf-list a:focus-visible{outline:3px solid #f6d487;outline-offset:3px;}

/* -------- 1.7.1 -------- */
/* Titolo principale (H1) della home: letto dai lettori di schermo, non visibile. */
.mabp-sr-h1 {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px !important; padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
/* Il titolo nascosto non deve spostare la copertina verso il basso. */
.mabp-sr-h1 + .wp-block-post-content { margin-block-start: 0 !important; }
/* Pulsanti: contorno ambra al focus (il colore predefinito del tema genitore sul fondo scuro non basta). */
.wp-block-button__link:focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
}

/* -------- 1.7.2 -------- */
/* Audioguide: «Leggi la trascrizione» non si mostra (vale anche sulle pagine già salvate).
   Quando le trascrizioni saranno pronte, togli questa regola e inserisci un blocco «Dettagli» sotto ogni traccia. */
.mabp-audio .wp-block-details { display: none; }

/* -------- 1.7.3 -------- */
/* Footer: finanziamento e logo Regione Marche. */
.mabp-footer__funding { margin-top: 2rem; }
.mabp-footer__funding > * { margin-block: 0; }
.mabp-footer__funding-text { color: var(--wp--preset--color--contrast); font-size: .9rem; line-height: 1.55; }
.mabp-footer__funding-logo { margin-top: .9rem !important; }
.mabp-footer__funding-logo img { display: block; width: auto; height: auto; max-width: min(100%, 280px); max-height: 110px; border-radius: 0; }
.mabp-footer__funding + .mabp-footer__legal { margin-top: 1.5rem; }

/* -------- 1.7.4 -------- */
/* Footer: i loghi hanno testo scuro, quindi stanno su un riquadro bianco. */
.mabp-footer__funding-logo { display: inline-block; width: fit-content; max-width: 100%; margin-top: 1rem !important; padding: .9rem 1.3rem; background: #fff; border-radius: 12px; }
.mabp-footer__funding-logo img { max-width: min(100%, 340px); max-height: 120px; }

/* -------- 1.7.6 -------- */
/* Video Facebook: il riquadro prende le proporzioni del video (niente spazio scuro vuoto). */
.mabp-fb-player[data-facebook-ratio] .mabp-fb-player__stage { height: auto; max-height: none; aspect-ratio: 16 / 9; }
.mabp-fb-player[data-facebook-ratio="9/16"] .mabp-fb-player__stage { aspect-ratio: 9 / 16; width: min(100%, 340px); margin-inline: auto; }
