/* ==========================================================================
   Area Cultura Istituzionale — stili complementari a theme.json
   I colori, i caratteri e le spaziature vengono da theme.json (variabili --wp--preset--*):
   cambiandoli dagli "Stili" dell'Editor del sito cambia tutto il sito.
   Direzione: editoriale, carta calda, inchiostro, vermiglione; titoli in Fraunces
   (dimensione ottica variabile), testo in Instrument Sans.
   ========================================================================== */

:root {
	--c-carta: var(--wp--preset--color--base);
	--c-pergamena: var(--wp--preset--color--superficie);
	--c-sabbia: var(--wp--preset--color--superficie-2);
	--c-linea: var(--wp--preset--color--linea);
	--c-inchiostro: var(--wp--preset--color--contrast);
	--c-seppia: var(--wp--preset--color--contrast-2);
	--c-primario: var(--wp--preset--color--primary);
	--c-ossido: var(--wp--preset--color--primary-strong);
	--c-alloro: var(--wp--preset--color--secondary);
	--c-accento: var(--wp--preset--color--accent);
	--c-prugna: var(--wp--preset--color--prugna, #5E2A4A);
	--f-titoli: var(--wp--preset--font-family--titoli);
	--f-testo: var(--wp--preset--font-family--testo);
	--raggio: var(--wp--custom--raggio, 2px);
	--durata: var(--wp--custom--durata, 240ms);
	--ombra: var(--wp--preset--shadow--morbida);
}

html { scroll-behavior: smooth; scroll-padding-top: 8rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; font-feature-settings: "kern", "liga"; overflow-x: clip; }
:where(h1, h2, h3, h4, .wp-block-post-title, .wp-block-query-title) { font-optical-sizing: auto; text-wrap: balance; }
p { text-wrap: pretty; }
::selection { background: color-mix(in srgb, var(--c-accento) 28%, transparent); }
img { height: auto; }

/* Focus visibile e coerente (accessibilità) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--c-accento);
	outline-offset: 3px;
	border-radius: 1px;
}
.skip-link.screen-reader-text:focus { background: var(--c-inchiostro); color: var(--c-carta); padding: .8rem 1.2rem; z-index: 100000; }

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

/* ---------------------------------------------------------------- Testata */
/* La testata resta visibile durante lo scorrimento: è il contenitore della parte di modello a essere "sticky". */
.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; }

.barra-servizio { font-size: .78rem; letter-spacing: .03em; border-top: 3px solid var(--c-primario); }
.barra-servizio p { margin: 0; }
.barra-servizio a { color: var(--c-inchiostro); text-decoration: none; }
.barra-servizio a:hover, .barra-servizio a:focus-visible { color: var(--c-primario); text-decoration: underline; }
.barra-servizio .separatore { color: var(--c-primario); margin-inline: .6em; }
@media (max-width: 781px) { .barra-servizio .solo-desktop { display: none; } }

/* Lo sfondo sfocato sta in un pseudo-elemento: un backdrop-filter sul contenitore
   intrappolerebbe il menu mobile (position: fixed) dentro la barra. */
.barra-principale {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid var(--c-linea);
	transition: box-shadow var(--durata);
}
.barra-principale::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: color-mix(in srgb, var(--c-carta) 95%, transparent);
	-webkit-backdrop-filter: saturate(1.3) blur(10px);
	backdrop-filter: saturate(1.3) blur(10px);
}
.sito-testata.is-scorrimento .barra-principale { box-shadow: 0 10px 30px -22px rgba(28, 25, 23, .6); }

.marchio { gap: .8rem !important; }
.marchio .wp-block-site-logo img { width: 220px; height: auto; display: block; }
.marchio__testo p { margin: 0; line-height: 1; }
.marchio__nome { font-size: .64rem; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: var(--c-seppia); margin-bottom: .3rem !important; }
.marchio__sigla { font-family: var(--f-titoli); font-weight: 500; font-size: 1.7rem; letter-spacing: -.01em; }
.marchio__sigla a { color: var(--c-inchiostro); text-decoration: none; }
.marchio__sigla em { color: var(--c-primario); font-weight: 400; }
.marchio__ets { font-family: var(--f-testo); font-size: .62rem; font-weight: 600; letter-spacing: .16em; color: var(--c-seppia); vertical-align: .9em; margin-left: .2em; }
@media (max-width: 480px) { .marchio .wp-block-site-logo img { width: 150px; } }

