/*
 * ACSI — single-bando.php
 */

/* Sfondo di pagina beige (--colore-sfondo) impostato altrove nel tema.
   Qui la card di contenuto usa il bianco già impiegato come "colore di
   superficie" nel resto del sito (header, footer, card del carosello) —
   nessun colore nuovo introdotto, solo lo stesso pattern applicato qui. */
.acsi-bando-contenitore {
	max-width: 948px;
	margin: 0 auto;
	padding: 0 24px 48px;
}

.acsi-bando {
	background: #FFFFFF;
	font-family: var(--font-testo);
	padding: 40px 24px 48px;
}

/* Da tablet in su: la card "stacca" dallo sfondo con bordi arrotondati e
   un'ombra leggera. Su mobile resta a piena larghezza, a filo dei bordi
   della finestra — per non sprecare spazio su schermi stretti. */
@media (min-width: 781px) {
	.acsi-bando-contenitore {
		padding: 40px 24px 64px;
	}
	.acsi-bando {
		border-radius: var(--raggio-bordo-card, 12px);
		box-shadow: 0 2px 16px rgba(0, 0, 0, 0.06);
		padding: 40px 48px 48px;
	}
}

.acsi-bando__breadcrumb {
	font-size: 13px;
	color: var(--colore-grigio);
	margin: 0 0 20px;
}

.acsi-bando__breadcrumb a {
	color: var(--colore-primario);
	text-decoration: none;
}

.acsi-bando__breadcrumb a:hover {
	text-decoration: underline;
}

.acsi-bando__intestazione {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

/* Riuso le stesse classi colore badge/stato del carosello (vedi
   carosello-bandi.css), ma con dimensioni proprie: qui devono avere un
   colpo d'occhio immediato in testa alla pagina, non stare compresse in
   una card piccola. */
.acsi-bando__badge {
	position: static;
	font-size: 14px;
	padding: 6px 16px;
}

.acsi-bando__stato {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 500;
	color: var(--colore-testo);
}

.acsi-bando__stato .acsi-carosello__stato {
	width: 12px;
	height: 12px;
}

.acsi-bando__titolo {
	font-family: var(--font-titoli);
	font-size: 26px;
	color: var(--colore-testo);
	margin: 0 0 24px;
	line-height: 1.25;
}

.acsi-bando__scheda-dati {
	background: var(--colore-sfondo-alt);
	border-radius: var(--raggio-bordo-card, 12px);
	padding: 20px 24px;
	display: grid;
	/* 5 colonne fisse su una riga, come richiesto — se un bando ha anche
	   CIG/CUP compilati (7 campi totali invece di 5), va automaticamente
	   a capo su una seconda riga da 5, senza bisogno di codice apposta. */
	grid-template-columns: repeat(5, 1fr);
	gap: 16px 12px;
	margin-bottom: 28px;
}

/* Sotto i 780px (stesso breakpoint usato nel resto del tema) 5 colonne
   fisse stringerebbero troppo il testo — passo a 2 colonne, più leggibili
   su un telefono. */
@media (max-width: 780px) {
	.acsi-bando__scheda-dati {
		grid-template-columns: repeat(2, 1fr);
	}
}

.acsi-bando__dato-etichetta {
	font-size: 12px;
	color: var(--colore-grigio);
	display: block;
	margin-bottom: 2px;
}

.acsi-bando__dato-valore {
	font-size: 14px;
	font-weight: 500;
	color: var(--colore-testo);
}

.acsi-bando__sezione {
	margin-bottom: 28px;
}

.acsi-bando__sezione h2 {
	font-family: var(--font-titoli);
	font-size: 17px;
	color: var(--colore-testo);
	margin: 0 0 10px;
}

.acsi-bando__testo {
	font-size: 15px;
	line-height: 1.65;
	color: var(--colore-testo);
}

.acsi-bando__testo p {
	margin: 0 0 14px;
}

.acsi-bando__testo p:last-child {
	margin-bottom: 0;
}

.acsi-bando__testo ul,
.acsi-bando__testo ol {
	margin: 0 0 14px;
	padding-left: 22px;
}

.acsi-bando__testo li {
	margin-bottom: 6px;
}

.acsi-bando__testo strong {
	font-weight: 700;
}

.acsi-bando__testo em {
	font-style: italic;
}

.acsi-bando__sezione-intestazione {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin-bottom: 10px;
}

.acsi-bando__sezione-intestazione h2 {
	margin-bottom: 0;
}

.acsi-bando__link-zip {
	font-size: 13px;
	font-weight: 500;
	color: var(--colore-primario);
	text-decoration: none;
	white-space: nowrap;
}

.acsi-bando__link-zip:hover {
	text-decoration: underline;
}

.acsi-bando__allegati {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.acsi-bando__allegato {
	/* Nessun padding qui: il link interno copre l'intera riga, così l'area
	   cliccabile e quella evidenziata in hover coincidono esattamente. */
	border-radius: var(--raggio-bordo, 8px);
	overflow: hidden;
}

.acsi-bando__allegato-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	background: var(--colore-sfondo-alt);
	font-size: 14px;
	color: var(--colore-testo);
	text-decoration: none;
	transition: background-color .15s ease;
}

.acsi-bando__allegato-link:hover {
	background: var(--colore-primario-chiaro);
}

.acsi-bando__allegato-link--non-disponibile {
	cursor: default;
	color: var(--colore-grigio);
	font-style: italic;
}

.acsi-bando__allegato-link--non-disponibile:hover {
	background: var(--colore-sfondo-alt); /* nessun effetto hover se non c'è nulla da aprire */
}

.acsi-bando__allegato-icona {
	flex: 0 0 auto;
	display: inline-flex;
	color: var(--colore-primario);
}

.acsi-bando__allegato-link--non-disponibile .acsi-bando__allegato-icona {
	color: var(--colore-grigio);
}

.acsi-bando__allegato-titolo {
	font-weight: 500;
}

.acsi-bando__allegato-categoria {
	font-size: 11px;
	color: var(--colore-grigio);
	background: var(--colore-sfondo);
	padding: 2px 8px;
	border-radius: 999px;
	margin-left: auto;
	flex: 0 0 auto;
}

.acsi-bando__comunicazioni {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var(--colore-primario-chiaro);
}

.acsi-bando__comunicazione {
	padding: 4px 0 16px 20px;
	position: relative;
}

.acsi-bando__comunicazione::before {
	content: '';
	position: absolute;
	left: -6px;
	top: 8px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--colore-primario);
}

