/* INIZIO DEFINIZIONE link */
a {
	color: #1268b3;
	text-decoration: underline;
}
a:focus{
	outline-color: #2197db;
	outline-width: 3px;
	outline-style: solid;
	outline-offset: 3px;
	box-shadow: inset 0 0 4px 1px #2197db,0 0 7px 2px #2197db;
	z-index: 155000;
}
a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 2px;
	/* background: rgba(33,151,219,.15); */
}
#home .box-blue a:not(.btn):not(.uncolored) {
	color: #fff;
	background-color: #942148;
}
#home .box-blue h1, #home .box-blue h2, #home .box-blue h3, #home .box-blue h4, #home .box-blue h5, #home .box-blue h6 {
	color: #fff !important;
	background-color: transparent !important;
}
#home .box-blue-dark h1, #home .box-blue-dark h2, #home .box-blue-dark h3, #home .box-blue-dark h4, #home .box-blue-dark h5, #home .box-blue-dark h6 {
	color: #fff;
	background-color: transparent !important;
}
#home .box-blue-dark a:not(.btn):not(.uncolored) {
	color: #fff;
	background-color: transparent !important;
}
#home .type-iconbox .icon-title,
#home .type-iconbox .icon-text{
	color: #000 !important;
	background-color: transparent !important;
}
@media (min-width: 764px) {
	.vediNotizie a {
		background-color: #1066b1;
	}
	.ufficiHP a:link, .ufficiHP a:visited {
		background-color: #1066b1;
	}
	.ufficiHP li.ammTrasp a:hover {
		background: #1066b1;
	}
	.ufficiHP li.ammTrasp a:link, .ufficiHP li.ammTrasp a:visited {
		background: #1066b1;
	}
	.cercahp * {
		background-color: #1066b1;
	}
}
#homepage video > a, #homepage video > p, #homepage #videoTitle, #homepage #videoTitle2 {
    background-color: rgba(0, 40, 80, 0.9);
    color: #ffffff;
}
#homepage video > a:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 3px;
}
/* FINE DEFINIZIONE link */

/* INIZIO DEFINIZIONE BTN */
.blur-focus:focus,
.blur-focus:focus-visible {
	outline: 3px solid #2197db;
	outline-offset: 3px;
	/* opzionale: anello esterno che non sposta il layout */
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #2197db;
}
/* wrapper della coppia input+button (nel tuo markup è .input-bottom) */
.input-bottom { position: relative; }
.input-bottom:focus-within {
	outline: 3px solid #2197db;
	outline-offset: 4px;
	border-radius: 6px;
}

/* base: assicurati che i “btn” siano box, così l’outline abbraccia il componente */
a.btn {
	display: inline-block;
	border: 2px solid transparent; /* cue non solo cromatico */
}

/* focus tastiera altamente visibile (almeno 2px) */
a.btn:focus-visible {
	/* evito doppio bordo */
	box-shadow:
		0 0 0 3px #fff,              /* anello interno di separazione */
		0 0 0 6px #2197db;           /* anello esterno ben contrastato */
}

/* se esiste qualcosa tipo .btn:focus{  outline: 3px solid #000; outline-offset: 3px;} → sovrascrivi */

.btn:focus-visible { /* regola già sopra */ }

.link, .piece-btn-wrapper { position: relative; }
.link:focus-within,
.piece-btn-wrapper:focus-within {
	outline-offset: 6px;
	border-radius: 6px;
}
/* FINE DEFINIZIONE BTN */

.nav-toggle {
	background-color: #BF1C55;
	color: white;
}

/* Container del form: flexbox per allineare input e button */
.styled-form.search-form form {
	display: flex;
	flex-wrap: wrap;         /* consente al contenuto di andare a capo su schermi piccoli */
	align-items: center;
	gap: 0.5rem;             /* spazio tra input e button */
	max-width: 100%;         /* evita overflow orizzontale */
}

/* Input text: cresce fino allo spazio disponibile */
.styled-form.search-form input[type="text"] {
	flex: 1 1 auto;          /* occupa tutto lo spazio disponibile */
	min-width: 0;            /* per evitare overflow in flexbox */
	padding: 1rem;         /* padding interno coerente */
	font-size: 1rem;         /* leggibilità */
	border: 1px solid #ccc;
	border-radius: 0.25rem;
}

/* Pulsante submit: dimensioni fisse, non cresce */
.styled-form.search-form button[type="submit"] {
	flex: 0 0 auto;          /* dimensione fissa */
	padding: 0.5rem 1rem;
	font-size: 1rem;
	border: none;
	border-radius: 0.25rem;
	cursor: pointer;
}

/* Pulsante hover/focus per accessibilità */
.styled-form.search-form button[type="submit"]:hover,
.styled-form.search-form button[type="submit"]:focus{
	background-color: #0056b3;
}

/* Placeholder testo coerente e leggibile */
.styled-form.search-form input::placeholder {
	color: #666;
}

/* Su dispositivi molto piccoli: input e button full width */
@media (max-width: 576px) {
	.styled-form.search-form form {
		flex-direction: column;
		align-items: stretch;
	}

	.styled-form.search-form button[type="submit"] {
		width: 100%;
	}
}


.quick-access-nav {
	position: absolute;
	display: block;
	top: -1000px;
	left: 0;
	width: 100%;
	z-index: 1000000;
	height: 50px;
	background-color: #30373D;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}
.quick-access-nav a {
	color: #fff !important;
	line-height: 4rem;
}
.quick-access-nav a:focus, .quick-access-nav:focus{
	position: fixed;
	display: block;
	color: #ffffff;
	background-color: #641934;
	top: 0px;
	left: 0;
	width: 100%;
	z-index: 1000000;
	outline: thin dotted black;
}
.quick-access-nav a:hover, .quick-access-nav:hover {
	position: fixed;
	display: block;
	color: #1268b3;
	background-color: #30373D;
	text-decoration: underline;
	top: 0px;
	left: 0;
	width: 100%;
	z-index: 1000000;
}

#home .btn:hover {
	color: #fff;
	background-color: #641934;
	text-decoration: underline;
}

/* FINE IMPORT CUSTOM */

#skip-content:focus{
	position: relative;
	width: 100%;
	height: 100px;
	display: block
}

/* Breadcrumbs: i link devono essere distinguibili anche senza colore */

.nav-breadcrumbs a, .type-nav-breadcrumbs a {
	text-decoration: underline;          /* indizio non cromatico */
	text-underline-offset: 2px;
	border-bottom: none;                 /* evita doppio segno */
}

/* Pagina corrente: non è un link, niente sottolineatura */
.nav-breadcrumbs li[aria-current="page"], .type-nav-breadcrumbs li[aria-current="page"] {
	text-decoration: none;
	font-weight: 700;
}
/* Interazione: mantieni la sottolineatura e un focus forte */
.nav-breadcrumbs a:hover, .type-nav-breadcrumbs a:hover {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}
/* Rafforza solo al passaggio/focus */
.type-nav-breadcrumbs a:focus-visible, .nav-breadcrumbs a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