/* Navigazione principale */
.menu-principale .wp-block-navigation-item__content { padding-block: .45rem; position: relative; }
.menu-principale > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: var(--c-primario); 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 a { text-decoration: none; }
.menu-principale .wp-block-navigation__submenu-container {
	border: 1px solid var(--c-linea) !important; border-top: 2px solid var(--c-inchiostro) !important;
	border-radius: 0; box-shadow: var(--wp--preset--shadow--profonda);
	padding: .6rem 0; min-width: 19rem !important; background: var(--c-carta) !important;
}
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.2rem !important; font-weight: 400; }
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--c-pergamena); color: var(--c-primario); }
/* Menu mobile a tutto schermo, allineato a sinistra 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 :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation-item) { align-items: flex-start !important; text-align: left; }
.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(--f-titoli); font-size: 1.55rem; font-weight: 400; color: var(--c-inchiostro); }
.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-left: 2px solid var(--c-primario) !important; box-shadow: none; padding: .2rem 0 .2rem 1rem !important; margin-top: .6rem; gap: .55rem !important; min-width: 0 !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(--c-seppia); }

.ricerca-testata .wp-block-search__button { background: transparent; color: var(--c-inchiostro); padding: .5rem; }
.ricerca-testata .wp-block-search__button:hover { color: var(--c-primario); }
.ricerca-testata .wp-block-search__input { border: 1px solid var(--c-linea); border-radius: var(--raggio); background: var(--c-carta); }

/* ---------------------------------------------------------------- Intestazione delle pagine */
.intestazione-pagina { position: relative; overflow: hidden; border-bottom: 3px double var(--c-linea); }
.intestazione-pagina::after {
	content: ""; position: absolute; right: max(2rem, calc((100vw - 78rem) / 2)); bottom: -2.5rem;
	width: 17rem; height: 17rem; pointer-events: none; background: var(--c-pergamena);
	-webkit-mask: url(../icone/alloro.svg) center / contain no-repeat; mask: url(../icone/alloro.svg) center / contain no-repeat;
	transform: rotate(-12deg);
}
@media (max-width: 1100px) { .intestazione-pagina::after { display: none; } }
.intestazione-pagina > * { position: relative; z-index: 1; }
.intestazione-pagina :where(.wp-block-post-title, .wp-block-query-title, h1) { max-width: 24ch; }
.intestazione-pagina .wp-block-post-excerpt { max-width: 44rem; margin-top: 1.1rem; }
.intestazione-pagina .wp-block-post-excerpt__excerpt { margin: 0; }
.intestazione-pagina .wp-block-post-excerpt:has(.wp-block-post-excerpt__excerpt:empty) { display: none; }
.wp-block-breadcrumbs { text-transform: uppercase; letter-spacing: .12em !important; font-size: .72rem !important; }
.wp-block-breadcrumbs ol, .wp-block-breadcrumbs ul { flex-wrap: wrap; }
.wp-block-breadcrumbs a { text-decoration: none; }
.wp-block-breadcrumbs a:hover { color: var(--c-primario); text-decoration: underline; }

