/* Integrazioni minime per accessibilità: non modificano la grafica esistente. */

/* Skip link: visibile solo al focus da tastiera */
.skip-link.sr-only-focusable:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 10000;
	padding: 10px 16px;
	background: #333;
	color: #fff;
	font-size: 14px;
	text-decoration: none;
	outline: 2px solid #8b8179;
}

/* Focus visibile per navigazione da tastiera */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
	outline: 2px solid #8b8179;
	outline-offset: 2px;
}

/* Titolo pagina: era un <p class="h1">, ora <h1>: azzera i margini dell'h1 per mantenere lo stesso aspetto */
#page-title {
	margin: 0 0 10px;
}

/* Titoli card home e sentenze: erano h3, ora h2 con classe h3 (stesso aspetto) */
.services-style-5 .service-item .title.h3 {
	font-size: 20px;
}
.service-link,
.service-link:hover,
.service-link:focus {
	color: inherit;
	text-decoration: none;
}

/* Posizione professionista: era h5, ora <p class="h5"> */
#single-post--container .team-intro .position {
	text-align: left !important;
	margin-bottom: 10px;
}

/* Sottotitoli contatti/professionisti: erano h4, ora h3.h4 */
h3.h4 {
	margin-top: 10px;
	margin-bottom: 10px;
}

/* Link telefono in grassetto: stesso colore del testo circostante */
.tel-link,
.tel-link:hover,
.tel-link:focus {
	color: inherit;
	text-decoration: none;
}

/* Indirizzo nei contatti: <address> senza corsivo e senza margine extra */
#s-contact address {
	font-style: normal;
	margin-bottom: 0;
	line-height: inherit;
}

/* Ancore interne: lascia spazio sotto l'header fisso */
[id] {
	scroll-margin-top: 90px;
}

/* Rispetta la preferenza utente per la riduzione del movimento */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Immagine hero sotto il titolo: la .row senza .container sporgeva di 15px a destra creando la barra orizzontale.
   Margini/padding azzerati: l'immagine resta a tutta larghezza, senza overflow. */
#image .row {
	margin-left: 0;
	margin-right: 0;
}
#image .row > .col-xs-12 {
	padding-left: 0;
	padding-right: 0;
}

/* Menu principale tra 992 e 1199px: le 8 voci non entravano nel container (970px) e l'ultima sforava. */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	#navigation li {
		margin-left: 12px;
	}
	#navigation a {
		font-size: 13px;
	}
	/* Il sottomenu (anche quando nascosto) si estende oltre il bordo destro: lo ancoriamo a destra della voce */
	#navigation > ul > li:nth-child(n+5) > .submenu {
		left: auto;
		right: 0;
	}
}

/* Menu principale tra 768 e 991px: il container (750px) non può contenere le 8 voci su una riga,
   quindi il menu va a capo su due righe invece di sforare a destra. */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	#navigation > ul {
		white-space: normal;
	}
	#navigation li {
		margin-left: 12px;
		margin-bottom: 8px;
	}
	#navigation a {
		font-size: 13px;
	}
	#navigation > ul > li:nth-child(n+5) > .submenu {
		left: auto;
		right: 0;
	}
}