@media (min-width: 992px) {
	.briciole {
		line-height: 2;
	}
	.briciole ul li::after {
		padding-right: 5px;
	}
}
@media (max-width: 991.98px) {
	.navMenu {
		z-index: 1;
		position: relative;
	}
}
.nav-side li {
	border-top: none;
}

/* --- Side menu: link sempre distinguibili (F73) --- */
.nav-side a {
	text-decoration: underline;              /* indicatore non cromatico */
	text-underline-offset: 2px;
	text-decoration-thickness: 2px;
}

/* Hover/Focus: mantieni l’indicatore e rendi evidente il focus */
.nav-side a:hover {
	text-decoration-thickness: 3px;
}
.nav-side a:focus {
	outline: 3px solid #000;
	outline-offset: 2px;
	text-decoration-thickness: 3px;
}

/* Voce corrente (il tuo <li class="currentpage"><a>…</a></li>) */
.nav-side li.currentpage > a {
	font-weight: 700;                         /* più “pesante” della norma */
	border-left: 4px solid #000;              /* indicatore non cromatico */
	padding-left: .5rem;
	text-decoration: underline;               /* resta comunque sottolineato */
}

/* opzionale: se i bullet sono nascosti, aggiungi un marker non cromatico */
.nav-side { list-style: disc inside; }

/* 1) Rimuove la sottolineatura ma fornisce un indicatore non-colore (bullet/stripe) */
.nav-side {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav-side li {
	margin: 0;
	padding: 0;
}

/* Ogni link è un block per area cliccabile consistente */
.nav-side a {
	display: block;
	padding: 0.5rem 0.75rem;
	text-decoration: none;      /* niente sottolineatura di default */
	color: #004080;             /* mantieni un buon contrasto */
	position: relative;
	transition: background-color 0.12s ease, color 0.12s ease;
}

/* Indicatore non basato sul colore: barra sinistra sottile */
.nav-side a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25rem;
	bottom: 0.25rem;
	width: 4px;
	background: transparent;    /* invisibile di default */
	border-radius: 2px;
	transition: background 0.12s ease, transform 0.12s ease;
}

/* Hover / Focus: rendi visibile un indicatore (non solo colore) */
.nav-side a:hover,
.nav-side a:focus {
	text-decoration: none; /* ancora no sottolineatura */
	background-color: rgba(0, 64, 128, 0.06); /* lieve evidenziazione */
}

/* Mostra barra quando hover/focus — non dipende dal colore del testo */
.nav-side a:hover::before,
.nav-side a:focus::before {
	background: currentColor; /* usa currentColor per contrasto garantito */
	width: 4px;
	transform: translateX(0);
}

/* Stato pagina corrente: indicatore persistente e testo evidenziato */
.nav-side .currentpage a,
.nav-side a[aria-current="page"] {
	font-weight: 600;
	color: #000;               /* alto contrasto per pagina attiva */
}

/* Barra persistente sulla pagina corrente */
.nav-side .currentpage a::before,
.nav-side a[aria-current="page"]::before {
	/*! background: currentColor; */
	width: 4px;
}

/* FOCUS VISIBILE per utenti tastiera (importante per WCAG) */
.nav-side a:focus-visible {
	outline: 3px solid #ffb400; /* contrastante e ben visibile */
	outline-offset: 2px;
	border-radius: 2px;
}

/* Per evitare overflow in contenitori stretti */
.nav-side a {
	min-width: 0;
	box-sizing: border-box;
}

/* Accessibilità: assicurati che il contrasto testo/sfondo sia almeno 4.5:1 dove richiesto */

.persona .image-src-box  {
	width:300px;
	height:300px;
	overflow:hidden;
	border-radius:50%;
	padding-bottom: 0 !important;
	display: flex;
	justify-content: center;
	align-content: center;
}
.persona .image-src-box img {
	height: 100%;
	width: auto;
	position: unset;
}

/*aggiunto Gianluca correzione contrasto colore per accessibilità*/
.social-icons.colored li.twitter a {
	background-color: #1C79C0;
}

.type-search .search-badge {
	color: #555353;
}
/*fine correzione contrasto colore per accessibilità*/

@media (max-width: 1012px) {
	.box-controversie .icon-text {
		margin-top: 1rem;
		font-size: 1.2rem;
	}
	.type-iconbox.box-controversie .icon-title {
		font-size: 1.6rem;
	}		
	#nav-toggle-label {
		top: 55px;
	}
}
@media (min-width: 1014px) {
	header.fh .h-group {
		align-items: center;
	}
	/*.nav-main-items {
	margin-top:50px;
}*/
	.nav-menu {
		border-top: none;
		border-bottom: none;
	}
	.nav-main-items>li>a {
		color: #000;
		border-bottom:0px solid #fff;
	}
	.nav-main-items>li.active>a {
		color: #000;
		border-bottom:4px solid #8F103B;
	}
	.nav-main-items>li {
		line-height:150%;
		padding: 0 0 0 30px;
	}
	#nav-main-search[aria-expanded]>a {
		margin-top: 0px;
	}
} 

/* PATCH RISOLVE CRITERI ERRORE su MAUVE++ */
/* --- F73: il link-bottone è evidente ANCHE senza colore --- */
a.btn.piece-btn,
#home a.btn,
#interne a.btn {
	display: inline-block;
	border: 2px solid currentColor;      /* bordo = indizio non cromatico */
	text-decoration: underline;          /* indizio non cromatico */
	text-underline-offset: 2px;
}

a.btn.piece-btn:hover,
a.btn.piece-btn:focus-visible,
#home a.btn:hover,
#home a.btn:focus-visible,
#interne a.btn:hover,
#interne a.btn:focus-visible {
	text-decoration-thickness: 3px;      /* rinforza l’indizio */
}

/* --- 2.4.7: focus ben visibile sui .btn (anello doppio) --- */
a.btn:focus-visible {
	/* evita doppio bordo */
	box-shadow:
		0 0 0 3px #fff,                     /* anello di separazione */
		0 0 0 6px #2197db;                  /* anello esterno evidente */
}

/* Se qualche tema azzera il focus dei btn, sovrascrivi */


/* --- Correzioni: non togliere underline su focus/hover nei titoli --- */
.teaser .heading > a { text-decoration: none; }
.teaser .heading > a:hover,
.teaser .heading > a:focus-visible { text-decoration: underline; }

/* --- Evita offset negativo (può essere tagliato dai wrapper) --- */
a:focus{ outline-offset: 3px; }        /* al posto di -2px */



/* --- 0) Offset del focus globale: evita valori negativi --- */
a:focus{ outline-offset: 3px; }

/* --- 1) F73: i link “a bottone” devono essere evidenti anche senza colore --- */
a.btn,
a.btn.piece-btn {
	display: inline-block;
	border: 2px solid currentColor;    /* bordo = indizio non cromatico */
	text-decoration: underline;        /* indizio non cromatico */
	text-underline-offset: 2px;
}
a.btn:hover,
a.btn:focus-visible,
a.btn.piece-btn:hover,
a.btn.piece-btn:focus-visible {
	text-decoration-thickness: 3px;
}