/* ---------------------------------------------------------------- Stili di blocco */
.is-style-occhiello {
	font-family: var(--f-testo); font-size: .74rem !important; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
	color: var(--c-primario); display: flex; align-items: center; gap: .7rem;
}
.is-style-occhiello::before { content: ""; width: .45rem; height: .45rem; background: currentColor; transform: rotate(45deg); flex: none; }
.is-style-occhiello a { color: inherit; text-decoration: none; }
.has-text-align-center.is-style-occhiello { justify-content: center; }
:where(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .is-style-occhiello { color: var(--c-accento); }

.is-style-lead { font-family: var(--f-titoli); font-size: var(--wp--preset--font-size--large); font-weight: 350; line-height: 1.5; color: var(--c-seppia); }

.is-style-numero {
	font-family: var(--f-titoli); font-size: var(--wp--preset--font-size--display) !important; font-weight: 300 !important; line-height: .95 !important;
	font-variant-numeric: lining-nums; color: var(--c-primario); margin-bottom: .5rem !important; letter-spacing: -.03em;
}
.is-style-filetto { padding-top: .9rem; border-top: 1px solid var(--c-inchiostro); display: block; }

.wp-block-group.is-style-scheda {
	background: var(--c-carta); border: 1px solid var(--c-linea); border-radius: 0;
	padding: var(--wp--preset--spacing--40); position: relative; height: 100%;
	transition: transform var(--durata), box-shadow var(--durata), border-color var(--durata);
}
.wp-block-group.is-style-scheda:hover { transform: translateY(-3px); box-shadow: var(--ombra); border-color: var(--c-inchiostro); }
.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:hover :where(h2, h3, h4) a { color: var(--c-primario); }
.wp-block-group.is-style-scheda .wp-block-icon { color: var(--c-primario); }

/* Cornice: doppio filetto, come il frontespizio di un libro */
.wp-block-group.is-style-cornice { border: 1px solid var(--c-linea); outline: 1px solid var(--c-linea); outline-offset: -7px; }

/* Copertina di libro (anche le schede dei premi nei Query Loop con classe "copertine") */
.wp-block-group.is-style-copertina,
.copertine .wp-block-post {
	position: relative; display: flex; flex-direction: column; gap: .9rem;
	min-height: 23rem; padding: 1.7rem 1.5rem 1.4rem 2.1rem;
	color: var(--c-carta); background-color: var(--c-primario);
	background-image: linear-gradient(90deg, rgba(0, 0, 0, .24) 0, rgba(0, 0, 0, .06) 9px, rgba(255, 255, 255, .1) 11px, rgba(255, 255, 255, 0) 24px);
	box-shadow: var(--wp--preset--shadow--libro);
	transition: transform var(--durata) ease, box-shadow var(--durata) ease;
}
.wp-block-group.is-style-copertina::before,
.copertine .wp-block-post::before {
	content: ""; position: absolute; inset: .75rem .75rem .75rem 1.3rem; pointer-events: none;
	border: 1px solid color-mix(in srgb, var(--c-carta) 42%, transparent);
}
@media (max-width: 600px) { .wp-block-group.is-style-copertina, .copertine .wp-block-post { min-height: 18rem; } }
.copertine .wp-block-post:nth-child(4n+2) { background-color: var(--c-alloro); }
.copertine .wp-block-post:nth-child(4n+3) { background-color: var(--c-inchiostro); }
.copertine .wp-block-post:nth-child(4n+4) { background-color: var(--c-prugna); }
.copertine .wp-block-post:hover, .wp-block-group.is-style-copertina:hover { transform: translateY(-6px) rotate(-.5deg); box-shadow: 1px 2px 0 rgba(28, 25, 23, .12), 18px 30px 50px -20px rgba(28, 25, 23, .6); }
.copertine .wp-block-post > * { margin: 0; }
.copertine .wp-block-post-terms, .copertine .wp-block-post-terms a { color: var(--c-carta) !important; font-size: .68rem; letter-spacing: .2em; }
.copertine .wp-block-post-title { font-size: clamp(1.45rem, 1.2rem + .8vw, 1.85rem); line-height: 1.12; font-weight: 400; color: var(--c-carta); }
.copertine .wp-block-post-title a { color: inherit; }
.copertine .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.copertine .wp-block-post:has(.wp-block-post-title a:focus-visible) { outline: 3px solid var(--c-accento); outline-offset: 4px; }
.copertine .wp-block-post-title a:focus-visible { outline: none; }
.copertine .wp-block-post-excerpt { font-size: .93rem; line-height: 1.55; }
.copertine .wp-block-post-excerpt__excerpt { margin: 0; }
.copertine .wp-block-post-excerpt__more-text { display: none; }
.copertina-piede { margin-top: auto !important; padding-top: .9rem; border-top: 1px solid color-mix(in srgb, var(--c-carta) 40%, transparent); align-items: center; }
.copertina-piede p { margin: 0; }
.copertina-anni { font-family: var(--f-titoli); font-style: italic; font-size: 1.1rem; }
.copertina-piede .wp-block-icon { color: var(--c-carta); }
.copertina-piede .wp-block-icon svg { fill: currentColor; }

/* Carta rigata */
.wp-block-group.is-style-righe {
	background-image: repeating-linear-gradient(180deg, transparent 0 calc(2.2rem - 1px), color-mix(in srgb, var(--c-linea) 70%, transparent) calc(2.2rem - 1px) 2.2rem);
}

/* Elenchi */
ul.is-style-spunte, ul.is-style-pulito, ul.is-style-albo { list-style: none; padding-left: 0; }
ul.is-style-spunte li { position: relative; padding-left: 1.9rem; margin-bottom: .55rem; }
ul.is-style-spunte li::before { content: ""; position: absolute; left: 0; top: calc(.85em - 1px); width: 1rem; height: 2px; background: var(--c-primario); }
ul.is-style-pulito li { margin-bottom: .4rem; }
ul.is-style-albo { columns: 15rem 3; column-gap: 2.5rem; column-rule: 1px solid var(--c-linea); }
ul.is-style-albo li { break-inside: avoid; padding: .3rem 0; border-bottom: 1px dotted var(--c-linea); }

.is-style-cronologia { list-style: none; padding-left: 0; position: relative; }
.is-style-cronologia::before { content: ""; position: absolute; left: .32rem; top: .6rem; bottom: .6rem; width: 1px; background: var(--c-inchiostro); }
.is-style-cronologia li { position: relative; padding-left: 2.4rem; margin-bottom: 2rem; }
.is-style-cronologia li::before {
	content: ""; position: absolute; left: 0; top: .5rem; width: .7rem; height: .7rem;
	background: var(--c-primario); transform: rotate(45deg); box-shadow: 0 0 0 5px var(--c-carta);
}
.is-style-cronologia li strong:first-child { display: block; font-family: var(--f-titoli); font-weight: 400; font-size: 1.7rem; line-height: 1.1; color: var(--c-primario); margin-bottom: .25rem; }

/* Citazioni */
.wp-block-quote { border: 0; position: relative; padding-top: 2.2rem; }
.wp-block-quote::before { content: "\201C"; position: absolute; top: -.6rem; left: 0; font-family: var(--f-titoli); font-style: normal; font-size: 4.5rem; line-height: 1; color: var(--c-primario); }
.wp-block-quote cite { display: block; margin-top: .8rem; font-family: var(--f-testo); font-style: normal; text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; }
.wp-block-quote.is-style-epigrafe { text-align: center; max-width: 52rem; margin-inline: auto !important; font-size: clamp(1.6rem, 1.1rem + 1.8vw, 2.6rem); line-height: 1.3; font-weight: 300; }
.wp-block-quote.is-style-epigrafe::before { left: 50%; transform: translateX(-50%); }
.wp-block-quote.is-style-epigrafe cite { margin-top: 1.4rem; }

/* Pulsanti */
.wp-block-button.is-style-freccia .wp-block-button__link::after { content: "\2192"; display: inline-block; margin-left: .7em; 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: 1px solid currentColor; background: transparent; color: var(--c-inchiostro); padding: calc(.95em - 1px) calc(1.6em - 1px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-inchiostro); color: var(--c-carta); border-color: var(--c-inchiostro); }

/* Separatori */
.wp-block-separator.is-style-breve { width: 4rem !important; border-top: 2px solid var(--c-primario) !important; margin-left: 0; }
.has-text-align-center + .wp-block-separator.is-style-breve, .wp-block-separator.is-style-breve.aligncenter { margin-inline: auto; }
.wp-block-separator.is-style-fregio { border: 0 !important; height: 1.4rem; max-width: 14rem !important; margin-inline: auto !important; opacity: 1;
	background:
		linear-gradient(var(--c-linea), var(--c-linea)) left center / calc(50% - 1.4rem) 1px no-repeat,
		linear-gradient(var(--c-linea), var(--c-linea)) right center / calc(50% - 1.4rem) 1px no-repeat,
		linear-gradient(45deg, transparent 40%, var(--c-primario) 40% 60%, transparent 60%) center / .9rem .9rem no-repeat;
}

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

/* ---------------------------------------------------------------- Sezioni scure */
.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background { color: var(--c-carta); }
:is(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background) :where(h1, h2, h3, h4, h5, h6) { color: var(--c-carta); }
:is(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background) a:where(:not(.wp-element-button)) { color: var(--c-carta); }
:where(.has-contrast-background-color, .has-notte-gradient-background) .is-style-lead { color: color-mix(in srgb, var(--c-carta) 82%, transparent); }
/* Sul fondo scuro il pulsante pieno usa l'arancio del marchio con testo inchiostro (contrasto 5,5:1). */
:where(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--c-accento); color: var(--c-inchiostro); }
:where(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--c-carta); color: var(--c-inchiostro); }
:where(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button.is-style-outline .wp-block-button__link { color: var(--c-carta); border-color: color-mix(in srgb, var(--c-carta) 70%, transparent); }
:where(.has-contrast-background-color, .has-primary-strong-background-color, .has-secondary-background-color, .has-prugna-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-carta); color: var(--c-inchiostro); border-color: var(--c-carta); }
:where(.has-contrast-background-color, .has-notte-gradient-background) .wp-block-separator { color: color-mix(in srgb, var(--c-carta) 22%, transparent); }

