/* ==========================================================================
   Trivellato TT5 — stili del tema
   Caricato sia sul sito sia nell'editor a blocchi.
   ========================================================================== */

:root {
	--trv-ink: var(--wp--preset--color--contrast);
	--trv-paper: var(--wp--preset--color--base);
	--trv-sand: var(--wp--preset--color--accent-2);
	--trv-teal: var(--wp--preset--color--accent-1);
	--trv-teal-deep: var(--wp--preset--color--accent-3);
	--trv-muted: var(--wp--preset--color--accent-4);
	--trv-hair: var(--wp--preset--color--accent-5);
	--trv-ease: cubic-bezier(.2, .7, .1, 1);
	--trv-r-md: 12px;
	--trv-r-lg: 20px;
	--trv-header-h: 76px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "ss01", "cv05";
}

/* Grana di carta, leggerissima, solo sul sito. */
body:not(.block-editor-iframe__body)::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: .045;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

::selection { background: var(--trv-teal); color: #fff; }

:where(h1, h2, h3, h4, .wp-block-heading) {
	font-stretch: 108%;
	text-wrap: balance;
	font-kerning: normal;
}
:where(p) { text-wrap: pretty; }

/* Testo evidenziato con il colore del tema (Gutenberg: "Evidenzia"). */
mark.has-inline-color { padding: 0; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; transition: color .2s var(--trv-ease); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
/* Offset per gli elementi "sticky": altezza della barra di amministrazione quando è visibile.
   WordPress definisce --wp-admin--admin-bar--height solo per gli utenti loggati;
   sotto i 600px la barra non è fissa (scorre con la pagina), quindi l'offset torna a zero. */
:root { --trv-sticky-top: var(--wp-admin--admin-bar--height, 0px); }
@media screen and (max-width: 600px) { :root { --trv-sticky-top: 0px; } }
html { scroll-padding-top: calc(var(--trv-sticky-top) + var(--trv-header-h) + 16px); }

.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > .wp-block-template-part:has(> .trv-header) {
	position: sticky;
	top: var(--trv-sticky-top);
	z-index: 100;
}

.trv-header {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--trv-ease);
}
/* Lo sfondo sfocato sta su uno pseudo-elemento: un backdrop-filter sul contenitore
   intrappolerebbe il menu mobile (position: fixed) dentro l'header. */
.trv-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: color-mix(in srgb, var(--trv-paper) 78%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(18px);
	backdrop-filter: saturate(1.4) blur(18px);
	transition: background-color .3s var(--trv-ease);
}
.is-scrolled .trv-header { border-bottom-color: color-mix(in srgb, var(--trv-hair) 80%, transparent); }
.is-scrolled .trv-header::before { background: color-mix(in srgb, var(--trv-paper) 88%, transparent); }
.trv-header > .wp-block-group { min-height: var(--trv-header-h); }

/* Logotipo: titolo del sito + quadratino ottanio */
.trv-brand .wp-block-site-title a,
.trv-wordmark { position: relative; }
.trv-brand .wp-block-site-title a::after,
.trv-wordmark::after {
	content: "";
	display: inline-block;
	width: .3em;
	height: .3em;
	margin-left: .06em;
	background: var(--trv-teal);
	vertical-align: baseline;
	transform: translateY(.02em);
	transition: transform .4s var(--trv-ease);
}
.trv-brand:hover .wp-block-site-title a::after { transform: translateY(.02em) rotate(90deg); }
.trv-brand .wp-block-site-tagline {
	white-space: nowrap;
	line-height: 1;
	margin: 0;
}
.trv-brand .wp-block-site-title { line-height: 1; }

/* Logo nell'header: un po' più grande del vecchio titolo testuale, ridotto su schermi stretti */
.trv-brand .wp-block-site-logo { line-height: 0; }
.trv-brand .wp-block-site-logo img { width: 315px !important; height: auto !important; max-width: 100%; }
.trv-brand .wp-block-site-logo a { display: inline-block; transition: opacity .25s var(--trv-ease); }
.trv-brand .wp-block-site-logo a:hover { opacity: .8; }
@media (max-width: 1100px) { .trv-brand .wp-block-site-logo img { width: 255px !important; } }
@media (max-width: 900px) { .trv-brand .wp-block-site-logo img { width: 210px !important; } }
@media (max-width: 599px) { .trv-brand .wp-block-site-logo img { width: min(50vw, 190px) !important; } }

/* Navigazione */
.trv-header .wp-block-navigation .wp-block-navigation-item__content {
	position: relative;
	padding-block: .35em;
}
.trv-header .wp-block-navigation:not(.is-menu-open) .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .35s var(--trv-ease);
}
.trv-header .wp-block-navigation-item__content:hover::after,
.trv-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); transform-origin: left; }

