/*
 * MEL Accessibilità — livello WCAG 2.1 AA sopra il tema "Maria Elena Luccerini".
 * Fonte: Figma, pagina Layout, frame "SPECIFICA – Stati accessibili" e "08c Contatti – Stati di errore".
 */

:root {
	--mel-a11y-testo: #121212;
	--mel-a11y-sfondo: #FAF9F5;
	--mel-a11y-arancione: #F9BD4F;
	--mel-a11y-bordo-campo: #8A8A85;
	--mel-a11y-errore: #B3261E;
	--mel-a11y-errore-sfondo: #FCEEEE;
}

/* 4. Testi neri su fondo chiaro; header e footer dello stesso colore della pagina */
body {
	color: var(--mel-a11y-testo);
	background-color: var(--mel-a11y-sfondo);
}
.wp-site-blocks > header,
.wp-site-blocks > footer,
header.wp-block-template-part,
footer.wp-block-template-part,
.mel-pg-header,
.mel-footer {
	background-color: var(--mel-a11y-sfondo);
}

/* 1. Focus da tastiera: anello #121212 da 2px, a 4px, angoli che seguono la forma */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"]), .wp-block-button__link):focus-visible {
	outline: 2px solid var(--mel-a11y-testo) !important;
	outline-offset: 4px !important;
	box-shadow: none;
}
/* Nessun anello per il clic col mouse, solo per la tastiera */
:where(a, button, summary, .wp-block-button__link):focus:not(:focus-visible) {
	outline: none;
}
/* Destinazioni dei salti (main, titolo di conferma, riepilogo errori): nessun anello */
[tabindex="-1"]:focus {
	outline: none;
}

/* 2. "Salta al contenuto": primo elemento, visibile solo quando riceve il focus */
.mel-skip-link {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 100000;
	padding: 12px 20px;
	background: var(--mel-a11y-arancione);
	color: var(--mel-a11y-testo);
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 16px;
	font-weight: 600;
	border-radius: 999px;
	text-decoration: none;
	transform: translateY(-200%);
}
.mel-skip-link:focus,
.mel-skip-link:focus-visible {
	transform: none;
}

/* 2. Voce del menu della pagina corrente: Jost SemiBold sottolineata */
.wp-block-navigation .wp-block-navigation-item:not(.mel-nav-cta) > a[aria-current="page"],
.mel-footer a[aria-current="page"] {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 6px;
}

/* 3. Pulsanti: arancioni, testo nero, almeno 48px */
.wp-block-button__link,
.wp-element-button,
.mel-nav-cta > a {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background-color: var(--mel-a11y-arancione);
	color: var(--mel-a11y-testo);
}
button.wp-block-button__link {
	border: 0;
	cursor: pointer;
}
.wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: var(--mel-a11y-arancione);
	border-color: var(--mel-a11y-arancione);
}

/* 4. Tipografia minima: etichette Jost 13px, corpo Cormorant 19px */
:root {
	--wp--preset--font-size--piccolo: max(0.8125rem, 13px);
	--wp--preset--font-size--small: max(0.8125rem, 13px);
}
body {
	font-size: max(var(--wp--preset--font-size--base, 1.3rem), 19px);
}
/* Le pagine hanno dimensioni scritte nei blocchi: i testi sotto la soglia salgono al minimo */
.has-cormorant-font-family:is([style*="font-size:16px"], [style*="font-size:17px"], [style*="font-size:18px"], [style*="font-size:1rem"], [style*="font-size:1.0625rem"], [style*="font-size:1.125rem"]) {
	font-size: 19px !important;
	line-height: 1.45 !important;
}
.has-jost-font-family:is([style*="font-size:9px"], [style*="font-size:10px"], [style*="font-size:11px"], [style*="font-size:12px"], [style*="font-size:0.6875rem"], [style*="font-size:0.75rem"]) {
	font-size: 13px !important;
}

/* 7. FAQ: tutta la riga della domanda è il controllo, alta almeno 44px */
.mel-faq > summary,
details.wp-block-details > summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	width: 100%;
	cursor: pointer;
	border-radius: 8px;
}
/* Indicatore + / − al posto del triangolino nativo, che il display:flex nasconde */
.mel-faq > summary,
details.wp-block-details > summary {
	list-style: none;
	justify-content: space-between;
	gap: 16px;
}
.mel-faq > summary::-webkit-details-marker,
details.wp-block-details > summary::-webkit-details-marker {
	display: none;
}
.mel-faq-q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 44px;
	padding: 10px 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
	border-radius: 8px;
}
.mel-faq > summary::after,
details.wp-block-details > summary::after,
.mel-faq-q::after {
	content: "+";
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--mel-a11y-testo);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
}
.mel-faq[open] > summary::after,
details.wp-block-details[open] > summary::after,
.mel-faq-q[aria-expanded="true"]::after {
	content: "−";
	background: var(--mel-a11y-arancione);
	border-color: var(--mel-a11y-arancione);
}
.mel-faq-a[hidden] {
	display: none;
}