/* ---------------------------------------------------------------- Home e sezioni */
.eroe { position: relative; overflow: hidden; }
.eroe h1 { text-wrap: balance; max-width: 15ch; }
.eroe h1 em { color: var(--c-primario); font-weight: 300; }
.eroe__visuale .wp-block-inst-illustrazione { max-width: 560px; }
@media (max-width: 781px) { .eroe__visuale .wp-block-inst-illustrazione { max-width: 420px; } }

.epigrafe { border-block: 1px solid var(--c-linea); }

.fatti .wp-block-column { border-top: 1px solid var(--c-inchiostro); padding-top: var(--wp--preset--spacing--30); }
.fatti .wp-block-column p { margin: 0; }
.fatti .wp-block-column p:not(.is-style-numero) { color: var(--c-seppia); font-size: .95rem; max-width: 22rem; }

.albo-ultimi { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0; border-top: 1px solid color-mix(in srgb, var(--c-carta) 25%, transparent); }
.albo-ultimi > .wp-block-group { padding: 1.4rem 1.4rem 1.4rem 0; border-bottom: 1px solid color-mix(in srgb, var(--c-carta) 25%, transparent); margin: 0 !important; }
.albo-ultimi p { margin: 0; }
.albo-ultimi .albo-premio { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--c-accento); }
.albo-ultimi .albo-nome { font-family: var(--f-titoli); font-size: 1.55rem; line-height: 1.15; margin-top: .45rem; }
.albo-ultimi .albo-opera { font-family: var(--f-titoli); font-style: italic; color: color-mix(in srgb, var(--c-carta) 82%, transparent); margin-top: .25rem; }