/* Menu mobile a tutto schermo */
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--trv-ink) !important;
	color: var(--trv-paper) !important;
	padding: clamp(20px, 5vw, 48px);
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-stretch: 108%;
	font-size: clamp(2.25rem, 10vw, 3.5rem);
	letter-spacing: -.04em;
	line-height: 1.05;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .25rem !important; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px;
	display: grid; place-items: center;
	border-radius: 999px;
	border: 1px solid var(--trv-hair);
}
.wp-block-navigation__responsive-container-close { border-color: color-mix(in srgb, var(--trv-paper) 30%, transparent); }
/* Header su schermi medi: niente a capo, gap ridotto */
.trv-header .wp-block-button__link { white-space: nowrap; }
.trv-header .wp-block-navigation__container { flex-wrap: nowrap; }
@media (max-width: 1100px) { .trv-header .wp-block-navigation__container { gap: 20px !important; } }

/* Pulsante "Contattaci": sempre visibile (è l'unico accesso ai contatti dall'header) */
.trv-header-cta .wp-block-button__link { border-color: transparent !important; }
.trv-header-cta .wp-block-button__link:hover,
.trv-header-cta .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--accent-3) !important;
	color: var(--wp--preset--color--white) !important;
}
@media (min-width: 600px) and (max-width: 900px) {
	.trv-brand .wp-block-site-tagline { display: none; }
	.trv-header .wp-block-navigation__container { gap: 16px !important; }
	.trv-header-cta .wp-block-button__link { padding: .7rem 1.1rem !important; }
	.trv-header-cta .wp-block-button__link::after { display: none; }
}
@media (max-width: 599px) {
	.trv-header > .wp-block-group { gap: 10px !important; }
	.trv-header-cta .wp-block-button__link { padding: .55rem .9rem !important; font-size: .8125rem !important; }
	.trv-header-cta .wp-block-button__link::after { display: none; }
	.trv-brand .wp-block-site-tagline { font-size: .5625rem !important; letter-spacing: .07em !important; }
}

/* --------------------------------------------------------------------------
   Pulsanti
   -------------------------------------------------------------------------- */
.wp-element-button,
.wp-block-button__link {
	transition: background-color .25s var(--trv-ease), color .25s var(--trv-ease), border-color .25s var(--trv-ease), transform .25s var(--trv-ease);
	display: inline-flex;
	align-items: center;
	gap: .6em;
}
.wp-block-button__link:active { transform: scale(.97); }

.wp-block-button.is-style-arrow .wp-block-button__link::after,
.wp-block-button.is-style-ghost-arrow .wp-block-button__link::after {
	content: "";
	width: 1.05em;
	height: 1.05em;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>") center / contain no-repeat;
	transition: transform .3s var(--trv-ease);
}
.wp-block-button.is-style-arrow .wp-block-button__link:hover::after,
.wp-block-button.is-style-ghost-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

.wp-block-button.is-style-ghost-arrow .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: currentColor !important;
	border: 1px solid color-mix(in srgb, currentColor 35%, transparent) !important;
}
.wp-block-button.is-style-ghost-arrow .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--trv-ink) !important;
	color: var(--trv-paper) !important;
	border-color: var(--trv-ink) !important;
}
.is-style-section-ink .wp-block-button.is-style-ghost-arrow .wp-block-button__link:hover,
.is-style-section-teal .wp-block-button.is-style-ghost-arrow .wp-block-button__link:hover,
.is-style-section-ink .wp-block-button.is-style-outline .wp-block-button__link:hover,
.is-style-section-teal .wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--trv-paper) !important;
	color: var(--trv-ink) !important;
	border-color: var(--trv-paper) !important;
}

/* --------------------------------------------------------------------------
   Tipografia: stili di paragrafo e titolo
   -------------------------------------------------------------------------- */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	line-height: 1.4;
	color: color-mix(in srgb, currentColor 62%, transparent);
	display: flex;
	align-items: center;
	gap: .7em;
}
.is-style-eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--trv-teal);
	flex: none;
	box-shadow: 0 0 0 0 color-mix(in srgb, var(--trv-teal) 50%, transparent);
	animation: trv-pulse 2.6s var(--trv-ease) infinite;
}
.is-style-eyebrow.has-text-align-right { justify-content: flex-end; }
.is-style-eyebrow.has-text-align-center { justify-content: center; }
@keyframes trv-pulse {
	0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--trv-teal) 55%, transparent); }
	70%, 100% { box-shadow: 0 0 0 9px transparent; }
}

