@charset "utf-8";

/* ==============================================================
   Bianco-Valente — foglio di stile unico del sito
   Sostituisce boilerplate.css + lug19.css (luglio 2019)
   Aggiornato: settembre 2026
   ============================================================== */

/* ----------------------------------------------------------------
   Reset di base, minimo e moderno
   (i vecchi hack per IE6/7/8 sono stati rimossi: non più necessari)
   ---------------------------------------------------------------- */
*, *::before, *::after {
	box-sizing: border-box;
}

html {
	font-size: 100%; /* 1rem = 16px di default; rispetta lo zoom/le preferenze utente */
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: Arial, Helvetica, sans-serif;
	color: #000;
	background: #fff;
	line-height: 1.4;
}

article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}

img, object, embed, video {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	border: 0;
}

figure { margin: 0; }

a { color: #00e; text-decoration: none; }
a:visited { color: #551a8b; }
a:hover, a:focus { color: #06e; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }

b, strong { font-weight: bold; color: #000; }

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}

ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd { margin: 0 0 0 40px; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }

blockquote { margin: 1em 40px; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; }

/* Per righe con elementi in float (sostituisce .clearfix) */
.clearfix::before, .clearfix::after { content: ""; display: table; }
.clearfix::after { clear: both; }

/* Nascondere sia negli screen reader che nei browser */
.hidden { display: none !important; visibility: hidden; }

/* Nascondere solo visivamente, mantenendo la disponibilità negli screen reader */
.visuallyhidden {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
	clip: auto;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	width: auto;
}

/* ----------------------------------------------------------------
   Contenitore di pagina — larghezza dinamica in un'unica regola
   Nessuna media query: si adatta da solo a qualunque schermo,
   da 320px a 4K, senza dover duplicare nulla per fascia.
   ---------------------------------------------------------------- */
.gridContainer {
	width: min(92%, 1140px);
	margin-inline: auto;
	padding-inline: clamp(12px, 2vw, 24px);
}

#LayoutDiv1 {
	clear: both;
	width: 100%;
}

/* Larghezza ridotta per le pagine di testo (saggi, interviste):
   aggiungere questa classe accanto a "gridContainer clearfix"
   solo nelle pagine dentro la cartella texts/.
   550px ≈ 75-80 caratteri per riga con Arial 16px: la stessa
   fascia di leggibilità usata dai quotidiani online. */
.testo-container {
	max-width: 550px;
}

/* ----------------------------------------------------------------
   Tipografia del sito
   ---------------------------------------------------------------- */
.TitoloN {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.375rem;   /* 22px */
	font-weight: bold;
	color: #000;
	text-align: left;
	line-height: 1.3;
	margin: 0 0 0.5em 0;
}

.Sottotitolo {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.125rem;   /* 18px */
	font-weight: normal;
	color: #000;
	text-align: left;
}

.testopagina,
.testopagina_centrato {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;       /* 16px */
	line-height: 1.5;
	color: #000;
}
.testopagina { text-align: left; }
.testopagina_centrato { text-align: center; }

.didascalie {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.875rem;   /* 14px */
	line-height: 1.4;
	font-weight: normal;
	color: #555;
	text-align: left;
}

.anni_colorati {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 0.875rem;   /* 14px */
	font-weight: bold;
	color: #F03;
	text-align: left;
}

.elenconomi {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.0625rem;  /* 17px */
	color: #000;
	text-align: left;
	margin-left: 20px;
}

.menuindex {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1rem;       /* 16px */
	color: #000;
	text-align: left;
}

/* ----------------------------------------------------------------
   Stampa
   ---------------------------------------------------------------- */
@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		text-shadow: none !important;
	}
	a, a:visited { text-decoration: underline; }
	a[href]::after { content: " (" attr(href) ")"; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
}