.reti-elenco { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.reti-elenco li { border: 1px solid var(--c-linea); padding: .4rem .9rem; font-size: .9rem; background: var(--c-carta); }

/* Schede delle notizie (Query Loop) */
.griglia-notizie .wp-block-post { display: flex; flex-direction: column; gap: .7rem; padding-top: 1.3rem; border-top: 1px solid var(--c-inchiostro); position: relative; }
.griglia-notizie .notizia-meta { gap: .4rem 1rem !important; align-items: baseline; }
.griglia-notizie .notizia-meta > * { margin: 0; }
.griglia-notizie .wp-block-post-date { text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 600; color: var(--c-seppia); }
.griglia-notizie .wp-block-post-terms { position: relative; z-index: 1; }
.griglia-notizie .wp-block-post-title { font-size: 1.45rem; line-height: 1.2; margin: 0; font-weight: 400; }
.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-primario); }
.griglia-notizie .wp-block-post-excerpt__excerpt { margin: 0; color: var(--c-seppia); font-size: .97rem; }
.griglia-notizie .wp-block-post-featured-image { margin: 0 0 .4rem; overflow: hidden; }
.griglia-notizie .wp-block-post-featured-image img { object-fit: cover; transition: transform .6s ease; }
.griglia-notizie .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }

.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.45rem; margin: 0 0 .4rem; font-weight: 400; }

.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); text-decoration: none; }
.wp-block-query-pagination-numbers .page-numbers.current { background: var(--c-inchiostro); color: var(--c-carta); border-color: var(--c-inchiostro); }

