/* Area riservata — stili minimi. Colori e font ereditati dal tema. */

.atom-ar-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.atom-ar-messaggio {
	padding: 12px 16px;
	border-left: 4px solid currentColor;
	background: rgba(0, 0, 0, 0.03);
}
.atom-ar-messaggio--errore { border-left-color: #b32d2e; }
.atom-ar-messaggio--avviso { border-left-color: #dba617; }
.atom-ar-messaggio--ok     { border-left-color: #00a32a; }

.atom-ar-login form p { margin-bottom: 1rem; }
.atom-ar-login input[type="text"],
.atom-ar-login input[type="password"] {
	display: block;
	width: 100%;
	max-width: 420px;
}

.atom-ar-barra-utente { margin-bottom: 2rem; }

.atom-ar-sezione { margin-bottom: 3rem; }

/* Elenchi (comunicazioni, documenti, video) */
.atom-ar-elenco {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.atom-ar-elemento {
	padding: 1.25rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.atom-ar-elemento:first-child { padding-top: 0; }
.atom-ar-elemento-titolo {
	font-size: 1.25rem;
	margin: 0 0 0.5rem;
}
.atom-ar-elemento-titolo a {
	color: inherit;
	text-decoration: none;
}
.atom-ar-elemento-titolo a:hover,
.atom-ar-elemento-titolo a:focus-visible { text-decoration: underline; }
.atom-ar-riassunto { margin-bottom: 0.5rem; }

.atom-ar-data,
.atom-ar-categoria,
.atom-ar-meta {
	display: block;
	font-size: 0.875em;
	opacity: 0.7;
	margin: 0 0 0.35rem;
}
.atom-ar-categoria {
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* Documenti: testo a sinistra, pulsante Download a destra */
.atom-ar-documento {
	display: flex;
	gap: 1.5rem;
	align-items: center;
	justify-content: space-between;
}
.atom-ar-documento .cta { flex: 0 0 auto; }
@media (max-width: 575px) {
	.atom-ar-documento {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* Video: griglia di anteprime */
.atom-ar-elenco-video { margin-bottom: 1rem; }
.atom-ar-elemento-video { margin-bottom: 2rem; }
.atom-ar-video-anteprima {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	margin-bottom: 0.75rem;
	background: rgba(0, 0, 0, 0.05);
}
.atom-ar-video-anteprima-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.atom-ar-video-anteprima:hover .atom-ar-video-anteprima-img { transform: scale(1.03); }

/* Dettaglio (comunicazione o video) */
.atom-ar-indietro { margin-bottom: 1.5rem; }
.atom-ar-dettaglio-titolo { margin: 0 0 1rem; }
.atom-ar-dettaglio .atom-ar-contenuto { margin-top: 1rem; }

/* Paginazione (classi Bootstrap: pagination / page-item / page-link) */
.atom-ar-paginazione { margin-top: 1.5rem; }
.atom-ar-paginazione .pagination { flex-wrap: wrap; }
.atom-ar-paginazione .page-item.active .page-link {
	background-color: #c8102e; /* sostituire col rosso del tema */
	border-color: #c8102e;
	color: #fff;
}
.atom-ar-paginazione .page-link { color: inherit; }

/* Video 16:9: iframe Vimeo incollati nel contenuto, vecchi embed e file caricati */
.atom-ar-video-contenuto iframe {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	margin-bottom: 1rem;
}
.atom-ar-video-file video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	background: #000;
	margin-bottom: 1rem;
}

/* Video 16:9 (vecchio campo Vimeo) */
.atom-ar-video { margin-bottom: 2rem; }
.atom-ar-video-frame {
	position: relative;
	padding-top: 56.25%;
	margin-bottom: 1rem;
}
.atom-ar-video-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Layout a due colonne: menu a sinistra, contenuto a destra.
   Contenuto allineato in alto anche se il tema centra righe o colonne
   (nel markup ci sono anche le utility Bootstrap align-items-start / align-self-start). */
.atom-ar.atom-ar-layout { align-items: flex-start !important; }
.atom-ar-layout > .atom-ar-colonna-menu,
.atom-ar-layout > .atom-ar-colonna-contenuto {
	align-self: flex-start !important;
	justify-content: flex-start;
}
.atom-ar-colonna-contenuto > #reserved-content {
	margin-top: 0;
	vertical-align: top;
}

.atom-ar-menu {
	position: sticky;
	top: 120px; /* da adeguare all'altezza dell'header fisso del tema */
	padding: 1.5rem;
	background: rgba(0, 0, 0, 0.03);
}
.atom-ar-saluto { margin-bottom: 1.25rem; }

.atom-ar-menu-lista {
	list-style: none;
	margin: 0;
	padding: 0;
}
.atom-ar-menu-voce a {
	display: block;
	padding: 0.65rem 0 0.65rem 1rem;
	border-left: 3px solid transparent;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.2s ease, opacity 0.2s ease;
	padding-top: 2px;
	padding-bottom: 2px;
}
.atom-ar-menu-voce a:hover,
.atom-ar-menu-voce a:focus-visible { border-left-color: currentColor; }
.atom-ar-menu-voce.is-active a {
	border-left-color: #c8102e; /* sostituire col rosso del tema (quello di tit-bullet) */
	font-weight: 600;
}

.atom-ar-colonna-contenuto .atom-ar-sezione > h2 { margin-top: 0; }

/* Ancora #reserved-content: spazio per l'header fisso (adeguare come il top del menu) */
#reserved-content { scroll-margin-top: 120px; }

/* Mobile/tablet: menu orizzontale sopra il contenuto */
@media (max-width: 991px) {
	.atom-ar-menu {
		position: static;
		margin-bottom: 2rem;
		padding: 1rem;
	}
	.atom-ar-saluto { margin-bottom: 0.75rem; }
	.atom-ar-menu-lista {
		display: flex;
		gap: 1.5rem;
		overflow-x: auto;
	}
	.atom-ar-menu-voce a {
		padding: 0.5rem 0;
		border-left: 0;
		border-bottom: 3px solid transparent;
		white-space: nowrap;
	}
	.atom-ar-menu-voce a:hover,
	.atom-ar-menu-voce a:focus-visible { border-bottom-color: currentColor; }
	.atom-ar-menu-voce.is-active a { border-bottom-color: #c8102e; }
}

/* Form di registrazione: placeholder più chiaro del testo inserito */
.atom-ar-registrazione .form-control::placeholder {
	color: inherit;
	opacity: 0.45;
}

.cf-turnstile {
    max-width: 430px;
}

.atom-ar-colonna-contenuto > #reserved-content {
    display: contents;
}

ul.atom-ar-elenco li {
	list-style-type: none!important;
}

li.atom-ar-elemento {
    padding-left: 0px !important;
}

li.atom-ar-elemento::before {
	display: none!important;
	content: none!important;
}

p.atom-ar-data, h4.atom-ar-elemento-titolo {
    margin-bottom: 15px!important;
}

.atom-ar-elemento {
    padding-bottom: 25px !important;
}

.atom-ar-registrazione label {
	display: none!important;
}

p.atom-ar-link-login {
    margin-top: 25px !important;
}

@media (max-width: 500px) {
	.cf-turnstile {
		max-width: 100%;
	}
}