/*
Theme Name: Hyperlabs
Theme URI: https://hyperlabs.it
Author: Hyperlabs
Description: Tema a blocchi per il sito aziendale di Hyperlabs. Palette navy e ciano, Instrument Sans in locale (nessuna chiamata a Google Fonts), pattern per home, servizi, chi siamo e contatti.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.2.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: hyperlabs
*/

/* ==========================================================
   Hyperlabs: un solo elemento forte (il registro nel hero),
   tutto il resto sobrio. Movimento solo al caricamento del
   hero e in risposta alle azioni dell'utente.
   ========================================================== */

:root {
	--hl-r-s: 10px;
	--hl-r-m: 16px;
	--hl-r-l: 24px;
	--hl-glow: rgba(43, 196, 216, 0.22);
	--hl-grid: rgba(169, 187, 207, 0.08);
	--hl-red: #FF7A7A;
	--hl-mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html { scroll-behavior: smooth; scroll-padding-top: 5rem; }

/* ---------- Tipografia ---------- */

.is-style-display {
	font-size: var(--wp--preset--font-size--display);
	font-stretch: var(--wp--custom--stretch--condensed);
	font-weight: 600;
	line-height: 0.95;
	letter-spacing: -0.03em;
	max-width: 14ch;
	text-wrap: balance;
}
h2.wp-block-heading { text-wrap: balance; }
.hl-misura { max-width: 62ch; text-wrap: pretty; }

/* ---------- Intestazione traslucida fissa ---------- */

.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 100;
	margin-block-start: 0;
}
.admin-bar .wp-site-blocks > header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header { top: 46px; } }

.hl-header {
	background-color: var(--wp--preset--color--deep);
	-webkit-backdrop-filter: saturate(160%) blur(14px);
	backdrop-filter: saturate(160%) blur(14px);
	border-bottom: 1px solid rgba(169, 187, 207, 0.12);
}
/* In home l'intestazione galleggia traslucida sopra l'apertura */
.home .wp-site-blocks > header { margin-bottom: -4.5rem; }
.home .hl-header { background-color: rgba(8, 26, 51, 0.82) !important; }
.home .hl-hero { padding-top: calc(var(--wp--preset--spacing--60) + 4.5rem) !important; }

.hl-header .wp-block-navigation-item__content { opacity: 0.82; transition: opacity 0.15s; }
.hl-header .wp-block-navigation-item__content:hover,
.hl-header .current-menu-item > .wp-block-navigation-item__content { opacity: 1; }

.wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--deep) !important;
	color: var(--wp--preset--color--white) !important;
}

/* ---------- Sezioni a tutta larghezza: nessuna striscia tra le fasce ---------- */

.wp-site-blocks > footer,
.wp-site-blocks > main { margin-block-start: 0; }
main > .alignfull,
.wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* ---------- Hero ---------- */

.hl-hero { position: relative; isolation: isolate; overflow: hidden; }
.hl-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image:
		linear-gradient(var(--hl-grid) 1px, transparent 1px),
		linear-gradient(90deg, var(--hl-grid) 1px, transparent 1px);
	background-size: 56px 56px;
	-webkit-mask-image: radial-gradient(ellipse 75% 70% at 70% 35%, #000 10%, transparent 75%);
	mask-image: radial-gradient(ellipse 75% 70% at 70% 35%, #000 10%, transparent 75%);
}
.hl-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 46rem;
	height: 46rem;
	right: -12rem;
	top: -16rem;
	background: radial-gradient(circle, var(--hl-glow) 0%, transparent 62%);
	pointer-events: none;
}
.hl-hero .is-style-display { font-size: clamp(2.9rem, 5.6vw, 5.75rem); }

.hl-trace {
	border-left: 3px solid var(--wp--preset--color--cyan);
	padding-left: clamp(1rem, 3vw, 2.25rem);
}

/* ---------- Registro di verifica (console) ---------- */

.hl-console {
	margin: 0;
	border-radius: var(--hl-r-l);
	background: linear-gradient(180deg, rgba(18, 48, 92, 0.72), rgba(8, 26, 51, 0.92));
	border: 1px solid rgba(43, 196, 216, 0.28);
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.03) inset, 0 40px 80px -40px rgba(43, 196, 216, 0.35);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	overflow: hidden;
	font-size: 0.9375rem;
	position: relative;
}
.hl-console__bar,
.hl-console__foot {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1.25rem;
	color: var(--wp--preset--color--mist);
	font-size: 0.8125rem;
}
.hl-console__bar { border-bottom: 1px solid rgba(169, 187, 207, 0.12); }
.hl-console__foot { border-top: 1px solid rgba(169, 187, 207, 0.12); justify-content: space-between; }
.hl-console__foot code { font-family: var(--hl-mono); color: var(--wp--preset--color--cyan); background: none; padding: 0; }
.hl-console__dots { display: inline-flex; gap: 6px; }
.hl-console__dots i { width: 9px; height: 9px; border-radius: 50%; background: rgba(169, 187, 207, 0.28); display: block; }