/* Articoli, premi e pagine di testo */
.articolo-testo > p:first-of-type { font-family: var(--f-titoli); font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--c-seppia); font-weight: 350; }
.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 > h2:not(.has-text-align-center)::before { content: ""; display: block; width: 2.2rem; height: 2px; background: var(--c-primario); margin-bottom: .9rem; }
/* Elenchi semplici nei testi: stesso filetto degli elenchi "con filetti" */
:where(.wp-block-post-content, .wp-block-details) ul.wp-block-list:not([class*="is-style-"]):not(.reti-elenco) { list-style: none; padding-left: 0; }
:where(.wp-block-post-content, .wp-block-details) ul.wp-block-list:not([class*="is-style-"]):not(.reti-elenco) > li { position: relative; padding-left: 1.9rem; margin-bottom: .45rem; }
:where(.wp-block-post-content, .wp-block-details) ul.wp-block-list:not([class*="is-style-"]):not(.reti-elenco) > li::before { content: ""; position: absolute; left: 0; top: calc(.85em - 1px); width: 1rem; height: 2px; background: var(--c-primario); }

/* Tabelle e dettagli */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table th { text-align: left; font-family: var(--f-testo); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--c-seppia); border-top: 2px solid var(--c-inchiostro) !important; }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--c-linea); padding: .8rem 1rem .8rem 0; vertical-align: top; }
.wp-block-table td:first-child { font-family: var(--f-titoli); font-size: 1.05rem; }
.wp-block-table figcaption { text-align: left; }
@media (max-width: 600px) { .wp-block-table { overflow-x: auto; } .wp-block-table table { min-width: 34rem; } }

.wp-block-details summary { cursor: pointer; font-family: var(--f-titoli); font-weight: 400; font-size: 1.3rem; line-height: 1.3; color: var(--c-inchiostro); list-style: none; position: relative; padding-right: 2.5rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .2rem; top: 50%; transform: translateY(-50%); font-family: var(--f-testo); font-size: 1.4rem; font-weight: 300; color: var(--c-primario); transition: transform var(--durata); }
.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.wp-block-details summary:hover { color: var(--c-primario); }
.wp-block-details[open] summary { margin-bottom: 1rem; }
.wp-block-details > :not(summary) { margin-top: .8rem; }
.elenco-giurie .wp-block-details { padding-block: 1.2rem; }

/* Immagini originali degli articoli: intere, mai ritagliate */
.immagine-articolo img { width: 100%; height: auto !important; max-height: 80vh; object-fit: contain; background: var(--c-pergamena); }
.wp-block-post-content .wp-block-image img { height: auto; }
.wp-block-post-content .wp-block-image figcaption, .wp-block-gallery figcaption { font-size: .85rem; color: var(--c-seppia); text-align: center; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { object-fit: contain; background: var(--c-pergamena); }
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption) { flex-direction: column; justify-content: flex-start; }
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--c-seppia); text-shadow: none; padding: .5rem 0 0; margin: 0; max-height: none; overflow: visible; font-size: .82rem; line-height: 1.4; text-align: center; }
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption a { color: inherit; }
.griglia-notizie .wp-block-post-featured-image img { object-position: center top; }

/* Archivi di giurie ed eventi per tipologia */
.elenco-persone .wp-block-post { padding-top: 1rem; border-top: 1px solid var(--c-linea); }
.elenco-persone .wp-block-post > * { margin: 0; }
.elenco-persone .wp-block-post-title { font-size: 1.2rem; font-weight: 500; }
.elenco-persone .wp-block-post-title a { text-decoration: none; }
.persona-ruolo { color: var(--c-primario); font-weight: 600; font-size: .8rem; margin-top: .3rem !important; }
.persona-affiliazione { color: var(--c-seppia); font-size: .9rem; }
.evento-luogo { margin: 0 0 .4rem; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; font-weight: 600; color: var(--c-seppia); }