.acsi-bando__comunicazione-data {
	font-size: 12px;
	color: var(--colore-grigio);
}

.acsi-bando__comunicazione-titolo {
	font-weight: 700;
	font-size: 14px;
	color: var(--colore-testo);
	margin: 2px 0 4px;
}

.acsi-bando__comunicazione-testo {
	font-size: 13px;
	color: var(--colore-testo);
}

/* --- 2.2.0: Novità degli ultimi 14 giorni ---
   Arancione costruito sul colore accento del brand (#9D4E15, il mattone
   del logo), NON sull'ambra #FEB009 del semaforo "aperto": così "nuovo" e
   "stato del bando" non si confondono. Testo scuro su #F9D4A8: contrasto
   ben sopra AA. Etichetta bianca su #9D4E15: 5,9:1 circa. */
.acsi-bando__etichetta-nuovo {
	display: inline-block;
	flex: 0 0 auto;
	background: var(--colore-accento, #9D4E15);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: 2px 8px;
	border-radius: 999px;
}

.acsi-bando__allegato--nuovo {
	border-left: 4px solid var(--colore-accento, #9D4E15);
}

.acsi-bando__allegato--nuovo .acsi-bando__allegato-link {
	background: #F9D4A8;
}

.acsi-bando__allegato--nuovo .acsi-bando__allegato-link:hover {
	background: #F4BF82;
}

.acsi-bando__allegato--nuovo .acsi-bando__allegato-titolo {
	font-weight: 700;
}

.acsi-bando__novita {
	background: #F9D4A8;
	border-left: 4px solid var(--colore-accento, #9D4E15);
	border-radius: var(--raggio-bordo, 8px);
	padding: 16px 20px;
}

.acsi-bando__novita .acsi-bando__etichetta-nuovo {
	margin-bottom: 10px;
}

.acsi-bando__novita-voce + .acsi-bando__novita-voce {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid rgba(157, 78, 21, .3);
}

.acsi-bando__novita-data {
	font-size: 12px;
	color: var(--colore-testo, #1C1C1A);
}

.acsi-bando__novita-titolo {
	font-weight: 700;
	font-size: 15px;
	color: var(--colore-testo, #1C1C1A);
	margin: 2px 0 4px;
}

.acsi-bando__novita-testo {
	font-size: 14px;
	color: var(--colore-testo, #1C1C1A);
}

/* --- Sezione di chiusura: riepilogo + immagine, prima del footer --- */

.acsi-bando__chiusura {
	margin-top: 40px;
	padding-top: 32px;
	border-top: 1px solid var(--colore-sfondo-alt);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: center;
}

@media (max-width: 780px) {
	.acsi-bando__chiusura {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

.acsi-bando__chiusura-testo .acsi-bando__intestazione {
	margin-bottom: 10px;
}

.acsi-bando__chiusura-titolo {
	font-family: var(--font-titoli);
	font-size: 20px;
	color: var(--colore-testo);
	margin: 0 0 8px;
	line-height: 1.3;
}

.acsi-bando__chiusura-anno {
	font-size: 14px;
	color: var(--colore-grigio);
	margin: 0 0 20px;
}

.acsi-bando__chiusura-azioni {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.acsi-bando__chiusura-bottone {
	display: inline-block;
	background: var(--colore-primario);
	color: #FFFFFF;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	padding: 12px 22px;
	border-radius: var(--raggio-bordo, 8px);
}

.acsi-bando__chiusura-bottone:hover {
	background: var(--colore-accento);
}

.acsi-bando__chiusura-link {
	font-size: 14px;
	color: var(--colore-primario);
	text-decoration: none;
}

.acsi-bando__chiusura-link:hover {
	text-decoration: underline;
}

.acsi-bando__chiusura-immagine {
	/* object-fit: contain (non cover) — l'immagine è riproporzionata
	   mantenendo lo scaling corretto, come richiesto, invece di essere
	   ritagliata per riempire un rettangolo fisso. */
	width: 100%;
	max-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--raggio-bordo-card, 12px);
	overflow: hidden;
	background: var(--colore-sfondo-alt);
}

.acsi-bando__chiusura-immagine img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