/* --- 2) 2.4.7 + 1.4.11: focus ad ALTO contrasto anche su sfondi magenta --- */
/* Anello doppio: bianco (separa) + NERO esterno (≥3:1 vs #D50158) */
a.btn:focus-visible,
a.icon-link:focus-visible,            /* riga delle 6 icone in testata */
.teaser .heading > a:focus-visible,   /* titoli delle card/notizie */
.blur-focus:focus-visible,            /* input ricerca in header */
.text a:focus-visible {

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000;                   /* esterno nero → passa 1.4.11 */
}

/* Se qualche tema azzera il focus dei .btn, riallinea */


/* --- 3) Link nei titoli/card: non togliere il segnale non cromatico --- */
.teaser .heading > a { text-decoration: none; }
.teaser .heading > a:hover,
.teaser .heading > a:focus-visible {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* --- 4) Link “icone” (Eventi, Tirocini, …): rendili box per un focus pulito --- */
a.icon-link {
	display: block;
	border-radius: .5rem;
}

/* --- 5) Nei testi di contenuto: niente underline rimosso su focus/hover --- */
.text a { text-decoration: underline; border-bottom: none; }
.text a:hover,
.text a:focus-visible { text-decoration-thickness: 2px; }

#navbar a {
	text-decoration: none;          /* indizio non cromatico */
	text-underline-offset: 2px;
	border-bottom: none;                 /* evita doppio segno */
}

/* Rafforza solo al passaggio/focus */
#navbar a:hover, .text-box a:hover,
#navbar a:focus-visible, .text-box a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}


/* Footer: i link devono essere distinguibili anche senza colore */
footer.area-foot .subfoot a:not(.btn),
footer.area-foot .subfoot .line-icon a {
	text-decoration: none;          /* indizio non cromatico */
	text-underline-offset: 2px;
	border-bottom: none;                 /* evita doppio segno */
}

/* Rafforza solo al passaggio/focus */
footer.area-foot .subfoot a:not(.btn):hover,
footer.area-foot .subfoot a:not(.btn):focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

footer.area-foot .topfoot a:not(.btn) {
	text-decoration: none;          /* indizio non cromatico */
	text-underline-offset: 2px;
	border-bottom: none;                 /* evita doppio segno */
}

/* Rafforza solo al passaggio/focus */
footer.area-foot .topfoot a:not(.btn):hover,
footer.area-foot .topfoot a:not(.btn):focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

/* Caso puntuale segnalato da MAUVE++ */
#open_preferences_center {
	text-decoration: none;
	text-underline-offset: 2px;
	border-bottom: none;
}
#open_preferences_center:hover,
#open_preferences_center:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

/* Input cerca in header (e tutti gli input) — bordo ≥ 3:1 vs #fff */
.styled-form.search-form input[type="text"], input[type="text"], input[type="search"], input[type="email"], input[type="tel"], select, textarea {
	border: 0px solid #6b6b6b;   /* ≈5:1 contro #fff → ok 1.4.11 */
	border-bottom: 1px solid #0056b3;
}
/*
.input input:focus,
.input input:focus-visible {
    outline: 2px solid #0053a6 !important;      /* colore ben visibile */
    outline-offset: 2px;
}
*/
.btn:focus,
.btn:focus-visible {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}

.checkbox input:focus-visible + i {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}

/* Regola generica per tutti gli elementi focusabili */
:focus-visible {
    outline: 2px solid #0053a6 !important;   /* colore ben visibile */
    outline-offset: 2px;
}

/* Pulsanti e link con classe .btn */
.btn:focus-visible {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}

/* Input del form */
.input input:focus-visible {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}

/* Link dentro al form, es. Privacy */
form a:focus-visible {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}
form#form1 a:focus-visible {
    outline: 2px solid #000 !important;
    outline-offset: 2px;
}

/* Checkbox “customizzata” (input + i) */
.checkbox input:focus-visible + i {
    outline: 2px solid #0053a6 !important;
    outline-offset: 2px;
}



#homepage .styled-form.search-form input[type="text"],
#homepage input[type="text"], #homepage input[type="search"], #homepage input[type="email"], #homepage input[type="tel"],
#homepage select, #homepage textarea {
	border: 0px solid #6b6b6b;   /* ≈5:1 contro #fff → ok 1.4.11 */
	border-bottom: 1px solid #fff;
}

/* Bottoni su sfondi colorati: bordo scuro sempre visibile */
a.btn, button.btn, .btn {
	/*! border: 2px solid #000; */      /* bordo del componente ≥3:1 contro magenta/blu */
}

/* Focus tastiera ad alto contrasto dappertutto */
:where(a, button, input, select, textarea):focus-visible {
	box-shadow:
		0 0 0 3px #fff,     /* anello separatore */
		0 0 0 6px #000;     /* anello esterno (≥3:1 su qualsiasi sfondo) */
}

/* Evita che i temi lo azzerino */


/* Assicurati che i “contenitori” non taglino il focus */
:where(.teaser, .type-iconbox, .box-hp-rosso, .box-blue, .link, .piece-btn-wrapper){ overflow: visible; }

/* Se qualche wrapper non può togliere overflow, aggiungi il contorno al wrapper */
:where(.teaser, .type-iconbox, .piece-btn-wrapper):focus-within {
	outline: 3px solid #000;
	outline-offset: 6px;
	border-radius: 6px;
}

/* 1) Anello di focus ad alto contrasto su input e button del search */
.styled-form.search-form input[type="text"]:focus-visible,
.styled-form.search-form button[type="submit"]:focus-visible {

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important; /* ≥3:1 su qualunque sfondo */
}

/* 2) Mostra il focus sull’intero gruppo input+button */
.styled-form.search-form .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within {
	outline: 3px solid #000;         /* visibilissimo */
	outline-offset: 6px;
	border-radius: 6px;
}

/* 3) Bordo input con contrasto sufficiente (1.4.11) */
.styled-form.search-form input[type="text"] {
	border: 2px solid #6b6b6b !important; /* ≈5:1 su #fff */
}

/* 4) Evita che il ring venga tagliato o azzerato */
.nav-main-container .nav-menu,
.styled-form.search-form { overflow: visible; }



/* ==== FIX MAUVE++: 2.4.7 Focus visibile + 1.4.11 contrasto ==== */

/* 1) Ring di focus ad alto contrasto ANCHE su :focus (non solo :focus-visible) */
.styled-form.search-form input[type="text"]:focus,
.styled-form.search-form button[type="submit"]:focus,
.styled-form.search-form input[type="text"]:focus-visible,
.styled-form.search-form button[type="submit"]:focus-visible {

	/* doppio anello: bianco (separa) + nero (≥3:1 su qualsiasi sfondo) */
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
}

/* 2) Evidenzia l’intero gruppo input+button quando uno dei due ha focus */
.styled-form.search-form .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within {
	outline: 3px solid #000;
	outline-offset: 6px;
	border-radius: 6px;
}