/* ---------------------------------------------------------------- Blocchi del plugin, nella veste del tema */
.inst-scheda { border-top: 2px solid var(--c-inchiostro); background: var(--c-pergamena); padding: 1.4rem 1.4rem 1.2rem; }
.inst-scheda__titolo { font-family: var(--f-testo) !important; color: var(--c-primario); }
.inst-scheda__riga { padding-bottom: .8rem; border-bottom: 1px solid var(--c-linea); }
.inst-scheda__riga:last-child { border-bottom: 0; padding-bottom: 0; }
.inst-scheda__riga dt { opacity: 1; color: var(--c-seppia); font-size: .7rem; }
.inst-scheda__riga dd { font-weight: 400; font-family: var(--f-titoli); font-size: 1.08rem; line-height: 1.4; }
.inst-scheda__azioni .wp-element-button { font-size: .85rem; }

.inst-persone__griglia { gap: 1.6rem 1.8rem; }
.inst-persona { grid-template-columns: 3.6rem 1fr; padding-top: 1rem; border-top: 1px solid var(--c-linea); }
.inst-persona__iniziali { width: 3.6rem; height: 3.6rem; background: var(--c-carta); color: var(--c-primario); border: 1px solid var(--c-primario); font-family: var(--f-titoli); font-style: italic; font-size: 1.2rem; letter-spacing: 0; }
.inst-persona__foto { width: 3.6rem; height: 3.6rem; }
.inst-persona__nome { font-family: var(--f-titoli); font-weight: 500; font-size: 1.12rem; }
.inst-persona__nome a { text-decoration: none; }
.inst-persona__nome a:hover { color: var(--c-primario); text-decoration: underline; }
.inst-persona__ruolo { color: var(--c-primario); font-weight: 600; font-size: .8rem; letter-spacing: .02em; }
.inst-persona__affiliazione, .inst-persona__bio { opacity: 1; color: var(--c-seppia); }

.inst-evento { border-top-color: var(--c-linea) !important; grid-template-columns: 6rem 1fr; }
.inst-evento:last-child { border-bottom-color: var(--c-linea) !important; }
.inst-evento__data { border: 0; border-right: 1px solid var(--c-linea); border-radius: 0; padding: .2rem 1rem .2rem 0; }
.inst-evento__giorno { font-weight: 300; font-size: 2.6rem; color: var(--c-primario); }
.inst-evento__mese { font-weight: 600; font-size: .72rem; letter-spacing: .18em; }
.inst-evento__anno { opacity: 1; color: var(--c-seppia); font-size: .78rem; }
.inst-evento__titolo { font-family: var(--f-titoli); font-weight: 400; font-size: clamp(1.2rem, 1.05rem + .5vw, 1.5rem); }
.inst-evento__meta { opacity: 1; color: var(--c-seppia); }
.inst-evento__estratto { color: var(--c-seppia); font-size: .97rem; }

.inst-dati-ente__etichetta { opacity: 1; color: var(--c-seppia); font-weight: 600; font-size: .7rem; min-width: 0; padding-top: .25em; }
.inst-dati-ente__riga { display: grid; grid-template-columns: 7rem minmax(0, 1fr); gap: .1rem 1rem; align-items: start; }
@media (max-width: 480px) { .inst-dati-ente__riga { grid-template-columns: 1fr; } }
.inst-dati-ente__valore a { text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); }

.inst-mappa { border-radius: 0; border: 1px solid var(--c-linea); }
.inst-modulo input[type=text], .inst-modulo input[type=email], .inst-modulo input[type=tel], .inst-modulo select, .inst-modulo textarea { border-radius: 0; border-color: var(--c-linea); background: var(--c-carta); }
.inst-modulo__nota { opacity: 1; color: var(--c-seppia); }
.inst-condividi a, .inst-condividi button { border-radius: 0; }