.is-style-mono {
	font-family: var(--wp--preset--font-family--mono) !important;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.is-style-lead {
	font-size: var(--wp--preset--font-size--large) !important;
	line-height: 1.45 !important;
	letter-spacing: -.012em;
	color: color-mix(in srgb, currentColor 78%, transparent);
	max-width: 40ch;
}
.has-text-align-center.is-style-lead { margin-inline: auto; }

.is-style-stat {
	font-family: var(--wp--preset--font-family--display) !important;
	font-weight: 500 !important;
	font-stretch: 100%;
	font-size: clamp(3.5rem, 7vw, 6.5rem) !important;
	line-height: .9 !important;
	letter-spacing: -.055em !important;
	font-variant-numeric: tabular-nums;
	margin-block: 0;
}
.is-style-stat sup,
.is-style-stat .trv-unit {
	font-size: .3em;
	letter-spacing: -.01em;
	color: var(--trv-teal);
	vertical-align: top;
	position: relative;
	top: .35em;
	margin-left: .12em;
	font-weight: 500;
}
.is-style-section-ink .is-style-stat sup,
.is-style-section-teal .is-style-stat sup { color: var(--wp--preset--color--accent-6); }

.wp-block-heading.is-style-display,
.wp-block-heading.is-style-mega { overflow-wrap: normal; word-break: normal; hyphens: manual; }
@media (max-width: 600px) {
	.wp-block-heading.is-style-display,
	.wp-block-heading.is-style-mega { hyphens: auto; overflow-wrap: break-word; }
}
.wp-block-heading.is-style-display {
	font-size: clamp(2.6rem, 2rem + 5vw, 7.25rem) !important;
	line-height: .88 !important;
	letter-spacing: -.05em !important;
	font-weight: 800;
	font-stretch: 110%;
}
.wp-block-heading.is-style-mega {
	font-size: clamp(3.5rem, 3rem + 7.5vw, 11rem) !important;
	line-height: .82 !important;
	letter-spacing: -.06em !important;
	font-weight: 800;
	font-stretch: 112%;
}
.wp-block-heading.is-style-outlined {
	color: transparent !important;
	-webkit-text-stroke: 1.5px currentColor;
	-webkit-text-stroke-color: var(--trv-ink);
}
.is-style-section-ink .wp-block-heading.is-style-outlined { -webkit-text-stroke-color: var(--trv-paper); }

/* --------------------------------------------------------------------------
   Gruppi
   -------------------------------------------------------------------------- */
.wp-block-group.is-style-card {
	background: color-mix(in srgb, var(--wp--preset--color--white) 70%, transparent);
	border: 1px solid var(--trv-hair);
	border-radius: var(--trv-r-lg);
	padding: clamp(22px, 2.6vw, 36px);
}
.is-style-section-ink .wp-block-group.is-style-card,
.is-style-section-teal .wp-block-group.is-style-card {
	background: color-mix(in srgb, var(--trv-paper) 6%, transparent);
	border-color: color-mix(in srgb, var(--trv-paper) 14%, transparent);
}

.wp-block-group.is-style-glass {
	background: color-mix(in srgb, var(--trv-paper) 70%, transparent);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	backdrop-filter: blur(16px) saturate(1.3);
	border: 1px solid color-mix(in srgb, #fff 45%, transparent);
	border-radius: var(--trv-r-lg);
	padding: clamp(20px, 2.4vw, 32px);
}

.wp-block-group.is-style-hairline {
	border-top: 1px solid var(--trv-hair);
	padding-top: var(--wp--preset--spacing--40);
}
.is-style-section-ink .wp-block-group.is-style-hairline,
.is-style-section-teal .wp-block-group.is-style-hairline { border-top-color: color-mix(in srgb, var(--trv-paper) 18%, transparent); }

/* Etichetta mono scura, da sovrapporre alle immagini */
.wp-block-group.is-style-chip {
	display: inline-flex !important;
	width: fit-content;
	align-items: center;
	gap: .6em;
	padding: .45em .8em !important;
	border-radius: 6px;
	background: color-mix(in srgb, #16130e 72%, transparent);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #f7f4ec;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6875rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.wp-block-group.is-style-chip > * { margin: 0 !important; }

/* Nastro scorrevole */
.wp-block-group.is-style-marquee {
	overflow: hidden;
	border-block: 1px solid var(--trv-hair);
	padding-block: clamp(18px, 2.4vw, 30px) !important;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.wp-block-group.is-style-marquee > * {
	font-family: var(--wp--preset--font-family--display);
	font-size: clamp(1.75rem, 3.6vw, 3.25rem) !important;
	font-weight: 500;
	letter-spacing: -.035em;
	line-height: 1.1;
	white-space: nowrap;
	margin: 0 !important;
}
.wp-block-group.is-style-marquee > *:not(:last-child)::after,
.trv-marquee__track > *::after {
	content: "";
	display: inline-block;
	width: .22em;
	height: .22em;
	border-radius: 50%;
	background: var(--trv-teal);
	margin-inline: .9em;
	vertical-align: middle;
}
.trv-marquee__track {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	animation: trv-marquee var(--trv-marquee-speed, 40s) linear infinite;
}
.wp-block-group.is-style-marquee:hover .trv-marquee__track { animation-play-state: paused; }
.wp-block-group.is-style-marquee.is-js { display: block !important; }
@keyframes trv-marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .trv-marquee__track { animation: none; } }

/* --------------------------------------------------------------------------
   Immagini
   -------------------------------------------------------------------------- */
.wp-block-image img { border-radius: inherit; }
.wp-block-image img[style*="aspect-ratio"] { width: 100%; height: auto; }
.wp-block-image { border-radius: var(--trv-r-lg); }
.wp-block-image.is-style-chip-caption,
.wp-block-image.is-style-zoom { position: relative; overflow: hidden; }
.wp-block-image.is-style-chip-caption figcaption {
	position: absolute;
	left: 14px;
	bottom: 14px;
	margin: 0;
	padding: .5em .8em;
	border-radius: 6px;
	background: color-mix(in srgb, #16130e 72%, transparent);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: #f7f4ec;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6875rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: .6em;
	max-width: calc(100% - 28px);
}
.wp-block-image.is-style-chip-caption figcaption::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: #7fb6bc;
	flex: none;
}
.wp-block-image.is-style-chip-caption img,
.wp-block-image.is-style-zoom img,
.wp-block-cover.is-style-zoom .wp-block-cover__image-background {
	transition: transform 1.2s var(--trv-ease), filter .8s var(--trv-ease);
}
.wp-block-image.is-style-zoom:hover img,
.wp-block-cover.is-style-zoom:hover .wp-block-cover__image-background { transform: scale(1.045); }

.wp-block-cover { overflow: hidden; }

/* Card servizio: immagine + numero + titolo */
.trv-service .wp-block-image { margin-bottom: 1.1rem; }
.trv-service .trv-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	color: var(--trv-muted);
	letter-spacing: .06em;
}

/* --------------------------------------------------------------------------
   Elenchi
   -------------------------------------------------------------------------- */
/* Elenco in linea (stile "pills"): etichette informative, NON pulsanti.
   Nessun bordo, nessun hover: solo testo con un piccolo quadrato ottanio. */
ul.is-style-pills,
ol.is-style-pills {
	list-style: none;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: .7rem 1.6rem;
}
.is-style-pills > li {
	margin: 0 !important;
	display: inline-flex;
	align-items: baseline;
	gap: .6em;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.35;
	cursor: default;
}
.is-style-pills > li::before {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	background: var(--trv-teal);
	transform: translateY(-.15em);
}
.is-style-pills > li.trv-accent { color: var(--trv-teal); font-weight: 500; }
.is-style-section-ink .is-style-pills > li::before,
.is-style-section-teal .is-style-pills > li::before { background: var(--wp--preset--color--accent-6); }

ul.is-style-lines,
ol.is-style-lines {
	list-style: none;
	padding: 0 !important;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.is-style-lines > li {
	position: relative;
	padding: .95rem 0 .95rem 1.4rem;
	margin: 0 !important;
	border-bottom: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
.is-style-lines > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(.95rem + .62em);
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--trv-teal);
}

ol.is-style-steps,
ul.is-style-steps {
	list-style: none;
	padding: 0 !important;
	counter-reset: trv-step;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
	gap: 0;
	border: 1px solid var(--trv-hair);
	border-radius: var(--trv-r-lg);
	overflow: hidden;
}
.is-style-steps > li {
	counter-increment: trv-step;
	margin: 0 !important;
	background: var(--trv-paper);
	box-shadow: 1px 0 0 var(--trv-hair), 0 1px 0 var(--trv-hair);
	padding: 1.6rem 1.4rem 1.5rem;
	min-height: 150px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 1.5rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.3rem;
	letter-spacing: -.025em;
	line-height: 1.1;
	transition: background-color .3s var(--trv-ease), color .3s var(--trv-ease);
}
.is-style-steps > li::before {
	content: counter(trv-step, decimal-leading-zero);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	font-weight: 400;
	letter-spacing: .08em;
	color: var(--trv-teal);
}
.is-style-section-sand .is-style-steps > li { background: var(--trv-sand); }

/* --------------------------------------------------------------------------
   Colonne con divisori
   -------------------------------------------------------------------------- */
.wp-block-columns.is-style-hairline { gap: 0 !important; }
.wp-block-columns.is-style-hairline > .wp-block-column {
	padding: 1.75rem clamp(16px, 2vw, 28px) 1.75rem 0;
	border-top: 1px solid color-mix(in srgb, currentColor 16%, transparent);
}
@media (min-width: 782px) {
	.wp-block-columns.is-style-hairline > .wp-block-column + .wp-block-column {
		padding-left: clamp(16px, 2vw, 28px);
		border-left: 1px solid color-mix(in srgb, currentColor 16%, transparent);
	}
}

/* --------------------------------------------------------------------------
   Accordion (blocco Dettagli)
   -------------------------------------------------------------------------- */
.wp-block-details summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	letter-spacing: -.025em;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	flex: none;
	width: 36px; height: 36px;
	display: grid; place-items: center;
	border: 1px solid var(--trv-hair);
	border-radius: 50%;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 300;
	font-size: 1.4rem;
	transition: transform .35s var(--trv-ease), background-color .3s, color .3s;
}
.wp-block-details[open] summary::after { transform: rotate(45deg); background: var(--trv-ink); color: var(--trv-paper); border-color: var(--trv-ink); }
.wp-block-details > :not(summary) { color: color-mix(in srgb, currentColor 80%, transparent); max-width: 70ch; }
.wp-block-details:last-child { border-bottom: 1px solid var(--trv-hair); }

/* --------------------------------------------------------------------------
   Sezioni particolari
   -------------------------------------------------------------------------- */
.trv-hero-title { margin-block: 0; }
.trv-hero-media { position: relative; }
.trv-hero-media .wp-block-image { margin: 0; }
.trv-hero-media .wp-block-image img { box-shadow: var(--wp--preset--shadow--lifted); }

/* Timeline (anni) */
.trv-timeline > .wp-block-columns {
	border-top: 1px solid var(--trv-hair);
	padding-block: clamp(20px, 3vw, 40px);
	margin: 0 !important;
}
.trv-timeline > .wp-block-columns:last-child { border-bottom: 1px solid var(--trv-hair); }
.trv-timeline .trv-year {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: clamp(2.5rem, 5vw, 4.5rem);
	line-height: .9;
	letter-spacing: -.05em;
	color: var(--trv-teal);
	margin: 0;
	transition: color .3s var(--trv-ease);
}

/* Griglia materiali */
.trv-material {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 210px;
}
.trv-material .trv-num {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	letter-spacing: .08em;
	color: var(--trv-teal);
}

/* Footer */
.trv-footer .trv-footer-wordmark {
	font-size: clamp(4.5rem, 23.5vw, 22rem) !important;
	line-height: .78 !important;
	letter-spacing: -.065em !important;
	font-weight: 600;
	font-stretch: 100%;
	margin: 0;
	white-space: nowrap;
	user-select: none;
}
.trv-footer .trv-footer-wordmark::after {
	content: "";
	display: inline-block;
	width: .14em;
	height: .14em;
	background: var(--trv-teal);
	margin-left: .03em;
}
.trv-footer a { text-decoration: none; }
.trv-footer a:hover { text-decoration: underline; }
.trv-footer .wp-block-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-6); }
.trv-psc img { border-radius: 8px; background: #fff; }

/* Pagine standard (privacy, articoli...) */
.trv-page-header { border-bottom: 1px solid var(--trv-hair); }
.entry-content > .wp-block-heading:not(.is-style-display):not(.is-style-mega) { margin-top: 2.2em; }
body:not(.page-template-page-landing) .wp-block-post-content > h2:not([class*="is-style"]) { font-size: var(--wp--preset--font-size--x-large); }

/* 404 */
.trv-404 .wp-block-heading.is-style-mega { color: var(--trv-teal); }

/* --------------------------------------------------------------------------
   Animazioni di comparsa (attivate solo con JS e se l'utente non riduce il movimento)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: no-preference) {
	.trv-js [data-reveal] {
		opacity: 0;
		transform: translateY(28px);
		transition: opacity 1s var(--trv-ease), transform 1.1s var(--trv-ease);
		transition-delay: var(--trv-delay, 0s);
	}
	.trv-js [data-reveal].is-visible { opacity: 1; transform: none; }

	.trv-js .trv-hero-title[data-reveal] { transform: translateY(60px); }
	.trv-js .trv-hero-media[data-reveal] { transform: translateY(40px) scale(.98); }
	.trv-js [data-reveal].is-visible,
	.trv-js .trv-hero-title[data-reveal].is-visible,
	.trv-js .trv-hero-media[data-reveal].is-visible { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 781px) {
	.trv-stack-reverse { flex-direction: column-reverse; }
	.wp-block-columns.is-style-hairline > .wp-block-column { padding-right: 0; }
	.trv-hide-mobile { display: none !important; }
	.trv-material { min-height: 0; gap: 1.5rem; }
}
@media (min-width: 782px) {
	.trv-sticky { position: sticky; top: calc(var(--trv-sticky-top) + var(--trv-header-h) + 32px); }
}

/* Editor: rende il nastro leggibile e il gruppo con stile "etichetta" non a tutta larghezza */
.editor-styles-wrapper .wp-block-group.is-style-marquee { flex-wrap: nowrap; }
.editor-styles-wrapper .wp-block-group.is-style-chip { max-width: max-content; }

/* Striscia immagini a filo */
.trv-strip .wp-block-image,
.trv-strip .wp-block-image img { border-radius: 0; margin: 0; }
.trv-strip { gap: 0 !important; }

/* Menu mobile: allineato a sinistra, voce corrente in ottanio */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 6rem; }
.wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: #7fb6bc; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 2px solid #7fb6bc; outline-offset: 4px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus:not(:focus-visible) { outline: none; }