/* 3) Bordo dei componenti con contrasto sufficiente (1.4.11) */
.styled-form.search-form input[type="text"] { border: 2px solid #6b6b6b !important; }
.styled-form.search-form button[type="submit"] { border: 2px solid #000 !important; }

/* 4) Annulla i reset che spengono il focus sul bottone .btn in quell’area */
.styled-form.search-form .btn:focus{box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important; outline: 3px solid #000; outline-offset: 3px;}

/* 5) L’input usa la classe .blur-focus: non togliere il focus, disegna l’anello */

/* ==== FIX definitivi MAUVE++ per il campo di ricerca ==== */

/* 0) Il dropdown del menu non deve tagliare l'anello */
.nav-main-container .nav-menu,
.styled-form.search-form { overflow: visible !important; }

/* 1) Bordo di base con contrasto sufficiente (≥ 3:1) */
#nav_nav-main-search input#searchNavQuery {
	border: 2px solid #6b6b6b !important;   /* ≈5:1 su bianco */
	background-color: #fff;                  /* evita trasparenze */
}

/* 2) Focus visibile su :focus e :focus-visible (MAUVE testa entrambi) */
#nav_nav-main-search input#searchNavQuery:focus,
#nav_nav-main-search input#searchNavQuery:focus-visible {
	/* annulla QUALSIASI reset precedente */

	/* doppio anello: bianco + nero → altissimo contrasto su qualunque sfondo */
	box-shadow:
		0 0 0 6px #fff,
		0 0 0 12px #000 !important;
	z-index: 1;                               /* sopra al bordo del wrapper */
}

/* 3) Se esiste ancora il reset della classe blur-focus, neutralizzalo */

/* 4) Mostra un contorno anche al wrapper quando l’input è in focus */
.styled-form.search-form .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

/* 5) Pulsante "Vai": stesso trattamento di focus e bordo */
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;        /* contrasto del componente (1.4.11) */
}
#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;
}


/* Fallback globale: MAUVE++ valuta :focus */
:where(a, button, input, select, textarea):focus{
	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;  /* anello esterno nero: contrasto ≥3:1 su ogni sfondo */
}

/* Ricerca in header: forza anche lo stato :focus (non solo :focus-visible) */
.styled-form.search-form input[type="text"]:focus,
.styled-form.search-form button[type="submit"]:focus{

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;
}

/* Non tagliare l’anello */
.nav-main-container .nav-menu,
.styled-form.search-form { overflow: visible; }

/* Bordo input con contrasto sufficiente (1.4.11) */
.styled-form.search-form input[type="text"] {
	border: 2px solid #6b6b6b !important; /* ~5:1 su #fff */
}

/* Rimuovi la regola che lo annulla */


/* Non tagliare l’anello nel menu */
.nav-main-container .nav-menu,
.styled-form.search-form { overflow: visible !important; }

/* BORDO con contrasto sufficiente */
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #6b6b6b !important; /* ≈5:1 su #fff → ok 1.4.11 */
	background:#fff;
}

/* FOCUS ad alto contrasto (MAUVE controlla anche :focus) */
#nav_nav-main-search #searchNavQuery:focus,
#nav_nav-main-search #searchNavQuery:focus-visible {

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;  /* anello esterno nero → ≥3:1 su qualunque sfondo */
}

/* Se la classe azzera l’outline, neutralizzala */

/* === FIX MAUVE++ per il campo di ricerca nell'header === */

/* 0) Il menu non deve tagliare il ring */
.nav-main-container .nav-menu,
#nav_nav-main-search { overflow: visible !important; }

/* 1) Bordi del componente con contrasto sufficiente (≥3:1) */
#nav_nav-main-search input#searchNavQuery {
	border: 2px solid #6b6b6b !important; /* ~5:1 su #fff */
	background: #fff;                      /* niente trasparenze */
}

/* 2) Focus visibile (su :focus e :focus-visible) ad alto contrasto */
#nav_nav-main-search input#searchNavQuery:focus,
#nav_nav-main-search input#searchNavQuery:focus-visible {
	/* non basiamoci sull’outline */
	box-shadow:
		0 0 0 6px #fff,                      /* anello separatore */
		0 0 0 12px #000 !important;           /* anello esterno (≥3:1 ovunque) */
	border-color: #000 !important;         /* bordo “forte” in focus */
	position: relative; z-index: 10;       /* sopra al bg del menu */
}

/* 3) Evidenzia anche il wrapper quando il campo o il bottone hanno focus */
#nav_nav-main-search .input.button { position: relative; }
#nav_nav-main-search .input.button:focus-within {
	outline: 3px solid #000;               /* visibilissimo */
	outline-offset: 6px;
	border-radius: 6px;
}

/* 4) Stesso trattamento per il pulsante “VAI” */
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;     /* contrasto del componente (1.4.11) */
}
#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {

	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;
	position: relative; z-index: 10;
}

/* === FIX definitivi per MAUVE++ (2.4.7 + 1.4.11) === */

/* il menu non deve tagliare l’anello */
.nav-main-container .nav-menu,
#nav_nav-main-search { overflow: visible !important; }

/* INPUT ricerca: bordo con contrasto e ring visibile */
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #6b6b6b !important;   /* ~5:1 su bianco → 1.4.11 ok */
	background: #fff;
}
#nav_nav-main-search #searchNavQuery:focus,
#nav_nav-main-search #searchNavQuery:focus-visible {
	/* niente outline:none: usiamo SOLO box-shadow */
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important; /* contrasto alto */
	border-color: #000 !important;
	position: relative; z-index: 10;
}

/* Bottone “VAI”: stesso trattamento */
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;
}
#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
	position: relative; z-index: 10;
}

/* Link logo Regione (quello che apriva in nuova finestra) */
.navbar-brand.regione:focus,
.navbar-brand.regione:focus-visible {
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
}

/* ==== FIX MAUVE++ per <a class="btn piece-btn"> ==== */

/* 1) Base: aspetto da bottone e bordo visibile anche senza colore */
a.btn, a.btn.piece-btn {
	display: inline-block;
	border: 2px solid currentColor;   /* indizio non cromatico */
	text-decoration: underline;       /* altro indizio non cromatico */
	text-underline-offset: 2px;
}

/* 2) Focus ALTAMENTE visibile – stilare sia :focus che :focus-visible */
a.btn:focus,
a.btn:focus-visible,
a.btn.piece-btn:focus,
a.btn.piece-btn:focus-visible {
	outline: 3px solid #000 !important;   /* anello nero ≥3:1 su qualunque sfondo */
	outline-offset: 2px !important;
	border-color: #000 !important;        /* cambio evidente del componente */
}

/* 3) Evita che l’anello venga tagliato dal contenitore */
.element.only-link,
.piece,
.piece .link,
.piece-btn-wrapper { overflow: visible !important; }

/* 4) Se il wrapper ha bisogno di un contorno complessivo */
.element.only-link:focus-within,
.piece-btn-wrapper:focus-within {
	outline-offset: 6px;
	border-radius: 6px;
}

/* ========== 1) INPUT DI RICERCA ========== */
/* Bordo di base con contrasto sufficiente (≥3:1 su bianco) */
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #6b6b6b !important;   /* ≈5:1 su #fff */
	background: #fff !important;
}

/* Focus VISIBILE sia su :focus che su :focus-visible */
#nav_nav-main-search #searchNavQuery:focus,
#nav_nav-main-search #searchNavQuery:focus-visible {

	/* doppio anello bianco+nero: altamente visibile su qualunque sfondo */
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
	z-index: 1;
}

/* La classe blur-focus non deve togliere il focus */
.blur-focus:focus{ }  /* gestito dal box-shadow */

