/* Singolo evento — mobile-first */

.fc-evento {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: clamp(20px, 4vw, 48px) clamp(20px, 4vw, 48px) 0;
}

.fc-evento__breadcrumb {
	font: 500 var(--fs-16, 16px)/1.6 var(--mono);
	color: var(--ink-soft);
	margin-bottom: 20px;
}

.fc-evento__breadcrumb a {
	color: var(--ink-soft);
}

.fc-evento__breadcrumb .sep {
	margin: 0 8px;
}

.fc-evento__badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.fc-evento__badge {
	display: inline-flex;
	align-items: center;
	font: 700 13px/1 var(--mono);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 6px 10px;
	border-radius: 999px;
	border: 1px solid var(--line);
	color: var(--ink-soft);
	background: var(--bg-2);
}

.fc-evento__badge--percorso {
	color: var(--percorso-color, var(--accent));
	border-color: var(--percorso-color, var(--accent));
	background: transparent;
}

.fc-evento__badge--stato-in-corso,
.fc-evento__badge--stato-prossimo {
	color: #fff;
	background: var(--percorso-color, var(--accent));
	border-color: var(--percorso-color, var(--accent));
}

.fc-evento__badge--stato-concluso {
	opacity: 0.7;
}

.fc-evento__title {
	margin: 0 0 12px;
	font: 400 clamp(var(--fs-30, 30px), 5vw, var(--fs-56, 56px))/1.04 var(--sans);
	letter-spacing: -0.03em;
	color: var(--accent);
}
.fc-evento__sottotitolo {
	margin: 0 0 22px;
	font: 400 clamp(var(--fs-16, 16px), 2vw, var(--fs-19, 19px))/1.5 var(--sans);
	color: var(--ink-soft);
	max-width: 70ch;
}

.fc-evento__media {
	position: relative;
	display: flex;
	justify-content: center;
	background: var(--bg-2);
	border-radius: 3px;
	overflow: hidden;
}

/* Niente crop e niente upscale: l'immagine resta nelle sue dimensioni
   naturali, si riduce solo se non ci sta nella colonna. */
.fc-evento__media img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}

.fc-evento__body {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: clamp(28px, 4vw, 48px) clamp(20px, 4vw, 48px) clamp(48px, 6vw, 72px);
	display: flex;
	flex-direction: column;
	gap: clamp(32px, 4vw, 48px);
}

.fc-evento__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(24px, 3vw, 36px);
	align-items: start;
}

/* Colonna destra: riepilogo + descrizione */
.fc-evento__main {
	display: flex;
	flex-direction: column;
	gap: clamp(28px, 3vw, 40px);
	min-width: 0;
}

/* Desktop: foto fissa 40% a sinistra, riepilogo + descrizione 60% a destra */
@media (min-width: 900px) {
	.fc-evento__row--with-media {
		grid-template-columns: 40% minmax(0, 1fr);
	}

	.fc-evento__row--with-media .fc-evento__media {
		position: sticky;
		top: var(--header-h, 100px);
	}
}

.fc-evento__content {
	font: 400 var(--fs-18, 18px)/1.75 var(--sans);
	color: var(--ink-soft);
	max-width: 68ch;
}

.fc-evento__content-title {
	margin: 0 0 20px;
	font: 400 clamp(var(--fs-22, 22px), 2.2vw, var(--fs-28, 28px))/1.15 var(--sans);
	letter-spacing: -0.02em;
	color: var(--ink);
}

.fc-evento__content p {
	margin: 0 0 1.2em;
}

.fc-evento__meta {
	border: 1px solid var(--line);
	border-radius: 3px;
	background: var(--bg-2);
	padding: 24px;
	display: grid;
	gap: 16px;
	align-content: start;
}

.fc-evento__meta-head {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fc-evento__meta .fc-evento__title {
	margin: 0;
	font: 400 clamp(var(--fs-30, 30px), 3.6vw, var(--fs-40, 40px))/1.08 var(--sans);
	letter-spacing: -0.02em;
}

.fc-evento__meta .fc-evento__sottotitolo {
	margin: 0;
	font: 400 var(--fs-17, 17px)/1.5 var(--sans);
	color: var(--ink-soft);
	max-width: none;
}

/* Desktop: badge un po' piu' piccoli di prima, titolo e sottotitolo piu' grandi */
@media (min-width: 720px) {
	.fc-evento__badge {
		font-size: 14px;
		padding: 6px 11px;
	}
}

.fc-evento__meta-item dt {
	font: 700 var(--fs-16, 16px)/1 var(--mono);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--ink-soft);
	margin-bottom: 6px;
}