/* ---------------------------------------------------------------- Piè di pagina */
.sito-piede { font-size: .95rem; }
/* Il logo originale ha lettere scure: sul fondo inchiostro sta in un riquadro chiaro. */
.piede-logo .wp-block-site-logo { background: #fff; padding: .8rem 1.1rem; border-radius: 4px; line-height: 0; }
.piede-logo .wp-block-site-logo img { width: 240px; height: auto; }
.piede-testata { gap: 1.5rem; }
.piede-marchio { font-family: var(--f-titoli); font-size: clamp(2.2rem, 1.6rem + 2.4vw, 3.6rem); line-height: 1; letter-spacing: -.02em; margin: 0; }
.piede-marchio em { color: var(--c-accento); font-weight: 300; }
.piede-motto { font-family: var(--f-titoli); font-style: italic; font-size: 1.15rem; max-width: 26rem; margin: 0; color: color-mix(in srgb, var(--c-carta) 85%, transparent); }
.sito-piede h2 { font-family: var(--f-testo); font-size: .72rem !important; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; color: var(--c-accento) !important; margin-bottom: 1rem; }
.piede-descrizione { font-size: .92rem; color: color-mix(in srgb, var(--c-carta) 85%, transparent); max-width: 24rem; }
.sito-piede .wp-block-navigation { --navigation-layout-direction: column; }
.sito-piede .wp-block-navigation .wp-block-navigation-item__content { padding: .2rem 0; }
.sito-piede .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--c-accento); text-decoration: underline; }
.sito-piede a { text-decoration: none; }
.sito-piede .inst-dati-ente address { gap: .7rem; }
.sito-piede .inst-dati-ente__riga { grid-template-columns: 1fr; }
.sito-piede .inst-dati-ente__etichetta { display: block; min-width: 0; margin-bottom: .1rem; color: color-mix(in srgb, var(--c-carta) 70%, transparent); }
.sito-piede .piede-legale { font-size: .8rem; color: color-mix(in srgb, var(--c-carta) 80%, transparent); }
.sito-piede .piede-legale p { margin: 0; }
.sito-piede .credito { align-items: center; }
.sito-piede .credito figure { margin: 0; }
.sito-piede .credito img { background: #fff; padding: 4px 8px; border-radius: 4px; display: block; box-sizing: content-box; width: 96px !important; height: 25px !important; object-fit: contain; }
.sito-piede .wp-block-separator { border-color: color-mix(in srgb, var(--c-carta) 18%, transparent) !important; opacity: 1; }
.sito-piede .wp-block-button.is-style-outline .wp-block-button__link { color: var(--c-carta); border-color: color-mix(in srgb, var(--c-carta) 70%, transparent); }
.sito-piede .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-carta); color: var(--c-inchiostro); }

/* ---------------------------------------------------------------- Comparsa progressiva (solo schede, mai il testo libero) */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.wp-block-group.is-style-scheda,
		.copertine .wp-block-post,
		.griglia-notizie .wp-block-post,
		.inst-persona, .inst-evento {
			animation: areacultura-comparsa linear both;
			animation-timeline: view();
			animation-range: entry 5% entry 55%;
		}
	}
}
@keyframes areacultura-comparsa { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- Stampa */
@media print {
	.sito-testata, .sito-piede .wp-block-navigation, .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; }
}

/* ---------------------------------------------------------------- Testata fissa e compatta
   La testata resta in alto ed è opaca: il contenuto non si vede sotto né tra le due barre.
   Quando la pagina scorre (classe "is-compatta", aggiunta da tema.js) la barra di servizio
   si chiude, il menu si abbassa e il logo si rimpicciolisce; risalendo in cima torna com'era. */
.sito-testata > * { margin-block: 0 !important; }
.barra-principale::before { background: var(--c-carta); -webkit-backdrop-filter: none; backdrop-filter: none; }
.barra-servizio { max-height: 8rem; overflow: hidden; transition: max-height .3s ease, padding .3s ease, opacity .2s ease, visibility 0s; }
.barra-principale { transition: padding .3s ease, box-shadow .3s ease; }
.marchio .wp-block-site-logo img { transition: width .3s ease; }
.sito-testata.is-compatta .barra-servizio { max-height: 0; padding-block: 0 !important; opacity: 0; visibility: hidden; transition: max-height .3s ease, padding .3s ease, opacity .2s ease, visibility 0s .3s; }
.sito-testata.is-compatta .barra-principale { padding-block: .4rem !important; }
.sito-testata.is-compatta .marchio .wp-block-site-logo img { width: 160px; }
@media (max-width: 480px) { .sito-testata.is-compatta .marchio .wp-block-site-logo img { width: 120px; } }
@media (prefers-reduced-motion: reduce) { .barra-servizio, .barra-principale, .marchio .wp-block-site-logo img { transition: none; } }