/* Evita che il ring venga tagliato dai contenitori */
.nav-main-container .nav-menu,
.styled-form.search-form { overflow: visible !important; }

/* Wrapper input+button evidenziato quando uno è in focus */
.styled-form.search-form .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

/* Pulsante "VAI": bordo e focus visibili */
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;      /* contrasto del componente (1.4.11) */
}
#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {

	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
}

/* ========== 2) LINK/BUTTON .btn (es. "Invia segnalazione") ========== */
/* Distinguibile anche senza colore – richiesto da F73/F78 */
a.btn,
a.btn.piece-btn {
	display: inline-block;
	border: 2px solid currentColor;    /* indizio non cromatico */
	text-decoration: underline;        /* indizio non cromatico */
	text-underline-offset: 2px;
}

/* Focus visibile su :focus e :focus-visible */
a.btn:focus, a.btn:focus-visible,
a.btn.piece-btn:focus, a.btn.piece-btn:focus-visible {

	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
}

/* Se qualche regola del tema azzera il focus dei .btn, neutralizzala */


/* ========== 3) FAIL-SAFE GLOBALE (opzionale ma utile) ========== */
:where(a, button, input, select, textarea):focus{
	/* ring universale, solo se nessuna regola più specifica è applicata */

	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important;
}


/* --- INPUT E BOTTONE DELLA SEARCH (menu top) --- */
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #6b6b6b;       /* >= 3:1 con #fff → ok SC 1.4.11 */
	background: #fff;
}

#nav_nav-main-search #searchNavQuery:focus,
#nav_nav-main-search #searchNavQuery:focus-visible {
	outline: 3px solid #000 !important;  /* vero outline → Mauve lo rileva */
	outline-offset: 3px;
}

#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {
	outline: 3px solid #000 !important;
	outline-offset: 3px;
}

/* --- LINK-BOTTONE “Invia segnalazione” e tutti i .btn --- */
a.btn:focus,
button.btn:focus,
.btn:focus{
	outline: 3px solid #000 !important;  /* visibilissimo su qualunque sfondo */
	outline-offset: 3px;
}

/* (facoltativo ma consigliato) Rendi evidente che i .btn sono link anche senza colore */
a.btn { 
	border: 2px solid currentColor;
	text-decoration: underline;
	text-underline-offset: 2px;
}


/* se esiste ancora altrove, neutralizzala */
.blur-focus:focus{ outline: 3px solid #000 !important; outline-offset: 3px; }

/* Verifica che i contenitori non taglino l’outline: */
.nav-main-container .nav-menu, .styled-form.search-form { overflow: visible; }

/* --- SEARCH DEL MENU TOP ------------------------------------------------- */
/* 1) Bordo di base con contrasto ≥ 3:1 su qualunque sfondo */
#nav_nav-main-search input#searchNavQuery {
	border: 2px solid #000 !important;      /* nero = contrasto sicuro */
	background: #fff !important;
	color: #000 !important;
	margin-right: 15px;
}
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;      /* nero = contrasto sicuro */
	background: #144382 !important;
	color: #fff !important;
}

/* 2) Focus altamente visibile (MAUVE valuta anche :focus, non solo :focus-visible) */
#nav_nav-main-search input#searchNavQuery:focus,
#nav_nav-main-search input#searchNavQuery:focus-visible {
	outline: 5px solid #B20101 !important;               /* neutralizza eventuali reset del tema */
	box-shadow:
		0 0 0 6px #fff,
		0 0 0 12px #000 !important;            /* doppio anello: bianco + nero */
	z-index: 2;                              /* sopra a eventuali bordi contenitore */
}

#nav_nav-main-search .btn[type="submit"]:focus,
#nav_nav-main-search .btn[type="submit"]:focus-visible {
	outline: 5px solid #B20101 !important;                /* neutralizza eventuali reset del tema */
	box-shadow:
		0 0 0 6px #fff,
		0 0 0 12px #000 !important;            /* doppio anello: bianco + nero */
	z-index: 2;                              /* sopra a eventuali bordi contenitore */
}

/* 3) Non tagliare l’anello di focus */
#nav_nav-main-search,
#nav_nav-main-search .nav-menu,
#nav_nav-main-search .input.button {
	overflow: visible !important;
}

/* --- LINK-BOTTONE (es. "Invia segnalazione") ----------------------------- */
/* Bordo sempre visibile + focus ring coerente */
a.btn, .btn {
	/*! border: 2px solid currentColor; */         /* indizio non cromatico (F73) */
}
a.btn:focus, a.btn:focus-visible,
.btn:focus, .btn:focus-visible {
	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;            /* focus ring molto evidente */
}

/* In caso il tema azzeri il focus dei .btn altrove */
.btn:focus{box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important; outline: 3px solid #000; outline-offset: 3px;}

/* --- LINK TESTUALI NEL FOOTER/LISTE (evita F73) -------------------------- */
footer .subfoot a:not(.btn) { text-decoration: underline; text-underline-offset: 2px; }


/* ==== FIX definitivi MAUVE++ per il campo di ricerca ==== */

/* 0) Il wrapper non deve tagliare il ring di focus */
.styled-form.search-form { overflow: visible !important; }

/* 1) Bordi con contrasto sufficiente (≥ 3:1 su bianco) */
.styled-form.search-form input#searchNavQuery {
	border: 2px solid #6b6b6b !important;  /* ~5:1 su #fff */
	background: #fff;                      /* evita trasparenze */
}
.styled-form.search-form button.btn[type="submit"] {
	border: 2px solid #000 !important;     /* visibile su qualsiasi sfondo */
}

/* 2) Focus ALTAMENTE visibile (SC 2.4.7) senza essere rimosso altrove */
.styled-form.search-form input#searchNavQuery:focus,
.styled-form.search-form input#searchNavQuery:focus-visible,
.styled-form.search-form button.btn[type="submit"]:focus,
.styled-form.search-form button.btn[type="submit"]:focus-visible {
	outline: 5px solid red !important;    /* vero contorno leggibile (SC 1.4.11) */
	outline-offset: 5px !important;
	box-shadow: none !important;           /* evita “reset” che spengono il focus */
	position: relative; z-index: 1;
	background: rgba(33,151,219,.15);
}

/* 3) Mostra il focus sull’intero gruppo input+button */
.styled-form.search-form .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

/* 4) Correggi eventuali regole globali che rovinano il focus */
a:focus{ outline-offset: 3px !important; }     /* niente offset negativo */
.btn:focus{!important; outline: 3px solid #000; outline-offset: 3px;}     /* ma l’outline sopra resta attivo */

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ==== Accessibility: unified focus + search form fixes (SC 2.4.7 / 1.4.11) ==== */
.styled-form.search-form { overflow: visible !important; }
#searchNavQuery,
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #6b6b6b !important;
	background: #fff !important;
}
.styled-form.search-form .btn[type="submit"],
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;
}
:where(a, button, input, select, textarea):focus {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}
.styled-form.search-form .input.button,
#nav_nav-main-search .input.button { position: relative; }
.styled-form.search-form .input.button:focus-within,
#nav_nav-main-search .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