/* 7. Card dei casi studio: tutta la card è un unico link (il titolo) */
.mel-card-link {
	position: relative;
}
.mel-card-link :is(h2, h3, h4) a {
	color: inherit;
	text-decoration: none;
}
.mel-card-link :is(h2, h3, h4) a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	z-index: 1;
}
.mel-card-link .mel-card-cta {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.mel-card-link :is(h2, h3, h4) a:focus-visible {
	outline: none !important;
}
.mel-card-link:has(:is(h2, h3, h4) a:focus-visible) {
	outline: 2px solid var(--mel-a11y-testo);
	outline-offset: 4px;
}

/* 7. Modulo contatti */
.mel-form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], select, textarea) {
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid var(--mel-a11y-bordo-campo) !important;
	border-radius: 10px;
	background: var(--mel-a11y-sfondo);
	color: var(--mel-a11y-testo);
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 16px;
}
.mel-form :is(input, select, textarea):focus {
	border: 2px solid var(--mel-a11y-testo) !important;
	padding: 11px 13px;
}
.mel-form label {
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 14px;
	font-weight: 500;
}
.mel-form input[type="checkbox"] {
	width: 24px !important;
	height: 24px !important;
	margin: 0;
	accent-color: var(--mel-a11y-testo);
	flex: none;
}
/* Tutta la riga del consenso è cliccabile, alta almeno 44px */
.mel-form .mel-consenso,
.mel-form label:has(> input[type="checkbox"]) {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	cursor: pointer;
}
/* Errori: bordo 2px, icona "!" e testo; il colore non è mai l'unico segnale */
.mel-form [aria-invalid="true"] {
	border: 2px solid var(--mel-a11y-errore) !important;
	padding: 11px 13px;
}
.mel-form input[type="checkbox"][aria-invalid="true"] {
	outline: 2px solid var(--mel-a11y-errore);
	outline-offset: 2px;
}
.mel-field-error {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 8px 0 0;
	color: var(--mel-a11y-errore);
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 14px;
}
.mel-field-error::before,
.mel-error-summary__title::before {
	content: "!";
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 999px;
	background: var(--mel-a11y-errore);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}
.mel-error-summary {
	margin: 0 0 24px;
	padding: 16px 18px;
	border: 2px solid var(--mel-a11y-errore);
	border-radius: 10px;
	background: var(--mel-a11y-errore-sfondo);
	color: var(--mel-a11y-testo);
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 15px;
}
.mel-error-summary__title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-weight: 600;
}
.mel-error-summary ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
}
.mel-error-summary a {
	color: var(--mel-a11y-testo);
	text-decoration: underline;
}

/* 8. Utilità: testo solo per screen reader */
.mel-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* 6. Movimento ridotto: card impilate, linee che si disegnano e zoom foto statici */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.mel-pg-stack,
	.mel-pg-stack > * {
		position: static !important;
		transform: none !important;
		top: auto !important;
	}
	[class*="mel-in-"] {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		filter: none !important;
	}
	.mel-hv-zoomimg img,
	[class*="mel-hv-"]:hover img {
		transform: none !important;
	}
	.mel-pg-parallax img {
		transform: none !important;
	}
	svg path,
	svg line,
	svg polyline {
		stroke-dashoffset: 0 !important;
	}
	.mel-progress {
		display: none;
	}
}

/* Sottomenu "Risorse": stesso fondo dell'header; all'hover la stessa linea delle voci del menu */
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	background-color: #FAF9F5;
	color: #121212;
	border: 1px solid #E5E5E0;
	border-radius: 16px;
	padding: 8px 0;
	min-width: 200px;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: inline-flex;
	flex: 0 0 auto !important;
	width: fit-content !important;
	padding: 6px 0 !important;
	margin: 0 18px;
	background: none;
	text-decoration: none;
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: none;
	text-decoration: none;
}
.wp-block-navigation .wp-block-navigation-submenu__toggle {
	min-width: 24px;
	min-height: 24px;
	cursor: pointer;
}

