/* ==========================================================================
   Soul Vanity — 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.
   ========================================================================== */

:root {
	--c-primario: var(--wp--preset--color--primary);
	--c-notte: var(--wp--preset--color--primary-strong);
	--c-secondario: var(--wp--preset--color--secondary);
	--c-accento: var(--wp--preset--color--accent);
	--c-linea: var(--wp--preset--color--linea);
	--c-superficie: var(--wp--preset--color--superficie);
	--raggio: var(--wp--custom--raggio, 6px);
	--durata: var(--wp--custom--durata, 220ms);
	--ombra: var(--wp--preset--shadow--morbida);
}

html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; font-feature-settings: "kern", "liga", "onum" 0; overflow-x: clip; }
::selection { background: color-mix(in srgb, var(--c-accento) 30%, 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: 2px;
	border-radius: 2px;
}
.skip-link.screen-reader-text:focus { background: var(--c-notte); color: #fff; padding: .8rem 1.2rem; z-index: 100000; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; transition: 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: .8125rem; letter-spacing: .01em; }
.barra-servizio p { margin: 0; }
.barra-servizio a { color: inherit; text-decoration: none; opacity: .88; }
.barra-servizio a:hover, .barra-servizio a:focus-visible { opacity: 1; text-decoration: underline; }
.barra-servizio .separatore { opacity: .4; margin-inline: .5em; }
@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(--wp--preset--color--base) 94%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
}
.sito-testata.is-scorrimento .barra-principale { box-shadow: 0 6px 24px -14px rgba(59, 42, 31, .38); }

.marchio { gap: .85rem !important; }
.marchio .wp-block-site-logo img { width: 64px; height: auto; display: block; }
.marchio__testo p { margin: 0; line-height: 1.1; }
.marchio__sigla { font-family: var(--wp--preset--font-family--titoli); font-weight: 700; font-size: 1.35rem; letter-spacing: .005em; line-height: 1.12 !important; max-width: 17rem; }
.marchio__sigla a { color: var(--c-notte); text-decoration: none; }
.marchio__nome { font-size: .72rem; letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--contrast-2); max-width: 15rem; margin-top: .2rem !important; }
@media (max-width: 480px) { .marchio__nome { display: none; } .marchio__sigla { font-size: 1.05rem; max-width: 11.5rem; } .marchio .wp-block-site-logo img { width: 50px; } }

/* Navigazione principale */
.menu-principale .wp-block-navigation-item__content { padding-block: .4rem; position: relative; }
.menu-principale .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
@media (min-width: 961px) and (max-width: 1080px) { .menu-principale .wp-block-navigation__container { gap: 1rem !important; } }
/* Tra 600 e 960 px le voci non stanno in riga accanto al marchio: si usa il menu a scomparsa anche lì. */
@media (min-width: 600px) and (max-width: 960px) {
	.sito-testata .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.sito-testata .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.marchio { flex-shrink: 0; }
.menu-principale > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: var(--c-accento); 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: 3px solid var(--c-accento) !important;
	border-radius: 0 0 var(--raggio) var(--raggio); box-shadow: var(--wp--preset--shadow--profonda);
	padding: .5rem 0; min-width: 16rem !important;
}
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.1rem !important; font-weight: 400; }
.menu-principale .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--c-superficie); 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(--wp--preset--font-family--titoli); font-size: 1.4rem; font-weight: 600; color: var(--c-notte); }
.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-accento) !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(--wp--preset--color--contrast-2); }

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

/* ---------------------------------------------------------------- Intestazione delle pagine */
.intestazione-pagina { position: relative; overflow: hidden; border-bottom: 1px solid var(--c-linea); }
.intestazione-pagina::after {
	content: ""; position: absolute; inset: auto -6rem -9rem auto; width: 26rem; height: 26rem; border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--c-primario) 14%, transparent);
	box-shadow: 0 0 0 3rem color-mix(in srgb, var(--c-primario) 3%, transparent), 0 0 0 6rem color-mix(in srgb, var(--c-primario) 2%, transparent);
	pointer-events: none;
}
@media (max-width: 781px) { .intestazione-pagina::after { display: none; } }
.intestazione-pagina .wp-block-post-title { max-width: 22ch; text-wrap: balance; }
.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-size: .8rem !important; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
	color: var(--c-secondario); display: flex; align-items: center; gap: .75rem;
}
.is-style-occhiello::before { content: ""; width: 2rem; height: 2px; background: var(--c-accento); flex: none; }
.has-text-align-center.is-style-occhiello { justify-content: center; }
:where(.has-primary-strong-background-color, .has-primary-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .is-style-occhiello { color: color-mix(in srgb, #fff 78%, var(--c-accento)); }

.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-size: var(--wp--preset--font-size--display) !important; font-weight: 500 !important; line-height: 1 !important;
	font-variant-numeric: lining-nums tabular-nums; color: var(--c-primario); margin-bottom: .35rem !important;
}
.is-style-filetto { padding-top: 1rem; border-top: 2px solid var(--c-accento); display: inline-block; }

.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%;
	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: color-mix(in srgb, var(--c-primario) 35%, var(--c-linea)); }
.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, .wp-block-group.is-style-scheda .scheda__icona { color: var(--c-secondario); }

.wp-block-group.is-style-cornice { border-top: 3px solid var(--c-accento); padding-top: var(--wp--preset--spacing--30); }
.wp-block-group.is-style-reticolo {
	background-image:
		linear-gradient(color-mix(in srgb, var(--c-primario) 6%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, var(--c-primario) 6%, transparent) 1px, transparent 1px);
	background-size: 48px 48px;
}

ul.is-style-spunte, ul.is-style-pulito { list-style: none; padding-left: 0; }
ul.is-style-spunte li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
ul.is-style-spunte li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: 1.1rem; height: .6rem;
	border-left: 2px solid var(--c-secondario); border-bottom: 2px solid var(--c-secondario); transform: rotate(-45deg) translateY(-2px);
}
ul.is-style-pulito li { margin-bottom: .4rem; }