input#searchNavQuery:focus { outline: 3px solid #000 !important; outline-offset: 3px !important; }

/* === Filter search (SC 1.4.11 + 2.4.7) === */
.filterbox.search { overflow: visible !important; } /* non tagliare l’outline */

/* Contrasto del componente (≥3:1) */
.filterbox.search input[type="text"] {
	background: #fff !important;
	border: 2px solid #000 !important; /* 21:1 su bianco */
}

/* Focus chiaramente visibile */
.filterbox.search input[type="text"]:focus,
.filterbox.search input[type="text"]:focus-visible,
.filterbox.search .btn:focus,
.filterbox.search .btn:focus-visible {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}

/* Evidenza dell’intero gruppo quando un elemento è in focus */
.filterbox.search .input.button { position: relative; }
.filterbox.search .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

/* Anti-reset pericolosi che spesso causano F78 */
.filterbox.search .btn:focus { box-shadow: none !important; }  /* mantenuto, ma con outline sopra */

/* wrapper con icona */
.filterbox.search .input.button { position: relative; }

/* icona */
.filterbox.search .icon-prepend{
	position:absolute; left:12px; top:50%; transform:translateY(-50%);
	width:22px; text-align:center; pointer-events:none;
	color:#6b6b6b;
}

/* divisore più lontano e più corto */
.filterbox.search .icon-prepend::after{
	content:"";
	position:absolute; right:-10px; top:50%;
	transform:translateY(-50%);
	height:60%;           /* accorcia la barretta */
	width:1px; background:#bfbfbf;  /* grigio più soft */
}

/* spazio per icona + gap + divisore */
.filterbox.search input[type="text"]{
	padding-left: 48px;   /* 22 (icona) + 10 (gap) + 1 (bar) + extra */
}


.filterbox.search .icon-prepend::after{ display:none; }
.filterbox.search input[type="text"]{ padding-left: 40px; } /* solo lente + margine */

/* SC 1.4.3 – contrasto testo per il bottone anno */
.btn.year.li-label {
	background: #f2f2f2 !important;   /* sfondo chiaro */
	color: #000 !important;            /* testo nero → ~21:1 su #f2f2f2 */
	border: 2px solid #000 !important; /* coerente con gli altri fix */
}

/* Stati interattivi: non schiarire il testo */
.btn.year.li-label:hover,
.btn.year.li-label:focus,
.btn.year.li-label[aria-expanded="true"] {
	color: #000 !important;
	background: #e9e9e9 !important;   /* resta chiaro, contrasto sempre ≥ 4.5:1 */
	outline: 0px solid #000;          /* focus ben visibile (già a norma 2.4.7) */
	outline-offset: 0px;
}

/* === Archivio: input di ricerca (chiude 1.4.11 + 2.4.7 su textsearch_la_*) === */

/* non tagliare l'outline */
.filterbox.search,
.filterbox.search .input.button { overflow: visible !important; }

/* stato normale: bordo a contrasto */
.filterbox.search input[id^="textsearch_"] {
	background: #fff !important;
	border: 1px solid #000 !important;   /* contrasto elevato col contenitore */
}

/* focus ben visibile: outline reale, niente ombre che lo “spengono” */
.filterbox.search input[id^="textsearch_"]:focus,
.filterbox.search input[id^="textsearch_"]:focus-visible {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: none !important;          /* neutralizza Bootstrap/tema */
}

/* evidenzia il gruppo input+button quando è attivo */
.filterbox.search .input.button:focus-within {
	outline: 3px solid #000 !important;
	outline-offset: 6px;
	border-radius: 6px;
}

/* “antidoto” se il tema azzera l’outline su .form-control */
.filterbox.search .form-control:focus {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}

/* ==== MAUVE++ FIX PACK (SC 2.4.7 focus visibile + SC 1.4.11 contrasto) ====
Inserisci questo file DOPO custom.css (oppure incollalo in coda).
È minimale, senza duplicati, e usa !important per vincere conflitti esistenti.
=============================================================================== */

/* 0) Evita che i container taglino gli anelli di focus */
.nav-main-container .nav-menu,
#nav_nav-main-search,
.styled-form.search-form,
.filterbox.search { overflow: visible !important; }

@media (max-width: 1013.98px) {
	.nav-main-items li > .nav-menu {
		overflow: hidden !important;
	}
}

/* 1) Focus universale, visibile e coerente su tutti i controlli interattivi */
:where(a,button,input,select,textarea):focus {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: none !important; /* disattiva ombre che confondono i tool */
}
:where(a.tLink):focus {
	outline: 0px solid #000 !important;
}

/* 2) Link-bottone: distinguibile ANCHE senza colore (F73/F78) */
a.btn, .btn {
	/*! border: 2px solid currentColor; */      /* indizio non cromatico */
	/*! text-decoration: underline; */          /* indizio non cromatico */
	text-underline-offset: 2px;
}
a.btn:focus, .btn:focus { /* stesso ring del punto 1 */
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
}

/* 3) Search nel menu top */
#nav_nav-main-search #searchNavQuery {
	border: 2px solid #000 !important;   /* contrasto del componente ≥ 3:1 */
	background: #fff !important;
	color: #000 !important;
}
#nav_nav-main-search .btn[type="submit"] {
	border: 2px solid #000 !important;
}
#nav_nav-main-search #searchNavQuery:focus,
#nav_nav-main-search .btn[type="submit"]:focus {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
}

/* 4) Archivio (input tipo textsearch_*) */
.filterbox.search input[id^="textsearch_"] {
	border: 1px solid #000 !important;   /* contrasto elevato */
	background: #fff !important;
}
.filterbox.search input[id^="textsearch_"]:focus {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
}

/* 5) Pulsante/etichetta anno (accessibilità contrasto + focus) */
.btn.year.li-label {
	background: #f2f2f2 !important;
	color: #000 !important;
	border: 0px solid #000 !important;
}
.btn.year.li-label:hover,
.btn.year.li-label:focus,
.btn.year.li-label[aria-expanded="true"] {
	background: #e9e9e9 !important;
	color: #000 !important;
	outline: 0px solid #000 !important;
	outline-offset: 0px !important;
}

/* 6) Link nel testo: non togliere la sottolineatura al focus/hover */
.text a { border-bottom: none !important; }
.text a:hover, 
.text a:focus {
	text-decoration: underline !important; 
	text-decoration-thickness: 3px; 
}
/* Rafforza solo al passaggio/focus */
.text a:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}

.btn.submitbutton {
	border: 2px solid black;
}
@media (max-width: 763.98px) {
	.btn.submitbutton {
		margin-bottom: 20px;
	}
}

.btn.submitbutton:focus, .btn.submitbutton:hover {
	color: #000 !important;
	background-color: #d9d9d9 !important;
}

.btn.resetbutton {
	color: #0b0b0b !important;;
	background-color: #e6e6e6 !important; /* assicurati ≥ 4.5:1 col colore testo */
	border-color: #bfbfbf !important;
}
.btn.resetbutton:focus, .btn.resetbutton:hover {
	background-color: #d9d9d9 !important;
}