/* Pagine standard: introduzione a tutta colonna */
body:not(.page-template-page-landing) .wp-block-post-content .is-style-lead { max-width: none; }

/* Titolo hero della home: dimensionato per stare su ~3 righe accanto all'immagine */
.wp-block-heading.is-style-mega.trv-hero-title {
	font-size: clamp(3.25rem, 7.6vw, 7.5rem) !important;
	line-height: .86 !important;
}

/* Contatti: numeri ed email su una riga sola nelle schede.
   Il testo si ridimensiona sulla larghezza della scheda (container query), così l'email non va mai a capo. */
.trv-contact-cards > .is-style-card { container-type: inline-size; }
.trv-contact-cards .has-display-font-family {
	font-size: clamp(1rem, 9.6cqi, 1.6rem) !important;
	white-space: nowrap;
	letter-spacing: -0.02em !important;
}

/* Titoli adattati via JS: le parole non vengono mai spezzate */
.wp-block-heading.trv-fit { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }

/* Telefoni molto piccoli (< 360px): il motto lascia spazio a logo, "Contattaci" e menu */
@media (max-width: 359px) { .trv-brand .wp-block-site-tagline { display: none; } }

/* --------------------------------------------------------------------------
   Blocco "Mappa sede" e pagina Sedi
   -------------------------------------------------------------------------- */