.is-style-cronologia { list-style: none; padding-left: 0; position: relative; }
.is-style-cronologia::before { content: ""; position: absolute; left: .45rem; top: .5rem; bottom: .5rem; width: 2px; background: var(--c-linea); }
.is-style-cronologia li { position: relative; padding-left: 2.5rem; margin-bottom: 1.75rem; }
.is-style-cronologia li::before {
	content: ""; position: absolute; left: 0; top: .35rem; width: 1rem; height: 1rem; border-radius: 50%;
	background: var(--wp--preset--color--base); border: 3px solid var(--c-accento);
}
.is-style-cronologia li strong:first-child { display: block; font-family: var(--wp--preset--font-family--titoli); font-size: 1.25rem; color: var(--c-primario); }

.wp-block-button.is-style-freccia .wp-block-button__link::after { content: "→"; display: inline-block; margin-left: .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(--c-primario); padding: calc(.85em - 1.5px) calc(1.5em - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-primario); color: #fff; border-color: var(--c-primario); }
:where(.has-primary-strong-background-color, .has-primary-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .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-primary-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-notte); border-color: #fff; }

.wp-block-separator.is-style-breve { width: 4rem !important; border-top: 3px solid var(--c-accento) !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-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-primary-strong-background-color, .has-primary-background-color, .has-notte-gradient-background { color: #fff; }
.has-primary-strong-background-color :where(h1, h2, h3, h4, h5, h6),
.has-primary-background-color :where(h1, h2, h3, h4, h5, h6),
.has-notte-gradient-background :where(h1, h2, h3, h4, h5, h6) { color: #fff; }
.has-primary-strong-background-color a:where(:not(.wp-element-button)),
.has-notte-gradient-background a:where(:not(.wp-element-button)) { color: #fff; }
.has-primary-strong-background-color .is-style-lead, .has-notte-gradient-background .is-style-lead { color: rgba(255,255,255,.82); }
:where(.has-primary-strong-background-color, .has-primary-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: #fff; }
:where(.has-primary-strong-background-color, .has-primary-background-color, .has-notte-gradient-background, .is-sfondo-scuro) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--c-notte); }

/* ---------------------------------------------------------------- Home e sezioni */
.eroe { position: relative; overflow: hidden; }
.eroe .wp-block-heading { text-wrap: balance; }
.eroe__visuale { position: relative; }
.eroe__visuale .wp-block-inst-illustrazione { max-width: 560px; }

.numeri .wp-block-column { border-top: 1px solid var(--c-linea); padding-top: var(--wp--preset--spacing--30); }
.numeri p { margin: 0; color: var(--wp--preset--color--contrast-2); font-size: .95rem; }

.reti-elenco { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; padding: 0; margin: 0; }
.reti-elenco li { border: 1px solid var(--c-linea); border-radius: 999px; padding: .45rem 1rem; font-size: .92rem; background: var(--wp--preset--color--base); }

/* Schede delle notizie (Query Loop) */
.griglia-notizie .wp-block-post { display: flex; flex-direction: column; gap: .6rem; padding-top: 1.25rem; border-top: 2px solid var(--c-primario); position: relative; }
.griglia-notizie .wp-block-post-title { font-size: 1.3rem; line-height: 1.3; margin: 0; }
.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-secondario); text-decoration: underline; text-decoration-thickness: 1px; }
.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; }
.griglia-notizie .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.03); }
.griglia-notizie .wp-block-post-terms { position: relative; z-index: 1; }

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

