/**
 * Tema ANMIC — ciò che theme.json non copre: focus, barra accessibilità,
 * alto contrasto, stili dei blocchi personalizzati.
 */

/* Dimensione testo scelta dall'utente (barra accessibilità). */
html { font-size: 100%; scroll-behavior: smooth; }
html[data-text-size="1"] { font-size: 112.5%; }
html[data-text-size="2"] { font-size: 125%; }
html[data-text-size="3"] { font-size: 140%; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Focus sempre ben visibile: giallo con bordo nero, leggibile su ogni sfondo. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px #000;
	border-radius: 2px;
}

.skip-link.screen-reader-text:focus {
	z-index: 100000;
	padding: 1rem 1.5rem;
	background: var(--wp--preset--color--accento);
	color: #000;
	font-size: 1.1rem;
	font-weight: 700;
	text-decoration: underline;
	clip: auto !important;
	clip-path: none;
}

/* Testo selezionato */
::selection { background: var(--wp--preset--color--accento); color: #000; }

/* Barra superiore ---------------------------------------------------- */
.anmic-topbar a { color: inherit; }
.anmic-topbar a:hover { color: var(--wp--preset--color--accento); }
.anmic-topbar p { margin: 0; }

.anmic-a11y {
	display: flex;
	align-items: center;
	gap: .35rem;
	margin: 0;
}
.anmic-a11y__label {
	margin-right: .25rem;
	font-size: .95rem;
}
.anmic-a11y button {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 36px;
	padding: 0 .6rem;
	border: 2px solid rgba(255, 255, 255, .7);
	border-radius: 8px;
	background: transparent;
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}
.anmic-a11y button:hover,
.anmic-a11y button[aria-pressed="true"] {
	background: #fff;
	color: var(--wp--preset--color--notte);
}

/* Intestazione ------------------------------------------------------ */
.anmic-header {
	position: relative;
	z-index: 50;
	box-shadow: 0 2px 12px rgba(0, 40, 80, .08);
}
.anmic-header .wp-block-site-logo img { height: auto; max-height: 64px; width: auto; }
.anmic-header .wp-block-navigation .wp-block-navigation-item__content {
	padding: .55rem .2rem;
	border-bottom: 3px solid transparent;
}
.anmic-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.anmic-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.anmic-header .wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content {
	border-bottom-color: var(--wp--preset--color--primario);
	color: var(--wp--preset--color--primario-scuro);
}
.anmic-header .wp-block-navigation__submenu-container {
	min-width: 260px !important;
	padding: .5rem 0;
	border: 1px solid var(--wp--preset--color--bordo) !important;
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(0, 40, 80, .15);
}
.anmic-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .6rem 1.1rem !important;
	border-bottom: 0;
}
.anmic-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--sfondo-chiaro);
}
/* Menu mobile a tutto schermo con voci grandi. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 1.25rem;
	padding: .5rem 0;
}
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	min-width: 48px;
	min-height: 48px;
	justify-content: center;
	align-items: center;
}
.wp-block-navigation__responsive-container-open::after {
	content: "Menu";
	margin-left: .4rem;
	font-weight: 700;
}

/* Stili blocchi ------------------------------------------------------ */
.wp-block-group.is-style-scheda {
	height: 100%;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--wp--preset--color--bordo);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--wp--preset--shadow--morbida);
	box-sizing: border-box;
}
.wp-block-group.is-style-riquadro-blu {
	padding: clamp(1.5rem, 4vw, 3rem);
	border-radius: 18px;
	background: var(--wp--preset--gradient--blu);
	color: #fff;
}
.wp-block-group.is-style-riquadro-blu :where(h1, h2, h3, h4, a:not(.wp-element-button)) { color: #fff; }

.wp-block-list.is-style-spunte { list-style: none; padding-left: 0; }
.wp-block-list.is-style-spunte li {
	position: relative;
	padding: .35rem 0 .35rem 2rem;
}
.wp-block-list.is-style-spunte li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .7em;
	width: 1.1rem;
	height: .55rem;
	border-left: 3px solid var(--wp--preset--color--primario);
	border-bottom: 3px solid var(--wp--preset--color--primario);
	transform: rotate(-45deg) translateY(-50%);
}
.is-style-riquadro-blu .wp-block-list.is-style-spunte li::before { border-color: var(--wp--preset--color--accento); }

.wp-block-button.is-style-giallo .wp-block-button__link {
	background: var(--wp--preset--color--accento);
	color: #1d1d1f;
}
.wp-block-button.is-style-giallo .wp-block-button__link:hover { background: #fff; color: #1d1d1f; }

.wp-block-heading.is-style-sottolineato::after {
	content: "";
	display: block;
	width: 64px;
	height: 5px;
	margin-top: .6rem;
	border-radius: 3px;
	background: var(--wp--preset--color--accento);
}
.wp-block-heading.is-style-sottolineato.has-text-align-center::after { margin-left: auto; margin-right: auto; }

/* Bottoni outline leggibili */
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 2px solid currentColor;
	background: transparent;
}
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; }

/* Schede servizi in home: tutta la scheda porta al link del bottone. */
.anmic-card-link { position: relative; transition: transform .2s, box-shadow .2s; }
.anmic-card-link:hover, .anmic-card-link:focus-within { transform: translateY(-3px); box-shadow: 0 16px 40px rgba(0, 40, 80, .18); }

/* Copertina (hero) */
.anmic-hero .wp-block-cover__inner-container { max-width: 1200px; }
.anmic-hero h1, .anmic-hero h2 { text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }

/* Tabelle nei contenuti */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table th { background: var(--wp--preset--color--sfondo-chiaro); text-align: left; }
.wp-block-table td, .wp-block-table th { padding: .7rem .8rem; }

/* Notizie */
.anmic-news .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: 12px; }
.anmic-news .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.anmic-news .wp-block-post { position: relative; }

/* Piè di pagina */
.anmic-footer a { color: #fff; }
.anmic-footer a:hover { color: var(--wp--preset--color--accento); }

/* ALTO CONTRASTO ---------------------------------------------------- */
html[data-contrast="alto"] body,
html[data-contrast="alto"] .wp-site-blocks,
html[data-contrast="alto"] .wp-site-blocks * {
	background-image: none !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
html[data-contrast="alto"] body,
html[data-contrast="alto"] .wp-site-blocks :where(div, section, header, footer, main, nav, aside, article, li, ul, figure, table, tr, td, th, p, span, h1, h2, h3, h4, h5, h6) {
	background-color: #000 !important;
	color: #fff !important;
	border-color: #fff !important;
}
html[data-contrast="alto"] .wp-site-blocks a,
html[data-contrast="alto"] .wp-site-blocks a * {
	color: #ffeb3b !important;
	text-decoration: underline !important;
}
html[data-contrast="alto"] .wp-site-blocks .wp-block-button__link,
html[data-contrast="alto"] .wp-site-blocks .anmic-btn,
html[data-contrast="alto"] .wp-site-blocks button {
	background: #ffeb3b !important;
	color: #000 !important;
	border: 2px solid #ffeb3b !important;
}
html[data-contrast="alto"] .wp-site-blocks .wp-block-button__link *,
html[data-contrast="alto"] .wp-site-blocks .anmic-btn * { color: #000 !important; }
html[data-contrast="alto"] .wp-block-cover .wp-block-cover__background { opacity: 1 !important; background: #000 !important; }
html[data-contrast="alto"] .wp-block-cover img.wp-block-cover__image-background { opacity: .15; }