/* Modulo WPForms (Contatti): stessi stati del modulo approvato in Figma */
.wpforms-container .wpforms-form .wpforms-field-label,
.wpforms-container .wpforms-form .wpforms-field-label-inline {
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: #121212 !important;
}
.wpforms-container .wpforms-form input[type="text"],
.wpforms-container .wpforms-form input[type="email"],
.wpforms-container .wpforms-form input[type="tel"],
.wpforms-container .wpforms-form textarea {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-height: 50px;
	background: #FAF9F5 !important;
	border: 1px solid #8A8A85 !important;
	border-radius: 12px !important;
	padding: 12px 16px !important;
	font-size: 16px !important;
	color: #121212 !important;
	box-shadow: none !important;
}
.wpforms-container .wpforms-form textarea {
	min-height: 150px;
}
.wpforms-container .wpforms-form input:focus,
.wpforms-container .wpforms-form textarea:focus {
	border: 2px solid #121212 !important;
	padding: 11px 15px !important;
}
.wpforms-container .wpforms-form input[type="checkbox"] {
	width: 24px !important;
	height: 24px !important;
	accent-color: #121212;
}
.wpforms-container .wpforms-form .mel-consenso li {
	display: flex !important;
	align-items: center;
	gap: 12px;
	min-height: 44px;
}
.wpforms-container .wpforms-form .wpforms-field input.wpforms-error,
.wpforms-container .wpforms-form .wpforms-field textarea.wpforms-error {
	border: 2px solid var(--mel-a11y-errore) !important;
}
.wpforms-container .wpforms-form em.wpforms-error,
.wpforms-container .wpforms-form label.wpforms-error {
	display: flex;
	gap: 8px;
	margin-top: 8px;
	color: var(--mel-a11y-errore) !important;
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif);
	font-size: 14px !important;
	font-style: normal;
}
.wpforms-container .wpforms-form .wpforms-required-label {
	color: inherit !important;
}
.wpforms-container .wpforms-form button.wpforms-submit {
	min-height: 48px;
	padding: 14px 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #F9BD4F !important;
	color: #121212 !important;
	font-family: var(--wp--preset--font-family--jost, "Jost", sans-serif) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* Spazi responsive: i padding in px scritti nei blocchi (28–128px) diventano in rem e si riducono
 * in modo fluido tra 1280px (valore pieno) e 375px (metà in verticale, al massimo 24px in orizzontale, mai sotto 20px).
 * Generato: vedi skill di montaggio, sezione "spazi responsive". */
[style*="padding-top:28px"]{padding-top:clamp(1.25rem,1.0428rem + 0.884vw,1.75rem)!important}
[style*="padding-bottom:28px"]{padding-bottom:clamp(1.25rem,1.0428rem + 0.884vw,1.75rem)!important}
[style*="padding-left:28px"]{padding-left:clamp(1.25rem,1.0428rem + 0.884vw,1.75rem)!important}
[style*="padding-right:28px"]{padding-right:clamp(1.25rem,1.0428rem + 0.884vw,1.75rem)!important}
[style*="padding-top:30px"]{padding-top:clamp(1.25rem,0.991rem + 1.105vw,1.875rem)!important}
[style*="padding-bottom:30px"]{padding-bottom:clamp(1.25rem,0.991rem + 1.105vw,1.875rem)!important}
[style*="padding-left:30px"]{padding-left:clamp(1.25rem,0.991rem + 1.105vw,1.875rem)!important}
[style*="padding-right:30px"]{padding-right:clamp(1.25rem,0.991rem + 1.105vw,1.875rem)!important}
[style*="padding-top:32px"]{padding-top:clamp(1.25rem,0.9392rem + 1.326vw,2rem)!important}
[style*="padding-bottom:32px"]{padding-bottom:clamp(1.25rem,0.9392rem + 1.326vw,2rem)!important}
[style*="padding-left:32px"]{padding-left:clamp(1.25rem,0.9392rem + 1.326vw,2rem)!important}
[style*="padding-right:32px"]{padding-right:clamp(1.25rem,0.9392rem + 1.326vw,2rem)!important}
[style*="padding-top:34px"]{padding-top:clamp(1.25rem,0.8874rem + 1.547vw,2.125rem)!important}
[style*="padding-bottom:34px"]{padding-bottom:clamp(1.25rem,0.8874rem + 1.547vw,2.125rem)!important}
[style*="padding-left:34px"]{padding-left:clamp(1.25rem,0.8874rem + 1.547vw,2.125rem)!important}
[style*="padding-right:34px"]{padding-right:clamp(1.25rem,0.8874rem + 1.547vw,2.125rem)!important}
[style*="padding-top:36px"]{padding-top:clamp(1.25rem,0.8356rem + 1.768vw,2.25rem)!important}
[style*="padding-bottom:36px"]{padding-bottom:clamp(1.25rem,0.8356rem + 1.768vw,2.25rem)!important}
[style*="padding-left:36px"]{padding-left:clamp(1.25rem,0.8356rem + 1.768vw,2.25rem)!important}
[style*="padding-right:36px"]{padding-right:clamp(1.25rem,0.8356rem + 1.768vw,2.25rem)!important}
[style*="padding-top:38px"]{padding-top:clamp(1.25rem,0.7838rem + 1.989vw,2.375rem)!important}
[style*="padding-bottom:38px"]{padding-bottom:clamp(1.25rem,0.7838rem + 1.989vw,2.375rem)!important}
[style*="padding-left:38px"]{padding-left:clamp(1.25rem,0.7838rem + 1.989vw,2.375rem)!important}
[style*="padding-right:38px"]{padding-right:clamp(1.25rem,0.7838rem + 1.989vw,2.375rem)!important}
[style*="padding-top:40px"]{padding-top:clamp(1.25rem,0.732rem + 2.2099vw,2.5rem)!important}
[style*="padding-bottom:40px"]{padding-bottom:clamp(1.25rem,0.732rem + 2.2099vw,2.5rem)!important}
[style*="padding-left:40px"]{padding-left:clamp(1.25rem,0.732rem + 2.2099vw,2.5rem)!important}
[style*="padding-right:40px"]{padding-right:clamp(1.25rem,0.732rem + 2.2099vw,2.5rem)!important}
[style*="padding-top:42px"]{padding-top:clamp(1.3125rem,0.7686rem + 2.3204vw,2.625rem)!important}
[style*="padding-bottom:42px"]{padding-bottom:clamp(1.3125rem,0.7686rem + 2.3204vw,2.625rem)!important}
[style*="padding-left:42px"]{padding-left:clamp(1.3125rem,0.7686rem + 2.3204vw,2.625rem)!important}
[style*="padding-right:42px"]{padding-right:clamp(1.3125rem,0.7686rem + 2.3204vw,2.625rem)!important}
[style*="padding-top:44px"]{padding-top:clamp(1.375rem,0.8052rem + 2.4309vw,2.75rem)!important}
[style*="padding-bottom:44px"]{padding-bottom:clamp(1.375rem,0.8052rem + 2.4309vw,2.75rem)!important}
[style*="padding-left:44px"]{padding-left:clamp(1.375rem,0.8052rem + 2.4309vw,2.75rem)!important}
[style*="padding-right:44px"]{padding-right:clamp(1.375rem,0.8052rem + 2.4309vw,2.75rem)!important}
[style*="padding-top:46px"]{padding-top:clamp(1.4375rem,0.8419rem + 2.5414vw,2.875rem)!important}
[style*="padding-bottom:46px"]{padding-bottom:clamp(1.4375rem,0.8419rem + 2.5414vw,2.875rem)!important}
[style*="padding-left:46px"]{padding-left:clamp(1.4375rem,0.8419rem + 2.5414vw,2.875rem)!important}
[style*="padding-right:46px"]{padding-right:clamp(1.4375rem,0.8419rem + 2.5414vw,2.875rem)!important}
[style*="padding-top:48px"]{padding-top:clamp(1.5rem,0.8785rem + 2.6519vw,3rem)!important}
[style*="padding-bottom:48px"]{padding-bottom:clamp(1.5rem,0.8785rem + 2.6519vw,3rem)!important}
[style*="padding-left:48px"]{padding-left:clamp(1.5rem,0.8785rem + 2.6519vw,3rem)!important}
[style*="padding-right:48px"]{padding-right:clamp(1.5rem,0.8785rem + 2.6519vw,3rem)!important}
[style*="padding-top:50px"]{padding-top:clamp(1.5625rem,0.9151rem + 2.7624vw,3.125rem)!important}
[style*="padding-bottom:50px"]{padding-bottom:clamp(1.5625rem,0.9151rem + 2.7624vw,3.125rem)!important}
[style*="padding-left:50px"]{padding-left:clamp(1.5rem,0.8267rem + 2.8729vw,3.125rem)!important}
[style*="padding-right:50px"]{padding-right:clamp(1.5rem,0.8267rem + 2.8729vw,3.125rem)!important}
[style*="padding-top:52px"]{padding-top:clamp(1.625rem,0.9517rem + 2.8729vw,3.25rem)!important}
[style*="padding-bottom:52px"]{padding-bottom:clamp(1.625rem,0.9517rem + 2.8729vw,3.25rem)!important}
[style*="padding-left:52px"]{padding-left:clamp(1.5rem,0.7749rem + 3.0939vw,3.25rem)!important}
[style*="padding-right:52px"]{padding-right:clamp(1.5rem,0.7749rem + 3.0939vw,3.25rem)!important}
[style*="padding-top:54px"]{padding-top:clamp(1.6875rem,0.9883rem + 2.9834vw,3.375rem)!important}
[style*="padding-bottom:54px"]{padding-bottom:clamp(1.6875rem,0.9883rem + 2.9834vw,3.375rem)!important}
[style*="padding-left:54px"]{padding-left:clamp(1.5rem,0.7231rem + 3.3149vw,3.375rem)!important}
[style*="padding-right:54px"]{padding-right:clamp(1.5rem,0.7231rem + 3.3149vw,3.375rem)!important}
[style*="padding-top:56px"]{padding-top:clamp(1.75rem,1.0249rem + 3.0939vw,3.5rem)!important}
[style*="padding-bottom:56px"]{padding-bottom:clamp(1.75rem,1.0249rem + 3.0939vw,3.5rem)!important}
[style*="padding-left:56px"]{padding-left:clamp(1.5rem,0.6713rem + 3.5359vw,3.5rem)!important}
[style*="padding-right:56px"]{padding-right:clamp(1.5rem,0.6713rem + 3.5359vw,3.5rem)!important}
[style*="padding-top:58px"]{padding-top:clamp(1.8125rem,1.0615rem + 3.2044vw,3.625rem)!important}
[style*="padding-bottom:58px"]{padding-bottom:clamp(1.8125rem,1.0615rem + 3.2044vw,3.625rem)!important}
[style*="padding-left:58px"]{padding-left:clamp(1.5rem,0.6195rem + 3.7569vw,3.625rem)!important}
[style*="padding-right:58px"]{padding-right:clamp(1.5rem,0.6195rem + 3.7569vw,3.625rem)!important}
[style*="padding-top:60px"]{padding-top:clamp(1.875rem,1.0981rem + 3.3149vw,3.75rem)!important}
[style*="padding-bottom:60px"]{padding-bottom:clamp(1.875rem,1.0981rem + 3.3149vw,3.75rem)!important}
[style*="padding-left:60px"]{padding-left:clamp(1.5rem,0.5677rem + 3.9779vw,3.75rem)!important}
[style*="padding-right:60px"]{padding-right:clamp(1.5rem,0.5677rem + 3.9779vw,3.75rem)!important}
[style*="padding-top:62px"]{padding-top:clamp(1.9375rem,1.1347rem + 3.4254vw,3.875rem)!important}
[style*="padding-bottom:62px"]{padding-bottom:clamp(1.9375rem,1.1347rem + 3.4254vw,3.875rem)!important}
[style*="padding-left:62px"]{padding-left:clamp(1.5rem,0.5159rem + 4.1989vw,3.875rem)!important}
[style*="padding-right:62px"]{padding-right:clamp(1.5rem,0.5159rem + 4.1989vw,3.875rem)!important}
[style*="padding-top:64px"]{padding-top:clamp(2rem,1.1713rem + 3.5359vw,4rem)!important}
[style*="padding-bottom:64px"]{padding-bottom:clamp(2rem,1.1713rem + 3.5359vw,4rem)!important}
[style*="padding-left:64px"]{padding-left:clamp(1.5rem,0.4641rem + 4.4199vw,4rem)!important}
[style*="padding-right:64px"]{padding-right:clamp(1.5rem,0.4641rem + 4.4199vw,4rem)!important}
[style*="padding-top:66px"]{padding-top:clamp(2.0625rem,1.2079rem + 3.6464vw,4.125rem)!important}
[style*="padding-bottom:66px"]{padding-bottom:clamp(2.0625rem,1.2079rem + 3.6464vw,4.125rem)!important}
[style*="padding-left:66px"]{padding-left:clamp(1.5rem,0.4123rem + 4.6409vw,4.125rem)!important}
[style*="padding-right:66px"]{padding-right:clamp(1.5rem,0.4123rem + 4.6409vw,4.125rem)!important}
[style*="padding-top:68px"]{padding-top:clamp(2.125rem,1.2445rem + 3.7569vw,4.25rem)!important}
[style*="padding-bottom:68px"]{padding-bottom:clamp(2.125rem,1.2445rem + 3.7569vw,4.25rem)!important}
[style*="padding-left:68px"]{padding-left:clamp(1.5rem,0.3605rem + 4.8619vw,4.25rem)!important}
[style*="padding-right:68px"]{padding-right:clamp(1.5rem,0.3605rem + 4.8619vw,4.25rem)!important}
[style*="padding-top:70px"]{padding-top:clamp(2.1875rem,1.2811rem + 3.8674vw,4.375rem)!important}
[style*="padding-bottom:70px"]{padding-bottom:clamp(2.1875rem,1.2811rem + 3.8674vw,4.375rem)!important}
[style*="padding-left:70px"]{padding-left:clamp(1.5rem,0.3087rem + 5.0829vw,4.375rem)!important}
[style*="padding-right:70px"]{padding-right:clamp(1.5rem,0.3087rem + 5.0829vw,4.375rem)!important}
[style*="padding-top:72px"]{padding-top:clamp(2.25rem,1.3177rem + 3.9779vw,4.5rem)!important}
[style*="padding-bottom:72px"]{padding-bottom:clamp(2.25rem,1.3177rem + 3.9779vw,4.5rem)!important}
[style*="padding-left:72px"]{padding-left:clamp(1.5rem,0.2569rem + 5.3039vw,4.5rem)!important}
[style*="padding-right:72px"]{padding-right:clamp(1.5rem,0.2569rem + 5.3039vw,4.5rem)!important}
[style*="padding-top:74px"]{padding-top:clamp(2.3125rem,1.3543rem + 4.0884vw,4.625rem)!important}
[style*="padding-bottom:74px"]{padding-bottom:clamp(2.3125rem,1.3543rem + 4.0884vw,4.625rem)!important}
[style*="padding-left:74px"]{padding-left:clamp(1.5rem,0.2051rem + 5.5249vw,4.625rem)!important}
[style*="padding-right:74px"]{padding-right:clamp(1.5rem,0.2051rem + 5.5249vw,4.625rem)!important}
[style*="padding-top:76px"]{padding-top:clamp(2.375rem,1.3909rem + 4.1989vw,4.75rem)!important}
[style*="padding-bottom:76px"]{padding-bottom:clamp(2.375rem,1.3909rem + 4.1989vw,4.75rem)!important}
[style*="padding-left:76px"]{padding-left:clamp(1.5rem,0.1533rem + 5.7459vw,4.75rem)!important}
[style*="padding-right:76px"]{padding-right:clamp(1.5rem,0.1533rem + 5.7459vw,4.75rem)!important}
[style*="padding-top:78px"]{padding-top:clamp(2.4375rem,1.4275rem + 4.3094vw,4.875rem)!important}
[style*="padding-bottom:78px"]{padding-bottom:clamp(2.4375rem,1.4275rem + 4.3094vw,4.875rem)!important}
[style*="padding-left:78px"]{padding-left:clamp(1.5rem,0.1015rem + 5.9669vw,4.875rem)!important}
[style*="padding-right:78px"]{padding-right:clamp(1.5rem,0.1015rem + 5.9669vw,4.875rem)!important}
[style*="padding-top:80px"]{padding-top:clamp(2.5rem,1.4641rem + 4.4199vw,5rem)!important}
[style*="padding-bottom:80px"]{padding-bottom:clamp(2.5rem,1.4641rem + 4.4199vw,5rem)!important}
[style*="padding-left:80px"]{padding-left:clamp(1.5rem,0.0497rem + 6.1878vw,5rem)!important}
[style*="padding-right:80px"]{padding-right:clamp(1.5rem,0.0497rem + 6.1878vw,5rem)!important}
[style*="padding-top:82px"]{padding-top:clamp(2.5625rem,1.5007rem + 4.5304vw,5.125rem)!important}
[style*="padding-bottom:82px"]{padding-bottom:clamp(2.5625rem,1.5007rem + 4.5304vw,5.125rem)!important}
[style*="padding-left:82px"]{padding-left:clamp(1.5rem,-0.0021rem + 6.4088vw,5.125rem)!important}
[style*="padding-right:82px"]{padding-right:clamp(1.5rem,-0.0021rem + 6.4088vw,5.125rem)!important}
[style*="padding-top:84px"]{padding-top:clamp(2.625rem,1.5373rem + 4.6409vw,5.25rem)!important}
[style*="padding-bottom:84px"]{padding-bottom:clamp(2.625rem,1.5373rem + 4.6409vw,5.25rem)!important}
[style*="padding-left:84px"]{padding-left:clamp(1.5rem,-0.0539rem + 6.6298vw,5.25rem)!important}
[style*="padding-right:84px"]{padding-right:clamp(1.5rem,-0.0539rem + 6.6298vw,5.25rem)!important}
[style*="padding-top:86px"]{padding-top:clamp(2.6875rem,1.5739rem + 4.7514vw,5.375rem)!important}
[style*="padding-bottom:86px"]{padding-bottom:clamp(2.6875rem,1.5739rem + 4.7514vw,5.375rem)!important}
[style*="padding-left:86px"]{padding-left:clamp(1.5rem,-0.1057rem + 6.8508vw,5.375rem)!important}
[style*="padding-right:86px"]{padding-right:clamp(1.5rem,-0.1057rem + 6.8508vw,5.375rem)!important}
[style*="padding-top:88px"]{padding-top:clamp(2.75rem,1.6105rem + 4.8619vw,5.5rem)!important}
[style*="padding-bottom:88px"]{padding-bottom:clamp(2.75rem,1.6105rem + 4.8619vw,5.5rem)!important}
[style*="padding-left:88px"]{padding-left:clamp(1.5rem,-0.1575rem + 7.0718vw,5.5rem)!important}
[style*="padding-right:88px"]{padding-right:clamp(1.5rem,-0.1575rem + 7.0718vw,5.5rem)!important}
[style*="padding-top:90px"]{padding-top:clamp(2.8125rem,1.6471rem + 4.9724vw,5.625rem)!important}
[style*="padding-bottom:90px"]{padding-bottom:clamp(2.8125rem,1.6471rem + 4.9724vw,5.625rem)!important}
[style*="padding-left:90px"]{padding-left:clamp(1.5rem,-0.2093rem + 7.2928vw,5.625rem)!important}
[style*="padding-right:90px"]{padding-right:clamp(1.5rem,-0.2093rem + 7.2928vw,5.625rem)!important}
[style*="padding-top:92px"]{padding-top:clamp(2.875rem,1.6837rem + 5.0829vw,5.75rem)!important}
[style*="padding-bottom:92px"]{padding-bottom:clamp(2.875rem,1.6837rem + 5.0829vw,5.75rem)!important}
[style*="padding-left:92px"]{padding-left:clamp(1.5rem,-0.261rem + 7.5138vw,5.75rem)!important}
[style*="padding-right:92px"]{padding-right:clamp(1.5rem,-0.261rem + 7.5138vw,5.75rem)!important}
[style*="padding-top:94px"]{padding-top:clamp(2.9375rem,1.7203rem + 5.1934vw,5.875rem)!important}
[style*="padding-bottom:94px"]{padding-bottom:clamp(2.9375rem,1.7203rem + 5.1934vw,5.875rem)!important}
[style*="padding-left:94px"]{padding-left:clamp(1.5rem,-0.3128rem + 7.7348vw,5.875rem)!important}
[style*="padding-right:94px"]{padding-right:clamp(1.5rem,-0.3128rem + 7.7348vw,5.875rem)!important}
[style*="padding-top:96px"]{padding-top:clamp(3rem,1.7569rem + 5.3039vw,6rem)!important}
[style*="padding-bottom:96px"]{padding-bottom:clamp(3rem,1.7569rem + 5.3039vw,6rem)!important}
[style*="padding-left:96px"]{padding-left:clamp(1.5rem,-0.3646rem + 7.9558vw,6rem)!important}
[style*="padding-right:96px"]{padding-right:clamp(1.5rem,-0.3646rem + 7.9558vw,6rem)!important}
[style*="padding-top:98px"]{padding-top:clamp(3.0625rem,1.7935rem + 5.4144vw,6.125rem)!important}
[style*="padding-bottom:98px"]{padding-bottom:clamp(3.0625rem,1.7935rem + 5.4144vw,6.125rem)!important}
[style*="padding-left:98px"]{padding-left:clamp(1.5rem,-0.4164rem + 8.1768vw,6.125rem)!important}
[style*="padding-right:98px"]{padding-right:clamp(1.5rem,-0.4164rem + 8.1768vw,6.125rem)!important}
[style*="padding-top:100px"]{padding-top:clamp(3.125rem,1.8301rem + 5.5249vw,6.25rem)!important}
[style*="padding-bottom:100px"]{padding-bottom:clamp(3.125rem,1.8301rem + 5.5249vw,6.25rem)!important}
[style*="padding-left:100px"]{padding-left:clamp(1.5rem,-0.4682rem + 8.3978vw,6.25rem)!important}
[style*="padding-right:100px"]{padding-right:clamp(1.5rem,-0.4682rem + 8.3978vw,6.25rem)!important}
[style*="padding-top:102px"]{padding-top:clamp(3.1875rem,1.8667rem + 5.6354vw,6.375rem)!important}
[style*="padding-bottom:102px"]{padding-bottom:clamp(3.1875rem,1.8667rem + 5.6354vw,6.375rem)!important}
[style*="padding-left:102px"]{padding-left:clamp(1.5rem,-0.52rem + 8.6188vw,6.375rem)!important}
[style*="padding-right:102px"]{padding-right:clamp(1.5rem,-0.52rem + 8.6188vw,6.375rem)!important}
[style*="padding-top:104px"]{padding-top:clamp(3.25rem,1.9033rem + 5.7459vw,6.5rem)!important}
[style*="padding-bottom:104px"]{padding-bottom:clamp(3.25rem,1.9033rem + 5.7459vw,6.5rem)!important}
[style*="padding-left:104px"]{padding-left:clamp(1.5rem,-0.5718rem + 8.8398vw,6.5rem)!important}
[style*="padding-right:104px"]{padding-right:clamp(1.5rem,-0.5718rem + 8.8398vw,6.5rem)!important}
[style*="padding-top:106px"]{padding-top:clamp(3.3125rem,1.9399rem + 5.8564vw,6.625rem)!important}
[style*="padding-bottom:106px"]{padding-bottom:clamp(3.3125rem,1.9399rem + 5.8564vw,6.625rem)!important}
[style*="padding-left:106px"]{padding-left:clamp(1.5rem,-0.6236rem + 9.0608vw,6.625rem)!important}
[style*="padding-right:106px"]{padding-right:clamp(1.5rem,-0.6236rem + 9.0608vw,6.625rem)!important}
[style*="padding-top:108px"]{padding-top:clamp(3.375rem,1.9765rem + 5.9669vw,6.75rem)!important}
[style*="padding-bottom:108px"]{padding-bottom:clamp(3.375rem,1.9765rem + 5.9669vw,6.75rem)!important}
[style*="padding-left:108px"]{padding-left:clamp(1.5rem,-0.6754rem + 9.2818vw,6.75rem)!important}
[style*="padding-right:108px"]{padding-right:clamp(1.5rem,-0.6754rem + 9.2818vw,6.75rem)!important}
[style*="padding-top:110px"]{padding-top:clamp(3.4375rem,2.0131rem + 6.0773vw,6.875rem)!important}
[style*="padding-bottom:110px"]{padding-bottom:clamp(3.4375rem,2.0131rem + 6.0773vw,6.875rem)!important}
[style*="padding-left:110px"]{padding-left:clamp(1.5rem,-0.7272rem + 9.5028vw,6.875rem)!important}
[style*="padding-right:110px"]{padding-right:clamp(1.5rem,-0.7272rem + 9.5028vw,6.875rem)!important}
[style*="padding-top:112px"]{padding-top:clamp(3.5rem,2.0497rem + 6.1878vw,7rem)!important}
[style*="padding-bottom:112px"]{padding-bottom:clamp(3.5rem,2.0497rem + 6.1878vw,7rem)!important}
[style*="padding-left:112px"]{padding-left:clamp(1.5rem,-0.779rem + 9.7238vw,7rem)!important}
[style*="padding-right:112px"]{padding-right:clamp(1.5rem,-0.779rem + 9.7238vw,7rem)!important}
[style*="padding-top:114px"]{padding-top:clamp(3.5625rem,2.0863rem + 6.2983vw,7.125rem)!important}
[style*="padding-bottom:114px"]{padding-bottom:clamp(3.5625rem,2.0863rem + 6.2983vw,7.125rem)!important}
[style*="padding-left:114px"]{padding-left:clamp(1.5rem,-0.8308rem + 9.9448vw,7.125rem)!important}
[style*="padding-right:114px"]{padding-right:clamp(1.5rem,-0.8308rem + 9.9448vw,7.125rem)!important}
[style*="padding-top:116px"]{padding-top:clamp(3.625rem,2.1229rem + 6.4088vw,7.25rem)!important}
[style*="padding-bottom:116px"]{padding-bottom:clamp(3.625rem,2.1229rem + 6.4088vw,7.25rem)!important}
[style*="padding-left:116px"]{padding-left:clamp(1.5rem,-0.8826rem + 10.1657vw,7.25rem)!important}
[style*="padding-right:116px"]{padding-right:clamp(1.5rem,-0.8826rem + 10.1657vw,7.25rem)!important}
[style*="padding-top:118px"]{padding-top:clamp(3.6875rem,2.1595rem + 6.5193vw,7.375rem)!important}
[style*="padding-bottom:118px"]{padding-bottom:clamp(3.6875rem,2.1595rem + 6.5193vw,7.375rem)!important}
[style*="padding-left:118px"]{padding-left:clamp(1.5rem,-0.9344rem + 10.3867vw,7.375rem)!important}
[style*="padding-right:118px"]{padding-right:clamp(1.5rem,-0.9344rem + 10.3867vw,7.375rem)!important}
[style*="padding-top:120px"]{padding-top:clamp(3.75rem,2.1961rem + 6.6298vw,7.5rem)!important}
[style*="padding-bottom:120px"]{padding-bottom:clamp(3.75rem,2.1961rem + 6.6298vw,7.5rem)!important}
[style*="padding-left:120px"]{padding-left:clamp(1.5rem,-0.9862rem + 10.6077vw,7.5rem)!important}
[style*="padding-right:120px"]{padding-right:clamp(1.5rem,-0.9862rem + 10.6077vw,7.5rem)!important}
[style*="padding-top:122px"]{padding-top:clamp(3.8125rem,2.2327rem + 6.7403vw,7.625rem)!important}
[style*="padding-bottom:122px"]{padding-bottom:clamp(3.8125rem,2.2327rem + 6.7403vw,7.625rem)!important}
[style*="padding-left:122px"]{padding-left:clamp(1.5rem,-1.038rem + 10.8287vw,7.625rem)!important}
[style*="padding-right:122px"]{padding-right:clamp(1.5rem,-1.038rem + 10.8287vw,7.625rem)!important}
[style*="padding-top:124px"]{padding-top:clamp(3.875rem,2.2693rem + 6.8508vw,7.75rem)!important}
[style*="padding-bottom:124px"]{padding-bottom:clamp(3.875rem,2.2693rem + 6.8508vw,7.75rem)!important}
[style*="padding-left:124px"]{padding-left:clamp(1.5rem,-1.0898rem + 11.0497vw,7.75rem)!important}
[style*="padding-right:124px"]{padding-right:clamp(1.5rem,-1.0898rem + 11.0497vw,7.75rem)!important}
[style*="padding-top:126px"]{padding-top:clamp(3.9375rem,2.3059rem + 6.9613vw,7.875rem)!important}
[style*="padding-bottom:126px"]{padding-bottom:clamp(3.9375rem,2.3059rem + 6.9613vw,7.875rem)!important}
[style*="padding-left:126px"]{padding-left:clamp(1.5rem,-1.1416rem + 11.2707vw,7.875rem)!important}
[style*="padding-right:126px"]{padding-right:clamp(1.5rem,-1.1416rem + 11.2707vw,7.875rem)!important}
[style*="padding-top:128px"]{padding-top:clamp(4rem,2.3425rem + 7.0718vw,8rem)!important}
[style*="padding-bottom:128px"]{padding-bottom:clamp(4rem,2.3425rem + 7.0718vw,8rem)!important}
[style*="padding-left:128px"]{padding-left:clamp(1.5rem,-1.1934rem + 11.4917vw,8rem)!important}
[style*="padding-right:128px"]{padding-right:clamp(1.5rem,-1.1934rem + 11.4917vw,8rem)!important}

/* ------------------------------------------------------------------ */
/* Gallerie dei casi studio (1.5): miniature quadrate + visore          */
/* ------------------------------------------------------------------ */
/* Nastro su una riga (1.5.1): miniature quadrate piccole che scorrono lente. */
.wp-block-gallery.mel-gallery {
	position: relative;
	display: block !important;
	margin-left: 0;
	margin-right: 0;
}
.mel-strip__track {
	display: flex;
	gap: 12px;
	overflow-x: auto;
	scrollbar-width: none;
	cursor: grab;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.mel-strip__track::-webkit-scrollbar { display: none; }
.mel-gallery.is-dragging .mel-strip__track { cursor: grabbing; }
.wp-block-gallery.mel-gallery figure.wp-block-image {
	flex: 0 0 180px;
	width: 180px !important;
	height: 180px;
	margin: 0 !important;
	border-radius: 16px;
	overflow: hidden;
}
@media (max-width: 781px) {
	.wp-block-gallery.mel-gallery figure.wp-block-image { flex-basis: 132px; width: 132px !important; height: 132px; }
}
.mel-gallery__open {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: #e3e5ed;
	cursor: zoom-in;
}
.wp-block-gallery.mel-gallery figure.wp-block-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform .4s ease;
	-webkit-user-drag: none;
	user-select: none;
}
.mel-gallery__open:hover img { transform: scale(1.06); }
.mel-gallery__open:focus-visible { outline: 2px solid #121212; outline-offset: -4px; }
.mel-strip__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: #faf9f5;
	color: #121212;
	font-size: 28px;
	line-height: 1;
	box-shadow: 0 2px 10px rgba(18, 18, 18, .18);
	cursor: pointer;
	opacity: 0;
	transition: opacity .2s ease;
}
.mel-strip__prev { left: 8px; }
.mel-strip__next { right: 8px; }
.mel-gallery:hover .mel-strip__nav,
.mel-strip__nav:focus-visible { opacity: 1; }
.mel-strip__nav:hover { background: #f9bd4f; }
.mel-strip__nav:focus-visible { outline: 2px solid #121212; outline-offset: 2px; }
@media (hover: none) { .mel-strip__nav { display: none; } }
@media (prefers-reduced-motion: reduce) {
	.wp-block-gallery.mel-gallery img { transition: none; }
	.mel-gallery__open:hover img { transform: none; }
}

html.mel-lightbox-open { overflow: hidden; }
.mel-lightbox {
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(18, 18, 18, .94);
	color: #faf9f5;
}
.mel-lightbox::backdrop { background: rgba(18, 18, 18, .94); }
.mel-lightbox[open] { display: flex; flex-direction: column; }
.mel-lightbox__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	font-family: var(--wp--preset--font-family--jost, 'Jost', sans-serif);
}
.mel-lightbox__count { margin: 0; font-size: 15px; letter-spacing: .04em; }
.mel-lightbox__stage {
	flex: 1;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) 64px;
	align-items: center;
	min-height: 0;
	padding: 0 8px 16px;
}
.mel-lightbox__figure {
	margin: 0;
	height: 100%;
	min-height: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.mel-lightbox__figure img {
	max-width: 100%;
	max-height: calc(100vh - 150px);
	width: auto;
	height: auto;
	object-fit: contain;
	border-radius: 12px;
}
.mel-lightbox__caption {
	max-width: 72ch;
	text-align: center;
	font-family: var(--wp--preset--font-family--cormorant, 'Cormorant Garamond', serif);
	font-size: 19px;
	line-height: 1.4;
}
.mel-lightbox__nav,
.mel-lightbox__close {
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 999px;
	background: #faf9f5;
	color: #121212;
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	justify-self: center;
}
.mel-lightbox__nav:hover,
.mel-lightbox__close:hover { background: #f9bd4f; }
.mel-lightbox__nav:focus-visible,
.mel-lightbox__close:focus-visible { outline: 2px solid #f9bd4f; outline-offset: 3px; }
@media (max-width: 781px) {
	.mel-lightbox__stage { grid-template-columns: minmax(0, 1fr); padding: 0 8px 16px; }
	.mel-lightbox__nav { position: absolute; bottom: 20px; }
	.mel-lightbox__prev { left: 20px; }
	.mel-lightbox__next { right: 20px; }
	.mel-lightbox__figure img { max-height: calc(100vh - 230px); }
	.mel-lightbox__caption { font-size: 17px; padding: 0 8px 72px; }
}