.hl-console__log { list-style: none; margin: 0; padding: 0.5rem 0; }
.hl-console__log li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.8rem 1.25rem;
	border-left: 2px solid transparent;
	opacity: 0;
	transform: translateY(8px);
	animation: hl-row 0.45s cubic-bezier(.2, .7, .2, 1) forwards;
	animation-delay: calc(1.3s + var(--i) * 0.95s);
}
.hl-act { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.hl-agent { color: var(--wp--preset--color--mist); font-size: 0.8125rem; }
.hl-act code {
	font-family: var(--hl-mono);
	font-size: 0.875rem;
	color: var(--wp--preset--color--white);
	background: none;
	padding: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.hl-st { display: grid; flex-shrink: 0; }
.hl-st > * {
	grid-area: 1 / 1;
	justify-self: end;
	font-size: 0.8125rem;
	font-weight: 600;
	padding: 0.3rem 0.7rem;
	border-radius: 999px;
	white-space: nowrap;
}
.hl-wait {
	color: var(--wp--preset--color--mist);
	border: 1px dashed rgba(169, 187, 207, 0.45);
	animation: hl-out 0.2s forwards;
	animation-delay: calc(1.95s + var(--i) * 0.95s);
}
.hl-ok, .hl-no { opacity: 0; transform: scale(0.85); animation: hl-in 0.3s cubic-bezier(.2, .9, .3, 1.3) forwards; animation-delay: calc(2s + var(--i) * 0.95s); }
.hl-ok { color: var(--wp--preset--color--cyan); background: rgba(43, 196, 216, 0.14); }
.hl-no { color: var(--hl-red); background: rgba(255, 122, 122, 0.14); }
.hl-console__log li.hl-blocked {
	animation: hl-row 0.45s cubic-bezier(.2, .7, .2, 1) forwards, hl-alert 0.4s forwards;
	animation-delay: calc(1.3s + var(--i) * 0.95s), calc(2s + var(--i) * 0.95s);
}
.hl-blocked code {
	text-decoration: line-through;
	text-decoration-color: transparent;
	animation: hl-strike 0.3s forwards;
	animation-delay: calc(2s + var(--i) * 0.95s);
}
@keyframes hl-strike { to { text-decoration-color: rgba(255, 122, 122, 0.8); } }

@keyframes hl-row { to { opacity: 1; transform: none; } }
@keyframes hl-out { to { opacity: 0; } }
@keyframes hl-in { to { opacity: 1; transform: none; } }
@keyframes hl-alert { to { border-left-color: var(--hl-red); background: rgba(255, 122, 122, 0.06); } }

/* ---------- Bottoni ---------- */

.wp-block-button.is-style-contorno-chiaro .wp-block-button__link {
	background: rgba(255, 255, 255, 0.02);
	color: var(--wp--preset--color--white);
	border: 1px solid rgba(169, 187, 207, 0.45);
}
.wp-block-button.is-style-contorno-chiaro .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--white);
	background: rgba(255, 255, 255, 0.08);
}
.wp-block-button.is-style-pieno-navy .wp-block-button__link {
	background: var(--wp--preset--color--deep);
	color: var(--wp--preset--color--white);
}
.wp-block-button.is-style-pieno-navy .wp-block-button__link:hover {
	background: var(--wp--preset--color--cyan);
	color: var(--wp--preset--color--deep);
}
.wp-element-button { transition: background-color 0.18s, color 0.18s, border-color 0.18s, transform 0.18s; }
.wp-element-button:active { transform: translateY(1px); }

/* ---------- Registro normativo (righe) ---------- */

.hl-registro-riga {
	border-top: 1px solid var(--wp--preset--color--line);
	position: relative;
	transition: background-color 0.2s;
}
.hl-registro-riga:last-child { border-bottom: 1px solid var(--wp--preset--color--line); }
.hl-registro-riga:not(:has(.hl-passo))::before {
	content: "";
	position: absolute;
	left: calc(-1 * clamp(0.75rem, 2vw, 1.5rem));
	top: -1px;
	bottom: -1px;
	width: 3px;
	background: var(--wp--preset--color--cyan);
	transform: scaleY(0);
	transform-origin: top;
	transition: transform 0.25s ease;
}
.hl-registro-riga:not(:has(.hl-passo)):hover::before { transform: scaleY(1); }
.hl-rif { font-stretch: var(--wp--custom--stretch--condensed); letter-spacing: 0.01em; }

