/*
 * seminario-core — stili delle parti generate dal plugin (elenchi, card, filtri, schede).
 * Usano le variabili --sem-* del child theme, con valori di riserva: funzionano con qualsiasi tema.
 */

.semcore-elenco,
.semcore-sottopagine,
.semcore-tappe,
.semcore-dettagli,
.semcore-sezione,
.semcore-collegati,
.semcore-tappa-nav,
.semcore-agenda-breve,
.semcore-banda {
	--sc-testo: var(--sem-testo, #2E2A27);
	--sc-attenuato: var(--sem-testo-attenuato, #6B6560);
	--sc-accento: var(--sem-cotto-testo, #A83A19);
	--sc-cotto: var(--sem-cotto, #C94B22);
	--sc-bordo: var(--sem-bordo, #E4D9C9);
	--sc-carta: var(--sem-bianco, #FFFFFF);
	--sc-fondo: var(--sem-fondo-attenuato, #F2EBE1);
	--sc-raggio: var(--sem-raggio, 6px);
	--sc-transizione: var(--sem-transizione, 250ms ease);
}

.semcore-solo-lettori {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------- Griglia e card ---------- */
.semcore-griglia {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr));
	gap: clamp(16px, 2.5vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	background: var(--sc-carta);
	border: 1px solid var(--sc-bordo);
	border-radius: var(--sc-raggio);
	overflow: hidden;
	transition: box-shadow var(--sc-transizione), transform var(--sc-transizione);
}

.semcore-card:hover {
	box-shadow: 0 10px 30px -18px rgba(46, 42, 39, 0.45);
	transform: translateY(-2px);
}

.semcore-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--sc-fondo);
}

/* La foto riempie sempre l'anteprima, qualunque siano le sue proporzioni: mai fasce sopra o sotto
   (decisione dell'utente, 5/11/2026). Assoluta, così altezze scritte da tema o Elementor non contano. */
.semcore-card__media > img:not(.semcore-card__logo) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform 600ms ease;
}

.semcore-card:hover .semcore-card__media img {
	transform: scale(1.04);
}

.semcore-card__corpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: clamp(16px, 2vw, 24px);
}

.semcore-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--sc-attenuato);
}

.semcore-card__testata {
	color: var(--sem-occhiello, #C94B22);
}

.semcore-card .semcore-card__titolo {
	margin: 0;
	font-size: var(--sem-t-h3, 1.375rem);
	line-height: 1.25;
}

.semcore-card .semcore-card__titolo a {
	color: var(--sc-testo);
	text-decoration: none;
}

.semcore-card .semcore-card__titolo a:hover {
	color: var(--sc-accento);
}

.semcore-card__testo,
.semcore-card__autore {
	margin: 0;
	font-size: 1rem;
	color: var(--sc-attenuato);
}

/* Autore sotto il titolo (notizie e rassegna): ben visibile, nome in grassetto */
.semcore-card .semcore-card__autore {
	margin: -4px 0 10px;
	font-size: var(--sem-t-piccolo, 0.875rem);
}

.semcore-card__autore strong {
	font-weight: 700;
	color: var(--sc-testo);
}

.semcore-card__importo {
	margin: auto 0 0;
	font-weight: 600;
	color: var(--sc-testo);
}

.semcore-card__tag {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: auto 0 0;
	padding: 4px 0 0;
	list-style: none;
}

.semcore-card .semcore-card__tag a {
	display: inline-block;
	padding: 2px 10px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sem-cotto-testo, #A83A19); /* su cotto chiaro: 5,6:1 */
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: 999px;
	text-decoration: none;
}

.semcore-card .semcore-card__tag a:hover {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

.semcore-card__numero {
	margin: 0;
	font-size: 2.5rem;
	font-weight: 300;
	line-height: 1;
	color: var(--sc-cotto);
}

.semcore-esterno {
	display: inline-block;
	margin-left: 4px;
	font-size: 0.8em;
}

.semcore-stato {
	padding: 0 8px;
	border-radius: 999px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
	color: var(--sem-evidenza-testo, #A83A19);
}

.semcore-stato--programmato {
	background: transparent;
	color: var(--sem-cotto-testo, #A83A19);
	box-shadow: inset 0 0 0 1px currentColor;
}

.semcore-stato--concluso {
	background: var(--sc-fondo);
	color: var(--sc-attenuato);
}

/* ---------- Filtri ---------- */
.semcore-filtro {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 clamp(24px, 3vw, 40px);
	padding: 0 0 clamp(16px, 2vw, 24px);
	border-bottom: 1px solid var(--sc-bordo);
}

.semcore-filtro__gruppo {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.semcore-filtro__titolo {
	margin: 0 0 4px;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-accento);
}

.semcore-filtro__opzioni {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-filtro .semcore-chip {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 6px 16px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sc-testo);
	background: var(--sc-carta);
	border: 1px solid var(--sc-bordo);
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--sc-transizione), border-color var(--sc-transizione), color var(--sc-transizione);
}

.semcore-filtro .semcore-chip:hover {
	border-color: var(--sem-pulsante, #C94B22);
	color: var(--sc-testo);
}

.semcore-filtro .semcore-chip.is-attivo,
.semcore-filtro .semcore-chip:has(input:checked) {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	border-color: var(--sem-pulsante, #C94B22);
}

/* La casella resta accessibile da tastiera ma è visivamente il chip stesso */
.semcore-chip input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.semcore-chip:has(input:focus-visible) {
	outline: 2px solid var(--sc-cotto);
	outline-offset: 2px;
}

.semcore-filtro__campi {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: flex-end;
}

.semcore-filtro__campo {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 160px;
	font-size: 0.875rem;
	font-weight: 500;
}

.semcore-filtro__campo select,
.semcore-filtro__campo input {
	min-height: 42px;
	padding: 8px 12px;
	font: inherit;
	font-weight: 400;
	color: var(--sc-testo);
	background: var(--sc-carta);
	border: 1px solid var(--sc-bordo);
	border-radius: var(--sc-raggio);
}

.semcore-filtro__azioni {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.semcore-filtro .semcore-filtro__invia,
:is(.semcore-dettagli, .semcore-appuntamento) .semcore-bottone {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 13px 24px;
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--sc-transizione), transform var(--sc-transizione), box-shadow var(--sc-transizione);
}

.semcore-filtro .semcore-filtro__invia:hover,
:is(.semcore-dettagli, .semcore-appuntamento) .semcore-bottone:hover {
	color: #fff;
	background: var(--sem-pulsante-hover, #8A2910);
	transform: translateY(-2px);
	box-shadow: 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

/* Con JavaScript i filtri si applicano da soli: il pulsante serve solo dove c'è un campo di ricerca */
.semcore-filtro.is-js:not(.ha-ricerca) .semcore-filtro__invia {
	display: none;
}

.semcore-filtro[aria-busy="true"] {
	opacity: 0.6;
}

.semcore-filtro__conteggio {
	margin: 0;
	font-size: 0.875rem;
	color: var(--sc-attenuato);
}

.semcore-filtro__azzera {
	font-size: 0.875rem;
}

.semcore-vuoto {
	padding: 24px;
	color: var(--sc-attenuato);
	background: var(--sc-fondo);
	border-radius: var(--sc-raggio);
}

/* ---------- Agenda ---------- */
.semcore-agenda__elenco,
.semcore-agenda-breve {
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-evento {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 16px 20px;
	align-items: start;
	padding: 20px 0;
	border-bottom: 1px solid var(--sc-bordo);
}

.semcore-evento--breve {
	grid-template-columns: auto 1fr;
	padding: 14px 0;
}

.semcore-evento__data {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 64px;
	min-height: 64px;
	padding: 6px;
	line-height: 1;
	color: var(--sem-evidenza, #C94B22);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: var(--sc-raggio);
}

.semcore-evento__giorno {
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: 700;
}

.semcore-evento__mese {
	margin-top: 4px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	/* Testo piccolo su cotto chiaro: cotto testo (5,6:1); il giorno, grande, resta nel cotto centrale */
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-evento__anno {
	margin-top: 2px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	color: var(--sc-attenuato);
}

.semcore-evento--breve .semcore-evento__anno {
	display: none;
}

/* Orario sotto la data. */
.semcore-evento__quandobox {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}

.semcore-evento__ora {
	font-size: var(--sem-t-piccolo, 14px);
	font-weight: 600;
	line-height: 1;
	color: var(--sem-evidenza, #C94B22);
	font-variant-numeric: tabular-nums;
}

.semcore-evento .semcore-evento__titolo {
	margin: 0 0 4px;
	font-size: 1.125rem;
	line-height: 1.3;
}

.semcore-evento .semcore-evento__titolo a {
	color: var(--sc-testo);
	text-decoration: none;
}

.semcore-evento .semcore-evento__titolo a:hover {
	color: var(--sc-accento);
}

.semcore-evento__luogo,
.semcore-evento__testo {
	margin: 0;
	color: var(--sc-attenuato);
}

/* Luogo al livello "Piccolo", descrizione al livello del testo delle card (16 px) */
.semcore-evento__luogo {
	font-size: var(--sem-t-piccolo, 0.875rem);
	line-height: 1.4;
}

.semcore-evento__testo {
	font-size: 1rem;
	line-height: 1.6;
}

/* Categoria sotto il titolo, come le etichette degli argomenti delle notizie */
.semcore-evento__tag {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 2px 0 8px;
	padding: 0;
	list-style: none;
}

.semcore-evento__tag li {
	margin: 0;
}

/* Ogni categoria porta all'agenda di InChiostro filtrata (come gli argomenti delle notizie) */
.semcore-evento__tag a,
.semcore-evento__tag span {
	display: inline-block;
	padding: 2px 10px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: 999px;
	text-decoration: none;
	transition: color var(--sem-transizione, 250ms ease), background-color var(--sem-transizione, 250ms ease);
}

.semcore-evento .semcore-evento__tag a:hover,
.semcore-evento .semcore-evento__tag a:focus-visible,
:is(.semcore-dettagli, .semcore-appuntamento) .semcore-evento__tag a:hover,
:is(.semcore-dettagli, .semcore-appuntamento) .semcore-evento__tag a:focus-visible {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

:is(.semcore-dettagli, .semcore-appuntamento) .semcore-evento__tag {
	margin: 0;
}

/* Luogo in grassetto con l'icona del segnaposto */
.semcore-evento__luogo {
	display: flex;
	align-items: center;
	gap: 6px;
	color: var(--sc-testo);
}

.semcore-evento__icona {
	flex: none;
	color: var(--sem-evidenza, #C94B22);
}

.semcore-evento__luogo strong {
	font-weight: 700;
}

/* Descrizione: al massimo due righe */
.semcore-evento__testo {
	display: -webkit-box;
	margin-top: 6px;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* ---------- Link-pulsante: "← Tutte le notizie", "Tutta l'agenda →" ---------- */
.semcore-link-tutti,
.semcore-indietro {
	margin: 16px 0 0;
}

.semcore-indietro {
	margin: 0 0 8px;
}

.semcore-link-tutti a,
.semcore-indietro a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 18px;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sem-evidenza-testo, #A83A19);
	text-decoration: none;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1.5px var(--sem-evidenza, #C94B22);
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-link-tutti a:hover,
.semcore-indietro a:hover {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	transform: translateY(-2px);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22), 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

.semcore-indietro a span,
.semcore-link-tutti a span {
	display: inline-block;
	transition: transform var(--sem-transizione, 250ms ease);
}

.semcore-indietro a:hover span {
	transform: translateX(-4px);
}

/* "← Tutte le notizie" e simili nelle notizie e nelle schede: un vero pulsante, come "Contatti" nell'header
   (bordo cotto, si riempie al passaggio del mouse; decisione dell'utente 10/10/2026). Selettori più specifici
   di ".elementor a", che toglie l'ombra-bordo. */
.semcore-indietro.semcore-indietro a {
	min-height: 44px;
	padding: 13px 24px;
	font-size: 15px;
	color: var(--sem-evidenza-testo, #A83A19);
	background: transparent;
	box-shadow: inset 0 0 0 1.5px var(--sem-evidenza, #C94B22);
}

.semcore-indietro.semcore-indietro a:hover,
.semcore-indietro.semcore-indietro a:focus-visible {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22), 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

.semcore-link-tutti a:hover span {
	transform: translateX(4px);
}

/* ---------- Schede: dettagli, sezioni, collegati ---------- */
.semcore-dettagli {
	margin: 0 0 32px;
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sc-raggio);
}

.semcore-dettagli:last-child {
	margin-bottom: 0;
}

.semcore-dettagli dl {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 16px 24px;
	margin: 0;
}

.semcore-dettagli dt {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sc-accento);
}

.semcore-dettagli dd {
	margin: 4px 0 0;
	color: var(--sc-testo);
}

.semcore-dettagli dd::first-letter {
	text-transform: uppercase;
}

.semcore-dettagli__azione {
	margin: 20px 0 0;
}

.semcore-sezione {
	margin: clamp(32px, 5vw, 56px) 0 0;
}

.semcore-galleria {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-galleria img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--sc-raggio);
}

.semcore-collegati {
	margin: 48px 0 0;
	padding: var(--sem-riquadro-spazio, 28px);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-bianco, #FFFFFF);
}

/* Titolo del riquadro (livello "sottosezione" della gerarchia tipografica) */
.elementor-widget-theme-post-content .semcore-collegati h2.semcore-collegati__titolo,
.semcore-collegati .semcore-collegati__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	letter-spacing: 0;
	text-transform: none;
	color: var(--sem-testo, #2E2A27);
}

.semcore-collegati__gruppo + .semcore-collegati__gruppo {
	margin-top: 24px;
}

.elementor-widget-theme-post-content .semcore-collegati h3.semcore-collegati__sottotitolo,
.semcore-collegati .semcore-collegati__sottotitolo {
	margin: 0 0 12px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

.semcore-collegati ul.semcore-collegati__elenco {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-collegati__elenco a {
	display: flex;
	align-items: center;
	gap: 14px;
	height: 100%;
	padding: 12px;
	color: var(--sem-testo, #2E2A27);
	text-decoration: none;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-bianco, #FFFFFF);
	transition: transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-collegati__elenco a:hover {
	transform: translateY(-2px);
	box-shadow: var(--sem-ombra-hover, 0 12px 26px -14px rgba(61, 15, 5, 0.55));
}

.semcore-collegati__elenco img.semcore-collegati__foto {
	flex: none;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 4px;
}

.semcore-collegati__testo {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.semcore-collegati__testo span {
	font-size: var(--sem-t-piccolo, 0.875rem);
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-collegati .semcore-agenda-breve {
	margin: 0;
	padding: 0;
}

/* ---------- Paginazione ---------- */
.semcore-paginazione {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 32px 0 0;
}

.semcore-paginazione a,
.semcore-paginazione span {
	color: var(--sem-testo, #2E2A27);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	min-height: 42px;
	padding: 0 12px;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	text-decoration: none;
}

.semcore-paginazione [aria-current],
.semcore-paginazione a:hover {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	border-color: var(--sem-pulsante, #C94B22);
}

.semcore-paginazione__salto {
	border: 0 !important;
}

/* ---------- Tappe ---------- */
.semcore-tappe {
	counter-reset: none;
}

.semcore-tappa-posizione {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

/* Tappe vicine: due card a foto piena (regola del sito), più basse di quelle degli elenchi. */
.semcore-tappa-nav {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 24px;
	margin: 56px 0 0;
}

.semcore-card.semcore-card--foto.semcore-tappa-nav__voce {
	/* Pulsanti, non card: alti quanto le scritte (decisione dell'utente 10/10/2026). */
	min-height: 0;
	padding: 20px 24px;
	gap: 2px;
}

/* Su una striscia bassa la foto resta visibile ma più velata, per la leggibilità. */
.semcore-card--foto.semcore-tappa-nav__voce::after {
	background: linear-gradient(90deg, rgba(31, 12, 6, 0.78) 0%, rgba(31, 12, 6, 0.55) 100%);
}

.semcore-card--foto.semcore-tappa-nav__voce[rel="next"]::after {
	background: linear-gradient(270deg, rgba(31, 12, 6, 0.78) 0%, rgba(31, 12, 6, 0.55) 100%);
}

.semcore-card.semcore-card--foto.semcore-tappa-nav__voce .semcore-card__titolo {
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-tappa-nav__voce[rel="next"] {
	align-items: flex-end;
	text-align: right;
}

/* Alla prima e all'ultima tappa "Tutte le tappe" è larga la metà dell'altra card: si capisce il verso. */
.semcore-tappa-nav:has(> .semcore-tappa-nav__voce--tutte:first-child) {
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}

.semcore-tappa-nav:has(> .semcore-tappa-nav__voce--tutte:last-child) {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
}

/* "Tappa precedente / successiva": più grande e ben leggibile sulla foto. */
.semcore-card.semcore-card--foto.semcore-tappa-nav__voce .semcore-card__numero {
	margin: 0 0 2px;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 2px 14px rgba(0, 0, 0, 0.5);
}

@media (max-width: 767px) {
	.semcore-tappa-nav:has(> .semcore-tappa-nav__voce--tutte) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Tappa: testo a sinistra, audioguida e "Dove ti trovi" a destra (come l'iscrizione di Monastero Invisibile). */
.semcore-tappa {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	gap: clamp(40px, 5vw, 72px);
	align-items: start;
}

.semcore-tappa__testo > :first-child {
	margin-top: 0;
}

.semcore-tappa__lato {
	/* Non fissa mentre si scorre: audioguida e mappa insieme sono più alte dello schermo. */
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.semcore-tappa__lato .semcore-audio {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-tappa__titoletto,
.semcore-tappa__lato .semcore-audio .semcore-audio__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--sem-testo, #2E2A27);
}

@media (max-width: 899px) {
	.semcore-tappa {
		grid-template-columns: minmax(0, 1fr);
	}

	.semcore-tappa__lato {
		position: static;
		order: -1; /* sul telefono l'audioguida viene prima del testo */
	}
}

/* ---------- Argomenti della notizia ---------- */
.semcore-argomenti {
	margin: 40px 0 0;
	padding: 24px 0 0;
	border-top: 1px solid var(--sem-bordo, #E4D9C9);
}

.semcore-argomenti__titolo {
	margin: 0 0 10px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

.semcore-argomenti .semcore-card__tag a {
	display: inline-block;
	padding: 4px 14px;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--sem-cotto-testo, #A83A19); /* su cotto chiaro: 5,6:1 */
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: 999px;
	text-decoration: none;
}

.semcore-argomenti .semcore-card__tag a:hover {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

.semcore-tappe-elenco__numero {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	opacity: 0.8;
}

/* ---------- Sommario sotto il titolo delle pagine ---------- */
.semcore-sommario {
	max-width: 44rem;
	margin: 4px 0 0;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	line-height: 1.5;
	color: var(--sem-testo-attenuato, #6B6560);
}

/* ---------- Card a foto piena (regola unica, decisione dell'utente 10/10/2026) ----------
 * Come le "proposte" della Home: foto su tutta la card, sfumatura scura in basso, titolo e testo bianchi
 * sovrapposti, tutta la card cliccabile. Usata dalle sottopagine (Giovani, Vocazioni, Cultura) e dalle tappe. */
.semcore-sottopagine {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

/* Cultura: la prima card (Monastero) è larga metà e alta il doppio, le altre due impilate accanto. */
.semcore-sottopagine.semcore-sottopagine--evidenza {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.semcore-sottopagine--evidenza > .semcore-card--foto:first-child {
	grid-row: span 2;
}

.semcore-sottopagine--evidenza > .semcore-card--foto:not(:first-child) {
	min-height: 320px;
}

@media (max-width: 767px) {
	.semcore-sottopagine.semcore-sottopagine--evidenza {
		grid-template-columns: minmax(0, 1fr);
	}

	.semcore-sottopagine--evidenza > .semcore-card--foto:first-child {
		grid-row: auto;
		min-height: 440px;
	}
}

/* Una card sola su tutta la larghezza (Sostienici → Amici del Seminario): foto ampia, sfumatura da sinistra,
   titolo e testo sovrapposti a sinistra. */
.semcore-sottopagine.semcore-sottopagine--larga {
	grid-template-columns: minmax(0, 1fr);
}

.semcore-sottopagine--larga > .semcore-card.semcore-card--foto {
	min-height: 420px;
	padding: clamp(28px, 5vw, 56px);
}

.semcore-sottopagine--larga > .semcore-card--foto::after {
	background: linear-gradient(90deg, rgba(31, 12, 6, 0.88) 0%, rgba(31, 12, 6, 0.6) 40%, rgba(31, 12, 6, 0.05) 75%), linear-gradient(180deg, rgba(31, 12, 6, 0) 50%, rgba(31, 12, 6, 0.45) 100%);
}

.semcore-sottopagine--larga > .semcore-card.semcore-card--foto .semcore-card__titolo {
	max-width: 30rem;
	font-size: var(--sem-t-h2, 2.75rem);
}

.semcore-sottopagine--larga > .semcore-card.semcore-card--foto .semcore-card__testo {
	max-width: 30rem;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
}

@media (max-width: 767px) {
	.semcore-sottopagine--larga > .semcore-card.semcore-card--foto {
		min-height: 460px;
	}

	.semcore-sottopagine--larga > .semcore-card--foto::after {
		background: linear-gradient(180deg, rgba(31, 12, 6, 0.1) 15%, rgba(31, 12, 6, 0.6) 50%, rgba(31, 12, 6, 0.9) 100%);
	}
}

/* Card impilate (Sostienici → Uniti nella preghiera): stesso stile della card larga degli Amici (sfumatura da
   sinistra, testo a sinistra), più basse; con più card nella colonna si dividono l'altezza in parti uguali. */
.semcore-sottopagine.semcore-sottopagine--pila {
	grid-template-columns: minmax(0, 1fr);
	grid-auto-rows: 1fr;
	gap: 24px;
}

.semcore-sottopagine--pila > .semcore-card.semcore-card--foto {
	min-height: 230px;
}

.semcore-sottopagine--pila > .semcore-card--foto::after {
	background: linear-gradient(90deg, rgba(31, 12, 6, 0.9) 0%, rgba(31, 12, 6, 0.75) 50%, rgba(31, 12, 6, 0.15) 90%), linear-gradient(180deg, rgba(31, 12, 6, 0) 50%, rgba(31, 12, 6, 0.45) 100%);
}

.semcore-sottopagine--pila > .semcore-card.semcore-card--foto :is(.semcore-card__titolo, .semcore-card__testo) {
	max-width: 22rem;
}

.semcore-sottopagine--pila .semcore-pulsante-card {
	margin-top: 12px;
}

@media (max-width: 767px) {
	.semcore-sottopagine--pila > .semcore-card.semcore-card--foto {
		min-height: 300px;
	}

	.semcore-sottopagine--pila > .semcore-card--foto::after {
		background: linear-gradient(180deg, rgba(31, 12, 6, 0.1) 15%, rgba(31, 12, 6, 0.6) 50%, rgba(31, 12, 6, 0.9) 100%);
	}
}

/* La freccia va dopo il testo, le altre icone prima (come nei pulsanti del sito). */
.semcore-card--foto .semcore-pulsante-card--freccia {
	flex-direction: row-reverse;
}

/* Pulsante dentro una card a foto piena (Cultura → Monastero): bordo e scritta bianchi su fondo trasparente,
   al passaggio del mouse pieno di cotto centrale con scritta bianca (decisione dell'utente 10/10/2026). */
.semcore-card--foto .semcore-pulsante-card {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	margin-top: 18px;
	padding: 13px 24px;
	border-radius: 999px;
	font-size: var(--sem-vetro-testo, 1.1875rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--sem-bianco, #fff);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
	background-color: transparent;
	box-shadow: inset 0 0 0 1.5px var(--sem-bianco, #fff);
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

.semcore-card--foto .semcore-pulsante-card svg {
	width: 1em;
	height: 1em;
	flex: none;
}

.semcore-card--foto:is(:hover, :focus-visible) .semcore-pulsante-card {
	color: var(--sem-bianco, #fff);
	text-shadow: none;
	background-color: var(--sem-pulsante, #C94B22);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22), var(--sem-ombra-hover, none);
	transform: translateY(-2px);
}

/* Dopo un testo le card prendono lo stesso spazio che separano testata e contenuto (56 px, 40 sul telefono). */
:is(p, ul, ol, blockquote, .semcore-azione) + .semcore-sottopagine {
	margin-top: 56px;
}

@media (max-width: 767px) {
	:is(p, ul, ol, blockquote, .semcore-azione) + .semcore-sottopagine {
		margin-top: 40px;
	}
}

.semcore-card.semcore-card--foto {
	position: relative;
	isolation: isolate;
	justify-content: flex-end;
	gap: 6px;
	min-height: 440px;
	padding: var(--sem-riquadro-spazio, 28px);
	color: #fff;
	text-decoration: none;
	background: var(--sem-cotto, #C94B22);
	border: 0;
}

.semcore-card--foto .semcore-card__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	display: block;
	aspect-ratio: auto;
}

.semcore-card--foto .semcore-card__media img {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform 700ms ease;
}

.semcore-card--foto::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgba(31, 12, 6, 0) 30%, rgba(31, 12, 6, 0.55) 60%, rgba(31, 12, 6, 0.88) 100%);
	pointer-events: none;
}

.semcore-card.semcore-card--foto .semcore-card__titolo {
	display: block;
	margin: 0;
	font-size: var(--sem-t-foto, 2rem);
	font-weight: 600;
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.semcore-card--foto .semcore-card__titolo a {
	color: inherit;
	text-decoration: none;
}

/* Il link del titolo copre tutta la card (card che non sono già un link). */
.semcore-card--foto .semcore-card__titolo a::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.semcore-card.semcore-card--foto .semcore-card__testo {
	display: block;
	margin: 0;
	font-size: 1rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.35);
}

.semcore-card--foto .semcore-card__numero {
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	color: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-card.semcore-card--foto:hover {
	transform: translateY(-3px);
	box-shadow: 0 18px 38px -20px rgba(46, 42, 39, 0.6);
}

.semcore-card--foto:hover .semcore-card__media img {
	transform: scale(1.05);
}

.semcore-card--foto:focus-visible,
.semcore-card--foto:focus-within {
	outline: 2px solid var(--sem-cotto, #C94B22);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.semcore-card.semcore-card--foto {
		min-height: 380px;
	}
}

@media (max-width: 767px) {
	.semcore-card.semcore-card--foto {
		min-height: 320px;
		padding: var(--sem-riquadro-spazio, 20px);
	}
}

/* ---------- IBAN con pulsante "Copia" ---------- */
.semcore-iban {
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-iban__etichetta {
	margin: 0 0 4px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	/* Su cotto chiaro il cotto centrale fa 4,1:1: cotto testo (5,6:1), controllo del 10/11/2026 */
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-iban__codice {
	margin: 0 0 8px;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--sem-cotto-profondo, #3D0F05);
	word-break: break-all;
	user-select: all;
}

.semcore-iban__dati {
	margin: 0 0 16px;
	font-size: 0.9375rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-iban__intestatario {
	display: inline-block;
	margin: 2px 0;
	font-size: 1.1875rem;
	font-weight: 700;
	color: var(--sem-testo, #2E2A27);
}

.semcore-iban__copia {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 9px 18px;
	font: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--sem-evidenza-testo, #A83A19);
	background: transparent;
	border: 0;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1.5px var(--sem-evidenza, #C94B22);
	cursor: pointer;
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

/* Il bordo di serie dei <button> di Hello Elementor aggiungerebbe 2 px all'altezza (44 px come tutti i pulsanti). */
button.semcore-iban__copia {
	border: 0;
}

.semcore-iban__copia:hover,
.semcore-iban__copia.is-copiato {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	transform: translateY(-2px);
}

/* ---------- Mappa del Monastero ---------- */
.semcore-mappa {
	--mp-muri: var(--sem-fondo-attenuato, #F2EBE1);
	--mp-linea: var(--sem-bordo, #E4D9C9);
	--mp-area: var(--sem-cotto-chiaro, #FCEEE8);
	--mp-area-attiva: var(--sem-cotto-medio, #E07A55);
	--mp-cotto: var(--sem-cotto, #C94B22);
	--mp-cotto-testo: var(--sem-cotto-testo, #A83A19);
	--mp-testo: var(--sem-testo, #2E2A27);
	--mp-attenuato: var(--sem-testo-attenuato, #6B6560);
	--mp-carta: var(--sem-bianco, #FFFFFF);
	margin: 2rem 0;
	display: grid;
	gap: 1.5rem;
	align-items: start;
}

@media (min-width: 900px) {
	.semcore-mappa--legenda {
		grid-template-columns: minmax(0, 1fr) 280px;
	}
}

.semcore-mappa__pianta {
	background: var(--mp-carta);
	border: 1px solid var(--mp-linea);
	border-radius: var(--sem-raggio, 6px);
	padding: clamp(8px, 2vw, 24px);
}

.semcore-mappa__svg {
	display: block;
	width: 100%;
	height: auto;
	font-family: inherit;
}

.semcore-mappa__muri {
	fill: var(--mp-muri);
	stroke: #B9AC99;
	stroke-width: 6;
	stroke-linejoin: round;
}

.semcore-mappa__passaggio {
	fill: var(--mp-carta);
	stroke: var(--mp-linea);
	stroke-width: 3;
}

.semcore-mappa__fondo {
	fill: var(--mp-area);
	stroke: var(--mp-cotto);
	stroke-width: 4;
	stroke-linejoin: round;
	transition: fill var(--sem-transizione, 250ms ease);
}

.semcore-mappa__aperto {
	fill: url(#semcore-mappa-tratteggio) var(--mp-area);
}

.semcore-mappa__tratteggio {
	stroke: var(--mp-area-attiva);
	stroke-width: 3;
	opacity: 0.45;
}

.semcore-mappa__corte {
	fill: var(--mp-carta);
	stroke: var(--mp-cotto);
	stroke-width: 2;
}

.semcore-mappa__colonne {
	fill: var(--mp-cotto);
}

.semcore-mappa__area.is-collegata {
	cursor: pointer;
}

.semcore-mappa__area.is-attiva .semcore-mappa__fondo,
.semcore-mappa__area.is-corrente .semcore-mappa__fondo {
	fill: var(--mp-area-attiva);
}

.semcore-mappa__area.is-attiva .semcore-mappa__corte,
.semcore-mappa__area.is-corrente .semcore-mappa__corte {
	fill: var(--mp-area);
}

.semcore-mappa__percorso {
	fill: none;
	stroke: var(--mp-cotto-testo);
	stroke-width: 7;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 18 14;
	animation: semcore-percorso 1.6s linear infinite;
}

.semcore-mappa__punta {
	fill: var(--mp-cotto-testo);
}

@keyframes semcore-percorso {
	to {
		stroke-dashoffset: -32;
	}
}

.semcore-mappa__ingresso circle {
	fill: var(--mp-cotto-testo);
}

.semcore-mappa__ingresso text,
.semcore-mappa__via {
	font-size: 34px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	fill: var(--mp-attenuato);
}

.semcore-mappa__via {
	font-weight: 400;
	letter-spacing: 0.2em;
}

.semcore-mappa__link {
	cursor: pointer;
	outline: none;
}

.semcore-mappa__cerchio {
	fill: var(--mp-cotto);
	stroke: var(--mp-carta);
	stroke-width: 6;
	transition: fill var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

.semcore-mappa__numero {
	font-size: 42px;
	font-weight: 700;
	fill: #fff;
	pointer-events: none;
	transition: fill var(--sem-transizione, 250ms ease);
}

.semcore-mappa__etichetta {
	font-size: 36px;
	font-weight: 600;
	fill: var(--mp-testo);
	paint-order: stroke;
	stroke: var(--mp-carta);
	stroke-width: 10px;
	stroke-linejoin: round;
}

/* Tappa selezionata (o tappa in cui ci si trova): cerchio chiaro con bordo e numero nel cotto
   (decisione dell'utente 10/10/2026). */
.semcore-mappa__punto.is-attiva .semcore-mappa__cerchio,
.semcore-mappa__punto.is-corrente .semcore-mappa__cerchio {
	fill: var(--mp-area);
	stroke: var(--mp-cotto);
	stroke-width: 6;
	transform: scale(1.15);
}

.semcore-mappa__punto.is-attiva .semcore-mappa__numero,
.semcore-mappa__punto.is-corrente .semcore-mappa__numero,
.semcore-mappa__link:focus-visible .semcore-mappa__numero {
	fill: var(--mp-cotto);
}

.semcore-mappa__link:focus-visible .semcore-mappa__cerchio {
	fill: var(--mp-area);
	stroke: var(--mp-cotto);
	stroke-width: 10;
	transform: scale(1.2);
}

/* Su schermi piccoli i nomi diventerebbero illeggibili: restano numeri e legenda. */
@media (max-width: 600px) {
	.semcore-mappa__etichetta,
	.semcore-mappa__via {
		display: none;
	}
}

.semcore-mappa__didascalia {
	margin: 0;
	font-style: normal;
}

.semcore-mappa__nota {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	color: var(--mp-attenuato);
}

.semcore-mappa__legenda {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.semcore-mappa .semcore-mappa__legenda a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.5rem 0.75rem;
	border-radius: var(--sem-raggio, 6px);
	color: var(--mp-testo);
	text-decoration: none;
	font-style: normal;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.3;
	transition: background-color var(--sem-transizione, 250ms ease);
}

.semcore-mappa__legenda-numero {
	flex: none;
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--mp-cotto);
	color: #fff;
	font-weight: 700;
	font-size: 0.9375rem;
	transition: background-color var(--sem-transizione, 250ms ease);
}

.semcore-mappa__legenda li.is-attiva a,
.semcore-mappa__legenda li.is-corrente a,
.semcore-mappa__legenda a:focus-visible {
	background: var(--mp-area);
}

.semcore-mappa__legenda li.is-attiva .semcore-mappa__legenda-numero,
.semcore-mappa__legenda li.is-corrente .semcore-mappa__legenda-numero {
	color: var(--mp-cotto-testo);
	background: var(--mp-carta);
	box-shadow: inset 0 0 0 2px var(--mp-cotto);
}

@media (prefers-reduced-motion: reduce) {
	.semcore-mappa__percorso {
		animation: none;
	}
	.semcore-mappa__cerchio {
		transition: none;
	}
}

/* ---------- Audioguida ---------- */
.semcore-audio {
	margin: 0 0 2.5rem;
	padding: 1.25rem 1.5rem;
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-audio__testa {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.875rem;
}

.semcore-audio__icona {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--sem-pulsante, #C94B22);
	color: #fff;
	flex: none;
}

.semcore-audio .semcore-audio__titolo {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
	color: var(--sem-evidenza-testo, #A83A19);
}

.semcore-audio__durata {
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-audio__player {
	display: block;
	width: 100%;
}

.semcore-tappa-mappa .semcore-mappa {
	margin-top: 0;
}

.semcore-tappa__lato .semcore-audio__testa {
	margin-bottom: var(--sem-riquadro-titolo, 16px);
}

.semcore-tappa__lato .semcore-audio .semcore-audio__titolo {
	margin: 0;
}

/* Telefono: segnaposto più grandi, pianta a tutta larghezza. */
@media (max-width: 600px) {
	.semcore-mappa__link {
		transform: scale(1.7);
	}
	.semcore-mappa__pianta {
		padding: 4px;
	}
}

/* ---------- Tappe in più lingue ---------- */
/* La pagina contiene ogni lingua: si vede solo quella scelta con l'interruttore. */
html:not([data-semcore-lingua]) [data-solo-lingua]:not([data-solo-lingua="it"]),
html[data-semcore-lingua="it"] [data-solo-lingua]:not([data-solo-lingua="it"]),
html[data-semcore-lingua="en"] [data-solo-lingua]:not([data-solo-lingua="en"]),
html[data-semcore-lingua="es"] [data-solo-lingua]:not([data-solo-lingua="es"]) {
	display: none !important;
}

.semcore-lingue {
	display: inline-flex;
	gap: 4px;
	margin: 0.25rem 0 0.5rem;
	padding: 4px;
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 999px;
}

.semcore-lingue .semcore-lingue__voce {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 40px;
	padding: 8px 18px;
	border-radius: 999px;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sem-evidenza-testo, #A83A19);
	text-decoration: none;
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-lingue__sigla {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	opacity: 0.75;
}

.semcore-lingue .semcore-lingue__voce:hover {
	background: var(--sem-cotto-chiaro, #FCEEE8);
	color: var(--sem-evidenza-testo, #A83A19);
}

.semcore-lingue .semcore-lingue__voce.is-attiva {
	background: var(--sem-pulsante, #C94B22);
	color: #fff;
	box-shadow: 0 2px 8px rgba(138, 41, 16, 0.25);
}

.semcore-lingue .semcore-lingue__voce.is-attiva .semcore-lingue__sigla {
	opacity: 1;
}

/* ---------- Newsletter (modulo MailPoet dentro [semcore_newsletter]) ---------- */
.semcore-newsletter {
	max-width: 36rem;
	margin: 1.5rem 0 2rem;
	padding: clamp(20px, 3vw, 32px);
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-newsletter .mailpoet_paragraph {
	margin-bottom: 1rem;
	line-height: 1.5;
}

.semcore-newsletter .mailpoet_text_label {
	margin-bottom: 0.375rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--sem-testo, #2E2A27);
}

.semcore-newsletter .mailpoet_required {
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-newsletter input.mailpoet_text {
	width: 100% !important;
	min-height: 48px;
	padding: 12px 14px;
	font: inherit;
	color: var(--sem-testo, #2E2A27);
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-newsletter input.mailpoet_text:focus {
	border-color: var(--sem-cotto, #C94B22);
	outline: 2px solid var(--sem-cotto, #C94B22);
	outline-offset: 1px;
}

.semcore-newsletter .mailpoet_paragraph:not(:has(input)) {
	font-size: 0.875rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-newsletter input.mailpoet_submit {
	min-height: 48px;
	padding: 13px 28px;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-newsletter input.mailpoet_submit:hover,
.semcore-newsletter input.mailpoet_submit:focus-visible {
	background: var(--sem-pulsante-hover, #8A2910);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(138, 41, 16, 0.25);
}

.semcore-newsletter .mailpoet_message p {
	margin: 0.75rem 0 0;
	padding: 0;
	font-weight: 500;
}

.semcore-newsletter .mailpoet_validate_success {
	color: var(--sem-evidenza-testo, #A83A19) !important;
}

.semcore-newsletter .mailpoet_validate_error,
.semcore-newsletter .parsley-errors-list {
	color: var(--sem-cotto-testo, #A83A19) !important;
	font-size: 0.875rem;
}

/* Instagram: riga di attesa finché l'account non è collegato */
.semcore-instagram--vuoto {
	margin: 0;
	text-align: center;
	color: var(--sem-testo-attenuato, #6B6560);
}

/* Instagram con il banner dei cookie: finché non c'è il consenso (classe cmplz-marketing sul body,
   messa da Complianz) la griglia è chiusa (larghezze intatte, per Smash Balloon) e al suo posto
   c'è l'avviso con il pulsante che accetta. */
.semcore-instagram__consenso {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	padding: var(--sem-riquadro-spazio, 28px);
	border-radius: 12px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
	text-align: center;
}

.semcore-instagram__consenso p {
	max-width: 32em;
	margin: 0;
	color: var(--sem-testo, #2E2A27);
}

.semcore-instagram--consenso .semcore-instagram__accetta,
.semcore-mappa-google__consenso .semcore-instagram__accetta {
	padding: 11.5px 22.5px; /* con il bordo di 1,5 px: alto 44 px come tutti i pulsanti */
	border: 1.5px solid var(--sem-pulsante, #C94B22);
	border-radius: 999px;
	background: transparent;
	color: var(--sem-evidenza-testo, #A83A19);
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease), background-color var(--sem-transizione, 250ms ease);
}

.semcore-instagram--consenso .semcore-instagram__accetta:hover,
.semcore-instagram--consenso .semcore-instagram__accetta:focus-visible,
.semcore-mappa-google__consenso .semcore-instagram__accetta:hover,
.semcore-mappa-google__consenso .semcore-instagram__accetta:focus-visible {
	background: var(--sem-pulsante, #C94B22);
	color: var(--sem-bianco, #FFFFFF);
	transform: translateY(-2px);
	box-shadow: var(--sem-ombra-hover, 0 12px 26px -14px rgba(61, 15, 5, 0.55));
}

body:not(.cmplz-marketing) .semcore-instagram--consenso #sb_instagram {
	visibility: hidden;
	height: 0 !important;
	padding: 0 !important;
	overflow: hidden;
}

body.cmplz-marketing .semcore-instagram__consenso {
	display: none;
}

/* ---------- Lingue del sito (testata) ---------- */
.semcore-lingue-sito {
	display: flex;
	align-items: center;
	gap: 2px;
}

.semcore-lingue-sito.semcore-lingue-sito a {
	display: inline-grid;
	place-items: center;
	min-width: 36px;
	min-height: 36px;
	padding: 0 6px;
	border-radius: 999px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--sem-cotto-testo, #A83A19);
	text-decoration: none;
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease);
}

.semcore-lingue-sito.semcore-lingue-sito a:hover {
	background: var(--sem-cotto-chiaro, #FCEEE8);
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-lingue-sito.semcore-lingue-sito a.is-attiva {
	color: var(--sem-cotto-testo, #A83A19);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22);
}

/* Argomenti sotto il titolo della notizia (testata su cotto chiaro): etichette bianche, compatte */
.semcore-argomenti--testata {
	margin: 4px 0 0;
	padding: 0;
	border-top: 0;
}

.semcore-argomenti--testata .semcore-card__tag {
	margin: 0;
}

.semcore-argomenti--testata .semcore-card__tag a {
	background: var(--sem-bianco, #FFFFFF);
	box-shadow: inset 0 0 0 1px var(--sem-bordo, #E4D9C9);
}

/* Testata compatta della notizia (5/11/2026): "Tutte le notizie", argomenti e data su una riga sopra il titolo,
   riassunto come sottotitolo con righe di lunghezza leggibile, foto subito sotto. */
.sem-notizia-meta > .elementor-widget {
	width: auto;
	margin: 0;
}

.sem-notizia-meta .semcore-indietro {
	margin: 0;
}

.sem-notizia-meta .semcore-indietro.semcore-indietro a {
	min-height: 36px;
	padding: 7px 16px;
	font-size: 14px;
}

.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag a {
	padding: 4px 12px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	line-height: 1.4;
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	box-shadow: none;
}

.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag a:hover,
.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag a:focus-visible {
	background: var(--sem-pulsante-hover, #8A2910);
}

/* Il titolo usa tutta la larghezza: "pretty" evita solo l'ultima parola da sola, senza accorciare le righe
   come fa "balance" (impostato dal tema per gli altri titoli). */
.sem-testata-notizia .elementor-widget-theme-post-title .elementor-heading-title {
	text-wrap: pretty;
}

/* Pulsante, argomenti, data e autore con le scritte sulla stessa linea di base (non solo centrati:
   misure e caratteri diversi sembrerebbero sfalsati). */
.sem-notizia-meta.e-con {
	align-items: baseline !important;
}

.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag,
.sem-notizia-meta .elementor-icon-list-items {
	align-items: baseline;
	padding: 0;
	line-height: 1;
}

.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag li {
	display: flex;
	align-items: baseline;
}

.sem-notizia-meta .elementor-icon-list-item {
	align-items: baseline;
}

/* Sul telefono argomenti e data restano sulla stessa riga (sotto "Tutte le notizie") */
@media (max-width: 600px) {
	.sem-notizia-meta.e-con {
		gap: 10px 8px !important;
	}

	.sem-notizia-meta .semcore-argomenti--testata .semcore-card__tag a {
		padding: 4px 10px;
		letter-spacing: 0.03em;
	}
}

.sem-testata-notizia .sem-notizia-sommario {
	max-width: 68ch;
}

.sem-notizia-sommario p {
	margin: 0;
}

/* ---------- Galleria fotografica a carosello ---------- */
.semcore-carosello {
	margin: 3rem 0 1rem;
}

.semcore-carosello .semcore-carosello__titolo {
	margin: 0 0 1rem;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: 600;
	color: var(--sem-testo, #2E2A27);
}

.semcore-carosello__vista {
	position: relative;
}

.semcore-carosello__binario {
	display: flex;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	border-radius: var(--sem-raggio, 6px);
}

.semcore-carosello__binario:focus-visible {
	outline: 3px solid var(--sem-cotto, #C94B22);
	outline-offset: 3px;
}

.semcore-carosello__foto {
	flex: 0 0 85%;
	margin: 0;
	scroll-snap-align: start;
	aspect-ratio: 3 / 2;
	background: var(--sem-fondo-attenuato, #F2EBE1);
	border-radius: var(--sem-raggio, 6px);
	overflow: hidden;
}

.semcore-carosello__foto a,
.semcore-carosello__foto img {
	display: block;
	width: 100%;
	height: 100%;
}

.semcore-carosello .semcore-carosello__foto img {
	width: 100%;
	height: 100%;
	max-width: none;
	/* !important: Elementor scrive object-fit: cover sul widget con un selettore più specifico */
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
}

/* Con JavaScript: una foto per volta, frecce e pallini */
.semcore-carosello.is-pronto .semcore-carosello__binario {
	gap: 0;
	scrollbar-width: none;
}

.semcore-carosello.is-pronto .semcore-carosello__binario::-webkit-scrollbar {
	display: none;
}

.semcore-carosello.is-pronto .semcore-carosello__foto {
	flex-basis: 100%;
	border-radius: 0;
}

.semcore-carosello .semcore-carosello__freccia {
	display: none;
	min-height: 0;
	margin: 0;
	font: inherit;
	line-height: 1;
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 48px;
	height: 48px;
	padding: 0;
	place-items: center;
	border: 0;
	border-radius: 50%;
	transform: translateY(-50%);
	cursor: pointer;
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

.semcore-carosello.is-pronto .semcore-carosello__freccia {
	display: grid;
}

.semcore-carosello .semcore-carosello__freccia--prec {
	left: 12px;
}

.semcore-carosello .semcore-carosello__freccia--succ {
	right: 12px;
}

.semcore-carosello .semcore-carosello__freccia:hover,
.semcore-carosello .semcore-carosello__freccia:focus-visible {
	transform: translateY(-50%) scale(1.06);
}

.semcore-carosello .semcore-carosello__freccia:focus-visible {
	outline: 3px solid var(--sem-evidenza, #C94B22);
	outline-offset: 2px;
}

.semcore-carosello__punti {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px;
	margin-top: 14px;
}

.semcore-carosello .semcore-carosello__punto {
	display: grid;
	min-height: 0;
	margin: 0;
	border-radius: 50%;
	box-shadow: none;
	place-items: center;
	width: 24px;
	height: 24px;
	padding: 0;
	background: transparent;
	border: 0;
	cursor: pointer;
}

.semcore-carosello .semcore-carosello__punto::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--sem-bordo, #E4D9C9);
	transition: background-color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

.semcore-carosello .semcore-carosello__punto:hover::before {
	background: var(--sem-cotto-medio, #E07A55);
}

.semcore-carosello .semcore-carosello__punto.is-attivo::before {
	background: var(--sem-pulsante, #C94B22);
	transform: scale(1.35);
}

.semcore-carosello .semcore-carosello__punto:focus-visible {
	outline: 2px solid var(--sem-cotto, #C94B22);
	border-radius: 50%;
}

@media (max-width: 600px) {
	.semcore-carosello .semcore-carosello__freccia {
		width: 40px;
		height: 40px;
	}
	.semcore-carosello .semcore-carosello__freccia--prec {
		left: 6px;
	}
	.semcore-carosello .semcore-carosello__freccia--succ {
		right: 6px;
	}
}

/* Griglia a 4 colonne fisse ("Altre notizie"): 4 → 2 → 1, sempre righe piene */
.semcore-griglia--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
	.semcore-griglia--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.semcore-griglia--4 {
		grid-template-columns: 1fr;
	}
}

/* Feed Instagram: foto sempre in verticale 3:4 (Smash Balloon le renderebbe quadrate con un'altezza scritta dallo script) */
.semcore-instagram #sb_instagram .sbi_photo {
	height: auto !important;
	aspect-ratio: 3 / 4;
}

.semcore-instagram #sb_instagram .sbi_photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* [semcore_parole]: parole chiave che compaiono ingrandendosi e svaniscono (Home, accanto a Benvenuti) */
.semcore-parole {
	position: relative;
	width: 100%;
	height: 380px;
	overflow: hidden;
	user-select: none;
}

.semcore-parole__parola {
	position: absolute;
	left: 50%;
	top: 50%;
	opacity: 0;
	white-space: nowrap;
	line-height: 1;
	text-transform: uppercase;
	pointer-events: none;
	transform: translate(-50%, -50%);
}

/* Senza JavaScript o con "riduci movimento": composizione ferma */
.semcore-parole__parola.is-visibile {
	opacity: 1;
}

.semcore-parole__parola.is-animata {
	animation: semcore-parola 7000ms linear both;
	will-change: transform, opacity;
}

.semcore-parole.is-ferma .semcore-parole__parola {
	animation-play-state: paused;
}

@keyframes semcore-parola {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0.85);
	}

	15% {
		opacity: 1;
	}

	75% {
		opacity: 1;
	}

	100% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1.15);
	}
}

.semcore-parole__parola--p {
	font-size: clamp(0.875rem, 1.1vw, 1rem);
	font-weight: 600;
	letter-spacing: 0.08em;
}

.semcore-parole__parola--m {
	font-size: clamp(1.25rem, 1.7vw, 1.5rem);
	font-weight: 500;
	letter-spacing: 0.04em;
}

.semcore-parole__parola--g {
	font-size: clamp(1.75rem, 2.8vw, 2.5rem);
	font-weight: 300;
	letter-spacing: 0.01em;
}

.semcore-parole__parola--tono1 { color: var(--sem-cotto, #C94B22); }
.semcore-parole__parola--tono2 { color: var(--sem-cotto-scuro, #8A2910); }
.semcore-parole__parola--tono3 { color: var(--sem-testo-attenuato, #6B6560); }
.semcore-parole__parola--tono4 { color: var(--sem-cotto-medio, #E07A55); }

@media (max-width: 767px) {
	.semcore-parole {
		height: 280px;
	}
}

/* [semcore_testata]: testata delle pagine a banner, come l'hero della Home */
.semcore-testata {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(360px, 58vh, 580px);
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	background: var(--sem-cotto, #C94B22);
}

.semcore-testata--semplice {
	min-height: 0;
}

.semcore-testata__sfondo {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.semcore-testata .semcore-testata__sfondo img.semcore-testata__immagine {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

.semcore-testata__sfondo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(31, 12, 6, 0.25) 0%, rgba(31, 12, 6, 0) 28%, rgba(31, 12, 6, 0.15) 50%, rgba(31, 12, 6, 0.75) 100%);
}

.semcore-testata__interno {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	align-self: stretch;
	gap: 14px;
	width: 100%;
	max-width: calc(1280px + 48px);
	margin: 0 auto;
	padding: 28px 24px 28px;
}

/* Privacy e Cookie Policy: niente fascia, solo il titolo scuro sul fondo della pagina; testo su tutta la larghezza */
.semcore-testata.semcore-testata--testo {
	min-height: 0;
	color: var(--sem-testo, #2E2A27);
	background: none;
}

.semcore-testata--testo .semcore-testata__interno {
	padding-top: 56px;
	padding-bottom: 0;
}

.semcore-testata.semcore-testata--testo .semcore-testata__titolo {
	color: var(--sem-testo, #2E2A27);
	text-shadow: none;
}

.semcore-pagina-legale .sem-contenuto-pagina .elementor-widget-theme-post-content :where(p, h2, h3, h4, ul, ol, blockquote),
.semcore-pagina-legale #cmplz-document,
.semcore-pagina-legale .cmplz-document {
	max-width: none;
}

/* Privacy e Cookie Policy: titoli più piccoli, come i testi del resto del sito (decisione dell'utente 10/10/2026):
   titolo della pagina al livello "Titolo di sezione", capitoli al livello "card", sottocapitoli al sottotitolo.
   La Cookie Policy di Complianz prende la stessa gerarchia dell'informativa privacy. */
.semcore-pagina-legale .semcore-testata.semcore-testata--testo .semcore-testata__titolo {
	font-size: var(--sem-t-h2, 2.75rem);
	font-weight: var(--sem-p-titolo, 700);
}

.semcore-pagina-legale #cmplz-document :is(p, li, span, a, summary, .cmplz-category-title) {
	font-size: var(--sem-t-corpo, 1.125rem);
}

.semcore-pagina-legale .elementor-widget-theme-post-content h2,
.semcore-pagina-legale #cmplz-document h2 {
	margin: 1.6em 0 0.5em;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.25;
	letter-spacing: -0.01em;
}

.semcore-pagina-legale .elementor-widget-theme-post-content h3,
.semcore-pagina-legale #cmplz-document h3 {
	margin: 1.4em 0 0.4em;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.3;
	letter-spacing: 0;
}

.semcore-pagina-legale #cmplz-document > :first-child {
	margin-top: 0;
}

.semcore-testata--semplice .semcore-testata__interno {
	padding-top: 56px;
	padding-bottom: 48px;
}

.semcore-testata .semcore-testata__titolo {
	max-width: 980px;
	margin: 0;
	color: #fff;
	font-family: "Creato Display", sans-serif;
	font-weight: var(--sem-p-titolo, 700);
	font-size: var(--sem-t-h1, 4.75rem);
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35), 0 4px 28px rgba(0, 0, 0, 0.55);
	/* Parole lunghe (es. «tardoquattrocentesco») sul telefono: a capo con il trattino, mai fuori dallo schermo. */
	overflow-wrap: break-word;
	hyphens: auto;
}

.semcore-testata .semcore-sommario {
	max-width: 640px;
	margin: 0;
	color: #fff;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	font-weight: var(--sem-p-sottotitolo, 500);
	line-height: 1.5;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4), 0 2px 18px rgba(0, 0, 0, 0.5);
}

/* Il link indietro sta sempre in alto nella testata (titolo e sommario restano in basso). */
.semcore-testata .semcore-indietro {
	margin: 0 0 auto;
	padding-bottom: 24px;
}

/* Pulsanti sopra le foto (indietro e lingue nella testata, frecce della galleria): stile unico "vetro opaco",
   scritta cotto; selezionati o al passaggio del mouse pieni di cotto con scritta bianca (decisione dell'utente
   10/10/2026). Variabili --sem-vetro* del tema; in Elementor la variante sem-btn-vetro. */
.semcore-testata .semcore-indietro.semcore-indietro a,
.semcore-testata .semcore-lingue,
.semcore-carosello .semcore-carosello__freccia {
	color: var(--sem-cotto, #C94B22);
	font-size: var(--sem-vetro-testo, 1.1875rem);
	font-weight: 700;
	background: var(--sem-vetro, rgba(255, 255, 255, 0.72));
	box-shadow: inset 0 0 0 1.5px var(--sem-vetro-bordo, rgba(255, 255, 255, 0.9)), var(--sem-vetro-ombra, 0 8px 24px -14px rgba(0, 0, 0, 0.5));
	-webkit-backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
	backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
	text-shadow: none;
}

.semcore-testata .semcore-indietro.semcore-indietro a:hover,
.semcore-testata .semcore-indietro.semcore-indietro a:focus-visible,
.semcore-carosello .semcore-carosello__freccia:hover,
.semcore-carosello .semcore-carosello__freccia:focus-visible {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22), 0 12px 26px -14px rgba(0, 0, 0, 0.6);
}

.semcore-testata .semcore-indietro.semcore-indietro a:hover,
.semcore-testata .semcore-indietro.semcore-indietro a:focus-visible {
	transform: translateY(-2px);
}

/* Selettore della lingua: in alto a destra, dal lato opposto del pulsante indietro. */
.semcore-testata__interno {
	position: relative;
}

.semcore-testata .semcore-lingue {
	position: absolute;
	top: 28px;
	right: 24px;
	margin: 0;
	border: 0;
}

.semcore-testata .semcore-lingue .semcore-lingue__voce {
	min-height: 40px;
	padding: 8px 16px;
	font-size: var(--sem-vetro-testo, 1.1875rem);
	font-weight: 700;
	color: var(--sem-cotto, #C94B22);
	background: transparent;
}

/* Sigla piccola prima del nome (IT · EN · ES), come nel selettore delle altre pagine. */
.semcore-testata .semcore-lingue .semcore-lingue__sigla {
	font-size: 0.6875rem;
	opacity: 0.85;
}

.semcore-testata .semcore-lingue .semcore-lingue__voce:hover {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

.semcore-testata .semcore-lingue .semcore-lingue__voce.is-attiva {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

@media (max-width: 767px) {
	.semcore-testata .semcore-lingue {
		top: 20px;
		right: 16px;
	}

	/* Sul telefono solo le sigle (IT · EN · ES), per lasciare spazio al pulsante indietro; il nome resta
	   per i lettori di schermo. */
	.semcore-testata .semcore-lingue .semcore-lingue__sigla {
		display: inline;
		font-size: inherit;
		letter-spacing: 0.04em;
		opacity: 1;
	}

	.semcore-testata .semcore-lingue .semcore-lingue__nome {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.semcore-testata .semcore-lingue .semcore-lingue__voce {
		padding: 8px 10px;
	}

	.semcore-testata .semcore-lingue {
		gap: 0;
		padding: 2px;
	}

	.semcore-testata .semcore-indietro.semcore-indietro a {
		gap: 6px;
		padding: 8px 14px;
	}
}

@media (max-width: 767px) {
	.semcore-testata {
		min-height: 340px;
	}

	.semcore-testata__interno {
		gap: 12px;
		padding: 20px 16px 20px;
	}

	.semcore-testata--semplice .semcore-testata__interno {
		padding-top: 40px;
		padding-bottom: 32px;
	}

	.semcore-testata--testo .semcore-testata__interno {
		padding-top: 40px;
		padding-bottom: 0;
	}
}

/* [semcore_persone]: formatori (riquadro foto + profilo) e seminaristi (card) nella pagina Comunità */
.semcore-persona {
	display: grid;
	/* La foto è larga quanto una card dei seminaristi (griglia a 4 colonne con 24 px di spazio,
	   compensando i 32 px di margine interno del riquadro): tutte le foto della pagina sono uguali. */
	grid-template-columns: calc((100% - 8px) / 4) minmax(0, 1fr);
	gap: 40px;
	align-items: start;
	margin: 0 0 32px;
	padding: var(--sem-riquadro-spazio, 28px);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 6px;
	background: var(--sem-bianco, #FFFFFF);
}

.semcore-persona__foto {
	overflow: hidden;
	aspect-ratio: 4 / 5;
	border-radius: 6px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-persona__foto img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.semcore-persona__foto--vuota {
	display: flex;
	align-items: center;
	justify-content: center;
}

.semcore-persona__foto--vuota span {
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 300;
	letter-spacing: 0.04em;
	color: var(--sem-cotto, #C94B22);
}

.semcore-persona__corpo {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.elementor-widget-theme-post-content .semcore-persona h2.semcore-persona__nome,
.semcore-persona h2.semcore-persona__nome {
	margin: 0;
	font-weight: var(--sem-p-sezione, 600);
	font-size: var(--sem-t-h2, 2.75rem);
	line-height: 1.1;
	color: var(--sem-testo, #2E2A27);
}

.semcore-persona .semcore-persona__ruolo,
.semcore-persona-card .semcore-persona__ruolo {
	margin: 0 0 10px;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	/* Ruolo e anno di corso nel cotto centrale (decisione dell'utente 10/10/2026; su fondo bianco 4,65:1). */
	color: var(--sem-cotto, #C94B22);
}

.semcore-persona__profilo p,
.semcore-persona-card__profilo p {
	max-width: none;
	margin: 0 0 0.6em;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-persona__profilo p:last-child,
.semcore-persona-card__profilo p:last-child {
	margin-bottom: 0;
}

/* Le card dei seminaristi usano tutta la larghezza (non la colonna di lettura dei testi) */
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-persone,
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-griglia {
	max-width: none;
}

/* Formatori a zig-zag: il secondo (e ogni pari) ha la foto a destra */
.semcore-persona:nth-of-type(even) {
	grid-template-columns: minmax(0, 1fr) calc((100% - 8px) / 4);
}

.semcore-persona:nth-of-type(even) > .semcore-persona__foto {
	order: 2;
}

.semcore-persone {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-persona-card {
	display: flex;
	flex-direction: column;
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 6px;
	background: var(--sem-bianco, #FFFFFF);
}

.semcore-persona-card .semcore-persona__foto {
	border-radius: 0;
}

@media (max-width: 1024px) {
	.semcore-persone {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 480px) {
	.semcore-persone {
		grid-template-columns: minmax(0, 1fr);
	}
}

.semcore-persona-card__corpo {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px 22px 24px;
}

.elementor-widget-theme-post-content .semcore-persona-card h3.semcore-persona-card__nome,
.semcore-persona-card h3.semcore-persona-card__nome {
	margin: 0;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: 600;
	line-height: 1.2;
}

.semcore-persona-card .semcore-persona__ruolo {
	margin-bottom: 4px;
}

.semcore-persona-card__profilo {
	font-size: 0.9375rem;
}

/* Finestre medie: foto più stretta, ma ancora accanto al testo finché il nome sta su una riga */
@media (max-width: 900px) {
	.semcore-persona {
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 24px;
	}

	.semcore-persona:nth-of-type(even) {
		grid-template-columns: minmax(0, 1fr) 180px;
	}
}

/* Telefono: foto sopra il testo */
@media (max-width: 599px) {
	.semcore-persona,
	.semcore-persona:nth-of-type(even) {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.semcore-persona:nth-of-type(even) > .semcore-persona__foto {
		order: 0;
	}

	.semcore-persona > .semcore-persona__foto {
		width: 100%;
		max-width: 240px;
	}
}

/* [semcore_inchiostro]: pagina InChiostro organizzata come la sezione della Home */
/* Il contenuto della pagina parte subito sotto la testata: le fasce hanno i loro margini */
.sem-contenuto-pagina.e-con:has(.semcore-inchiostro) {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
}

/* Fasce a tutta larghezza (lo sfondo esce dalla colonna centrale senza far scorrere la pagina) */
.semcore-banda {
	padding: 56px 0 64px;
	box-shadow: 0 0 0 100vmax var(--semcore-banda-sfondo);
	clip-path: inset(0 -100vmax);
	background: var(--semcore-banda-sfondo);
}

.semcore-banda--chiara {
	--semcore-banda-sfondo: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-banda--cotto {
	--semcore-banda-sfondo: var(--sem-cotto, #C94B22);
	color: #fff;
}

.semcore-inchiostro__colonne {
	display: grid;
	grid-template-columns: minmax(0, 64fr) minmax(0, 36fr);
	gap: 24px;
	align-items: stretch; /* riquadri alti uguali, come in Home */
}

.semcore-riquadro {
	padding: var(--sem-riquadro-spazio, 28px);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-bianco, #FFFFFF);
}

/* Titolo attaccato al bordo superiore del riquadro (prevale sul margine dei titoli nei contenuti) */
.semcore-inchiostro h2.semcore-inchiostro__titolo,
.semcore-inchiostro .semcore-inchiostro__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h2, 2.75rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.2;
	color: var(--sem-testo, #2E2A27);
}

/* "Ultime notizie", "Prossimi appuntamenti" e "InChiostro" (newsletter): stesso livello di "Rassegna stampa"
   (titolo di sezione, 44 → 32 px; decisione dell'utente 3/11/2026, prima erano titoli di riquadro come in Home). */
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-inchiostro h2.semcore-inchiostro__titolo,
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-inchiostro h2.semcore-iscrizione__titolo,
.semcore-inchiostro .semcore-inchiostro__titolo,
.semcore-inchiostro .semcore-inchiostro__newsletter h2.semcore-iscrizione__titolo {
	font-size: var(--sem-t-h2, 2.75rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.2;
	letter-spacing: -0.02em;
}

.semcore-inchiostro .semcore-banda--cotto .semcore-inchiostro__titolo {
	margin-bottom: 8px;
	
	letter-spacing: -0.02em;
	color: #fff;
}

.semcore-inchiostro .semcore-inchiostro__sottotitolo {
	max-width: none;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	font-weight: var(--sem-p-sottotitolo, 500);
	margin: 0 0 28px;
	color: #fff;
}

.semcore-inchiostro .semcore-riquadro .semcore-filtro {
	margin-bottom: 20px;
}

/* Rassegna su fondo scuro: filtri e paginazione chiari, le card restano bianche */
.semcore-banda--cotto .semcore-filtro__titolo,
.semcore-banda--cotto .semcore-filtro__campo > span,
.semcore-banda--cotto .semcore-filtro__conteggio {
	color: #fff;
}

.semcore-banda--cotto .semcore-filtro__azzera,
.semcore-banda--cotto .semcore-paginazione a,
.semcore-banda--cotto .semcore-paginazione span {
	color: #fff;
}

@media (max-width: 1024px) {
	.semcore-inchiostro__colonne {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.semcore-banda {
		padding: 40px 0 48px;
	}
}

/* Rassegna stampa: logo del sito collegato (ricavato in automatico) */
.semcore-card--rassegna .semcore-card__media {
	position: relative;
}

/* L'anteprima riempie sempre il riquadro, qualunque siano le proporzioni della foto del giornale */
.semcore-card--rassegna .semcore-card__media > img.wp-post-image {
	position: absolute;
	inset: 0;
	/* Le regole del tema per le immagini nei contenuti (height: auto) qui non devono valere */
	height: 100% !important;
}

.semcore-card__logo-badge {
	position: absolute;
	left: 14px;
	bottom: 14px;
	display: block;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.semcore-card__logo-badge img.semcore-card__logo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Credito del giornale sull'immagine presa dall'articolo */
.semcore-card__credito {
	position: absolute;
	right: 10px;
	bottom: 10px;
	max-width: calc(100% - 80px);
	padding: 3px 8px;
	overflow: hidden;
	font-size: 0.6875rem;
	font-weight: 500;
	line-height: 1.3;
	color: #fff;
	white-space: nowrap;
	text-overflow: ellipsis;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.55);
}

.semcore-card__media--logo img.semcore-card__logo {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.semcore-card__media.semcore-card__media--logo {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 9;
	padding: 18%;
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-card__media--logo img.semcore-card__logo {
	max-width: 120px;
	max-height: 120px;
}

/* Card: il titolo sta subito sotto data e testata (niente margine dei titoli nei contenuti) */
.semcore-card h3.semcore-card__titolo {
	margin: 0;
}

/* Etichette degli argomenti sempre in maiuscolo, al livello "Occhiello" (card, testata della notizia, filtri) */
.semcore-card__tag a,
.semcore-notizie .semcore-filtro .semcore-chip {
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Eventi ricorrenti: "Ogni primo venerdì del mese, ore 21:00" sotto la data */
.semcore-evento__ripete {
	margin: 0;
	font-size: var(--sem-t-piccolo, 0.875rem);
	font-style: italic;
	color: var(--sem-testo-attenuato, #6B6560);
}

/* Card delle notizie: l'anteprima del testo occupa tutto lo spazio fino alle etichette
   (lo script card-testo.js la taglia a righe intere; senza script restano 4 righe) */
.semcore-card--notizia .semcore-card__testo {
	display: -webkit-box;
	flex: 1 1 0;
	min-height: calc(1.6em * 3);
	overflow: hidden;
	line-height: 1.6;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.semcore-card--notizia .semcore-card__tag {
	margin-top: 4px;
}

/* Etichetta selezionata: testo sempre bianco, anche al passaggio del mouse o dopo il clic */
.semcore-filtro .semcore-chip.is-attivo:is(:hover, :focus, :focus-visible, :active),
.semcore-filtro .semcore-chip:has(input:checked):hover {
	color: #fff;
	background: var(--sem-pulsante-hover, #8A2910);
	border-color: var(--sem-pulsante-hover, #8A2910);
}

/* Foto inserite nel testo di notizie e schede: di lato (Sinistra / Destra), larghe metà colonna, con il testo
   che le spiega accanto (regola delle notizie, 5/11/2026: mai al centro). Sul telefono tornano a tutta larghezza. */
.elementor-widget-theme-post-content :is(img, figure, .wp-caption).alignleft {
	float: left;
	width: calc(50% - 0.9em) !important; /* !important: la didascalia di WordPress ha la larghezza scritta nello stile */
	max-width: none;
	margin: 0.35em 1.75em 1em 0;
}

.elementor-widget-theme-post-content :is(img, figure, .wp-caption).alignright {
	float: right;
	width: calc(50% - 0.9em) !important;
	max-width: none;
	margin: 0.35em 0 1em 1.75em;
}

.elementor-widget-theme-post-content :is(figure, .wp-caption):is(.alignleft, .alignright) img {
	width: 100%;
}

.elementor-widget-theme-post-content :is(img, figure, .wp-caption).aligncenter {
	display: block;
	margin: 1.5em auto;
}

.elementor-widget-theme-post-content :is(.wp-block-image, figure) :is(.alignleft, .alignright) {
	max-width: 50%;
}

.elementor-widget-theme-post-content img:is(.alignleft, .alignright, .aligncenter),
.elementor-widget-theme-post-content :is(.wp-block-image, figure, .wp-caption) img {
	height: auto;
	border-radius: var(--sem-raggio, 6px);
}

.elementor-widget-theme-post-content :is(figcaption, .wp-caption-text) {
	margin-top: 6px;
	font-size: var(--sem-t-piccolo, 0.875rem);
	color: var(--sem-testo-attenuato, #6B6560);
}

/* Dopo le foto di lato il resto (galleria, collegamenti) riparte sotto */
.elementor-widget-theme-post-content :is(.semcore-carosello, .semcore-collegati, .semcore-dettagli) {
	clear: both;
}

.elementor-widget-theme-post-content::after {
	content: "";
	display: table;
	clear: both;
}

@media (max-width: 600px) {
	.elementor-widget-theme-post-content :is(img, figure, .wp-caption):is(.alignleft, .alignright),
	.elementor-widget-theme-post-content :is(.wp-block-image, figure) :is(.alignleft, .alignright) {
		float: none;
		width: 100% !important;
		max-width: 100%;
		margin: 1em 0;
	}
}

/* ---------- Iscrizione accanto al testo (Monastero Invisibile) ---------- */
/* Su schermo largo il contenuto della pagina diventa a due colonne uguali: testo a sinistra, riquadro a destra
   (le stesse misure del riquadro di Sostienici), fisso mentre si scorre. Sul telefono il riquadro resta in fondo al testo. */
@media (min-width: 900px) {
	.sem-contenuto-pagina .elementor-widget-theme-post-content:has(> .semcore-iscrizione),
	.sem-contenuto-pagina .elementor-widget-theme-post-content > .elementor-widget-container:has(> .semcore-iscrizione) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); /* stesse misure del riquadro di Sostienici */
		column-gap: 24px;
		row-gap: 0; /* il riquadro occupa molte righe: senza spazio fra le righe non resta vuoto in fondo */
		align-items: start;
	}

	.sem-contenuto-pagina .elementor-widget-theme-post-content:has(> .semcore-iscrizione) > :not(.semcore-iscrizione),
	.sem-contenuto-pagina .elementor-widget-theme-post-content > .elementor-widget-container:has(> .semcore-iscrizione) > :not(.semcore-iscrizione) {
		grid-column: 1;
	}

	.sem-contenuto-pagina .elementor-widget-theme-post-content > .semcore-iscrizione,
	.sem-contenuto-pagina .elementor-widget-theme-post-content > .elementor-widget-container > .semcore-iscrizione {
		grid-column: 2;
		grid-row: 1 / span 60;
		/* Resta visibile mentre si scorre; se è più alto della finestra, iscrizione.js abbassa "top" così
		   si ferma quando se ne vede il fondo. */
		position: sticky;
		top: var(--semcore-iscrizione-top, 110px);
	}

	.sem-contenuto-pagina .elementor-widget-theme-post-content:has(> .semcore-iscrizione) > h2:first-child,
	.sem-contenuto-pagina .elementor-widget-theme-post-content > .elementor-widget-container:has(> .semcore-iscrizione) > h2:first-child {
		margin-top: 0;
	}
}

.semcore-iscrizione {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-bianco, #fff);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-iscrizione__busta {
	position: absolute;
	right: -36px;
	bottom: -28px;
	z-index: -1;
	width: 78%;
	height: auto;
	transform: rotate(-8deg);
	pointer-events: none;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-iscrizione__titolo,
.semcore-iscrizione__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.25;
	color: var(--sem-testo, #2E2A27);
}

.semcore-iscrizione__testo {
	margin: 0 0 20px;
	font-size: var(--sem-t-corpo, 1.125rem);
	line-height: 1.6;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-iscrizione .semcore-newsletter {
	max-width: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

/* ---------- [semcore_fascia], [semcore_riquadri], [semcore_riquadro]: contenitori per le pagine ----------
 * Lo stesso linguaggio di InChiostro e della Home: fascia cotto chiaro a tutta larghezza, riquadri bianchi
 * con lo stesso margine interno e il titolo attaccato al bordo. */
.semcore-fascia {
	margin: 56px 0;
}

.semcore-fascia:last-child {
	margin-bottom: -80px; /* la fascia arriva fino al footer */
}

/* Classe ripetuta: vince sul margine dei titoli nel testo della pagina (.elementor-widget-theme-post-content h2). */
.semcore-fascia.semcore-fascia > :first-child,
.semcore-riquadro.semcore-riquadro > :first-child,
.semcore-colonna.semcore-colonna > :first-child,
.semcore-fascia .semcore-blocco-lingua.semcore-blocco-lingua > :first-child,
.semcore-riquadro .semcore-blocco-lingua.semcore-blocco-lingua > :first-child {
	margin-top: 0;
}

.semcore-fascia.semcore-fascia > :last-child,
.semcore-riquadro.semcore-riquadro > :last-child,
.semcore-colonna.semcore-colonna > :last-child {
	margin-bottom: 0;
}

.semcore-riquadri {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)); /* due colonne, alte uguali; una sola sul telefono */
	gap: 24px;
	align-items: stretch;
}

/* Un riquadro da solo occupa tutta la riga. */
.semcore-riquadri > .semcore-riquadro:only-child {
	grid-column: 1 / -1;
}

/* Nelle notizie i riquadri stanno staccati dal testo e dai pulsanti. */
.single-post .semcore-riquadri {
	margin: 40px 0;
}

/* [semcore_appoggiate]: foto appoggiate su una striscia cotto chiaro, come «Da notare» ma senza cornice. */
.semcore-appoggiate {
	margin: 40px 0;
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: 4px;
}

.elementor-widget-theme-post-content .semcore-appoggiate h3.semcore-appoggiate__titolo,
.semcore-appoggiate .semcore-appoggiate__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	line-height: 1.3;
}

.semcore-appoggiate__elenco {
	display: flex;
	flex-wrap: wrap;
	gap: 28px 40px;
	padding: 8px 0; /* spazio per l'inclinazione e l'ombra */
}

.semcore-appoggiata {
	flex: 1 1 260px;
	margin: 0;
}

.semcore-appoggiata__stampa {
	display: block;
	box-shadow: 0 1px 2px rgba(61, 15, 5, 0.18), 0 12px 24px -14px rgba(61, 15, 5, 0.5);
	transform: rotate(-1.5deg);
	transition: transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-appoggiata:nth-child(even) .semcore-appoggiata__stampa {
	transform: rotate(1.2deg);
}

.semcore-appoggiata:nth-child(3n) .semcore-appoggiata__stampa {
	transform: rotate(-0.8deg);
}

.semcore-appoggiata .semcore-appoggiata__stampa:is(:hover, :focus-visible) {
	transform: rotate(0) translateY(-3px);
	box-shadow: 0 1px 2px rgba(61, 15, 5, 0.18), 0 18px 30px -16px rgba(61, 15, 5, 0.55);
}

.elementor-widget-theme-post-content .semcore-appoggiata .semcore-appoggiata__stampa img,
.semcore-appoggiata__stampa img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
}

.semcore-appoggiata__didascalia {
	margin-top: 14px;
	font-size: 14px;
	color: var(--sem-testo-attenuato, #6B6560);
	text-align: center;
}

@media (max-width: 767px) {
	.semcore-appoggiate {
		padding: var(--sem-riquadro-spazio, 20px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.semcore-appoggiata__stampa {
		transition: none;
	}
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-riquadro :is(h2, h3) {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	line-height: 1.3;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-riquadro :is(p, ul, ol) {
	max-width: none;
}

@media (max-width: 767px) {
	.semcore-riquadri {
		grid-template-columns: minmax(0, 1fr);
	}

	.semcore-fascia {
		margin: 40px 0;
		padding: 40px 0 48px;
	}

	.semcore-fascia:last-child {
		margin-bottom: -56px;
	}
}

/* Note legali in fondo alle pagine (es. diritti sui testi del Monastero): livello "Piccolo". */
.sem-contenuto-pagina .elementor-widget-theme-post-content p.semcore-nota,
.semcore-nota {
	max-width: none;
	margin: 32px 0 0;
	font-size: var(--sem-t-piccolo, 0.875rem);
	line-height: 1.5;
	color: var(--sem-testo-attenuato, #6B6560);
}

/* [semcore_colonne]: testo a sinistra, blocco dedicato a destra (es. lettera del Rettore e mappa del Monastero). */
.semcore-colonne {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(40px, 5vw, 72px);
	align-items: start;
	margin: 0 0 56px;
}

.semcore-colonna > :first-child,
.semcore-colonna .semcore-blocco-lingua > :first-child {
	margin-top: 0;
}

.semcore-colonna:last-child {
	position: sticky;
	top: 120px;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-colonna :is(p, ul, ol, blockquote) {
	max-width: none;
}

/* Nelle notizie la colonna con la foto accanto al testo non resta fissa: le sezioni si susseguono. */
.semcore-colonna:last-child:has(> .semcore-figura:only-child) {
	position: static;
}

.semcore-colonna .semcore-figura {
	margin: 0;
}

.semcore-colonna .semcore-figura img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sem-raggio, 6px);
	box-shadow: 0 18px 40px -28px rgba(61, 15, 5, 0.55);
}

/* [semcore_locandina]: locandina intera nella colonna, cliccabile a schermo intero. */
.semcore-locandina {
	margin: 0;
}

.semcore-locandina a {
	display: block;
	cursor: zoom-in;
}

.semcore-locandina img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sem-raggio, 6px);
	box-shadow: 0 18px 40px -28px rgba(61, 15, 5, 0.55);
}

/* Nella colonna la legenda della mappa va sotto la pianta, su due colonne. */
.semcore-colonne .semcore-mappa--legenda {
	grid-template-columns: minmax(0, 1fr);
}

.semcore-colonne .semcore-mappa {
	margin: 0;
}

.semcore-colonne .semcore-mappa__legenda {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 899px) {
	.semcore-colonne {
		grid-template-columns: minmax(0, 1fr);
	}

	.semcore-colonna:last-child {
		position: static;
	}
}

/* Pulsante pieno del plugin (es. "Inizia la visita"): come i pulsanti del Kit. */
.semcore-inizia-visita__riga {
	margin: 28px 0 0;
}

a.semcore-pulsante.semcore-pulsante,
.semcore-pulsante {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 13px 24px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	text-decoration: none;
	border-radius: 999px;
	background: var(--sem-pulsante, #C94B22);
	transition: background-color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

a.semcore-pulsante.semcore-pulsante:hover,
a.semcore-pulsante.semcore-pulsante:focus-visible {
	color: #fff;
	background: var(--sem-pulsante-hover, #8A2910);
	transform: translateY(-2px);
	box-shadow: 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

.semcore-pulsante .semcore-pulsante__freccia {
	transition: transform var(--sem-transizione, 250ms ease);
}

.semcore-pulsante:hover .semcore-pulsante__freccia {
	transform: translateX(4px);
}

/* Card a foto piena: il titolo resta bianco anche al passaggio del mouse; il numero della tappa è un
   piccolo bollino bianco in alto a sinistra. */
.semcore-card.semcore-card--foto .semcore-card__titolo a,
.semcore-card.semcore-card--foto .semcore-card__titolo a:hover,
.semcore-card.semcore-card--foto .semcore-card__titolo a:focus-visible {
	color: #fff;
}

.semcore-card--tappa .semcore-card__numero {
	position: absolute;
	top: 16px;
	left: 16px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	margin: 0;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--sem-cotto, #C94B22);
	border-radius: 50%;
	/* Bianco pieno: il numero è piccolo (14–16 px) e sul vetro trasparente scendeva sotto AA sulle foto
	   chiare; il cotto sul bianco ha 4,65:1. */
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--sem-vetro-bordo, rgba(255, 255, 255, 0.85));
	-webkit-backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
	backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
}

/* "Da notare": striscia cotto chiaro con tre foto incorniciate come stampe fotografiche (bordo bianco,
   ombra, leggera inclinazione che si raddrizza al passaggio del mouse), titolo e descrizione sotto. */
.semcore-notare.semcore-banda {
	/* Pagina d'album (decisione dell'utente): carta nel cotto chiaro della palette, con grana e fibre
	   (rumore SVG nei toni del cotto) e un velo appena più scuro in alto e in basso. La trama sta in uno
	   strato a tutta larghezza (::before), così la carta è uguale anche fuori dalla colonna centrale. */
	--semcore-banda-sfondo: var(--sem-cotto-chiaro, #FCEEE8);
	position: relative;
	isolation: isolate;
	margin: 56px 0;
}

.semcore-notare.semcore-banda::before {
	content: "";
	position: absolute;
	inset: 0 calc(50% - 50vw);
	z-index: -1;
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='c'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.24 0 0 0 0 0.06 0 0 0 0 0.02 0 0 0 0.09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23c)'/%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.012 0.09' numOctaves='2' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 0.54 0 0 0 0 0.16 0 0 0 0 0.06 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),
		linear-gradient(180deg, rgba(224, 122, 85, 0.1) 0%, rgba(224, 122, 85, 0) 18%, rgba(224, 122, 85, 0) 82%, rgba(224, 122, 85, 0.1) 100%);
	background-size: 240px 240px, 600px 600px, 100% 100%;
	pointer-events: none;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-notare__titolo {
	margin: 0 0 32px;
}

.semcore-notare__elenco {
	padding-top: 12px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: clamp(24px, 3vw, 40px);
}

.semcore-card.semcore-notare__voce {
	overflow: visible;
	background: transparent;
	border: 0;
	border-radius: 0;
}

.semcore-card.semcore-notare__voce:hover {
	transform: none;
	box-shadow: none;
}

.semcore-notare__voce .semcore-card__media {
	display: block;
	padding: 12px; /* cornice uguale su tutti i lati (decisione dell'utente 6/11/2026) */
	overflow: visible; /* l'ombra e gli scontorni ingranditi escono dalla cornice */
	aspect-ratio: auto;
	background: #fff;
	position: relative;
	box-shadow: 0 1px 2px rgba(61, 15, 5, 0.18), 0 10px 22px -14px rgba(61, 15, 5, 0.45);
	transform: rotate(-1.5deg);
	transition: transform var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-notare__voce:nth-child(2) .semcore-card__media {
	transform: rotate(1.2deg);
}

.semcore-notare__voce:nth-child(3) .semcore-card__media {
	transform: rotate(-0.8deg);
}

/* Foto e cornice si muovono insieme, come una stampa vera: niente zoom della foto dentro la cornice. */
.semcore-card.semcore-notare__voce .semcore-card__media img,
.semcore-card.semcore-notare__voce:hover .semcore-card__media img {
	transform: none;
	transition: none;
}

.semcore-notare__voce:hover .semcore-card__media {
	transform: rotate(0) translateY(-3px);
	box-shadow: 0 1px 2px rgba(61, 15, 5, 0.18), 0 16px 28px -16px rgba(61, 15, 5, 0.5);
}

/* Le stampe di «Da notare» non seguono la regola «foto sempre piena» delle card (posizione assoluta):
   l'altezza la dà la foto stessa (4:3, 4:5 o più foto affiancate), altrimenti la cornice si schiaccia. */
.semcore-card.semcore-notare__voce .semcore-card__media > img {
	position: static;
	inset: auto;
	height: auto !important;
}

.semcore-notare__voce .semcore-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
}

.semcore-notare__voce .semcore-card__corpo {
	padding: 20px 4px 0;
}

.semcore-notare__voce .semcore-card__titolo {
	margin: 0 0 6px;
	font-size: var(--sem-t-h3, 1.5rem);
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-notare__voce p {
	max-width: none;
	margin: 0;
}

/* Nota sui diritti in fondo a una fascia (pagina Monastero) e in fondo alle tappe: poco spazio, uguale sopra
   e sotto (32 px, 24 sul telefono): la fascia che finisce con la nota ha meno margine interno. Nelle tappe la nota
   è l'ultimo elemento e sotto resta lo spazio di tutte le pagine prima del footer (80 px, 56 sul telefono; 5/11/2026). */
.sem-contenuto-pagina .semcore-fascia .semcore-blocco-lingua.semcore-blocco-lingua > p.semcore-nota,
.sem-contenuto-pagina .semcore-fascia.semcore-fascia > p.semcore-nota,
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-tappa__nota p.semcore-nota {
	margin-top: 32px;
}

.sem-contenuto-pagina .semcore-fascia.semcore-fascia:has(> .semcore-blocco-lingua:last-child > p.semcore-nota, > p.semcore-nota:last-child) {
	padding-bottom: 32px;
}

.semcore-tappa__nota {
	margin: 0;
}

@media (max-width: 767px) {
	.sem-contenuto-pagina .semcore-fascia .semcore-blocco-lingua.semcore-blocco-lingua > p.semcore-nota,
	.sem-contenuto-pagina .semcore-fascia.semcore-fascia > p.semcore-nota,
	.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-tappa__nota p.semcore-nota {
		margin-top: 24px;
	}

	.sem-contenuto-pagina .semcore-fascia.semcore-fascia:has(> .semcore-blocco-lingua:last-child > p.semcore-nota, > p.semcore-nota:last-child) {
		padding-bottom: 24px;
	}
}

/* Più foto dello stesso elemento: affiancate nella stessa cornice, insieme alte come una foto 4:3. */
.semcore-notare__voce .semcore-card__media:is(.semcore-notare__foto--2, .semcore-notare__foto--3) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}

.semcore-notare__voce .semcore-card__media.semcore-notare__foto--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.semcore-notare__voce .semcore-notare__foto--2 img {
	aspect-ratio: 2 / 3;
}

.semcore-notare__voce .semcore-notare__foto--3 img {
	aspect-ratio: 4 / 9;
}

/* Elementi scontornati (PNG trasparenti con la loro ombra): appoggiati sulla carta, senza cornice. */
.semcore-notare__voce--scontorno .semcore-card__media,
.semcore-notare__voce--scontorno:hover .semcore-card__media {
	background: none; /* stesso margine della cornice: i titoli restano allineati */
	box-shadow: none;
}

.semcore-notare__voce--scontorno .semcore-card__media img {
	object-fit: contain;
}

/* Gli scontorni (e i collage già composti con le loro cornici) escono dal riquadro della cornice: più grandi delle foto
   incorniciate accanto (decisione dell'utente 3/11/2026). */
.semcore-card.semcore-notare__voce--scontorno .semcore-card__media img,
.semcore-card.semcore-notare__voce--scontorno:hover .semcore-card__media img {
	transform: scale(1.15);
}

/* Foto incorniciata verticale: cornice verticale, così non restano bordi bianchi ai lati. */
.semcore-notare__voce--verticale .semcore-card__media img {
	aspect-ratio: 4 / 5;
}

/* Accanto a uno scontorno, una foto normale ha la sua piccola cornice bianca. */
.semcore-notare__voce--scontorno .semcore-card__media img.semcore-notare__stampa {
	align-self: center;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	padding: 6px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(61, 15, 5, 0.18), 0 10px 22px -14px rgba(61, 15, 5, 0.45);
}

.semcore-notare__voce--scontorno .semcore-card__media:is(.semcore-notare__foto--2, .semcore-notare__foto--3) {
	align-items: center;
	gap: 16px;
}

@media (max-width: 767px) {
	/* Sul telefono le stampe inclinate e gli scontorni ingranditi non devono far scorrere la pagina di lato. */
	.semcore-notare__elenco {
		overflow-x: clip;
	}
}

@media (prefers-reduced-motion: reduce) {
	.semcore-notare__voce .semcore-card__media {
		transition: none;
	}
}

/* Numero della tappa nei pulsanti precedente / successiva: bollino bianco accanto al titolo. */
.semcore-card.semcore-card--foto.semcore-tappa-nav__voce .semcore-card__titolo {
	display: flex;
	align-items: center;
	gap: 12px;
}

.semcore-card.semcore-card--foto.semcore-tappa-nav__voce[rel="next"] .semcore-card__titolo {
	flex-direction: row-reverse;
}

.semcore-tappa-nav__numero {
	display: inline-grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	text-shadow: none;
	color: var(--sem-cotto, #C94B22);
	border-radius: 50%;
	/* Bianco pieno: il numero è piccolo (14–16 px) e sul vetro trasparente scendeva sotto AA sulle foto
	   chiare; il cotto sul bianco ha 4,65:1. */
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--sem-vetro-bordo, rgba(255, 255, 255, 0.85));
	-webkit-backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
	backdrop-filter: var(--sem-vetro-filtro, blur(14px) saturate(150%) brightness(1.6));
}

/* ---------- Progetti: card, testata con i partner, fascia dei dati, documenti ---------- */
/* Nella card: i loghi scelti nella Redazione, grandi e cliccabili (portano al sito del partner) */
.semcore-card__partner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 24px;
	margin: auto 0 0;
	padding: 16px 0 0;
	list-style: none;
	border-top: 1px solid var(--sc-bordo);
}

.semcore-card__importo + .semcore-card__partner {
	margin-top: 16px;
}

.semcore-card__partner li {
	margin: 0;
}

.semcore-card__partner a {
	display: block;
	border-radius: 6px;
	transition: transform var(--sem-transizione, 250ms ease), opacity var(--sem-transizione, 250ms ease);
}

.semcore-card__partner a:hover,
.semcore-card__partner a:focus-visible {
	transform: translateY(-2px);
	opacity: 0.85;
}

.semcore-card .semcore-card__partner img {
	display: block;
	width: auto;
	max-width: 200px;
	height: 64px;
	object-fit: contain;
}

/* Testata del progetto: i partner sopra la foto, in alto a destra, su un velo scuro e sfocato con i loghi bianchi,
   come nella locandina del progetto (4/11/2026; prima vetro chiaro). L'altezza di ogni logo la calcola il template
   in base all'area (--semcore-logo-h), così loghi larghi e quadrati sembrano grandi uguali. */
.semcore-testata .semcore-partner {
	position: absolute;
	top: 28px;
	right: 24px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	max-width: min(520px, 46%);
	margin: 0;
	padding: 14px 20px 16px;
	color: #fff;
	background: rgba(46, 22, 12, 0.5);
	border-radius: 22px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18), 0 10px 30px -16px rgba(0, 0, 0, 0.6);
	-webkit-backdrop-filter: blur(12px) saturate(120%);
	backdrop-filter: blur(12px) saturate(120%);
}

.semcore-testata .semcore-partner__etichetta {
	margin: 0;
	font-size: var(--sem-t-occhiello, 13px);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-align: center;
	color: #fff;
	text-shadow: none;
}

.semcore-partner__gruppo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 14px 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-partner__gruppo li {
	margin: 0;
}

.semcore-partner__gruppo a {
	display: block;
	transition: transform var(--sem-transizione, 250ms ease);
}

.semcore-partner__gruppo a:hover {
	transform: translateY(-2px);
}

.semcore-testata .semcore-partner .semcore-partner__gruppo img {
	display: block;
	width: auto;
	object-fit: contain;
}

/* Principali più grandi, secondari più piccoli; sotto i 1200 px si riducono un po' */
.semcore-testata .semcore-partner .semcore-partner__gruppo img {
	height: calc(var(--semcore-logo-h, 56px) * var(--semcore-logo-scala, 1));
	max-width: 280px;
}

.semcore-partner__gruppo--secondari {
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}

.semcore-partner__nome {
	font-weight: 700;
	color: #fff;
}

@media (max-width: 1200px) {
	.semcore-testata .semcore-partner {
		--semcore-logo-scala: 0.8;
	}
}

.semcore-partner__gruppo--principali .semcore-partner__nome {
	font-size: 1.125rem;
}

.semcore-partner__gruppo--secondari .semcore-partner__nome {
	font-size: 0.875rem;
}

/* Fascia dei dati, attaccata alla testata */
.sem-contenuto-pagina .semcore-progetto__dati {
	margin-top: -40px;
	margin-bottom: 48px;
	padding: 28px 0;
}

.semcore-progetto__info {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 48px;
	margin: 0;
}

.semcore-progetto__dato dt {
	margin: 0 0 4px;
	font-size: var(--sem-t-occhiello, 13px);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	/* Su cotto chiaro: cotto testo (5,6:1), non il cotto centrale (4,1:1) */
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-progetto__dato dd {
	margin: 0;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	font-weight: 500;
	line-height: 1.4;
	color: var(--sem-testo, #2E2A27);
	font-variant-numeric: tabular-nums;
}

/* Fascia dei dati: due soli livelli (occhiello e valore). Lo stato è un valore come gli altri,
   con un pallino colorato al posto della pillola delle card (decisione dell'utente 4/11/2026). */
.semcore-progetto__dato .semcore-stato {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0;
	font-size: inherit;
	color: inherit;
	background: none;
	box-shadow: none;
}

.semcore-progetto__dato .semcore-stato::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--sem-cotto, #C94B22);
}

.semcore-progetto__dato .semcore-stato--programmato::before {
	background: transparent;
	box-shadow: inset 0 0 0 2px var(--sem-cotto, #C94B22);
}

.semcore-progetto__dato .semcore-stato--concluso::before {
	background: var(--sem-testo-attenuato, #6B6560);
}

/* Titoli delle sezioni della scheda: "Documenti" al livello card, "Ne abbiamo parlato" al livello sezione */
.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-progetto__titolo,
.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-area-download__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.3;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content h2.semcore-progetto__titolo--sezione {
	margin-bottom: 28px;
	font-size: var(--sem-t-h2, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

/* Documenti: nome scelto nella Redazione e pulsante "Scarica" ben visibile */
.semcore-scarica {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-scarica__voce {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 16px 18px;
	background: #fff;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 6px;
	transition: border-color var(--sem-transizione, 250ms ease), box-shadow var(--sem-transizione, 250ms ease);
}

.semcore-scarica__voce:hover {
	border-color: var(--sem-cotto, #C94B22);
	box-shadow: 0 10px 24px -18px rgba(61, 15, 5, 0.5);
}

.semcore-scarica__icona {
	display: grid;
	flex: none;
	place-items: center;
	width: 48px;
	height: 48px;
	color: var(--sem-cotto, #C94B22);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: 6px;
}

.semcore-scarica__testo {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
}

.semcore-scarica__nome {
	font-size: var(--sem-t-corpo, 1.125rem);
	font-weight: 600;
	color: var(--sem-testo, #2E2A27);
}

.semcore-scarica__info {
	font-size: var(--sem-t-piccolo, 14px);
	color: var(--sem-testo-attenuato, #6B6560);
}

a.semcore-pulsante.semcore-scarica__pulsante {
	flex: none;
}

/* Testata del progetto: altezza fissa, la stessa delle pagine principali */
.semcore-testata.semcore-testata--progetto {
	height: clamp(360px, 58vh, 580px);
}

@media (max-width: 767px) {
	.semcore-testata.semcore-testata--progetto {
		height: auto;
		min-height: 340px;
	}

	/* Sul telefono i partner vanno sotto il titolo, nel flusso della testata */
	.semcore-testata .semcore-partner {
		position: static;
		align-items: stretch;
		max-width: none;
		margin-top: 6px;
	}

	.semcore-partner__gruppo {
		justify-content: center;
	}

	.semcore-testata .semcore-partner {
		--semcore-logo-scala: 0.75;
		padding: 16px 18px 18px;
	}

	.semcore-testata .semcore-partner .semcore-partner__gruppo {
		gap: 12px 20px;
	}

	.semcore-card .semcore-card__partner img {
		height: 52px;
	}

	.sem-contenuto-pagina .semcore-progetto__dati {
		margin-top: -32px;
	}

	.semcore-scarica__voce {
		flex-wrap: wrap;
	}

	a.semcore-pulsante.semcore-scarica__pulsante {
		width: 100%;
		justify-content: center;
	}
}

/* Notizia: "di Nome" sulla stessa riga della data (widget Info articolo) */
.semcore-autore-notizia strong {
	font-weight: 700;
	color: var(--sem-testo, #2E2A27);
}

/* Agenda: etichette delle categorie sopra l'elenco, come il filtro degli argomenti delle notizie */
.semcore-agenda .semcore-filtro--categorie {
	margin: 0 0 16px;
}

/* Home: card delle notizie compatte (foto più bassa, titolo più piccolo, due righe di testo) */
.semcore-notizie--compatte .semcore-griglia {
	gap: 20px;
}

.semcore-notizie--compatte .semcore-card__media {
	aspect-ratio: 16 / 9;
}

.semcore-notizie--compatte .semcore-card__corpo {
	gap: 6px;
	padding: 16px 18px 18px;
}

.semcore-card.semcore-card--notizia .semcore-notizie--compatte .semcore-card__titolo,
.semcore-notizie--compatte .semcore-card .semcore-card__titolo {
	font-size: 1.125rem;
	line-height: 1.3;
}

.semcore-notizie--compatte .semcore-card--notizia .semcore-card__testo {
	flex: none;
	min-height: 0;
	font-size: 0.9375rem;
	-webkit-line-clamp: 2;
}

/* Appuntamenti che non stanno nell'altezza del riquadro accanto (assets/js/agenda-adatta.js) */
.semcore-agenda-breve > li[hidden] {
	display: none;
}

/* Notizie: data e argomenti sulla stessa riga, sopra il titolo (11/10/2026); il testo riempie la card fino in fondo */
.semcore-card__sopra {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.semcore-card.semcore-card--notizia .semcore-card__tag,
.sem-contenuto-pagina .semcore-riquadro .semcore-card--notizia .semcore-card__tag {
	margin: 0;
	padding: 0;
	line-height: 1;
}

.sem-contenuto-pagina .semcore-riquadro .semcore-card .semcore-card__titolo {
	margin: 0;
}

/* Appuntamenti: categorie sopra il titolo */
.semcore-evento .semcore-evento__corpo .semcore-evento__tag {
	margin: 0 0 6px;
	line-height: 1;
}

.semcore-evento .semcore-evento__corpo .semcore-evento__titolo,
.sem-contenuto-pagina .semcore-riquadro .semcore-evento .semcore-evento__titolo {
	margin: 0 0 6px;
}

/* =====================================================================
 * Moduli del sito ([semcore_modulo], [semcore_amici_iscrizione]) e pagina Amici del Seminario (12/10/2026)
 * ===================================================================== */
.semcore-colonne--larga {
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
}

.sem-contenuto-pagina .elementor-widget-theme-post-content p.semcore-sottotitolo {
	margin-top: -0.25em;
	font-size: var(--sem-t-sottotitolo, 1.25rem);
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-occhiello {
	margin: 24px 0 8px;
	font-size: var(--sem-t-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

/* Occhiello sopra un titolo: il titolo gli sta attaccato. */
.semcore-occhiello.semcore-occhiello + :is(h2, h3) {
	margin-top: 0;
}

/* Cifre grandi (es. "5 giovani accolti in Seminario") */
.semcore-cifre {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-cifre li,
.semcore-cifre li {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	padding: 20px 24px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-cifre b {
	flex: none;
	min-width: 3.2em;
	font-size: var(--sem-t-h2, 2.75rem);
	font-weight: 700;
	line-height: 1;
	color: var(--sem-cotto, #C94B22);
}

.semcore-cifre span {
	font-size: var(--sem-t-corpo, 1.125rem);
	line-height: 1.4;
}

@supports (grid-template-columns: subgrid) {
	.semcore-cifre {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-cifre li,
	.semcore-cifre li {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: subgrid;
		column-gap: 20px;
	}

	.semcore-cifre b {
		min-width: 0;
	}
}

/* ---------- Moduli: campi, scelte, consenso ---------- */
.semcore-modulo {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 16px;
	margin: 0;
}

.semcore-modulo > *,
.semcore-modulo .semcore-modulo__campo {
	flex: 1 1 100%;
	margin: 0;
}

.semcore-modulo .semcore-modulo__campo--mezzo {
	flex: 1 1 calc(50% - 8px);
	min-width: 200px;
}

.semcore-modulo label,
.semcore-modulo legend {
	display: block;
	margin: 0 0 6px;
	padding: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--sem-testo, #2E2A27);
}

.semcore-modulo__obbligatorio {
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-modulo :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], select, textarea) {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	font: inherit;
	font-size: 1rem;
	color: var(--sem-testo, #2E2A27);
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	box-shadow: none;
}

.semcore-modulo textarea {
	min-height: 130px;
	resize: vertical;
}

/* Aree di testo brevi (rows="2", es. l'intenzione per la Messa). */
.semcore-modulo textarea[rows="2"] {
	min-height: 72px;
}

.semcore-modulo :is(input, select, textarea):focus {
	border-color: var(--sem-cotto, #C94B22);
	outline: 2px solid var(--sem-cotto, #C94B22);
	outline-offset: 1px;
}

.semcore-modulo .semcore-modulo__aiuto {
	display: block;
	margin-top: 6px;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-modulo fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.semcore-modulo .semcore-modulo__scelta {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
}

.semcore-modulo input[type="radio"],
.semcore-modulo input[type="checkbox"] {
	flex: none;
	width: 20px;
	height: 20px;
	margin: 2px 0 0;
	accent-color: var(--sem-cotto, #C94B22);
}

.semcore-modulo .semcore-modulo__campo--consenso label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-modulo .semcore-modulo__trappola {
	position: absolute !important;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.semcore-modulo button.semcore-pulsante {
	min-height: 44px;
	font-family: inherit;
	border: 0;
	cursor: pointer;
}

.semcore-modulo button.semcore-pulsante:hover,
.semcore-modulo button.semcore-pulsante:focus-visible {
	background: var(--sem-pulsante-hover, #8A2910);
	transform: translateY(-2px);
	box-shadow: 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

.semcore-modulo .semcore-modulo__nota {
	font-size: 0.8125rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

/* "I campi con * sono obbligatori" accanto al pulsante d'invio, non sotto. */
.semcore-modulo > .semcore-modulo__invio {
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.semcore-modulo > .semcore-modulo__nota {
	flex: 1 1 12rem;
	align-self: center;
	margin: 0;
}

.semcore-modulo__esito {
	margin: 0;
	padding: 16px 20px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--sem-cotto-profondo, #3D0F05);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-left: 4px solid var(--sem-cotto, #C94B22);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-modulo__esito--errore {
	color: var(--sem-cotto-scuro, #8A2910);
	background: var(--sem-bianco, #FFFFFF);
}

/* ---------- Iscrizione agli Amici: caratteri e campi grandi ---------- */
.semcore-modulo--grande {
	gap: 24px 16px;
	font-size: 1.125rem;
}

.semcore-modulo--grande label,
.semcore-modulo--grande .semcore-modulo__campo label {
	font-size: 1.125rem;
}

.semcore-modulo--grande :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
	min-height: 56px;
	padding: 14px 16px;
	font-size: 1.125rem;
	border-width: 1.5px;
	border-color: #CDBFAC;
}

.semcore-modulo--grande .semcore-modulo__aiuto {
	font-size: 0.9375rem;
}

.semcore-modulo--grande .semcore-modulo__campo--consenso label {
	font-size: 0.9375rem;
}

.semcore-modulo--grande input[type="checkbox"] {
	width: 26px;
	height: 26px;
	margin: 0;
}

.semcore-modulo--grande button.semcore-pulsante {
	min-height: 60px;
	padding: 16px 36px;
	font-size: 1.125rem;
}

.semcore-amici-modulo {
	padding: clamp(20px, 3.5vw, 40px);
	background: var(--sem-bianco, #FFFFFF);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-amici-modulo .semcore-amici__passo {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 16px;
	padding: 0 0 28px;
	border-bottom: 1px solid var(--sem-fondo-attenuato, #F2EBE1);
}

.semcore-amici-modulo .semcore-amici__passo > legend {
	display: flex;
	align-items: center;
	gap: 14px;
	float: left; /* la legenda resta nel flusso del fieldset (flex) */
	width: 100%;
	margin: 0 0 4px;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: 600;
	line-height: 1.2;
}

.semcore-amici__numero {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	font-size: 1.125rem;
	font-weight: 700;
	color: #fff;
	background: var(--sem-cotto, #C94B22);
	border-radius: 50%;
}

/* Quote e modalità: schede grandi da toccare */
.semcore-amici__schede {
	display: grid;
	flex: 1 1 100%;
	gap: 12px;
}

.semcore-amici-modulo label.semcore-amici__scheda {
	position: relative;
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr) auto;
	align-items: center;
	gap: 2px 14px;
	margin: 0;
	padding: 18px 20px;
	font-weight: 400;
	background: var(--sem-sfondo, #F9F4ED);
	border: 2px solid var(--sem-bordo, #E4D9C9);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color var(--sem-transizione, 250ms ease), background-color var(--sem-transizione, 250ms ease);
}

.semcore-amici-modulo label.semcore-amici__scheda:hover {
	border-color: var(--sem-cotto-medio, #E07A55);
}

.semcore-amici__scheda input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.semcore-amici__segno {
	grid-row: span 2;
	width: 28px;
	height: 28px;
	border: 2px solid #A8998A;
	border-radius: 50%;
	background: #fff;
	transition: all var(--sem-transizione, 250ms ease);
}

.semcore-amici__nome {
	font-size: 1.1875rem;
	font-weight: 600;
	line-height: 1.25;
}

.semcore-amici__importo {
	grid-row: span 2;
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--sem-cotto, #C94B22);
}

.semcore-amici__testo {
	grid-column: 2;
	font-size: 1rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-amici__scheda:has(input:checked) {
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-color: var(--sem-cotto, #C94B22);
}

.semcore-amici__scheda input:checked + .semcore-amici__segno {
	border: 8px solid var(--sem-cotto, #C94B22);
}

.semcore-amici__scheda:has(input:focus-visible) {
	outline: 3px solid var(--sem-cotto, #C94B22);
	outline-offset: 2px;
}

/* Dettagli della modalità scelta (senza :has() restano tutti visibili) */
.semcore-amici__dettaglio {
	flex: 1 1 100%;
	padding: 20px 22px;
	background: var(--sem-fondo-attenuato, #F2EBE1);
	border-radius: 12px;
}

.semcore-amici__dettaglio h4 {
	margin: 0 0 6px;
	font-size: 1.1875rem;
	font-weight: 600;
}

.semcore-amici__dettaglio p {
	margin: 0 0 12px;
	line-height: 1.5;
}

.semcore-amici__dettaglio > :last-child {
	margin-bottom: 0;
}

@supports selector(:has(*)) {
	.semcore-amici__dettaglio {
		display: none;
	}

	.semcore-amici-modulo:has(input[value="bonifico"]:checked) .semcore-amici__dettaglio--bonifico,
	.semcore-amici-modulo:has(input[value="parrocchia"]:checked) .semcore-amici__dettaglio--parrocchia,
	.semcore-amici-modulo:has(input[value="seminario"]:checked) .semcore-amici__dettaglio--seminario {
		display: block;
	}
}

.semcore-amici__dettaglio .semcore-iban {
	margin: 0 0 12px;
	padding: 18px 20px;
	background: #fff;
}

.semcore-amici__dettaglio .semcore-iban__codice {
	font-size: clamp(1.15rem, 2.4vw, 1.5rem);
}

.semcore-amici__causale strong {
	letter-spacing: 0.02em;
}

.semcore-amici-modulo .semcore-amici__file {
	margin: 4px 0 0;
}

.semcore-amici-modulo .semcore-amici__file input[type="file"] {
	display: block;
	width: 100%;
	padding: 14px;
	font: inherit;
	font-size: 1rem;
	background: #fff;
	border: 2px dashed #CDBFAC;
	border-radius: 12px;
	cursor: pointer;
}

.semcore-amici-modulo .semcore-amici__file input[type="file"]::file-selector-button {
	margin-right: 14px;
	padding: 10px 20px;
	font: inherit;
	font-weight: 600;
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

/* Aiuto accanto al modulo */
.semcore-amici-aiuto {
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	border-radius: var(--sem-raggio, 6px);
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-amici-aiuto h3 {
	margin: 0 0 16px;
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-amici-aiuto__passi {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
	counter-reset: passo;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-amici-aiuto__passi li,
.semcore-amici-aiuto__passi li {
	position: relative;
	margin: 0 0 14px;
	padding-left: 44px;
	font-size: var(--sem-t-corpo, 1.125rem);
	line-height: 1.45;
	counter-increment: passo;
}

.semcore-amici-aiuto__passi li::before {
	content: counter(passo);
	position: absolute;
	top: -2px;
	left: 0;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	font-weight: 700;
	color: var(--sem-cotto, #C94B22);
	background: #fff;
	border-radius: 50%;
}

.semcore-amici-aiuto__voce {
	display: flex;
	gap: 14px;
	padding: 20px;
	background: #fff;
	border-radius: var(--sem-raggio, 6px);
}

.semcore-amici-aiuto__voce > svg {
	flex: none;
	color: var(--sem-cotto, #C94B22);
}

.semcore-amici-aiuto__voce p {
	margin: 0 0 6px;
	line-height: 1.45;
}

.semcore-amici-aiuto__numero a {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--sem-cotto-testo, #A83A19);
	text-decoration: none;
}

/* Conferma dopo l'invio: la stessa per tutti i moduli (Messaggi::conferma) */
.semcore-conferma {
	padding: clamp(24px, 4vw, 44px);
	font-size: 1.125rem;
	line-height: 1.55;
	text-align: center;
	background: var(--sem-bianco, #FFFFFF);
	border: 2px solid var(--sem-cotto, #C94B22);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-conferma .semcore-conferma__segno {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	margin: 0 auto 16px;
	font-size: 2.25rem;
	line-height: 1;
	color: #fff;
	background: var(--sem-cotto, #C94B22);
	border-radius: 50%;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-conferma h3,
.semcore-conferma h3 {
	margin: 0 0 12px;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	line-height: 1.25;
	color: var(--sem-testo, #2E2A27);
}

.semcore-conferma h3:focus {
	outline: none;
}

.semcore-conferma p {
	max-width: 36rem;
	margin: 0 auto 10px;
}

.semcore-conferma .semcore-conferma__poi {
	font-size: 1rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-conferma .semcore-conferma__poi a {
	font-weight: 600;
	color: var(--sem-cotto-testo, #A83A19);
}

.semcore-conferma .semcore-conferma__altro {
	margin: 18px auto 0;
	font-size: 1rem;
}

/* Dentro un riquadro che ha già il suo bordo (iscrizione a InChiostro e al Monastero Invisibile) */
.semcore-iscrizione .semcore-conferma {
	padding: 8px 0 0;
	background: transparent;
	border: 0;
}

/* Campo da correggere: bordo marcato e avviso sotto il campo */
/* .is-errore due volte: deve vincere sulla regola dei campi del Kit di Elementor */
.semcore-modulo .is-errore.is-errore :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="date"], select, textarea) {
	border: 2px solid var(--sem-cotto-scuro, #8A2910);
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-modulo .semcore-modulo__errore {
	display: block;
	margin: 6px 0 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--sem-cotto-scuro, #8A2910);
}

.semcore-modulo .semcore-modulo__errore::before {
	content: "! ";
	font-weight: 700;
}

.semcore-modulo fieldset.is-errore > legend,
.semcore-modulo .semcore-modulo__campo--consenso.is-errore span:not(.semcore-modulo__errore) {
	color: var(--sem-cotto-scuro, #8A2910);
}

/* La colonna del modulo non resta ferma: è il riquadro d'aiuto a seguire lo scorrimento */
.semcore-colonne--larga > .semcore-colonna:first-child {
	position: static;
}

@media (max-width: 899px) {
	.semcore-colonne--larga {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	.semcore-amici-modulo label.semcore-amici__scheda {
		grid-template-columns: 30px minmax(0, 1fr);
	}

	.semcore-amici__importo {
		grid-row: auto;
		grid-column: 2;
		font-size: 1.375rem;
	}
}

.sem-contenuto-pagina .elementor-widget-theme-post-content ul.semcore-cifre {
	max-width: none;
}

/* Sul telefono "Come funziona" (breve) viene prima del modulo. */
@media (max-width: 899px) {
	.semcore-colonne--larga > .semcore-colonna:last-child {
		order: -1;
	}
}

/* ---------- Mappa di Google Maps (Contatti) ---------- */
.semcore-mappa-google {
	position: relative;
	overflow: hidden;
	min-height: 420px;
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-mappa-google iframe {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}

body:not(.cmplz-marketing) .semcore-mappa-google--consenso iframe {
	visibility: hidden;
}

.semcore-mappa-google__consenso {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 16px;
	padding: var(--sem-riquadro-spazio, 28px);
	text-align: center;
}

.semcore-mappa-google__consenso p {
	max-width: 32em;
	margin: 0;
	color: var(--sem-testo, #2E2A27);
}

.semcore-mappa-google__consenso a {
	color: var(--sem-evidenza-testo, #A83A19);
	font-weight: 600;
}

body.cmplz-marketing .semcore-mappa-google__consenso {
	display: none;
}

/* Complianz aggiunge un suo avviso grigio (3,9:1) e l'immagine di una mappa finta sopra il nostro riquadro:
   coprivano il testo e il pulsante. Qui resta solo il nostro avviso. */
.semcore-mappa-google .cmplz-blocked-content-notice {
	display: none !important;
}

.semcore-mappa-google .cmplz-placeholder-parent,
.semcore-mappa-google .cmplz-placeholder-element {
	background: transparent none !important;
	box-shadow: none !important;
}

@media (max-width: 767px) {
	.semcore-mappa-google,
	.semcore-mappa-google iframe {
		min-height: 320px;
		height: 320px;
	}
}

/* Sfondi decorativi dei riquadri di Sostienici, disegnati come la busta del Monastero Invisibile
   (sagoma sfumata dal cotto medio al cotto, tratti nel cotto trasparente), in basso a destra e un po' ruotati:
   cero acceso (Intenzioni per la Messa). */
.e-con.semcore-sfondo {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.e-con.semcore-sfondo::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: auto;
	aspect-ratio: 200 / 240;
	background: no-repeat center / contain;
	transform: rotate(-8deg);
	pointer-events: none;
}

/* Grandi quasi quanto il riquadro e sull'angolo in basso a destra, come la busta; la base resta fuori.
   Opacità basse: anche dove i tratti si sovrappongono il testo attenuato resta sopra 4,5:1 (AA). */
.e-con.semcore-sfondo--cero::after {
	right: -14%;
	bottom: -22%;
	height: 100%;
	aspect-ratio: 200 / 300;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 300'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23E07A55' stop-opacity='0.02'/%3E%3Cstop offset='1' stop-color='%23C94B22' stop-opacity='0.08'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='100' cy='66' r='52' fill='%23E07A55' fill-opacity='0.04'/%3E%3Ccircle cx='100' cy='66' r='52' fill='none' stroke='%23C94B22' stroke-opacity='0.04' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M100 26 C117 48 122 68 113 84 C108 93 92 93 87 84 C78 68 83 48 100 26 Z' fill='%23C94B22' fill-opacity='0.04'/%3E%3Cpath d='M100 26 C117 48 122 68 113 84 C108 93 92 93 87 84 C78 68 83 48 100 26 Z' fill='none' stroke='%23C94B22' stroke-opacity='0.05' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M100 56 C107 66 107 78 100 85 C93 78 93 66 100 56 Z' fill='%23C94B22' fill-opacity='0.04'/%3E%3Cpath d='M100 92 V108' fill='none' stroke='%23C94B22' stroke-opacity='0.05' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Crect x='58' y='108' width='84' height='200' rx='10' fill='url(%23g)'/%3E%3Cpath d='M58 300 V118 a10 10 0 0 1 10 -10 H132 a10 10 0 0 1 10 10 V300' fill='none' stroke='%23C94B22' stroke-opacity='0.04' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M58 128 C70 128 74 136 82 132 C88 129 90 150 96 150 C102 150 102 132 110 130 C120 128 128 128 142 126' fill='none' stroke='%23C94B22' stroke-opacity='0.05' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M76 160 V290' fill='none' stroke='%23C94B22' stroke-opacity='0.04' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Sul telefono il riquadro delle intenzioni è alto e stretto: il cero si misura sulla larghezza. */
@media (max-width: 767px) {
	.e-con.semcore-sfondo--cero::after {
		right: -16%;
		bottom: -22vw;
		width: 72%;
		height: auto;
	}
}

/* Riquadro d'iscrizione con il rimando alla pagina (Sostienici): "Iscriviti" grande e pieno, "Scopri di più"
   è un link discreto in basso a destra, sulla stessa riga. */
.semcore-iscrizione--link .semcore-newsletter input.mailpoet_submit {
	min-height: 56px;
	padding: 16px 40px;
	font-size: 17px;
	font-weight: 700;
	box-shadow: 0 12px 26px -14px rgba(138, 41, 16, 0.6);
}

.semcore-iscrizione a.semcore-iscrizione__link {
	position: absolute;
	right: var(--sem-riquadro-spazio, 28px);
	bottom: calc(var(--sem-riquadro-spazio, 28px) + 14px);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	color: var(--sem-evidenza-testo, #A83A19);
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	background: none;
	border: 0;
}

.semcore-iscrizione a.semcore-iscrizione__link span {
	transition: transform var(--sem-transizione, 250ms ease);
}

.semcore-iscrizione a.semcore-iscrizione__link:hover,
.semcore-iscrizione a.semcore-iscrizione__link:focus-visible {
	color: var(--sem-cotto-scuro, #8A2910);
	background: none;
	text-decoration-thickness: 2px;
}

.semcore-iscrizione a.semcore-iscrizione__link:hover span,
.semcore-iscrizione a.semcore-iscrizione__link:focus-visible span {
	transform: translateX(4px);
}

/* Àncore sotto l'header fisso (es. /contatti/#mappa, /sostienici/#intenzioni). */
#mappa,
#intenzioni {
	scroll-margin-top: 120px;
}

/* Adesione al Monastero Invisibile: in fondo al riquadro la card "Hai bisogno di aiuto?" degli Amici. */
.semcore-iscrizione--completa .semcore-modulo {
	position: relative;
}

.semcore-iscrizione .semcore-amici-aiuto__voce {
	position: relative;
	margin-top: 24px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

/* Campo diventato obbligatorio per una scelta (moduli.js): compare l'asterisco. */
.semcore-modulo label.is-richiesto::after {
	content: " *";
	color: var(--sem-cotto-testo, #A83A19);
}

/* Asterisco dei passi obbligatori dell'iscrizione agli Amici: attaccato al titolo. */
.semcore-amici__passo legend .semcore-modulo__obbligatorio {
	margin-left: -8px;
}

/* Specchio con il modulo completo (Sostienici): "Scopri di più" in alto a destra, sulla riga del titolo. */
.semcore-iscrizione--completa a.semcore-iscrizione__link {
	top: calc(var(--sem-riquadro-spazio, 28px) + 2px);
	bottom: auto;
}

.semcore-iscrizione--completa.semcore-iscrizione--link .semcore-iscrizione__titolo {
	padding-right: 130px;
}

/* Sostienici → Uniti nella preghiera: le card impilate (Monastero Invisibile, InChiostro, Vieni a trovarci)
   si dividono l'altezza del riquadro delle Intenzioni accanto. */
.semcore-pila-alta > .elementor-widget-container,
.semcore-pila-alta .elementor-shortcode,
.semcore-pila-alta .semcore-sottopagine--pila {
	height: 100%;
}


/* Contatti: "Altri indirizzi" vicino ai recapiti. */
.sem-altri-indirizzi {
	margin-top: 8px;
}

/* Comunità: pulsante "Contatti" in basso a destra nel riquadro di un formatore (il Rettore). */
.semcore-persona__corpo:has(> .semcore-persona__contatti) {
	align-self: stretch;
}

.semcore-persona__contatti {
	display: flex;
	justify-content: flex-end;
	margin: auto 0 0;
	padding-top: 16px;
}

.semcore-persona__contatti .semcore-pulsante {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

/* Identità visiva (area stampa): logo e colori da scaricare, diritti e regole d'uso */
.semcore-identita__tutto {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: center;
	margin: 8px 0 0;
}

.semcore-identita__peso {
	font-size: var(--sem-t-piccolo, 14px);
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-identita__sezione {
	margin-top: 56px;
}

.semcore-identita__diritti {
	margin-top: 32px;
}

.semcore-identita .semcore-identita__diritti h2 {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-identita__diritti p {
	margin: 0;
	max-width: 68ch;
}

.semcore-identita__diritti p + p {
	margin-top: 8px;
}

.semcore-identita h3.semcore-identita__versione {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	align-items: baseline;
	margin: 32px 0 16px;
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
}

.semcore-identita__versione span {
	font-size: var(--sem-t-piccolo, 14px);
	font-weight: 400;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-identita__loghi,
.semcore-identita__colori {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-identita__logo,
.semcore-identita__colore {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 16px 16px 20px;
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-bianco, #FFFFFF);
}

.semcore-identita__anteprima {
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	margin-bottom: 12px;
	padding: 24px;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 4px;
	background: var(--sem-sfondo, #F9F4ED);
}

.semcore-identita__anteprima--bianco {
	border-color: transparent;
	background: var(--sem-cotto, #C94B22);
}

.semcore-identita__anteprima img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.semcore-identita__nome {
	font-weight: 600;
	color: var(--sem-testo, #2E2A27);
}

.semcore-identita__quando {
	font-size: var(--sem-t-piccolo, 14px);
	line-height: 1.45;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-identita__formati {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	padding-top: 12px;
}

.semcore-identita a.semcore-identita__scarica {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	padding: 7px 14px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--sem-evidenza-testo, #A83A19);
	text-decoration: none;
	border-radius: var(--sem-raggio-pillola, 999px);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22);
	transition: background-color var(--sem-transizione, 250ms ease), color var(--sem-transizione, 250ms ease), transform var(--sem-transizione, 250ms ease);
}

.semcore-identita a.semcore-identita__scarica:hover,
.semcore-identita a.semcore-identita__scarica:focus-visible {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	transform: translateY(-2px);
}

.semcore-identita a.semcore-identita__scarica .semcore-identita__peso {
	font-weight: 400;
	color: inherit;
}

.semcore-identita__regole {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 32px;
}

.semcore-identita__sezione > .semcore-identita__regole:first-of-type {
	margin-top: 16px;
}

.semcore-identita .semcore-riquadro h3 {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-identita .semcore-riquadro > :last-child {
	margin-bottom: 0;
}

.semcore-identita__occhiello {
	margin: 0 0 6px;
	font-size: var(--sem-t-occhiello, 13px);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

.semcore-identita__misure {
	width: 100%;
	margin: 0 0 16px;
	font-size: var(--sem-t-piccolo, 14px);
	border-collapse: collapse;
}

.semcore-identita__misure.semcore-identita__misure tr > :is(th, td) {
	padding: 8px 10px 8px 0;
	text-align: left;
	border: 0;
	border-bottom: 1px solid var(--sem-bordo, #E4D9C9);
	background: none;
}

.semcore-identita__misure thead th {
	font-weight: 600;
	color: var(--sem-testo-attenuato, #6B6560);
}

.semcore-identita__no {
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.semcore-identita__no li {
	position: relative;
	margin: 0 0 8px;
	padding-left: 26px;
}

.semcore-identita__no li::before {
	content: "✕";
	position: absolute;
	left: 0;
	font-weight: 700;
	color: var(--sem-evidenza-testo, #A83A19);
}

.semcore-identita__campione {
	aspect-ratio: 5 / 2;
	margin-bottom: 12px;
	border: 1px solid rgba(46, 42, 39, 0.12);
	border-radius: 4px;
}

.semcore-identita__codici {
	display: flex;
	flex-direction: column;
	font-size: var(--sem-t-piccolo, 14px);
	font-variant-numeric: tabular-nums;
	color: var(--sem-testo, #2E2A27);
}

.semcore-identita__codici strong {
	font-weight: 600;
}

.semcore-identita button.semcore-identita__copia {
	align-self: flex-start;
	min-height: 34px;
	margin-top: 10px;
	padding: 6px 14px;
	font-size: 0.8125rem;
	color: var(--sem-evidenza-testo, #A83A19);
	background: var(--sem-cotto-chiaro, #FCEEE8);
	box-shadow: none;
}

.semcore-identita button.semcore-identita__copia:hover,
.semcore-identita button.semcore-identita__copia:focus-visible,
.semcore-identita button.semcore-identita__copia.is-copiato {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
}

.semcore-identita__colori--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.semcore-identita__altro {
	margin-top: 56px;
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-identita .semcore-identita__altro h2 {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-identita__altro p {
	margin: 0;
}

.semcore-identita__altro p + p,
.semcore-identita__altro .semcore-azione__testo p + p {
	margin-top: 12px;
}

/* "Scrivici" sempre allineato a destra, anche quando va sotto il testo */
.semcore-identita__altro .semcore-azione {
	margin: 0;
}

.semcore-identita__altro .semcore-azione__pulsante {
	align-self: flex-end;
}

@media (min-width: 768px) {
	.semcore-identita__altro .semcore-azione__pulsante {
		align-self: center;
	}
}

@media (max-width: 1023px) {
	.semcore-identita__loghi,
	.semcore-identita__colori {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.semcore-identita__loghi {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	.semcore-identita__regole {
		grid-template-columns: minmax(0, 1fr);
	}

	.semcore-identita__sezione {
		margin-top: 40px;
	}
}

/* ---------- Pagina dell'appuntamento (templates/dettagli-evento.php) ----------
   Foto o locandina intera a sinistra, metà larghezza; a destra i blocchi uno sotto l'altro.
   Sul telefono la foto sta sopra. */
.semcore-appuntamento {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	align-items: start;
}

.semcore-appuntamento--senza-foto {
	grid-template-columns: minmax(0, 1fr);
	max-width: 760px;
}

.semcore-appuntamento__foto {
	margin: 0;
}

.semcore-appuntamento__foto a {
	display: block;
	cursor: zoom-in;
}

.semcore-appuntamento__foto img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--sem-raggio, 6px);
}

.semcore-appuntamento__info {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.semcore-appuntamento__info > * {
	margin: 0;
}

.semcore-appuntamento__blocco,
.semcore-appuntamento .semcore-collegati {
	margin: 0;
	padding: var(--sem-riquadro-spazio, 28px);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
	background: var(--sem-bianco, #FFFFFF);
}

/* "Quando" e "Dove": stesso livello di "Per saperne di più" (titolo di card) */
.elementor-widget-theme-post-content .semcore-appuntamento h2.semcore-appuntamento__titolo,
.semcore-appuntamento .semcore-appuntamento__titolo {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
	font-weight: var(--sem-p-sezione, 600);
	letter-spacing: 0;
	text-transform: none;
	color: var(--sem-testo, #2E2A27);
}

.semcore-appuntamento__blocco p {
	margin: 0;
}

.semcore-appuntamento__blocco p + p {
	margin-top: 6px;
}

.semcore-appuntamento__blocco strong {
	font-weight: 700;
	color: var(--sem-testo, #2E2A27);
}

.semcore-appuntamento .semcore-collegati ul.semcore-collegati__elenco {
	grid-template-columns: minmax(0, 1fr);
}

.semcore-appuntamento__testo > :first-child {
	margin-top: 0;
}

.semcore-appuntamento__testo > :last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.semcore-appuntamento {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* [semcore_azione]: testo a sinistra e pulsante allineato a destra (sotto sul telefono) */
.semcore-azione {
	display: flex;
	align-items: center;
	gap: 16px 40px;
	margin: 0 0 1.2em;
}

.semcore-azione__testo {
	flex: 1 1 auto;
}

.semcore-azione__testo > :last-child,
.semcore-azione__pulsante {
	margin: 0;
}

.semcore-azione__pulsante {
	flex: none;
}

@media (max-width: 767px) {
	.semcore-azione {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Pulsante bianco con scritta e bordo cotto; si inverte al passaggio del mouse e al clic */
body :is(.semcore-azione, .semcore-pulsanti) a.semcore-pulsante.semcore-pulsante--bianco {
	color: var(--sem-pulsante, #C94B22);
	background: var(--sem-bianco, #FFFFFF);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22);
}

body :is(.semcore-azione, .semcore-pulsanti) a.semcore-pulsante.semcore-pulsante--bianco:hover,
body :is(.semcore-azione, .semcore-pulsanti) a.semcore-pulsante.semcore-pulsante--bianco:focus-visible,
body :is(.semcore-azione, .semcore-pulsanti) a.semcore-pulsante.semcore-pulsante--bianco:active {
	color: #fff;
	background: var(--sem-pulsante, #C94B22);
	box-shadow: inset 0 0 0 1.5px var(--sem-pulsante, #C94B22), 0 12px 26px -14px rgba(61, 15, 5, 0.55);
}

/* Pulsanti in fila (<p class="semcore-pulsanti"> con [semcore_pulsante]); in fondo a un riquadro restano sul bordo inferiore */
.semcore-pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-riquadro p.semcore-pulsanti {
	margin: 0;
}

.semcore-riquadro:has(> .semcore-pulsanti:last-child) {
	display: flex;
	flex-direction: column;
}

.semcore-riquadro > .semcore-pulsanti:last-child,
.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-riquadro > p.semcore-pulsanti:last-child {
	margin-top: auto;
	padding-top: 24px;
}

/* [semcore_amici_modulo]: il modulo d'adesione cartaceo con l'anteprima. */
.semcore-amici-carta {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	padding: var(--sem-riquadro-spazio, 28px);
	background: var(--sem-bianco, #fff);
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: var(--sem-raggio, 6px);
}

.semcore-amici-carta__anteprima {
	margin: 0;
}

.semcore-amici-carta__anteprima a {
	display: block;
	cursor: zoom-in;
}

.semcore-amici-carta__anteprima img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 4px;
	box-shadow: 0 18px 40px -28px rgba(61, 15, 5, 0.55);
	transition: transform var(--sem-transizione, 250ms ease);
}

.semcore-amici-carta__anteprima a:hover img,
.semcore-amici-carta__anteprima a:focus-visible img {
	transform: translateY(-2px);
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-amici-carta__occhiello,
.semcore-amici-carta__occhiello {
	margin: 0 0 6px;
	font-size: var(--sem-p-occhiello, 0.8125rem);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sem-occhiello, #C94B22);
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-amici-carta h3 {
	margin: 0 0 var(--sem-riquadro-titolo, 16px);
	font-size: var(--sem-t-h3, 1.5rem);
}

.semcore-amici-carta .semcore-amici-aiuto__passi li::before {
	background: var(--sem-cotto-chiaro, #FCEEE8);
}

.semcore-amici-carta .semcore-pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 8px 0 0;
}

.sem-contenuto-pagina .elementor-widget-theme-post-content .semcore-amici-carta__info,
.semcore-amici-carta__info {
	margin: 12px 0 0;
	font-size: 0.875rem;
	color: var(--sem-testo-attenuato, #6B6560);
}

@media (max-width: 767px) {
	.semcore-amici-carta {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.semcore-amici-carta__anteprima {
		max-width: 260px;
	}
}

/* ---------- Ritmo verticale delle notizie (regola fissa, decisione dell'utente 5/11/2026) ----------
   Una notizia è una serie di sezioni. Ogni sezione comincia con un titoletto (h2) oppure è un blocco
   [semcore_colonne] (testo da una parte, foto dall'altra). Spazi, sempre uguali:
   - fra una sezione e l'altra: --semcore-notizia-sezione (56 px, 40 sul telefono), solo sopra la sezione;
   - fra titoletto e testo: --semcore-notizia-titolo (16 px);
   - fra un paragrafo e l'altro (anche nelle colonne): --semcore-notizia-paragrafo (1em = una riga vuota);
   - nessun margine sotto l'ultimo elemento, nessun margine attorno alle foto delle colonne. */
body.single-post .elementor-widget-theme-post-content {
	--semcore-notizia-sezione: 56px;
	--semcore-notizia-titolo: 16px;
	--semcore-notizia-paragrafo: 1em;
}

body.single-post .elementor-widget-theme-post-content :is(p, ul, ol, blockquote) {
	margin: 0 0 var(--semcore-notizia-paragrafo);
}

body.single-post .elementor-widget-theme-post-content :is(h2, h3) {
	margin: var(--semcore-notizia-sezione) 0 var(--semcore-notizia-titolo);
}

body.single-post .elementor-widget-theme-post-content .semcore-colonne {
	margin: var(--semcore-notizia-sezione) 0 0;
}

/* Dentro una sezione il titoletto non aggiunge altro spazio sopra; l'ultimo elemento nessuno sotto. */
body.single-post .elementor-widget-theme-post-content .semcore-colonna > :is(h2, h3):first-child,
body.single-post .elementor-widget-theme-post-content > .elementor-widget-container > :first-child,
body.single-post .elementor-widget-theme-post-content > :first-child {
	margin-top: 0;
}

body.single-post .elementor-widget-theme-post-content .semcore-colonna > :last-child,
body.single-post .elementor-widget-theme-post-content > .elementor-widget-container > :is(p, ul, ol, blockquote):last-child,
body.single-post .elementor-widget-theme-post-content > :is(p, ul, ol, blockquote):last-child {
	margin-bottom: 0;
}

/* Il testo si allinea al bordo superiore della foto accanto. */
body.single-post .elementor-widget-theme-post-content .semcore-colonne {
	align-items: start;
}

body.single-post .elementor-widget-theme-post-content :is(.semcore-carosello, .semcore-collegati) {
	margin-top: var(--semcore-notizia-sezione);
}

@media (max-width: 767px) {
	body.single-post .elementor-widget-theme-post-content {
		--semcore-notizia-sezione: 40px;
	}

	/* Sul telefono la foto della sezione va sotto il testo, alla distanza di un paragrafo. */
	body.single-post .elementor-widget-theme-post-content .semcore-colonne {
		gap: 24px;
	}
}

/* Schermate del telefono affiancate nelle notizie ([semcore_schermate]): verticali, tutte alla stessa altezza.
   Nella sezione stanno a un blocco dal testo sopra (--semcore-notizia-blocco). */
.semcore-schermate {
	display: grid;
	grid-template-columns: repeat(var(--semcore-schermate-n, 4), minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.semcore-schermate > li {
	margin: 0;
}

.semcore-schermate img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 390 / 844;
	object-fit: cover;
	object-position: top;
	border: 1px solid var(--sem-bordo, #E4D9C9);
	border-radius: 18px;
	box-shadow: 0 18px 40px -28px rgba(61, 15, 5, 0.55);
}

body.single-post .elementor-widget-theme-post-content {
	--semcore-notizia-blocco: 32px;
}

body.single-post .elementor-widget-theme-post-content .semcore-schermate {
	margin: var(--semcore-notizia-blocco) 0 0;
}

@media (max-width: 767px) {
	.semcore-schermate {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}
}


/* Più foto nella stessa colonna di una notizia: una sotto l'altra, alla distanza di un blocco. */
body.single-post .elementor-widget-theme-post-content .semcore-colonna > .semcore-figura + .semcore-figura {
	margin-top: var(--semcore-notizia-blocco);
}

/* La colonna con più foto non resta fissa durante lo scorrimento. */
body.single-post .elementor-widget-theme-post-content .semcore-colonna:last-child:has(> .semcore-figura) {
	position: static;
}

/* Riquadro con due parti una sotto l'altra (Monastero: «Altre informazioni» e «Bibliografia»):
   il secondo titolo si stacca dal testo che lo precede. */
.semcore-riquadro .semcore-blocco-lingua:has(> p) ~ .semcore-blocco-lingua > h2:only-child {
	margin-top: 32px;
}