.fc-evento__meta-item dd {
	margin: 0;
	font: 500 var(--fs-15, 15px)/1.4 var(--sans);
	color: var(--ink);
}

.fc-evento__meta-item--percorso dd {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fc-evento__percorso-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 2px;
	background: var(--percorso-color, var(--p-1));
	flex-shrink: 0;
}

.fc-evento__note {
	margin-top: 4px;
	font: 500 var(--fs-16, 16px)/1.5 var(--sans);
	color: var(--ink-soft);
	border-left: 3px solid var(--accent);
	padding-left: 10px;
}

.fc-evento__prenota-btn {
	display: block;
	text-align: center;
	text-decoration: none;
	margin-top: 6px;
	font: 700 var(--fs-15, 15px)/1 var(--sans);
	color: #fff;
	background: var(--percorso-color, var(--accent));
	padding: 14px 20px;
	border-radius: 3px;
	transition: opacity 0.15s ease;
}
.fc-evento__prenota-btn:hover {
	opacity: 0.88;
}

/* Footer: altri eventi + CTA */

.fc-evento__footer {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 48px) clamp(56px, 7vw, 88px);
}

/* Riga di separazione prima di "Altri eventi" */
.fc-evento__footer::before {
	content: "";
	display: block;
	border-top: 1px solid var(--line);
	margin-bottom: clamp(28px, 4vw, 44px);
}

.fc-evento__footer-heading {
	margin: 0 0 20px;
	font: 800 clamp(var(--fs-20, 20px), 2.4vw, var(--fs-28, 28px))/1 var(--sans);
	letter-spacing: -0.02em;
}

.fc-evento__cta-row {
	display: flex;
	flex-direction: column;
	gap: 12px;
	border-top: 1px solid var(--line);
	padding-top: clamp(24px, 3vw, 32px);
}

@media (min-width: 560px) {
	.fc-evento__cta-row {
		flex-direction: row;
	}
}

.fc-evento__cta {
	flex: 1;
	text-align: center;
	font: 700 var(--fs-16, 16px)/1 var(--sans);
	padding: 16px 20px;
	border-radius: 3px;
	border: 1px solid var(--line);
	color: var(--ink);
}

.fc-evento__cta--primary {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
}

/* Carosello "Altri eventi" (stesso percorso), stesso pattern del carosello
   Prossimi eventi in home. */
.fc-evento__altri-splide {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 16px;
	margin-bottom: clamp(28px, 3.5vw, 40px);
}
.fc-evento__altri-splide .splide__track {
	order: 1;
	flex: 0 0 100%;
	width: 100%;
}
.fc-evento__altri-splide .event-card {
	height: 100%;
}
.fc-evento__altri-splide .splide__arrows {
	display: contents;
}
.fc-evento__altri-splide .splide__arrow {
	position: static;
	transform: none;
	order: 2;
	background: var(--bg);
	border: 1px solid var(--line);
	border-radius: 3px;
	width: 36px;
	height: 36px;
	opacity: 1;
}
.fc-evento__altri-splide .splide__arrow svg {
	fill: var(--ink);
	width: 14px;
	height: 14px;
}
.fc-evento__altri-splide .splide__arrow:disabled {
	opacity: 0.3;
}
.fc-evento__altri-splide .splide__arrow:hover:not(:disabled) {
	border-color: var(--accent);
}
.fc-evento__altri-splide .splide__arrow--next {
	order: 4;
}
.fc-evento__altri-splide .splide__pagination {
	order: 3;
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	gap: 8px;
	margin: 0;
}
.fc-evento__altri-splide .splide__pagination__page {
	background: var(--line);
	opacity: 1;
	width: 8px;
	height: 8px;
	margin: 0;
}
.fc-evento__altri-splide .splide__pagination__page.is-active {
	background: var(--accent);
	transform: none;
}