/* ---------- Percorso di adozione: linea temporale ---------- */

.hl-registro-riga:has(.hl-passo) {
	border: 0 !important;
	gap: 1.25rem !important;
}
.hl-registro-riga:has(.hl-passo):not(:last-child)::after {
	content: "";
	position: absolute;
	left: 1.375rem;
	top: calc(var(--wp--preset--spacing--30) + 2.75rem + 0.4rem);
	bottom: calc(-1 * var(--wp--preset--spacing--30) + 0.4rem);
	width: 1px;
	background: linear-gradient(var(--wp--preset--color--cyan-ink), var(--wp--preset--color--line));
}
.hl-passo {
	flex: 0 0 2.75rem;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	margin: 0 !important;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 1.125rem !important;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--cyan-ink);
	box-shadow: 0 0 0 6px rgba(43, 196, 216, 0.1);
}

/* ---------- Schede (colonne e gruppi con bordo superiore) ---------- */

:where(.wp-block-column, .wp-block-group)[style*="border-top-width:2px"],
.hl-card {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--hl-r-m);
	background: var(--wp--preset--color--white);
	padding: clamp(1.4rem, 2.5vw, 2rem) !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}
:where(.wp-block-column, .wp-block-group)[style*="border-top-width:2px"]:hover,
.hl-card:hover {
	border-color: rgba(8, 120, 138, 0.55) !important;
	box-shadow: 0 18px 40px -28px rgba(8, 26, 51, 0.45);
}
.has-white-background-color :where(.wp-block-column, .wp-block-group)[style*="border-top-width:2px"],
.has-white-background-color .hl-card {
	background: var(--wp--preset--color--paper);
	border-color: transparent !important;
}

/* ---------- Adozione: testo fermo mentre scorrono le fasi ---------- */

@media (min-width: 782px) {
	#adozione .wp-block-columns > .wp-block-column:first-child {
		position: sticky;
		top: 7rem;
		align-self: flex-start;
	}
}

/* ---------- Etichetta (premi, riconoscimenti) ---------- */

.hl-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	border: 1px solid rgba(43, 196, 216, 0.4);
	background: rgba(43, 196, 216, 0.08);
	color: var(--wp--preset--color--white) !important;
	font-weight: 500;
}
.hl-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	flex: 0 0 8px;
	border-radius: 50%;
	background: var(--wp--preset--color--cyan);
	box-shadow: 0 0 0 4px rgba(43, 196, 216, 0.2);
}

/* ---------- Mandato in evidenza ---------- */

.hl-feature {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--hl-r-l);
	border: 1px solid rgba(43, 196, 216, 0.3);
}
.hl-feature::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 60% 80% at 100% 0%, var(--hl-glow), transparent 70%),
		linear-gradient(var(--hl-grid) 1px, transparent 1px) 0 0 / 48px 48px,
		linear-gradient(90deg, var(--hl-grid) 1px, transparent 1px) 0 0 / 48px 48px;
}

/* ---------- Fascia di contatto e sezioni navy ---------- */

.alignfull.has-navy-background-color {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 90% at 0% 100%, rgba(43, 196, 216, 0.25), transparent 70%),
		var(--wp--preset--color--navy) !important;
}

/* ---------- Link nelle sezioni scure ---------- */

.has-deep-background-color a:not(.wp-element-button),
.has-navy-background-color a:not(.wp-element-button) { color: var(--wp--preset--color--cyan); }

/* ---------- Accessibilità ---------- */

:where(a, button, input, textarea, select, summary, .wp-element-button):focus-visible {
	outline: 2px solid var(--wp--preset--color--cyan);
	outline-offset: 3px;
}

/* ---------- WPForms ---------- */