/* baseline focus per TUTTO */
:where(#interne.webform a, #interne.webform button, #interne.webform input, #interne.webform textarea, #interne.webform select, #interne.webform [tabindex]):focus {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

/* rinforza nei campi webform */
.mercury-webform-wrapper :where(#interne.webform input, #interne.webform textarea, #interne.webform select):focus {
	box-shadow: 0 0 0 3px rgba(0,0,0,.25);
}

/* NON rimuovere mai l’outline */
:where(#interne.webform a,#interne.webform button,#interne.webform input,#interne.webform textarea,#interne.webform select):focus-visible {
	outline-width: 3px;
}


/* Nucleare ma confinato al body#interne.webform */
#interne.webform *:focus {
	outline:3px solid #000 !important;
	outline-offset:3px !important;
	box-shadow:none !important;
}


/* ===== MAUVE++ PATCH: .menuCittadinoButton (applies to both <a> and <button>) ===== */
.menuCittadinoButton.dark, .dropdown-item > a.menuCittadinoButton.dark {
	display: inline-block;           /* area cliccabile consistente */
	padding: 8px 12px;
	border-radius: 4px;
	text-decoration: none;           /* aspetto pulito ma visibile */
	background-color: #ffffff !important;  /* sfondo chiaro per contrasto */
	color: #0b0b0b !important;       /* testo scuro → >4.5:1 su #fff */
	border: 2px solid transparent !important; /* spazio per bordo se vuoi */
}

/* Indicatore non basato solo sul colore (barra a sinistra persistente su hover/focus) */
.dropdown-item > a.menuCittadinoButton.dark::before,
.dropdown-item > button.menuCittadinoButton.dark::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0.35rem;
	bottom: 0.35rem;
	width: 4px;
	background: transparent;
	border-radius: 2px;
	transition: background 0.12s ease;
}

/* Quando stato hover/focus: mostra l'indicatore e evidenzia */
.dropdown-item > a.menuCittadinoButton.dark:hover,
.dropdown-item > a.menuCittadinoButton.dark:focus,
.dropdown-item > button.menuCittadinoButton.dark:hover,
.dropdown-item > button.menuCittadinoButton.dark:focus {
	background-color: rgba(0,64,128,0.06) !important;
	color: #000 !important;
	text-decoration: none !important;
}

/* barra visibile non basata sul colore */
.dropdown-item > a.menuCittadinoButton.dark:hover::before,
.dropdown-item > a.menuCittadinoButton.dark:focus::before,
.dropdown-item > button.menuCittadinoButton.dark:hover::before,
.dropdown-item > button.menuCittadinoButton.dark:focus::before {
	background: currentColor !important;
}

/* FOCUS ACCESSIBILE (valuta sia :focus che :focus-visible) */
.menuCittadinoButton.dark:focus,
.menuCittadinoButton.dark:focus-visible {
	outline: 3px solid #000 !important;       /* anello nero ben visibile */
	outline-offset: 3px !important;
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000 !important; /* doppio anello (bianco+nero) */
	z-index: 20;
}

.menuCittadinoButton:where(a, button, input, select, textarea):focus {
	outline: 3px solid #fff !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}
.menuCittadinoButton:where(a, button, input, select, textarea):focus-visible {
	box-shadow: 0 0 0 3px #fff, 0 0 0 6px #000;
}

/* Se .menuCittadinoButton è un <a> dentro .dropdown-item assicurati che sia positioned */
.dropdown-item { position: relative; }
.dropdown-menu :where(a, button, input, select, textarea) {
	text-decoration: none;          /* indizio non cromatico */
	text-underline-offset: 2px;
	border-bottom: none;                 /* evita doppio segno */
	background-color: #0a3b66;
	color: #fff;
}
.dropdown-menu :where(a, button, input, select, textarea):focus {
	outline: 3px solid #fff !important;
	outline-offset: 3px !important;
	box-shadow: none !important;
}
.dropdown-menu :where(a, button, input, select, textarea):hover,
.dropdown-menu :where(a, button, input, select, textarea):focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}
/* Garantire che il menu non tagli il ring */
.nav-main-container .nav-menu,
.dropdown-item,
#scuola, #arte, #Cittadinanza, #Risorse { 
	overflow: visible !important; 
}


/* VARIAZIONE 17-11-25 */
.menuCittadinoButton, .dropdown-item {
	color: #fff; /* colore scuro, alto contrasto con sfondo chiaro */
	background-color: #036;
	margin-left: 3px;
}
/* Assicurati che i bottoni e i link abbiano un focus visibile */
.menuCittadinoButton:focus, .dropdown-item:focus {
	outline: 3px solid #0055aa; /* colore ad alto contrasto */
	outline-offset: 2px;         /* leggero distacco per visibilità */
	box-shadow: 0 0 0 3px rgba(0, 85, 170, 0.6);
}
.menuCittadinoButton:hover, a.menuCittadinoButton:hover {
	margin-left: 3px;
}

/* FOCUS VISIBILE PER IL MENU LINGUA – versione “nera” a prova di tool */
.nav-item.dropdown.language .nav-link:focus,
.nav-item.dropdown.language .nav-link:focus-visible,
.nav-item.dropdown.language .nav-link:active,
.nav-item.dropdown.language .nav-link:focus:not(:focus-visible),
.nav-item.dropdown.language .nav-link:focus-within {
    outline: 3px solid #000 !important;
    outline-offset: 3px !important;
    box-shadow:
      0 0 0 3px #fff,
      0 0 0 6px #000 !important;   /* anello bianco + anello nero */
    border-radius: 4px !important;
}

/* classica utilità sr-only (accessibile) */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
@media (max-width: 991px) {
  .uffici.sr-only {
    display: contents;
  }
}

/* Layout: etichetta + input + button si adattano con flexbox */
.searchbar {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	width: 100%;
	max-width: 520px; /* regola il massimo se serve */
}

/* input prende lo spazio restante */
.search_input {
	flex: 1 1 auto;
	min-width: 120px; /* evita che diventi troppo piccolo sui device piccoli */
	font-size: 1.62rem;
	border: 1px solid #cfcfcf;
	border-radius: 4px;
	background: #fff;
	color: #0b0b0b;
}
#form1 .search_input {
	border: 0px solid #6b6b6b;   /* ≈5:1 contro #fff → ok 1.4.11 */
	border-bottom: 1px solid #fff;
	font-size: 1rem;
}
.standardX #navSearchFormMobiTop .search_input {
	border: 0px solid #6b6b6b;   /* ≈5:1 contro #fff → ok 1.4.11 */
	border-bottom: 1px solid #fff;
	font-size: 1rem;
}
#searchTop {
	border: 0px solid #6b6b6b;   /* ≈5:1 contro #fff → ok 1.4.11 */
	border-bottom: 1px solid #fff;
	font-size: 1.5rem;
}
#form1 .filterbox.search input[type="text"] {
  border: 2px solid #e0e0e0 !important;
}
/* bottone submit compatto */
.searchbar .btn {
	flex: 0 0 auto;
	padding: 0.45rem 0.6rem;
	background: transparent;
	border: none;
}

/* FOCUS altamente visibile per input e button (risolve SC 2.4.7 / F78 / G195) */
.search_input:focus,
.search_input:focus-visible {
	outline: 3px solid #ffbf47 !important; /* colore ad alto contrasto, cambia se preferisci */
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px rgba(255,191,71,0.25) !important;
	border-color: #ffbf47 !important;
}
.search_input:focus::placeholder {
	color: #000;
}