/* Articolo */
.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.6em; }
.wp-block-post-content > :where(h3) { margin-top: 1.4em; }
.wp-block-post-content > :where(h2, h3):first-child { margin-top: 0; }

/* Tabelle e dettagli */
.wp-block-table table { border-collapse: collapse; width: 100%; }
.wp-block-table th { text-align: left; background: var(--c-superficie); font-weight: 600; }
.wp-block-table td, .wp-block-table th { border: 0; border-bottom: 1px solid var(--c-linea); padding: .75rem 1rem; vertical-align: top; }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-family: var(--wp--preset--font-family--titoli); font-size: 1.15rem; color: var(--c-notte); list-style-position: outside; }
.wp-block-details[open] summary { margin-bottom: .75rem; }
.wp-block-accordion-heading__toggle { font-family: var(--wp--preset--font-family--titoli); }

/* ---------------------------------------------------------------- Piè di pagina */
.sito-piede { font-size: .95rem; }
.sito-piede .wp-block-site-logo img { width: 84px; max-width: 100%; height: auto; background: #fff; padding: 8px; border-radius: 10px; box-sizing: border-box; }
.sito-piede h2 { font-family: var(--wp--preset--font-family--testo); font-size: .78rem !important; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: color-mix(in srgb, #fff 70%, var(--c-accento)) !important; margin-bottom: 1rem; }
.sito-piede .wp-block-navigation { --navigation-layout-direction: column; }
.sito-piede .wp-block-navigation .wp-block-navigation-item__content { padding: .2rem 0; opacity: .86; }
.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: .6; }
.sito-piede .piede-legale { font-size: .82rem; opacity: .78; }
.sito-piede .piede-legale p { margin: 0; }
.sito-piede .wp-block-separator { border-color: rgba(255,255,255,.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-persona, .inst-evento {
			animation: soulvanity-comparsa linear both;
			animation-timeline: view();
			animation-range: entry 5% entry 60%;
		}
	}
}
@keyframes soulvanity-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 { display: none !important; }
	body { font-size: 11pt; color: #000; }
	a { color: #000; }
	.wp-block-post-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
}

/* ---------------------------------------------------------------- Contenuti e immagini originali */
.wp-block-cover.eroe { color: #fff; }
.wp-block-cover.eroe :where(h1, h2, h3, p) { color: #fff; }
.wp-block-cover.eroe .is-style-lead { color: rgba(255, 255, 255, .88); }
.wp-block-cover.eroe .is-style-occhiello { color: color-mix(in srgb, #fff 78%, var(--c-accento)); }
.wp-block-cover.eroe .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--c-accento); color: #fff; }
.wp-block-cover.eroe .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.wp-block-cover.eroe .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-notte); }

.griglia-loghi { align-items: center; }
.griglia-loghi .wp-block-image { margin: 0; display: flex; justify-content: center; }
.griglia-loghi img { max-height: 120px; width: auto !important; max-width: 100%; object-fit: contain; }
.griglia-loghi a { display: block; transition: transform var(--durata); }
.griglia-loghi a:hover { transform: translateY(-3px); }
.logo-iscrizione img { max-width: 100%; height: auto; }
.nota-iscrizione { border-left: 3px solid var(--c-accento); padding: .9rem 1.25rem; background: color-mix(in srgb, var(--wp--preset--color--primary) 5%, transparent); border-radius: 0 6px 6px 0; }
.nota-iscrizione p { margin: 0; }
.wp-block-group.is-style-scheda > .wp-block-image:first-child img { max-height: 90px; width: auto; object-fit: contain; }
.wp-block-gallery.has-nested-images figure.wp-block-image img { object-fit: contain; background: var(--c-superficie); }

/* ---------------------------------------------------------------- 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(--wp--preset--color--base); -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: 46px; }
@media (max-width: 480px) { .sito-testata.is-compatta .marchio .wp-block-site-logo img { width: 40px; } }
@media (prefers-reduced-motion: reduce) { .barra-servizio, .barra-principale, .marchio .wp-block-site-logo img { transition: none; } }

/* ==========================================================================
   Identità "Soul Vanity": cipria, ebano, oro del logo, rosa antico.
   Lusso silenzioso ed editoriale come una rivista di bellezza: molto bianco, filetti sottili,
   titoli in Playfair Display con corsivi, etichette in maiuscoletto spaziato, immagini ad arco.
   ========================================================================== */
:root { --c-oro: var(--wp--preset--color--accent, #D6A431); --c-oro-brunito: var(--wp--preset--color--primary, #8A6414); --c-rosa: var(--wp--preset--color--secondary, #9C4F57); --c-cipria: var(--wp--preset--color--superficie, #F8F1EC); --c-espresso: var(--wp--preset--color--primary-strong, #56656E); --c-oro-chiaro: #F3E3B2; }
body { background-color: var(--wp--preset--color--base); letter-spacing: .005em; }
:where(.wp-block-cover) :where(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--c-oro); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .sito-piede, .barra-servizio, .is-sfondo-scuro, .is-style-consiglio) :where(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--c-oro-chiaro); }
:where(h1, h2, h3, h4) em { font-style: italic; color: var(--c-rosa); font-weight: 400; }
:where(.wp-block-cover) :where(h1, h2, h3, h4) em { color: var(--c-oro); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .sito-piede, .barra-servizio, .is-sfondo-scuro, .is-style-consiglio) :where(h1, h2, h3, h4) em { color: var(--c-oro-chiaro); }

/* Testata */
.barra-servizio { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.barra-servizio .separatore { opacity: .5; }
.barra-principale { border-bottom: 1px solid var(--c-linea); }
.marchio-logo img { width: 210px; height: auto; display: block; transition: width .3s ease; }
@media (max-width: 480px) { .marchio-logo img { width: 160px; } }
.sito-testata.is-compatta .marchio-logo img { width: 160px; }
.menu-principale > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { background: var(--c-oro); height: 1px; }
.menu-principale .wp-block-navigation__submenu-container { border: 1px solid var(--c-linea) !important; border-top: 2px solid var(--c-oro) !important; border-radius: 0; text-transform: none; letter-spacing: .02em; font-size: .9rem; font-weight: 500; min-width: 17rem !important; }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content { background: var(--c-espresso); color: #fff !important; padding: .7rem 1.3rem !important; }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content::after { display: none; }
.menu-principale .voce-evidenza > .wp-block-navigation-item__content:hover { background: var(--c-rosa); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { text-transform: none; letter-spacing: 0; font-size: 1.55rem; font-weight: 500; }
.wp-block-navigation__responsive-container.is-menu-open .voce-evidenza > .wp-block-navigation-item__content { background: none; color: var(--c-rosa) !important; padding: 0 !important; }

/* Occhiello, elenchi, filetti */
.is-style-occhiello { color: var(--c-oro-brunito); font-size: .7rem !important; font-weight: 600; letter-spacing: .28em; }
.is-style-occhiello::before { width: 2.2rem; height: 1px; background: var(--c-oro); }
:where(.wp-block-cover) .is-style-occhiello { color: var(--c-oro); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .sito-piede, .barra-servizio, .is-sfondo-scuro, .is-style-consiglio) .is-style-occhiello { color: var(--c-oro-chiaro); }
.is-style-lead { font-family: var(--wp--preset--font-family--titoli); font-style: italic; font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--contrast-2); }
p.is-style-firma { font-family: var(--wp--preset--font-family--titoli); font-style: italic; color: var(--c-rosa); }
ul.is-style-spunte li::before { border: 0; width: .45rem; height: .45rem; top: .7em; left: .25rem; background: var(--c-oro); border-radius: 50%; transform: none; }
.is-style-cronologia { counter-reset: passo; }
.is-style-cronologia li { counter-increment: passo; }
.is-style-cronologia li::before { content: counter(passo); width: 1.8rem; height: 1.8rem; top: 0; display: grid; place-items: center; border: 1px solid var(--c-oro); background: var(--wp--preset--color--base); font-family: var(--wp--preset--font-family--titoli); font-size: .95rem; color: var(--c-oro-brunito); }
.is-style-cronologia::before { left: .85rem; }
.is-style-filetto { border-top: 1px solid var(--c-oro); }
.wp-block-separator.is-style-breve { border-top: 1px solid var(--c-oro) !important; width: 5rem !important; }
.is-style-numero { font-family: var(--wp--preset--font-family--titoli); font-weight: 400 !important; color: var(--c-oro-brunito); }
h2.is-style-corsivo, h3.is-style-corsivo { font-style: italic; font-weight: 400; }
.wp-block-group.is-style-reticolo { background-image: repeating-linear-gradient(90deg, color-mix(in srgb, var(--c-oro) 9%, transparent) 0 1px, transparent 1px 64px); }
p.is-style-nota { border-left: 1px solid var(--c-oro); background: var(--c-cipria); padding: 1rem 1.25rem; font-size: .93rem; box-sizing: border-box; }

/* Pulsanti: rettangolari, maiuscoletto spaziato */
.wp-block-button.is-style-outline .wp-block-button__link { border-width: 1px; color: var(--c-espresso); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--c-espresso); border-color: var(--c-espresso); color: #fff; }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover) .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--c-oro); color: var(--c-espresso); }
:where(.has-primary-strong-background-color, .has-notte-gradient-background, .is-sfondo-scuro, .wp-block-cover) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #fff; color: var(--c-espresso); }

/* Immagini ad arco e in cornice */
.wp-block-image.is-style-arco img { border-radius: 999px 999px 0 0; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.wp-block-image.is-style-documento img { background: #fff; padding: .5rem; border: 1px solid var(--c-linea); box-shadow: var(--wp--preset--shadow--morbida); }
.cornice-oro { position: relative; }
.cornice-oro::after { content: ""; position: absolute; inset: 1.25rem -1.25rem -1.25rem 1.25rem; border: 1px solid var(--c-oro); z-index: -1; pointer-events: none; }
@media (max-width: 781px) { .cornice-oro::after { inset: .75rem -.5rem -.75rem .75rem; } }

/* Apertura della home */
.apertura { position: relative; overflow: hidden; }
.apertura h1 { font-weight: 400; line-height: 1.02; letter-spacing: -.01em; text-wrap: balance; }
.apertura .wp-block-image { margin: 0; }

/* Schede dei trattamenti */
.wp-block-group.is-style-scheda { border-radius: 0; border-color: var(--c-linea); }
.wp-block-group.is-style-scheda:hover { border-color: var(--c-oro); }
.is-style-scheda > .wp-block-image { align-self: stretch; width: 100%; margin: 0; }
.is-style-scheda > .wp-block-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.is-style-scheda :where(h3) { font-size: 1.45rem; }

/* Box editoriali */
.wp-block-group.is-style-in-breve { background: var(--c-cipria); border-top: 2px solid var(--c-oro); padding: 1.5rem 1.75rem; }
.wp-block-group.is-style-in-breve > :first-child { margin-top: 0; }
.wp-block-group.is-style-in-breve :where(h2, h3, h4, .is-style-occhiello) { margin-top: 0; }
.wp-block-group.is-style-in-breve ul { margin-bottom: 0; }
.wp-block-group.is-style-consiglio { background: var(--c-espresso); color: #f4ece6; padding: 1.75rem 2rem; position: relative; }
.wp-block-group.is-style-consiglio::before { content: "“"; position: absolute; top: -.2rem; left: 1rem; font-family: var(--wp--preset--font-family--titoli); font-size: 5rem; line-height: 1; color: var(--c-oro-chiaro); opacity: .7; }
.wp-block-group.is-style-consiglio :where(h2, h3, h4) { color: #fff; margin-top: 0; }
.wp-block-group.is-style-consiglio a { color: var(--c-oro-chiaro); }
.wp-block-quote.is-style-grande { border: 0; padding: 0; text-align: center; font-family: var(--wp--preset--font-family--titoli); font-style: italic; font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); line-height: 1.35; color: var(--c-espresso); margin-block: var(--wp--preset--spacing--50); }
.wp-block-quote.is-style-grande cite { display: block; margin-top: .8rem; font-family: var(--wp--preset--font-family--testo); font-style: normal; font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--c-oro-brunito); }

/* Magazine: griglia delle notizie */
.griglia-notizie .wp-block-post { border-top: 0; padding-top: 0; gap: .55rem; }
.griglia-notizie .wp-block-post-featured-image { border-radius: 0; margin-bottom: .75rem; }
.griglia-notizie .wp-block-post-featured-image img { aspect-ratio: 4 / 5; }
.griglia-notizie .wp-block-post-terms { font-size: .66rem; letter-spacing: .24em; text-transform: uppercase; font-weight: 600; }
.griglia-notizie .wp-block-post-terms a { color: var(--c-oro-brunito); text-decoration: none; }
.griglia-notizie .wp-block-post-title { font-size: 1.45rem; font-weight: 500; line-height: 1.22; }
.griglia-notizie .wp-block-post:hover .wp-block-post-title a { color: var(--c-rosa); text-decoration: none; }

/* Articolo come in una rivista */
.testata-articolo .wp-block-post-title { font-weight: 400; line-height: 1.08; text-wrap: balance; max-width: 22ch; margin-inline: auto; }
.testata-articolo .wp-block-post-excerpt__excerpt { font-family: var(--wp--preset--font-family--titoli); font-style: italic; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--contrast-2); max-width: 40rem; margin-inline: auto; }
.testata-articolo .wp-block-post-terms { font-size: .68rem; letter-spacing: .26em; text-transform: uppercase; font-weight: 600; }
.testata-articolo .wp-block-post-terms a { color: var(--c-oro-brunito); text-decoration: none; }
.articolo-meta { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--contrast-2); }
.articolo-testo > p:first-of-type::first-letter { float: left; font-family: var(--wp--preset--font-family--titoli); font-size: 4.6em; line-height: .82; padding: .06em .12em 0 0; color: var(--c-oro-brunito); }
.articolo-testo > p:first-of-type { font-size: 1.12rem; }
.articolo-testo :where(h2) { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); margin-top: 2.2em; }
.articolo-testo :where(h3) { font-size: 1.3rem; }
.articolo-testo .wp-block-details { border-bottom: 1px solid var(--c-linea); }
.articolo-testo .wp-block-details summary { font-family: var(--wp--preset--font-family--titoli); font-size: 1.15rem; }
.articolo-testo .wp-block-image figcaption { font-size: .8rem; letter-spacing: .02em; }

/* Fascia «Prenota» */
.fascia-prenota { background-image: radial-gradient(circle at 85% 15%, rgba(214,164,49,.16), transparent 40%); }

/* Piè di pagina */
.sito-piede .logo-piede img { width: 230px; height: auto; }
.sito-piede h2 { font-family: var(--wp--preset--font-family--testo); color: var(--c-oro-chiaro) !important; font-size: .7rem !important; letter-spacing: .26em; }
.sito-piede .piede-social { letter-spacing: .16em; text-transform: uppercase; }
.sito-piede .is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.55); }
.sito-piede .is-style-outline .wp-block-button__link:hover { background: var(--c-oro); color: var(--c-espresso); border-color: var(--c-oro); }

/* Intestazione delle pagine */
.intestazione-pagina { border-bottom: 0; }
.intestazione-pagina::after { border: 1px solid color-mix(in srgb, var(--c-oro) 45%, transparent); box-shadow: none; border-radius: 999px 999px 0 0; width: 20rem; height: 26rem; inset: auto 4rem -14rem auto; }
.intestazione-pagina .wp-block-post-title { font-weight: 400; }

/* Fasce consecutive e piè di pagina senza spazi bianchi */
.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; }

/* Pulsante WhatsApp e «Torna all'inizio» */
.sv-whatsapp { position: fixed; z-index: 9991; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); display: flex; align-items: center; gap: .5rem; padding: .7rem 1.05rem .7rem .8rem; background: #25D366; color: #062a1c; text-decoration: none; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; border-radius: 999px; box-shadow: 0 10px 28px -8px rgba(18,140,74,.55); transition: background var(--durata), transform var(--durata); }
.sv-whatsapp:hover, .sv-whatsapp:focus-visible { background: #1ebe5b; color: #062a1c; transform: translateY(-2px); }
.sv-whatsapp:focus-visible { outline: 2px solid #062a1c; outline-offset: 3px; }
body:has(.wp-block-navigation__responsive-container.is-menu-open) .sv-whatsapp { display: none; }
.sv-whatsapp svg { color: #fff; }
@media (max-width: 600px) { .sv-whatsapp span { display: none; } .sv-whatsapp { padding: .75rem; border-radius: 50%; } }
.inst-su { bottom: max(4.6rem, calc(env(safe-area-inset-bottom) + 4.6rem)) !important; background: var(--c-oro-brunito) !important; }
@media print { .sv-whatsapp { display: none !important; } }

/* Gallerie: didascalie sotto l'immagine */
.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(--wp--preset--color--contrast-2); text-shadow: none; padding: .5rem 0 0; margin: 0; max-height: none; overflow: visible; font-size: .85rem; text-align: center; }
.wp-block-post-content .wp-block-image.alignright, .wp-block-post-content .wp-block-image.alignleft { max-width: min(42%, 320px); }
@media (max-width: 600px) { .wp-block-post-content .wp-block-image.alignright, .wp-block-post-content .wp-block-image.alignleft { float: none; max-width: 100%; margin-inline: 0; } }
.wp-block-post-content > :where(h2, h3, h4, .wp-block-table, .wp-block-group, .wp-block-gallery, .wp-block-columns, .wp-block-details, .wp-block-buttons) { clear: both; }
.wp-block-table th { background: var(--c-cipria); }
/* Schede con foto a tutta larghezza (le regole di base limitano le immagini a loghi piccoli) */
.wp-block-group.is-style-scheda > .wp-block-image:first-child img { max-height: none; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
/* Pulsanti a contorno sulle fasce scure */
.has-primary-strong-background-color .wp-block-button.is-style-outline .wp-block-button__link, .has-notte-gradient-background .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.has-primary-strong-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover, .has-notte-gradient-background .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-espresso); border-color: #fff; }

/* ==========================================================================
   Esperienza immersiva (moderata): apertura a tutta altezza, nastro dei trattamenti,
   manifesto, schede fotografiche, fascia laser in parallasse, comparse leggere.
   Tutto si ferma con «riduci movimento».
   ========================================================================== */
/* Apertura */
.apertura-immersiva { color: #fff; overflow: hidden; }
.apertura-immersiva .wp-block-cover__background { background: linear-gradient(100deg, rgba(43,33,28,.92) 0%, rgba(43,33,28,.72) 38%, rgba(43,33,28,.18) 72%, rgba(43,33,28,.05) 100%) !important; opacity: 1 !important; }
.apertura-immersiva .wp-block-cover__image-background { animation: sv-respiro 18s ease-out both; transform-origin: 62% 40%; }
@keyframes sv-respiro { from { transform: scale(1.08); } to { transform: scale(1); } }
.apertura-immersiva :where(h1, p) { color: #fff; }
.apertura-immersiva h1 { font-weight: 400; line-height: 1.02; letter-spacing: -.01em; text-wrap: balance; }
.apertura-immersiva h1 em { color: var(--c-oro); }
.apertura-immersiva .is-style-lead { color: rgba(255,255,255,.9); font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); }
.apertura-immersiva .is-style-occhiello { color: var(--c-oro); }
.apertura-immersiva .apertura__fiducia { margin-top: var(--wp--preset--spacing--40); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.78); }
.apertura-immersiva .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
.apertura-immersiva .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-espresso); }
/* «Scorri» si appoggia al fondo della copertina, non al contenitore del testo: il contenitore resta statico
   e i suoi figli stanno sopra la velatura. */
.apertura-immersiva > .wp-block-cover__inner-container { position: static; }
.apertura-immersiva > .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.apertura-immersiva > .wp-block-cover__inner-container > .apertura__scorri { position: absolute; left: 50%; bottom: 1.25rem; transform: translateX(-50%); margin: 0 !important; }
@media (min-width: 782px) { .apertura-immersiva { padding-bottom: max(var(--wp--preset--spacing--70), 7.5rem) !important; } }
@media (max-height: 640px) { .apertura__scorri { display: none; } }
.apertura__scorri a { display: inline-flex; flex-direction: column; align-items: center; gap: .6rem; color: rgba(255,255,255,.8); text-decoration: none; font-size: .62rem; letter-spacing: .3em; text-transform: uppercase; }
.apertura__scorri a::after { content: ""; width: 1px; height: 2.6rem; background: linear-gradient(var(--c-oro), transparent); animation: sv-scorri 2.4s ease-in-out infinite; transform-origin: top; }
@keyframes sv-scorri { 0% { transform: scaleY(0); opacity: 1; } 60% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
@media (max-width: 781px) { .apertura-immersiva .wp-block-cover__background { background: linear-gradient(180deg, rgba(43,33,28,.55) 0%, rgba(43,33,28,.82) 60%, rgba(43,33,28,.92) 100%) !important; } .apertura__scorri { display: none; } }

/* Nastro dei trattamenti */
.nastro { overflow: hidden; border-block: 1px solid rgba(214,164,49,.35); }
.nastro__riga { display: flex; width: max-content; margin: 0; white-space: nowrap; font-family: var(--wp--preset--font-family--titoli); font-style: italic; font-size: clamp(1.05rem, .95rem + .5vw, 1.4rem); letter-spacing: .01em; animation: sv-nastro 48s linear infinite; }
.nastro:hover .nastro__riga { animation-play-state: paused; }
.nastro__testo { padding-right: 1.6rem; }
.nastro__punto { color: var(--c-oro-chiaro); font-style: normal; font-size: .8em; margin-inline: 1.2rem; }
@keyframes sv-nastro { to { transform: translateX(-50%); } }

/* Manifesto */
.manifesto { position: relative; }
.manifesto__rosa { max-width: 150px; margin: 0 auto var(--wp--preset--spacing--30); }
.manifesto__frase { font-weight: 400; line-height: 1.22; text-wrap: balance; max-width: 30ch; margin-inline: auto; }
.manifesto__testo { max-width: 38rem; margin-inline: auto; color: var(--wp--preset--color--contrast-2); }
.manifesto__valori { border-top: 1px solid var(--c-linea); padding-top: var(--wp--preset--spacing--40); }

/* Schede fotografiche dei trattamenti */
.vetrina-trattamenti .scheda-foto { overflow: hidden; margin: 0; padding: 1.5rem; isolation: isolate; }
.scheda-foto .wp-block-cover__image-background { transition: transform 1.1s cubic-bezier(.2,.7,.2,1); }
.scheda-foto:hover .wp-block-cover__image-background, .scheda-foto:focus-within .wp-block-cover__image-background { transform: scale(1.06); }
.scheda-foto .wp-block-cover__background { background: linear-gradient(180deg, rgba(43,33,28,0) 35%, rgba(43,33,28,.82) 100%) !important; opacity: 1 !important; }
.scheda-foto .wp-block-cover__inner-container { color: #fff; }
.scheda-foto__sopra { margin: 0 0 .35rem; font-size: .66rem; letter-spacing: .22em; text-transform: uppercase; color: var(--c-oro); }
.scheda-foto__titolo { margin: 0; font-size: 1.6rem; font-weight: 400; color: #fff; }
.scheda-foto__titolo a { color: #fff; text-decoration: none; }
.scheda-foto__titolo a::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.scheda-foto:hover .scheda-foto__titolo a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.scheda-foto::before { content: ""; position: absolute; inset: .7rem; border: 1px solid rgba(214,164,49,0); transition: border-color var(--durata); z-index: 1; pointer-events: none; }
.scheda-foto:hover::before { border-color: rgba(214,164,49,.7); }

/* Fascia laser in parallasse */
.fascia-laser .wp-block-cover__background { background: linear-gradient(260deg, rgba(43,33,28,.94) 0%, rgba(43,33,28,.8) 45%, rgba(43,33,28,.35) 100%) !important; opacity: 1 !important; }
.fascia-laser :where(h2, p, li) { color: #fff; }
.fascia-laser h2 em { color: var(--c-oro); }
.fascia-laser p { color: #eee3da; }
@media (max-width: 781px) { .fascia-laser .wp-block-cover__background { background: rgba(43,33,28,.82) !important; } }
/* Movimento leggero della foto allo scorrimento (al posto della parallasse a sfondo, che non si carica in differita) */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.fascia-laser .wp-block-cover__image-background { animation: sv-deriva linear both; animation-timeline: view(); animation-range: cover; }
	}
}
@keyframes sv-deriva { from { transform: translateY(-7%) scale(1.16); } to { transform: translateY(7%) scale(1.16); } }

/* Comparse leggere allo scorrimento (solo immagini e schede, mai i testi) */
@media (prefers-reduced-motion: no-preference) {
	@supports (animation-timeline: view()) {
		.scheda-foto, .wp-block-post-content .wp-block-image, .griglia-notizie .wp-block-post-featured-image, .wp-block-inst-illustrazione, .cornice-oro {
			animation: sv-comparsa linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 45%;
		}
	}
}
@keyframes sv-comparsa { from { opacity: 0; transform: translateY(26px) scale(.985); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
	.apertura-immersiva .wp-block-cover__image-background, .nastro__riga, .apertura__scorri a::after { animation: none !important; }
	.nastro__riga { flex-wrap: wrap; white-space: normal; width: auto; }
	.nastro__testo + .nastro__testo { display: none; }
}

/* Apertura editoriale delle pagine: titolo a sinistra, immagine ad arco a destra */
.intestazione-pagina .intestazione-pagina__riga { align-items: center; }
.intestazione-pagina .intestazione-pagina__foto { flex: 0 0 min(34%, 24rem); margin: 0; }
.intestazione-pagina .intestazione-pagina__foto img { border-radius: 999px 999px 0 0; aspect-ratio: 4 / 5; object-fit: cover; width: 100%; box-shadow: var(--wp--preset--shadow--profonda); }
@media (max-width: 781px) { .intestazione-pagina .intestazione-pagina__foto { flex-basis: 100%; max-width: 20rem; } }
.intestazione-pagina:has(.intestazione-pagina__foto)::after { display: none; }

/* Apertura degli articoli: copertina accanto al titolo */
.testata-articolo .testata-articolo__riga { align-items: center; }
/* Testo e immagine condividono la riga da 782 px in su: il testo si restringe invece di spingere l'immagine a capo. */
.testata-articolo__riga > :not(.testata-articolo__copertina), .intestazione-pagina__riga > :not(.intestazione-pagina__foto) { flex: 1 1 20rem !important; min-width: 0; }
.testata-articolo .testata-articolo__copertina { flex: 0 0 min(36%, 26rem); margin: 0; }
.testata-articolo .testata-articolo__copertina img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; box-shadow: var(--wp--preset--shadow--profonda); }
.testata-articolo .testata-articolo__testo .wp-block-post-title { margin-inline: 0; }
.testata-articolo .testata-articolo__testo .wp-block-post-excerpt__excerpt { margin-inline: 0; }
@media (max-width: 781px) { .testata-articolo .testata-articolo__copertina { flex-basis: 100%; max-width: 22rem; } }
/* Copertine a tutta larghezza: stessi margini laterali del resto della pagina */
.wp-block-cover.alignfull { padding-left: var(--wp--style--root--padding-left, var(--wp--preset--spacing--40)) !important; padding-right: var(--wp--style--root--padding-right, var(--wp--preset--spacing--40)) !important; }
/* Pulsanti a contorno sulle copertine scure (apertura, fascia laser) */
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.6); }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--c-espresso); border-color: #fff; }
/* Sui telefoni il percorso non ripete il titolo, che è subito sotto */
@media (max-width: 600px) { .wp-block-breadcrumbs li:last-child:has([aria-current="page"]) { display: none; } .wp-block-breadcrumbs li:has(+ li:last-child [aria-current="page"])::after { content: none; } }