div.wpforms-container-full {
	--wpforms-label-color: var(--wp--preset--color--ink);
	--wpforms-label-sublabel-color: var(--wp--preset--color--slate);
	--wpforms-label-error-color: #B42318;
	--wpforms-field-border-color: var(--wp--preset--color--line);
	--wpforms-field-border-size: 1px;
	--wpforms-field-border-radius: 10px;
	--wpforms-field-background-color: var(--wp--preset--color--paper);
	--wpforms-field-text-color: var(--wp--preset--color--ink);
	--wpforms-field-size-input-height: 52px;
	--wpforms-field-size-padding-h: 16px;
	--wpforms-field-size-font-size: 1.0625rem;
	--wpforms-label-size-font-size: 0.9375rem;
	--wpforms-button-background-color: var(--wp--preset--color--deep);
	--wpforms-button-text-color: var(--wp--preset--color--white);
	--wpforms-button-border-radius: 999px;
	--wpforms-button-size-height: 54px;
	--wpforms-button-size-padding-h: 30px;
	--wpforms-button-size-font-size: 1.0625rem;
	max-width: 48rem;
	margin-block: var(--wp--preset--spacing--50) !important;
	padding: clamp(1.5rem, 4vw, 3rem) !important;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--hl-r-l);
	box-shadow: 0 40px 80px -50px rgba(8, 26, 51, 0.45);
	font-family: inherit;
}
div.wpforms-container-full :is(input, select, textarea, button) { font-family: inherit !important; }
div.wpforms-container-full .wpforms-field-label { font-weight: 600 !important; }
div.wpforms-container-full :is(input[type=text], input[type=email], select, textarea) {
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s !important;
}
div.wpforms-container-full :is(input[type=text], input[type=email], select, textarea):focus {
	background-color: var(--wp--preset--color--white) !important;
	border-color: var(--wp--preset--color--cyan-ink) !important;
	box-shadow: 0 0 0 4px rgba(43, 196, 216, 0.22) !important;
	outline: none !important;
}
div.wpforms-container-full input[type=checkbox] { accent-color: var(--wp--preset--color--cyan-ink); }
div.wpforms-container-full .wpforms-field-checkbox a { color: var(--wp--preset--color--cyan-ink); }
div.wpforms-container-full button[type=submit] { font-weight: 600 !important; }
div.wpforms-container-full button[type=submit]:hover {
	background-color: var(--wp--preset--color--cyan) !important;
	color: var(--wp--preset--color--deep) !important;
}
div.wpforms-container-full .wpforms-confirmation-container-full {
	background: rgba(43, 196, 216, 0.1) !important;
	border: 1px solid rgba(8, 120, 138, 0.35) !important;
	border-radius: var(--hl-r-s);
	color: var(--wp--preset--color--ink) !important;
}

/* ==========================================================
   Movimento
   ========================================================== */

/* Ingresso del hero (solo CSS: funziona anche senza JavaScript) */
.hl-hero { --mx: 72%; --my: 30%; background-image: radial-gradient(520px circle at var(--mx) var(--my), rgba(43, 196, 216, 0.10), transparent 60%); }
.hl-hero .hl-trace { position: relative; border-left-color: transparent; }
.hl-hero .hl-trace::before {
	content: "";
	position: absolute;
	left: -3px;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(var(--wp--preset--color--cyan), rgba(43, 196, 216, 0.25));
	transform-origin: top;
	transform: scaleY(0);
	animation: hl-grow 1.2s 0.15s cubic-bezier(.2, .8, .2, 1) forwards;
}
.hl-hero .hl-trace > :not(h1) { opacity: 0; transform: translateY(14px); animation: hl-rise 0.8s cubic-bezier(.2, .8, .2, 1) forwards; }
.hl-hero .hl-trace > p { animation-delay: 0.75s; }
.hl-hero .hl-trace > .wp-block-buttons { animation-delay: 0.95s; }
.hl-console { opacity: 0; transform: translateY(24px) scale(0.98); animation: hl-rise 0.9s 0.6s cubic-bezier(.2, .8, .2, 1) forwards; }
@keyframes hl-grow { to { transform: scaleY(1); } }
@keyframes hl-rise { to { opacity: 1; transform: none; } }

/* Titolo parola per parola (attivato da JavaScript) */
.is-split .hl-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.1em; margin-bottom: -0.1em; }
.is-split .hl-w > span { display: inline-block; transform: translateY(110%); animation: hl-word 0.9s cubic-bezier(.2, .8, .2, 1) forwards; animation-delay: calc(0.15s + var(--w) * 0.07s); }
@keyframes hl-word { to { transform: none; } }