.trv-map { margin-block: 0; }
.trv-map__canvas {
	position: relative;
	height: var(--trv-map-h, 560px);
	border-radius: var(--trv-r-lg);
	overflow: hidden;
	border: 1px solid var(--trv-hair);
	background: var(--trv-sand);
	box-shadow: var(--wp--preset--shadow--soft);
}
.trv-map__frame { display: block; width: 100%; height: 100%; border: 0; }
.editor-styles-wrapper .trv-map__frame { border-radius: var(--trv-r-lg); }
.trv-map__label {
	position: absolute;
	left: 16px;
	top: 16px;
	padding: .5em .8em;
	border-radius: 6px;
	background: color-mix(in srgb, #16130e 80%, transparent);
	color: #f7f4ec;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .6875rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	pointer-events: none;
}
.trv-map__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
}
.trv-map__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: .8rem 1.4rem;
	border-radius: 999px;
	border: 1px solid color-mix(in srgb, currentColor 30%, transparent);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none !important;
	color: var(--trv-ink);
	transition: background-color .25s var(--trv-ease), color .25s var(--trv-ease), border-color .25s var(--trv-ease);
}
.trv-map__btn:hover { background: var(--trv-ink); color: var(--trv-paper); border-color: var(--trv-ink); }
.trv-map__btn--primary { background: var(--wp--preset--color--accent-1); border-color: var(--wp--preset--color--accent-1); color: #fff; }
.trv-map__btn--primary:hover { background: var(--wp--preset--color--accent-3); border-color: var(--wp--preset--color--accent-3); color: #fff; }
.trv-map__btn--ghost { border-color: transparent; text-decoration: underline !important; text-underline-offset: .2em; padding-inline: .6rem; }
.trv-map__btn--ghost:hover { background: transparent; color: var(--trv-teal); border-color: transparent; }
.trv-map__coords {
	margin-left: auto;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	letter-spacing: .06em;
	color: var(--trv-muted);
	user-select: all;
}
@media (max-width: 781px) {
	.trv-map__canvas { height: min(var(--trv-map-h, 560px), 70vh); min-height: 380px; }
	.trv-map__actions { flex-direction: column; align-items: stretch; }
	.trv-map__btn { width: 100%; font-size: 1rem; }
	.trv-map__coords { margin: 4px 0 0; text-align: center; }
}

/* Schede di accesso rapido alle sedi */
.trv-site-jump a { text-decoration: none; }
.trv-site-jump .is-style-card { position: relative; transition: border-color .3s var(--trv-ease), background-color .3s var(--trv-ease); }
.trv-site-jump .is-style-card:has(a):hover { border-color: var(--trv-teal); background: var(--wp--preset--color--white); }
.trv-site-jump .is-style-card a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.trv-placeholder { background: #fff3c4; outline: 1px dashed #c9a227; outline-offset: 2px; border-radius: 3px; }

/* Logo nel footer: più grande che nell'header, ma più contenuto del vecchio titolo gigante */
.trv-footer-logo .wp-block-site-logo { line-height: 0; }
.trv-footer-logo .wp-block-site-logo img { width: clamp(260px, 46vw, 640px) !important; height: auto !important; max-width: 100%; }
.trv-footer-logo .wp-block-site-logo a:hover { opacity: .85; }

/* --------------------------------------------------------------------------
   Icona servizio + schede servizio con icona (home)
   -------------------------------------------------------------------------- */
.trv-icon {
	display: inline-grid;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 16px;
	background: var(--wp--preset--color--accent-6);
	color: var(--wp--preset--color--accent-3);
	flex: none;
	transition: background-color .3s var(--trv-ease), color .3s var(--trv-ease), transform .3s var(--trv-ease);
}
.trv-icon__svg { display: grid; width: 30px; height: 30px; }
.trv-icon__svg svg { width: 100%; height: 100%; }

.trv-service-card {
	position: relative;
	display: flex !important;
	flex-direction: column;
	height: 100%;
	gap: 0 !important;
	transition: border-color .3s var(--trv-ease), box-shadow .3s var(--trv-ease), transform .3s var(--trv-ease);
}
.trv-service-card > * { margin-block: 0 !important; }
.trv-service-card__top { margin-bottom: 1.6rem !important; }
.trv-service-card .trv-num { color: var(--trv-muted); }
.trv-service-card .wp-block-heading { margin-bottom: .6rem !important; }
.trv-service-card .trv-service-card__text { flex: 1; }
.trv-service-card .trv-service-card__link {
	margin-top: 1.4rem !important;
	padding-top: 1.1rem;
	border-top: 1px solid var(--trv-hair);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}
.trv-service-card .trv-service-card__link a { text-decoration: none; color: var(--trv-ink); display: inline-flex; align-items: center; gap: .5em; }
.trv-service-card .trv-service-card__link a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.trv-service-card .trv-service-card__link a::after { content: "→"; transition: transform .3s var(--trv-ease); }
.trv-service-card:hover { border-color: var(--trv-teal); box-shadow: var(--wp--preset--shadow--soft); transform: translateY(-2px); }
.trv-service-card:hover .trv-icon { background: var(--trv-teal); color: #fff; }
.trv-service-card:hover .trv-service-card__link a { color: var(--trv-teal); }
.trv-service-card:hover .trv-service-card__link a::after { transform: translateX(4px); }
.trv-service-card:focus-within { outline: 2px solid var(--trv-teal); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .trv-service-card:hover { transform: none; } }

/* --------------------------------------------------------------------------
   Documenti scaricabili (blocco File: "Riga documento" e "Pulsante documento")
   -------------------------------------------------------------------------- */
.wp-block-file.is-style-documento,
.wp-block-file.is-style-pulsante { font-size: var(--wp--preset--font-size--medium) !important; margin-bottom: 0; box-sizing: border-box; }
.wp-block-file.is-style-documento *, .wp-block-file.is-style-pulsante * { box-sizing: border-box; }

/* Riga: badge PDF + titolo + pulsante Scarica */
.wp-block-file.is-style-documento {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 14px 14px 14px 18px;
	border: 1px solid var(--trv-hair);
	border-radius: 14px;
	background: color-mix(in srgb, var(--wp--preset--color--white) 75%, transparent);
	transition: border-color .25s var(--trv-ease), background-color .25s var(--trv-ease);
}
.wp-block-file.is-style-documento:hover { border-color: var(--trv-teal); background: var(--wp--preset--color--white); }
.wp-block-file.is-style-documento > a:not(.wp-block-file__button) {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 16px;
	color: var(--trv-ink);
	text-decoration: none;
	font-weight: 500;
	line-height: 1.3;
}
.wp-block-file.is-style-documento > a:not(.wp-block-file__button)::before,
.wp-block-file.is-style-pulsante > a::before {
	content: "PDF";
	flex: none;
	display: grid;
	place-items: end center;
	width: 34px;
	height: 42px;
	padding-bottom: 6px;
	box-sizing: border-box;
	border: 1.5px solid currentColor;
	border-radius: 3px 10px 3px 3px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: .5625rem;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--trv-teal);
}
.wp-block-file.is-style-documento .wp-block-file__button {
	margin-left: auto !important;
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .7rem 1.2rem;
	border-radius: 999px;
	border: 0;
	background: var(--wp--preset--color--accent-1);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	opacity: 1;
}
.wp-block-file.is-style-documento .wp-block-file__button::after {
	content: "";
	width: 1em; height: 1em;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v11M7 10l5 5 5-5M5 20h14'/></svg>") center / contain no-repeat;
	mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 4v11M7 10l5 5 5-5M5 20h14'/></svg>") center / contain no-repeat;
}
.wp-block-file.is-style-documento .wp-block-file__button:hover { background: var(--wp--preset--color--accent-3); color: #fff; }

/* Pulsante pieno (certificazioni) */
.wp-block-file.is-style-pulsante > a {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	box-sizing: border-box;
	padding: 16px 20px;
	border-radius: 14px;
	background: var(--wp--preset--color--accent-1);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .25s var(--trv-ease);
}
.wp-block-file.is-style-pulsante > a::before { color: #fff; }
.wp-block-file.is-style-pulsante > a::after { content: "↓"; margin-left: auto; font-weight: 400; }
.wp-block-file.is-style-pulsante > a:hover { background: var(--wp--preset--color--accent-3); color: #fff; }

/* Su sfondo scuro */
.is-style-section-ink .wp-block-file.is-style-documento { background: color-mix(in srgb, #fff 5%, transparent); border-color: color-mix(in srgb, #fff 14%, transparent); }
.is-style-section-ink .wp-block-file.is-style-documento:hover { background: color-mix(in srgb, #fff 9%, transparent); border-color: var(--wp--preset--color--accent-6); }
.is-style-section-ink .wp-block-file.is-style-documento > a:not(.wp-block-file__button) { color: var(--trv-paper); }
.is-style-section-ink .wp-block-file.is-style-documento > a:not(.wp-block-file__button)::before { color: var(--wp--preset--color--accent-6); }

/* Pagina Documenti: colonna sinistra separata da un filo */
@media (min-width: 782px) {
	.trv-docs > .trv-doc-main { border-left: 1px solid var(--trv-hair); padding-left: var(--wp--preset--spacing--60); }
}
@media (max-width: 599px) {
	.wp-block-file.is-style-documento { flex-wrap: wrap; }
	.wp-block-file.is-style-documento .wp-block-file__button { width: 100%; justify-content: center; margin-left: 0 !important; }
}

/* Contatti: link alle sedi */
.trv-sedi-link a { font-weight: 500; text-decoration: none; color: var(--trv-teal); }
.trv-sedi-link a:hover { text-decoration: underline; }

/* Menu ridotto (solo "Sedi"): voce allineata a destra accanto a "Contattaci", anche su mobile */
.trv-header .wp-block-navigation { margin-left: auto; }

/* --------------------------------------------------------------------------
   Hero della home (blocco Copertina "trv-hero-cover"): a tutto schermo, senza angoli arrotondati
   -------------------------------------------------------------------------- */
.wp-block-cover.trv-hero-cover {
	border-radius: 0 !important;
	margin-top: 0 !important;
	overflow: hidden;
	isolation: isolate;
}
.wp-block-cover.alignfull { border-radius: 0; }
/* Sfumatura scura per la leggibilità del testo */
.trv-hero-cover .wp-block-cover__background {
	opacity: 1 !important;
	background: linear-gradient(180deg, rgba(22,19,14,.30) 0%, rgba(22,19,14,.10) 30%, rgba(22,19,14,.55) 62%, rgba(22,19,14,.88) 100%),
	            linear-gradient(90deg, rgba(22,19,14,.55) 0%, rgba(22,19,14,0) 65%) !important;
}
/* Effetto "Ken Burns": zoom lentissimo della foto */
.trv-hero-cover .wp-block-cover__image-background {
	transform-origin: 60% 50%;
	animation: trv-kenburns 24s ease-in-out infinite alternate;
	will-change: transform;
}
@keyframes trv-kenburns {
	from { transform: scale(1.02) translate3d(0, 0, 0); }
	to   { transform: scale(1.14) translate3d(-1.5%, -1%, 0); }
}
.trv-hero-content { position: relative; }
.trv-hero-cover .trv-hero-title {
	max-width: 15ch;
	font-size: clamp(3rem, 6.4vw, 7rem) !important;
	line-height: .9 !important;
	margin-top: .6rem !important;
	text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
.trv-hero-cover .is-style-lead { max-width: 46ch; color: color-mix(in srgb, var(--trv-paper) 88%, transparent) !important; margin-top: 1.4rem !important; }
.trv-hero-cover .is-style-eyebrow { color: color-mix(in srgb, var(--trv-paper) 80%, transparent) !important; }
.trv-hero-cover .is-style-eyebrow::before { background: var(--wp--preset--color--accent-6); }
.trv-hero-cover .is-style-pills { margin-top: 1.2rem !important; }
.trv-hero-cover .is-style-pills > li::before { background: var(--wp--preset--color--accent-6); }
.trv-hero-cover .wp-block-button.is-style-ghost-arrow .wp-block-button__link { border-color: color-mix(in srgb, #fff 55%, transparent) !important; }
.trv-hero-cover .wp-block-button.is-style-ghost-arrow .wp-block-button__link:hover { background: var(--trv-paper) !important; color: var(--trv-ink) !important; border-color: var(--trv-paper) !important; }

/* Indicatore "Scorri" */
.trv-hero-scroll { position: absolute; right: 0; bottom: 0; margin: 0 !important; }
.trv-hero-scroll a { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; text-decoration: none; color: inherit; opacity: .8; }
.trv-hero-scroll a::after {
	content: "";
	width: 1px;
	height: 42px;
	background: linear-gradient(to bottom, currentColor 0 50%, transparent 50% 100%);
	background-size: 1px 84px;
	animation: trv-scroll-line 1.8s ease-in-out infinite;
}
@keyframes trv-scroll-line { from { background-position: 0 -42px; } to { background-position: 0 42px; } }
@media (max-width: 781px) { .trv-hero-scroll { display: none; } }

/* Entrata del testo, riga dopo riga, al caricamento */
@keyframes trv-hero-in { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
.trv-hero-cover .trv-hero-anim { animation: trv-hero-in 1s cubic-bezier(.2,.7,.1,1) both; }
.trv-hero-cover .trv-hero-anim:nth-child(1) { animation-delay: .15s; }
.trv-hero-cover .trv-hero-anim:nth-child(2) { animation-delay: .3s; }
.trv-hero-cover .trv-hero-anim:nth-child(3) { animation-delay: .5s; }
.trv-hero-cover .trv-hero-anim:nth-child(4) { animation-delay: .65s; }
.trv-hero-cover .trv-hero-anim:nth-child(5) { animation-delay: .8s; }
/* Il titolo dell'hero non usa la comparsa allo scroll (ha già la sua animazione) */
.trv-js .trv-hero-cover .trv-hero-title[data-reveal] { opacity: 1; transform: none; transition: none; }

@media (prefers-reduced-motion: reduce) {
	.trv-hero-cover .wp-block-cover__image-background,
	.trv-hero-cover .trv-hero-anim,
	.trv-hero-scroll a::after { animation: none !important; }
}
@media (max-width: 599px) {
	.wp-block-cover.trv-hero-cover { min-height: 88svh !important; }
}
/* Allinea il contenuto dell'hero ai margini del sito (come logo e sezioni) */
.wp-block-cover.trv-hero-cover {
	padding-left: var(--wp--style--root--padding-left, clamp(20px, 4vw, 64px)) !important;
	padding-right: var(--wp--style--root--padding-right, clamp(20px, 4vw, 64px)) !important;
}
.trv-hero-cover .trv-hero-content { width: 100%; max-width: var(--wp--style--global--wide-size, 1440px); margin-inline: auto !important; }
.trv-hero-cover.has-custom-content-position .wp-block-cover__inner-container { width: 100% !important; margin: 0 !important; }

/* Nomi delle sedi collegati alla pagina Sedi: stesso colore del testo, sottolineatura discreta. */
a[href^="/sedi/#"] {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: .25em;
	text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
	transition: text-decoration-color .2s ease, color .2s ease;
}
a[href^="/sedi/#"]:hover,
a[href^="/sedi/#"]:focus-visible {
	text-decoration-color: currentColor;
}
.is-style-pills > li:has(a) { cursor: auto; }
