/* ANPDI – Amministrazione Trasparente
   Variabili sovrascrivibili dal tema per adattare i colori al brand ANPDI. */
.anpdi-trasp {
	--anpdi-header-bg: #1f3b57;
	--anpdi-header-color: #ffffff;
	--anpdi-border: #d7dde3;
	--anpdi-row-alt: #f5f7f9;
	--anpdi-link: #1f3b57;
	--anpdi-title: #1f3b57;
	margin: 1.5em 0;
}

.anpdi-sezione {
	margin: 0 0 2.5em;
}

.anpdi-titolo {
	color: var(--anpdi-title);
	font-size: 1.4em;
	margin: 0 0 .6em;
	border-bottom: 3px solid var(--anpdi-header-bg);
	padding-bottom: .3em;
}

/* --- Barra filtri --- */
.anpdi-filtro {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
}
.anpdi-filtro .anpdi-f-cerca {
	flex: 1 1 220px;
	min-width: 160px;
}
.anpdi-filtro input[type="search"],
.anpdi-filtro select {
	padding: 9px 12px;
	border: 1px solid var(--anpdi-border);
	border-radius: 6px;
	font-size: .95em;
	background: #fff;
	color: inherit;
	max-width: 100%;
}
.anpdi-filtro select {
	flex: 0 1 auto;
	cursor: pointer;
}

.anpdi-nessun-risultato {
	margin: 8px 0 0;
	padding: 12px 14px;
	background: var(--anpdi-row-alt);
	border: 1px solid var(--anpdi-border);
	border-radius: 6px;
	color: #555;
}

/* --- Tabella --- */
.anpdi-tabella-wrap {
	overflow-x: auto;
}

.anpdi-tabella {
	width: 100%;
	border-collapse: collapse;
	font-size: .95em;
	background: #fff;
}

.anpdi-tabella thead th {
	background: var(--anpdi-header-bg);
	color: var(--anpdi-header-color);
	text-align: left;
	padding: 12px 14px;
	font-weight: 600;
	white-space: nowrap;
}

.anpdi-tabella tbody td {
	padding: 11px 14px;
	border-bottom: 1px solid var(--anpdi-border);
	vertical-align: top;
}

.anpdi-tabella tbody tr:nth-child(even) {
	background: var(--anpdi-row-alt);
}

.anpdi-tabella .anpdi-importo {
	text-align: right;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

/* --- Badge tipologia --- */
.anpdi-badge {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: .82em;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
	border: 1px solid transparent;
}
.anpdi-badge--sovvenzione { background: #e8f1fb; color: #1c4e80; border-color: #c3ddf5; }
.anpdi-badge--contributo  { background: #e9f6ec; color: #1f6b34; border-color: #c5e7cf; }
.anpdi-badge--vantaggio   { background: #fdf1e3; color: #915007; border-color: #f4d9b5; }

/* --- Link PDF --- */
.anpdi-pdf-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--anpdi-link);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.anpdi-pdf-link:hover {
	text-decoration: underline;
}
.anpdi-pdf-ico {
	display: inline-block;
	width: 14px;
	height: 16px;
	background: currentColor;
	flex: 0 0 auto;
	-webkit-mask: no-repeat center / contain;
	mask: no-repeat center / contain;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0z'/%3E%3C/svg%3E");
}
.anpdi-size {
	color: #6b7680;
	font-weight: 400;
	font-size: .85em;
}

/* -------------------------------------------------------------------------
   Responsive: sotto i 700px le tabelle diventano "schede".
   Uso flex (etichetta a sinistra, valore a destra) con !important mirati
   per non farsi sovrascrivere il layout dal tema del sito.
   ------------------------------------------------------------------------- */
@media (max-width: 700px) {
	.anpdi-trasp .anpdi-tabella-wrap { overflow-x: visible; }

	.anpdi-trasp .anpdi-tabella,
	.anpdi-trasp .anpdi-tabella tbody,
	.anpdi-trasp .anpdi-tabella tr,
	.anpdi-trasp .anpdi-tabella td {
		display: block !important;
		width: 100% !important;
	}

	.anpdi-trasp .anpdi-tabella thead {
		display: none !important;
	}

	.anpdi-trasp .anpdi-tabella tr {
		margin: 0 0 14px !important;
		border: 1px solid var(--anpdi-border) !important;
		border-radius: 8px !important;
		overflow: hidden;
		background: #fff !important;
	}

	.anpdi-trasp .anpdi-tabella td {
		display: flex !important;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 10px 14px !important;
		border: 0 !important;
		border-bottom: 1px solid var(--anpdi-border) !important;
		text-align: right;
		vertical-align: baseline;
		white-space: normal;
	}

	.anpdi-trasp .anpdi-tabella tr td:last-child {
		border-bottom: 0 !important;
	}

	.anpdi-trasp .anpdi-tabella td::before {
		content: attr(data-label);
		flex: 0 0 42%;
		font-weight: 600;
		color: var(--anpdi-title);
		text-align: left;
		white-space: nowrap;
	}

	.anpdi-trasp .anpdi-tabella .anpdi-importo {
		text-align: right;
	}

	.anpdi-filtro { flex-direction: column; }
	.anpdi-filtro .anpdi-f-cerca,
	.anpdi-filtro select { flex: 1 1 100%; width: 100%; }
}
