/* ==========================================================================
   Arena Polo Club — stili complementari a theme.json
   Identità: notte d'arena, sabbia, tricolore. Sportivo ed elegante: titoli Archivo larghi e corsivi,
   pulsanti a pillola, filetti tricolori, la forma dell'arena (rettangolo con i lati corti arrotondati) come segno.
   Colori, caratteri e spaziature vengono da theme.json (variabili --wp--preset--*): si cambiano dagli «Stili»
   dell'Editor del sito.
   ========================================================================== */

:root {
	--c-verde: var(--wp--preset--color--primary, #006B43);
	--c-notte: var(--wp--preset--color--primary-strong, #101C15);
	--c-rosso: var(--wp--preset--color--secondary, #B8202E);
	--c-sabbia: var(--wp--preset--color--accent, #D8B07A);
	--c-sabbia-chiara: var(--wp--preset--color--sabbia-chiara, #EADBC0);
	--c-linea: var(--wp--preset--color--linea, #DCCDB2);
	--c-superficie: var(--wp--preset--color--superficie, #F3ECDF);
	--c-bandiera-verde: var(--wp--preset--color--verde-bandiera, #009246);
	--c-bandiera-rosso: var(--wp--preset--color--rosso-bandiera, #CE2B37);
	--tricolore: linear-gradient(90deg, var(--c-bandiera-verde) 0 33.33%, #F7F3EA 33.33% 66.66%, var(--c-bandiera-rosso) 66.66% 100%);
	--raggio: var(--wp--custom--raggio, 14px);
	--durata: var(--wp--custom--durata, 240ms);
	--ombra: var(--wp--preset--shadow--morbida);
	--larghezza-titoli: 112%;
}

html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { background-color: var(--wp--preset--color--base); text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
::selection { background: color-mix(in srgb, var(--c-sabbia) 45%, transparent); }
img { height: auto; }
:where(h1, h2, h3, h4, .wp-block-post-title, .wp-block-query-title) { font-stretch: var(--larghezza-titoli); text-wrap: balance; }

/* Focus visibile e coerente (accessibilità) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--c-rosso); outline-offset: 2px; border-radius: 3px; }
:where(.sito-testata, .sito-piede, .is-sfondo-scuro, .has-primary-strong-background-color, .has-notte-gradient-background, .wp-block-cover) :where(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--c-sabbia); }
.skip-link.screen-reader-text:focus { background: var(--c-notte); color: #fff; padding: .8rem 1.2rem; z-index: 100000; }

a { text-underline-offset: .2em; text-decoration-thickness: 1px; transition: color var(--durata); }
a:hover { text-decoration-thickness: 2px; }

/* ---------------------------------------------------------------- Testata (scura, fissa in alto, filo tricolore) */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start: 0; }

.sito-testata { position: relative; background: var(--c-notte); color: #F7F3EA; }
.sito-testata::before { content: ""; display: block; height: 3px; background: var(--tricolore); }
.sito-testata > * { margin-block: 0 !important; }

.barra-servizio { font-size: .74rem; letter-spacing: .06em; border-bottom: 1px solid rgba(234, 219, 192, .12); max-height: 8rem; overflow: hidden; transition: max-height .3s ease, padding .3s ease, opacity .2s ease, visibility 0s; }
.barra-servizio p { margin: 0; }
.barra-servizio a { color: var(--c-sabbia-chiara); text-decoration: none; }
.barra-servizio a:hover, .barra-servizio a:focus-visible { color: #fff; text-decoration: underline; }
.barra-servizio .separatore { opacity: .35; margin-inline: .55em; }
.barra-servizio .ensi-firma { color: var(--c-sabbia-chiara); }
.barra-servizio .ensi-firma strong { color: #fff; font-weight: 600; }
.barra-servizio .istl-lingue { font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.barra-servizio .istl-lingue a { color: var(--c-sabbia-chiara); }
@media (max-width: 781px) { .barra-servizio .solo-desktop { display: none; } }

/* Lo sfondo della barra è sul contenitore: niente backdrop-filter, che intrappolerebbe il menu mobile. */
.barra-principale { position: relative; isolation: isolate; transition: padding .3s ease, box-shadow .3s ease; }
.sito-testata.is-scorrimento .barra-principale { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .7); }

/* Logo (scudo e scritta, senza fondo) e, accanto, «un'iniziativa di ENSI Social APS» */
.marchio { gap: 1rem !important; align-items: center; }
.marchio .wp-block-site-logo img { width: 176px; height: auto; display: block; transition: width .3s ease; }
.marchio__nome { font-family: var(--wp--preset--font-family--titoli); font-size: .58rem; font-weight: 600; letter-spacing: .2em; line-height: 1.55 !important; text-transform: uppercase; color: var(--c-sabbia); margin: 0 !important; max-width: 10rem; padding-inline-start: 1rem; border-inline-start: 1px solid rgba(216, 176, 122, .35); }
@media (max-width: 1240px) { .marchio__nome { display: none; } }
@media (max-width: 420px) { .marchio .wp-block-site-logo img { width: 136px; } }

/* Navigazione principale */
.menu-principale { color: #F7F3EA; }
.menu-principale .wp-block-navigation-item__content { padding-block: .45rem; position: relative; text-decoration: none; }
.menu-principale > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; inset-inline: 0; bottom: -1px; height: 2px;
	background: var(--tricolore); transform: scaleX(0); transform-origin: left; transition: transform var(--durata);
}
.menu-principale .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.menu-principale .current-menu-item > .wp-block-navigation-item__content::after,
.menu-principale .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.menu-principale .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--contrast) !important;
	border: 0 !important; border-top: 3px solid var(--c-verde) !important; border-radius: 0 0 var(--raggio) var(--raggio);
	box-shadow: var(--wp--preset--shadow--profonda); padding: .5rem 0; min-width: 16rem !important;
	text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 500;
}
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem 1.15rem !important; }
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--c-superficie); color: var(--c-verde); }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content { background: var(--c-verde); color: #fff !important; border-radius: 999px; padding: .62rem 1.2rem !important; }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content::after { display: none; }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content:hover { background: #fff; color: var(--c-notte) !important; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { color: #F7F3EA; }

/* Menu mobile a tutto schermo, chiaro, allineato all'inizio della riga e gerarchico */
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem var(--wp--preset--spacing--40) 3rem !important; --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { color: var(--c-notte); }
.wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item) { align-items: flex-start !important; text-align: start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.1rem !important; width: 100%; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; padding-bottom: 1rem; border-bottom: 1px solid var(--c-linea); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--titoli); font-size: 1.45rem; font-weight: 800; font-style: italic; font-stretch: 112%; color: var(--c-notte); text-transform: none; letter-spacing: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { display: none; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; border-inline-start: 2px solid var(--c-verde) !important; box-shadow: none; padding-block: .2rem !important; padding-inline: 1rem 0 !important; margin-top: .6rem; gap: .55rem !important; min-width: 0 !important; background: transparent !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0 !important; font-size: 1rem; color: var(--wp--preset--color--contrast-2); text-transform: none; letter-spacing: 0; }
.wp-block-navigation__responsive-container.is-menu-open .voce-evidenza > .wp-block-navigation-item__content { background: var(--c-verde); color: #fff !important; padding: .7rem 1.4rem !important; font-style: normal; font-size: 1.05rem; }

.ricerca-testata .wp-block-search__button { background: transparent; color: #F7F3EA; padding: .5rem; }
.ricerca-testata .wp-block-search__button:hover { color: var(--c-sabbia); }
.ricerca-testata .wp-block-search__input { border: 1px solid var(--c-linea); border-radius: 999px; }

/* Testata compatta durante lo scorrimento (classe «is-compatta» da tema.js) */
.sito-testata.is-compatta .barra-servizio { max-height: 0; padding-block: 0 !important; opacity: 0; visibility: hidden; border: 0; transition: max-height .3s ease, padding .3s ease, opacity .2s ease, visibility 0s .3s; }
.sito-testata.is-compatta .barra-principale { padding-block: .35rem !important; }
.sito-testata.is-compatta .marchio .wp-block-site-logo img { width: 130px; }
.sito-testata.is-compatta .marchio__nome { display: none; }
@media (prefers-reduced-motion: reduce) { .barra-servizio, .barra-principale, .marchio .wp-block-site-logo img { transition: none; } }

/* ---------------------------------------------------------------- Intestazione delle pagine: sabbia con il disegno dell'arena */
.intestazione-pagina { position: relative; overflow: hidden; background: linear-gradient(180deg, var(--c-superficie) 0%, var(--wp--preset--color--superficie-2, #E8DCC6) 100%); }
.intestazione-pagina::after {
	content: ""; position: absolute; inset-block: 18% -30%; inset-inline-end: -10rem; width: 44rem; border-radius: 999px;
	border: 2px solid color-mix(in srgb, var(--c-notte) 12%, transparent);
	box-shadow: inset 0 0 0 3.2rem color-mix(in srgb, #fff 18%, transparent);
	pointer-events: none;
}
.intestazione-pagina::before { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 4px; background: var(--tricolore); }
@media (max-width: 781px) { .intestazione-pagina::after { display: none; } }
.intestazione-pagina .wp-block-post-title { max-width: 20ch; font-style: italic; font-weight: 850; }
.intestazione-pagina .wp-block-post-excerpt { max-width: 46rem; }
.intestazione-pagina .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--contrast-2); }
.intestazione-pagina .wp-block-post-excerpt:has(.wp-block-post-excerpt__excerpt:empty) { display: none; }
.wp-block-breadcrumbs ol, .wp-block-breadcrumbs ul { flex-wrap: wrap; }

/* ---------------------------------------------------------------- Stili di blocco */
.is-style-occhiello {
	font-family: var(--wp--preset--font-family--titoli); font-size: .76rem !important; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
	color: var(--c-rosso); display: flex; align-items: center; gap: .8rem;
}
.is-style-occhiello::before { content: ""; width: 2.2rem; height: 4px; background: var(--tricolore); flex: none; border-radius: 2px; box-shadow: 0 0 0 1px color-mix(in srgb, var(--c-notte) 10%, transparent); }
.has-text-align-center.is-style-occhiello { justify-content: center; }

.is-style-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--contrast-2); }

.is-style-numero {
	font-family: var(--wp--preset--font-family--titoli); font-size: clamp(2.6rem, 1.8rem + 3vw, 4.6rem) !important; font-weight: 850 !important; font-style: italic;
	font-stretch: 118%; line-height: .95 !important; font-variant-numeric: lining-nums tabular-nums; color: var(--c-verde); margin-bottom: .45rem !important; white-space: nowrap;
}
.is-style-filetto { padding-top: 1rem; border-top: 3px solid var(--c-sabbia); display: inline-block; }
p.is-style-nota { border-inline-start: 3px solid var(--c-sabbia); background: var(--c-superficie); padding: .9rem 1.2rem; font-size: .96rem; border-radius: 0 var(--raggio) var(--raggio) 0; }
p.is-style-proposta {
	display: inline-flex; align-items: center; gap: .5rem; width: fit-content; font-family: var(--wp--preset--font-family--titoli);
	font-size: .68rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-rosso);
	border: 1.5px dashed currentColor; border-radius: 999px; padding: .32rem .8rem; margin-block: 0 .9rem;
}

.wp-block-group.is-style-scheda {
	background: var(--wp--preset--color--base); border: 1px solid var(--c-linea); border-radius: var(--raggio);
	padding: var(--wp--preset--spacing--40); position: relative; height: 100%; overflow: hidden;
	transition: transform var(--durata), box-shadow var(--durata), border-color var(--durata);
}
.wp-block-group.is-style-scheda::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px; background: var(--tricolore); transform: scaleX(0); transform-origin: left; transition: transform var(--durata); }
.wp-block-group.is-style-scheda:hover { transform: translateY(-4px); box-shadow: var(--ombra); border-color: color-mix(in srgb, var(--c-verde) 35%, var(--c-linea)); }
.wp-block-group.is-style-scheda:hover::before { transform: none; }
.wp-block-group.is-style-scheda :where(h2, h3, h4) { font-style: italic; }
.wp-block-group.is-style-scheda :where(h2, h3, h4) a { text-decoration: none; color: inherit; }
.wp-block-group.is-style-scheda :where(h2, h3, h4) a::after { content: ""; position: absolute; inset: 0; }
.wp-block-group.is-style-scheda .wp-block-icon { color: var(--c-verde); }
.wp-block-group.is-style-scheda > .wp-block-image:first-child { margin: calc(-1 * var(--wp--preset--spacing--40)) calc(-1 * var(--wp--preset--spacing--40)) 1rem; }
.wp-block-group.is-style-scheda > .wp-block-image:first-child img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }

.wp-block-group.is-style-cornice { border-top: 4px solid var(--c-sabbia); padding-top: var(--wp--preset--spacing--30); }
.wp-block-group.is-style-reticolo { background-image: repeating-linear-gradient(90deg, color-mix(in srgb, var(--c-notte) 5%, transparent) 0 1px, transparent 1px 64px); }

ul.is-style-spunte, ul.is-style-pulito { list-style: none; padding-inline-start: 0; }
ul.is-style-spunte li { position: relative; padding-inline-start: 1.9rem; margin-bottom: .65rem; }
ul.is-style-spunte li::before { content: ""; position: absolute; inset-inline-start: .15rem; top: .5em; width: .72rem; height: .72rem; border-radius: 50%; background: var(--c-verde); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-verde) 18%, transparent); }
ul.is-style-pulito li { margin-bottom: .4rem; }

.is-style-cronologia { list-style: none; padding-inline-start: 0; position: relative; counter-reset: tappa; }
.is-style-cronologia::before { content: ""; position: absolute; inset-inline-start: 1.05rem; top: .6rem; bottom: .6rem; width: 2px; background: repeating-linear-gradient(180deg, var(--c-sabbia) 0 8px, transparent 8px 14px); }
.is-style-cronologia li { position: relative; padding-inline-start: 3.4rem; margin-bottom: 1.6rem; counter-increment: tappa; }
.is-style-cronologia li::before {
	content: counter(tappa); position: absolute; inset-inline-start: 0; top: -.15rem; width: 2.2rem; height: 2.2rem; border-radius: 50%;
	display: grid; place-items: center; background: var(--c-notte); color: var(--c-sabbia); font-family: var(--wp--preset--font-family--titoli); font-weight: 800; font-style: italic; font-size: .95rem;
}
.is-style-cronologia li strong:first-child { display: block; font-family: var(--wp--preset--font-family--titoli); font-size: 1.15rem; font-stretch: 110%; color: var(--wp--preset--color--contrast); }

/* Pulsanti */
.wp-block-button__link { transition: background-color var(--durata), color var(--durata), border-color var(--durata), transform var(--durata); }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-freccia .wp-block-button__link::after { content: "→"; display: inline-block; margin-inline-start: .6em; transition: transform var(--durata); }
.wp-block-button.is-style-freccia .wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; color: var(--wp--preset--color--contrast); padding: calc(1em - 1.5px) calc(1.8em - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--contrast); color: #fff; border-color: var(--wp--preset--color--contrast); }

.wp-block-separator.is-style-breve { width: 4rem !important; border-top: 4px solid var(--c-sabbia) !important; margin-inline-start: 0; }
.wp-block-separator.is-style-tricolore { border: 0 !important; height: 5px !important; background: var(--tricolore) !important; opacity: 1; width: 7rem; margin-inline-start: 0; border-radius: 3px; }
.has-text-align-center + .wp-block-separator:is(.is-style-breve, .is-style-tricolore), .wp-block-separator:is(.is-style-breve, .is-style-tricolore).aligncenter { margin-inline: auto; }

.wp-block-columns.is-style-divise > .wp-block-column:not(:first-child) { border-inline-start: 1px solid var(--c-linea); padding-inline-start: var(--wp--preset--spacing--40); }
@media (max-width: 781px) { .wp-block-columns.is-style-divise > .wp-block-column:not(:first-child) { border-inline-start: 0; padding-inline-start: 0; border-top: 1px solid var(--c-linea); padding-top: var(--wp--preset--spacing--30); } }

.wp-block-image img { border-radius: var(--raggio); }
.wp-block-image.is-style-taglio img { clip-path: polygon(0 0, 100% 0, 100% 86%, 88% 100%, 0 100%); border-radius: var(--raggio) var(--raggio) 0 var(--raggio); }
[dir="rtl"] .wp-block-image.is-style-taglio img { clip-path: polygon(0 0, 100% 0, 100% 100%, 12% 100%, 0 86%); }
.wp-block-image.is-style-documento img { background: #fff; padding: .5rem; border: 1px solid var(--c-linea); box-shadow: var(--ombra); }
.wp-block-image figcaption, .wp-element-caption { font-size: .82rem; color: var(--wp--preset--color--contrast-2); }

/* ---------------------------------------------------------------- Sezioni scure */
.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro { color: #F2EBDD; }
:is(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) :is(h1, h2, h3, h4, h5, h6) { color: #FBF8F2; }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) a:where(:not(.wp-element-button)) { color: var(--c-sabbia-chiara); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .is-style-lead { color: rgba(242, 235, 221, .86); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover) .is-style-occhiello { color: var(--c-sabbia); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover) .is-style-numero { color: var(--c-sabbia); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover) p.is-style-proposta { color: var(--c-sabbia-chiara); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover, .sito-piede) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--c-verde); color: #fff; }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover, .sito-piede) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--c-notte); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover, .sito-piede) .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover, .sito-piede) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-notte); border-color: #fff; }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) figcaption { color: rgba(242, 235, 221, .78) !important; }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) ul.is-style-spunte li::before { background: var(--c-sabbia); box-shadow: 0 0 0 3px rgba(216, 176, 122, .2); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-group.is-style-scheda { background: rgba(255, 255, 255, .04); border-color: rgba(234, 219, 192, .18); color: #F2EBDD; }

/* ---------------------------------------------------------------- Home: apertura (copertina) */
.wp-block-cover.eroe { color: #fff; min-height: min(92vh, 52rem); }
.wp-block-cover.eroe .wp-block-cover__inner-container { width: 100%; max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
.wp-block-cover.eroe .wp-block-cover__background { background: linear-gradient(100deg, rgba(11, 19, 15, .94) 0%, rgba(11, 19, 15, .78) 42%, rgba(11, 19, 15, .28) 100%) !important; opacity: 1 !important; }
[dir="rtl"] .wp-block-cover.eroe .wp-block-cover__background { background: linear-gradient(260deg, rgba(11, 19, 15, .94) 0%, rgba(11, 19, 15, .78) 42%, rgba(11, 19, 15, .28) 100%) !important; }
.wp-block-cover.eroe :where(h1, h2, h3, p) { color: #fff; }
.wp-block-cover.eroe h1 { font-style: italic; font-weight: 900; font-stretch: 122%; line-height: .9; letter-spacing: -.02em; text-transform: uppercase; max-width: 11ch; margin-block: .2em .35em; }
.wp-block-cover.eroe .is-style-lead { color: rgba(247, 243, 234, .9); max-width: 36rem; }
.wp-block-cover.eroe .eroe__firma { display: inline-flex; align-items: center; gap: .6rem; padding: .4rem .9rem .4rem .45rem; border: 1px solid rgba(234, 219, 192, .35); border-radius: 999px; font-size: .8rem; letter-spacing: .04em; color: var(--c-sabbia-chiara); background: rgba(15, 23, 18, .4); width: fit-content; }
.wp-block-cover.eroe .eroe__firma::before { content: ""; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: var(--tricolore); box-shadow: inset 0 0 0 2px rgba(15, 23, 18, .8); flex: none; }
.wp-block-cover.eroe .eroe__missione { font-family: var(--wp--preset--font-family--titoli); font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--c-sabbia); }
.wp-block-cover.eroe .wp-block-inst-illustrazione { max-width: 520px; margin-inline: auto; filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .45)); }
.wp-block-cover.eroe::after { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 6px; background: var(--tricolore); z-index: 2; }
@media (max-width: 781px) {
	.wp-block-cover.eroe { min-height: 0; }
	.wp-block-cover.eroe .eroe__visuale { display: none; }
}

/* Il formato (numeri su fascia scura) */
.formato .wp-block-column { position: relative; padding-top: var(--wp--preset--spacing--30); }
.formato .wp-block-column::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; width: 2.4rem; height: 4px; background: var(--tricolore); border-radius: 2px; }
.formato .wp-block-column p:not(.is-style-numero) { margin: 0; font-size: .97rem; color: rgba(242, 235, 221, .86); }
.formato .is-style-numero { font-size: clamp(2.2rem, 1.5rem + 2vw, 3.4rem) !important; font-stretch: 105%; white-space: normal; }
.formato .formato__titolo { font-family: var(--wp--preset--font-family--titoli); font-weight: 700; font-size: .95rem !important; letter-spacing: .06em; text-transform: uppercase; color: #fff !important; margin-bottom: .3rem !important; }

/* Nelle fasce a tutta larghezza i testi stretti si allineano a sinistra della colonna larga (titoli e schede in fila). */
.wp-block-post-content .alignfull.is-layout-constrained > :where(:not(.alignwide):not(.alignfull)) { margin-inline-start: max(0px, calc((100% - var(--wp--style--global--wide-size, 80rem)) / 2)) !important; margin-inline-end: auto !important; }
.wp-block-post-content .alignfull.invito.is-layout-constrained > :where(:not(.alignwide):not(.alignfull)) { margin-inline: auto !important; }

/* Fasce con foto (arene, partner) */
.fascia-foto { position: relative; overflow: hidden; }
.fascia-foto .wp-block-image img { box-shadow: 0 34px 70px -34px rgba(0, 0, 0, .7); }

/* Schede delle notizie (Query Loop) */
.griglia-notizie .wp-block-post { display: flex; flex-direction: column; gap: .6rem; position: relative; }
.griglia-notizie .wp-block-post-title { font-size: 1.3rem; line-height: 1.2; margin: 0; font-style: italic; }
.griglia-notizie .wp-block-post-title a { text-decoration: none; }
.griglia-notizie .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.griglia-notizie .wp-block-post:hover .wp-block-post-title a { color: var(--c-verde); }
.griglia-notizie .wp-block-post-excerpt__excerpt { margin: 0; color: var(--wp--preset--color--contrast-2); font-size: .97rem; }
.griglia-notizie .wp-block-post-featured-image { margin: 0 0 .5rem; overflow: hidden; border-radius: var(--raggio); }
.griglia-notizie .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; transition: transform .6s ease; border-radius: 0; }
.griglia-notizie .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.griglia-notizie .wp-block-post-terms { position: relative; z-index: 1; }
.apc-segnaposto { display: grid; place-items: center; background: var(--wp--preset--gradient--notte, #101C15); border-radius: var(--raggio); margin: 0 0 .5rem; }
.apc-segnaposto img { width: 62% !important; max-width: 260px; height: auto !important; aspect-ratio: auto !important; }

.elenco-risultati .wp-block-post { padding-block: 1.5rem; border-bottom: 1px solid var(--c-linea); }
.elenco-risultati .wp-block-post-title { font-size: 1.35rem; margin: 0 0 .4rem; }

.wp-block-query-pagination { gap: .5rem; }
.wp-block-query-pagination-numbers .page-numbers { display: inline-grid; place-items: center; min-width: 2.5rem; height: 2.5rem; border: 1px solid var(--c-linea); border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--c-verde); color: #fff; border-color: var(--c-verde); }

/* Articoli e pagine di testo */
.articolo-testo > p:first-of-type { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--contrast-2); }
.wp-block-post-content > :where(h2) { margin-top: 1.7em; }
.wp-block-post-content > :where(h3) { margin-top: 1.4em; }
.wp-block-post-content > :where(h2, h3):first-child { margin-top: 0; }
.wp-block-post-content > .alignfull + .alignfull { margin-block-start: 0; }
.wp-site-blocks > footer.wp-block-template-part, .wp-site-blocks > main + footer.wp-block-template-part { margin-block-start: 0; }

/* Tabelle e domande frequenti */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { text-align: start; background: var(--c-notte); color: #F7F3EA; font-family: var(--wp--preset--font-family--titoli); font-weight: 700; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--c-linea); padding: .8rem 1rem; vertical-align: top; }
.wp-block-table tbody tr:nth-child(even) td { background: color-mix(in srgb, var(--c-superficie) 60%, transparent); }
.wp-block-details { border-bottom: 1px solid var(--c-linea); }
.wp-block-details summary { cursor: pointer; font-weight: 800; font-family: var(--wp--preset--font-family--titoli); font-stretch: 108%; font-size: 1.12rem; color: var(--wp--preset--color--contrast); list-style-position: outside; }
.wp-block-details summary::marker { color: var(--c-verde); }
.wp-block-details[open] summary { margin-bottom: .75rem; }

/* Riquadri (contenitore :::riquadro del convertitore) */
.wp-block-group.is-style-cornice.has-background { border: 1px solid var(--c-linea); border-top: 4px solid var(--c-verde); border-radius: 0 0 var(--raggio) var(--raggio); }

/* Moduli (Ist wpCore) */
.inst-modulo :is(input, select, textarea) { border-radius: 10px; }
.inst-modulo button, .inst-modulo [type="submit"] { border-radius: 999px; }

/* ---------------------------------------------------------------- Piè di pagina */
.sito-piede { font-size: .95rem; position: relative; }
.sito-piede::before { content: ""; position: absolute; inset-inline: 0; top: 0; height: 4px; background: var(--tricolore); }
.sito-piede .wp-block-site-logo img { width: 230px; max-width: 100%; height: auto; }
.sito-piede h2 { font-family: var(--wp--preset--font-family--titoli); font-size: .74rem !important; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; font-style: normal; color: var(--c-sabbia) !important; margin-bottom: 1rem; }
.sito-piede .wp-block-navigation { --navigation-layout-direction: column; text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .95rem; }
.sito-piede .wp-block-navigation .wp-block-navigation-item__content { padding: .2rem 0; opacity: .88; }
.sito-piede .wp-block-navigation .wp-block-navigation-item__content:hover { opacity: 1; text-decoration: underline; }
.sito-piede a { text-decoration: none; }
.sito-piede .inst-dati-ente__etichetta { min-width: 6.5em; opacity: .65; }
.piede-marchio { align-items: flex-start; margin-bottom: 1rem; }
.piede-motto { font-family: var(--wp--preset--font-family--titoli); font-size: .66rem; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--c-sabbia); margin: 0; padding-inline-start: .35rem; }
.piede-ensi { border-inline-start: 2px solid var(--c-sabbia); padding-inline-start: .9rem; font-size: .88rem; color: #D9D2C3; }
.sito-piede :is(.piede-ensi, .piede-legale) a { text-decoration: underline; text-decoration-color: rgba(216, 176, 122, .7); text-underline-offset: .22em; }
.sito-piede .piede-legale { font-size: .8rem; color: #CFC7B6; }
.sito-piede .piede-legale p { margin: 0; }
.sito-piede .wp-block-separator { border-color: rgba(234, 219, 192, .16) !important; opacity: 1; }

/* ---------------------------------------------------------------- Comparsa progressiva (solo browser che la supportano) */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.wp-block-group.is-style-scheda, .griglia-notizie .wp-block-post, .inst-evento {
			animation: apc-comparsa linear both;
			animation-timeline: view();
			animation-range: entry 5% entry 55%;
		}
	}
}
@keyframes apc-comparsa { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- Stampa (regolamenti e documenti) */
@media print {
	.sito-testata, .sito-piede, .inst-condividi, .wp-block-search, .wp-block-inst-illustrazione, .intestazione-pagina::after { display: none !important; }
	body { font-size: 11pt; color: #000; background: #fff; }
	a { color: #000; }
	.wp-block-post-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}

/* ---------------------------------------------------------------- Da destra a sinistra (arabo, /ar/) e caratteri arabi
   Il layout usa proprietà logiche; qui solo ciò che non si gira da solo. */
[dir="rtl"] .wp-block-button.is-style-freccia .wp-block-button__link::after { content: "←"; }
[dir="rtl"] .wp-block-button.is-style-freccia .wp-block-button__link:hover::after { transform: translateX(-4px); }
[dir="rtl"] .menu-principale > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { transform-origin: right; }
[dir="rtl"] .inst-consenso__chiudi { right: auto; left: .6rem; }
[dir="rtl"] .gwpe-preferenze-fisso { left: auto; right: 1rem; }
[dir="rtl"] .wp-block-group.is-style-scheda::before { transform-origin: right; }
[dir="rtl"] p.is-style-nota { border-radius: var(--raggio) 0 0 var(--raggio); }
/* Arabo: niente spaziatura tra le lettere (spezza le legature), niente corsivo, maiuscole o larghezze forzate, righe più ariose. */
:lang(ar) body, :lang(ar) body * { letter-spacing: 0 !important; font-style: normal !important; font-stretch: 100% !important; }
:lang(ar) :is(.is-style-occhiello, .marchio__nome, .wp-block-button__link, .menu-principale, .wp-block-table th, .sito-piede h2, .wp-block-cover.eroe h1) { text-transform: none !important; }
:lang(ar) body { line-height: 1.85; }
:lang(ar) :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title) { line-height: 1.45; }
:lang(ar) .wp-block-cover.eroe h1 { line-height: 1.25; max-width: 14ch; }
/* Nomi delle lingue nel selettore («العربية»): carattere di sistema fuori da /ar/, così i caratteri arabi si scaricano solo lì. */
html:not([lang="ar"]) .istl-lingue [lang="ar"] { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
/* Telefoni, email e codici restano da sinistra a destra anche nelle pagine arabe. */
:is(.inst-dati-ente__valore, .piede-legale) a[href^="tel:"], :is(.inst-dati-ente__valore, .piede-legale) a[href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }

/* Telefoni: la barra di servizio tiene solo la firma ENSI corta e le lingue. */
@media (max-width: 600px) {
	.barra-servizio .wp-block-group { justify-content: center !important; }
	.barra-servizio .wp-block-group > p:not(.solo-desktop) .separatore, .barra-servizio .solo-tablet { display: none; }
}