/* Focus anche per il bottone */
.searchbar .btn:focus,
.searchbar .btn:focus-visible {
	outline: 3px solid #ffbf47 !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 4px rgba(255,191,71,0.25) !important;
	border-radius: 4px !important;
}

/* Contrasto testo/bottone: assicurati che il testo rispetti 4.5:1 */
.search_input, .searchbar .btn {
  color: #1268b3;
}

/* Adattamento per schermi piccoli: riduci padding e max-width */
@media (max-width: 420px) {
	.searchbar {
		max-width: 320px;
	}
	.search_input {
		min-width: 90px;
	}
}

/* input di ricerca */
#navSearchFormMobiTop .search_input:focus,
#navSearchFormMobiTop .search_input:focus-visible {
	outline: 3px solid #000 !important;         /* giallo vistoso */
	outline-offset: 3px !important;
	box-shadow: 0 0 0 4px rgba(255,255,0,0.25) !important;
	border-color: #ff0 !important;
}

/* bottone submit */
#navSearchFormMobiTop .btn:focus,
#navSearchFormMobiTop .btn:focus-visible {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 4px rgba(255,255,0,0.25) !important;
	border-radius: 4px !important;
}

/* Forza anche per gli stati active e focus-within (alcuni UA li controllano) */
#navSearchFormMobiTop .search_input:active,
#navSearchFormMobiTop .search_input:focus-within,
#navSearchFormMobiTop .btn:active,
#navSearchFormMobiTop .btn:focus-within {
	outline: 3px solid #000 !important;
	box-shadow: 0 0 0 4px rgba(255,255,0,0.25) !important;
}


/* 0) Evita che il contenitore tagli l’anello di focus */
#navSearchFormMobiTop .searchbar {
	overflow: visible !important;
}

/* 1) Stato normale: bordo ad alto contrasto (SC 1.4.11) */
#navSearchFormMobiTop .search_input {
	background: #fff !important;
	color: #000 !important;
}

/* 2) Focus ALTAMENTE visibile su input e bottone (SC 2.4.7 / F78 / G195) */
#navSearchFormMobiTop .search_input:focus,
#navSearchFormMobiTop .search_input:focus-visible,
#navSearchFormMobiTop .btn:focus,
#navSearchFormMobiTop .btn:focus-visible {
	outline: 3px solid #000 !important;
	outline-offset: 3px !important;
	box-shadow:
		0 0 0 3px #fff,
		0 0 0 6px #000 !important;           /* anello nero molto evidente */
}

/* 3) Placeholder leggibile quando in focus */
#navSearchFormMobiTop .search_input:focus::placeholder {
	color: #000 !important;
}


/* === Indicatore di focus evidente per nav e dropdown === */
/* Applica su qualunque .nav-link, .dropdown-item e i button interni */
.navbar .nav-link:focus,
.navbar .nav-link:focus-visible,
.navbar .nav-link:active,
.navbar .dropdown-item:focus,
.navbar .dropdown-item:focus-visible,
.menuCittadinoButton:focus,
.menuCittadinoButton:focus-visible,
.dropdown-toggle:focus,
.dropdown-toggle:focus-visible {
	outline: 4px solid #ff0;            /* contorno netto e visibile */
	outline-offset: 3px;                /* separato dall'elemento */
	box-shadow: 0 0 0 6px rgba(255, 255, 0, 0.25); /* alone che aiuta il contrasto */
	border-radius: 4px;
}

/* Fallback per browser che non supportano :focus-visible */
.navbar .nav-link:focus,
.navbar .dropdown-item:focus,
.menuCittadinoButton:focus {
	outline: 4px solid #ff0;
	outline-offset: 3px;
	box-shadow: 0 0 0 6px rgba(255, 255, 0, 0.25);
	border-radius: 4px;
}

/* Evita che altre regole bootstrap più specifiche annullino il focus */
.navbar .nav-link:focus,
.navbar .dropdown-item:focus,
.menuCittadinoButton:focus {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}

/* High contrast / forced-colors support */
@media (forced-colors: active) {
	.navbar .nav-link:focus,
	.navbar .dropdown-item:focus,
	.menuCittadinoButton:focus {
		outline: 3px solid WindowText;
		box-shadow: none;
	}
}

/* Se hai regole globali che rimuovono l'outline, sovrascrivile in modo mirato */
a:focus, button:focus {
	/* solo se realmente necessario: */
	outline-offset: 3px;
}
.h-meta a {
	display: inline-block;
}
/* ==== FIX MAUVE++ - focus ben visibile sugli input del webform ==== */

/* Il contenitore non deve tagliare l'outline del campo */
#interne .styled-form .input {
    overflow: visible !important;
}

/* Focus molto visibile sui campi di testo del form */
#interne .styled-form .input input[type="text"]:focus,
#interne .styled-form .input input[type="text"]:focus-visible {
    outline: 3px solid #000 !important;   /* contorno nero spesso */
    outline-offset: 3px !important;
    border-color: #000 !important;        /* bordo nero, non più trasparente */
}

/* FIX focus visibile per tutti gli input tipo testo nei webform */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus {
    outline: 3px solid #000 !important;
    outline-offset: 3px !important;
    border-color: #000 !important;
    box-shadow: none !important;
}

/* Assicurati che il contenitore non tagli il focus */
.input, .styled-form .input {
    overflow: visible !important;
}
.styled-form .note {
    color: #000;
}

/* Focus visibile SOLO per questo link lingua */
a[data-focusfix="true"]:focus,
a[data-focusfix="true"]:focus-visible {
    outline: 3px solid #fff !important;   /* bianco sullo sfondo nero */
    outline-offset: 3px !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 4px;
	background-color: #000 !important;
}

.dropdown-menu.custom-lang-right .link-list .list-item {
    border-bottom: 1px solid currentColor;
    padding-bottom: 1px;
}

/* e la mantieni/rafforzi su hover/focus */
.dropdown-menu.custom-lang-right .link-list .list-item:hover,
.dropdown-menu.custom-lang-right .link-list .list-item:focus {
    border-bottom-width: 2px;
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Super-fix per il link lingua su sfondo scuro */
#languageSelector:focus,
#languageSelector:focus-visible {
    outline: 3px solid #fff !important;    /* contorno bianco spesso */
    outline-offset: 3px !important;
    background-color: rgba(255,255,255,0.2) !important;
    border-radius: 4px !important;
    box-shadow: none !important;
}
/* Link nei banner: non togliere la sottolineatura al focus/hover */
#home .element.box-hp-rosso a.piece-heading-link {text-decoration: none; border-bottom: none !important; }
#home .element.box-hp-rosso a.piece-heading-link:hover, 
#home .element.box-hp-rosso a.piece-heading-link:focus {
	text-decoration: underline !important; 
	text-decoration-thickness: 3px; 
}
/* Link nei banner: Rafforza solo al passaggio/focus */
#home .element.box-hp-rosso a.piece-heading-link:focus-visible {
	text-decoration: underline;
	text-decoration-thickness: 3px;
}