/* Rete di agenti */
.hl-net {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	pointer-events: none;
	-webkit-mask-image: radial-gradient(ellipse 72% 100% at 76% 50%, #000 38%, transparent 86%);
	mask-image: radial-gradient(ellipse 72% 100% at 76% 50%, #000 38%, transparent 86%);
	opacity: 0;
	animation: hl-rise 1.6s 0.3s forwards;
}

/* Comparsa allo scorrimento (classi aggiunte da JavaScript) */
.hl-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.75s cubic-bezier(.2, .8, .2, 1), transform 0.75s cubic-bezier(.2, .8, .2, 1), border-color 0.2s, box-shadow 0.2s;
	transition-delay: calc(var(--d, 0) * 90ms), calc(var(--d, 0) * 90ms), 0s, 0s;
}
.hl-reveal.is-in { opacity: 1; transform: none; }

/* Spunta delle righe del registro */
.hl-tick {
	display: inline-grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: 0.65rem;
	vertical-align: 0.12em;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--line);
	transition: border-color 0.4s 0.25s, background-color 0.4s 0.25s;
}
.hl-tick svg { width: 0.85rem; height: 0.85rem; }
.hl-tick path { fill: none; stroke: var(--wp--preset--color--cyan-ink); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 20; stroke-dashoffset: 20; transition: stroke-dashoffset 0.55s 0.45s cubic-bezier(.6, 0, .2, 1); }
.is-in .hl-tick { border-color: var(--wp--preset--color--cyan-ink); background: rgba(43, 196, 216, 0.12); }
.is-in .hl-tick path { stroke-dashoffset: 0; }

/* Riferimento normativo allineato al titolo quando c'è la spunta */
.hl-registro-riga:has(.hl-tick) .hl-rif { padding-left: 2.15rem; }

/* Linea temporale che si riempie */
.hl-registro-riga:has(.hl-passo):not(:last-child)::after {
	background-color: var(--wp--preset--color--line);
	background-image: linear-gradient(var(--wp--preset--color--cyan), var(--wp--preset--color--cyan-ink));
	background-repeat: no-repeat;
	background-size: 100% 0%;
	transition: background-size 0.9s cubic-bezier(.2, .8, .2, 1);
}
.hl-registro-riga.is-done:not(:last-child)::after { background-size: 100% 100%; }
.hl-passo { transition: background-color 0.45s, border-color 0.45s, color 0.45s, box-shadow 0.45s, transform 0.45s; }
.hl-registro-riga.is-done .hl-passo,
.hl-registro-riga.is-done .hl-passo.has-cyan-ink-color {
	background: var(--wp--preset--color--cyan);
	border-color: var(--wp--preset--color--cyan);
	color: var(--wp--preset--color--deep) !important;
	box-shadow: 0 0 0 8px rgba(43, 196, 216, 0.18);
	transform: scale(1.06);
}

/* Luce che segue il cursore */
.hl-spot { --sx: -999px; --sy: -999px; background-image: radial-gradient(380px circle at var(--sx) var(--sy), rgba(43, 196, 216, 0.13), transparent 45%) !important; }
.hl-feature.hl-spot { background-image: radial-gradient(520px circle at var(--sx) var(--sy), rgba(43, 196, 216, 0.16), transparent 45%) !important; }

/* Intestazione compatta e barra di lettura */
.wp-site-blocks > header .hl-header { transition: padding 0.3s, background-color 0.3s; }
.wp-site-blocks > header.is-scrolled .hl-header { padding-top: 0.6rem !important; padding-bottom: 0.6rem !important; }
.home .wp-site-blocks > header.is-scrolled .hl-header { background-color: rgba(8, 26, 51, 0.9) !important; }
.hl-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--wp--preset--color--cyan-ink), var(--wp--preset--color--cyan));
	transform-origin: left;
	transform: scaleX(0);
	pointer-events: none;
}

/* Aurora nella fascia di contatto */
.alignfull.has-navy-background-color::before {
	content: "";
	position: absolute;
	inset: -30%;
	z-index: -1;
	background:
		radial-gradient(35% 45% at 25% 75%, rgba(43, 196, 216, 0.30), transparent 70%),
		radial-gradient(30% 40% at 78% 25%, rgba(43, 196, 216, 0.16), transparent 70%);
	filter: blur(24px);
	animation: hl-aurora 16s ease-in-out infinite alternate;
	pointer-events: none;
}
@keyframes hl-aurora { to { transform: translate(7%, -5%) rotate(10deg) scale(1.08); } }

/* Riflesso sul bottone principale */
.wp-block-button:not([class*="is-style-"]) .wp-element-button { position: relative; overflow: hidden; isolation: isolate; }
.wp-block-button:not([class*="is-style-"]) .wp-element-button::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform 0.7s cubic-bezier(.2, .8, .2, 1);
}
.wp-block-button:not([class*="is-style-"]) .wp-element-button:hover::after { transform: translateX(120%); }

/* ---------- Movimento ridotto ---------- */

@media (prefers-reduced-motion: reduce) {
	.alignfull.has-navy-background-color::before { animation: none !important; }
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-delay: 0s !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
