/*
Theme Name: Nexia
Theme URI: https://www.nexia-re.it/
Author: Naytes
Description: Tema su misura per Nexia: infissi, pergole bioclimatiche e chiusure vetrate a Reggio Emilia, Modena e Parma. Contenuti con l'editor a blocchi e sezioni pronte (pattern).
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: Proprietary
Text Domain: nexia
*/

/* ==========================================================================
   Token
   ========================================================================== */
:root {
	--nx-navy-900: #0C2B45;
	--nx-navy-700: #134064;
	--nx-navy-500: #2A5D8A;
	--nx-navy-100: #E7EEF5;
	--nx-steel-500: #8F9496;
	--nx-steel-200: #D9DCDE;
	--nx-amber: #C98A2B;
	--nx-soft: #F5F6F7;
	--nx-white: #FFFFFF;
	--nx-ink: #0F1B26;
	--nx-muted: #4A5866;
	--nx-on-dark: #C9D4DF;
	--nx-border: #D9DCDE;
	--nx-font-head: Manrope, system-ui, sans-serif;
	--nx-font-body: Inter, system-ui, sans-serif;
	--nx-radius: 16px;
	--nx-radius-lg: 20px;
	--nx-shadow: 0 12px 32px rgba(12, 43, 69, .10);
	--nx-gutter: max(24px, calc((100% - 1200px) / 2));
	--nx-sec-y: 96px;
}
@media (max-width: 782px) {
	:root { --nx-gutter: 20px; --nx-sec-y: 56px; }
}

/* ==========================================================================
   Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--nx-font-body);
	font-size: 17px;
	line-height: 1.65;
	color: var(--nx-ink);
	background: var(--nx-white);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, video, iframe { max-width: 100%; height: auto; display: block; }
a { color: var(--nx-navy-700); text-underline-offset: 3px; }
a:hover { color: var(--nx-navy-500); }
:focus-visible { outline: 3px solid var(--nx-navy-500); outline-offset: 3px; border-radius: 4px; }
p, ul, ol, figure { margin: 0; }
p, li { text-wrap: pretty; }
h1, h2, h3, h4 { margin: 0; font-family: var(--nx-font-head); color: inherit; text-wrap: balance; }
h1, .nx-h1 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1.14; font-weight: 800; letter-spacing: -0.025em; }
h2, .nx-h2 { font-size: clamp(27px, 3vw, 40px); line-height: 1.2; font-weight: 800; letter-spacing: -0.02em; }
h3, .nx-h3 { font-size: 24px; line-height: 1.33; font-weight: 700; letter-spacing: -0.01em; }
h4, .nx-h4 { font-size: 19px; line-height: 1.37; font-weight: 700; }
.nx-lead { font-size: 19px; line-height: 1.6; color: var(--nx-muted); }
.nx-small, .has-small-font-size { font-size: 15px; line-height: 1.6; }
.nx-muted { color: var(--nx-muted); }
.nx-eyebrow {
	font-size: 13px; line-height: 1.25; font-weight: 600; letter-spacing: .08em;
	text-transform: uppercase; color: var(--nx-navy-500);
}
.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important;
}
.nx-skip:focus { position: fixed; top: 8px; left: 8px; z-index: 1000; background: #fff; padding: 12px 16px; clip: auto; clip-path: none; width: auto; height: auto; }

/* ==========================================================================
   Icone (maschere SVG, colore = currentColor)
   ========================================================================== */
.nx-ico-termometro { --ico: 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='M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z'/></svg>"); }
.nx-ico-bolletta { --ico: 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='M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1zM8 8h8M8 12h8M8 16h5'/></svg>"); }
.nx-ico-rumore { --ico: 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='M11 5L6 9H2v6h4l5 4V5zM23 9l-6 6M17 9l6 6'/></svg>"); }
.nx-ico-goccia { --ico: 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 2.69l5.66 5.66a8 8 0 1 1-11.31 0z'/></svg>"); }
.nx-ico-sole { --ico: 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 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10zM12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42'/></svg>"); }
.nx-ico-negozio { --ico: 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='M3 9l1.5-5h15L21 9M3 9h18v11H3zM9 20v-6h6v6'/></svg>"); }
.nx-ico-check { --ico: 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.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>"); }
.nx-ico-scudo { --ico: 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 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10zM9 12l2 2 4-4'/></svg>"); }
.nx-ico-finestra { --ico: 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='M4 3h16v18H4zM12 3v18M4 12h16'/></svg>"); }
.nx-ico-persona { --ico: 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='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2M12 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8z'/></svg>"); }
.nx-ico-squadra { --ico: 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='M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2M9 11a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM23 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/></svg>"); }
.nx-ico-casa { --ico: 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='M3 10.5L12 3l9 7.5V21H3zM9 21v-7h6v7'/></svg>"); }
.nx-ico-pergola { --ico: 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='M3 21V8M21 21V8M2 8h20M5 4h14M7 4v4M12 4v4M17 4v4'/></svg>"); }
.nx-ico-vetrata { --ico: 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='M3 4h18v16H3zM9 4v16M15 4v16'/></svg>"); }
.nx-ico-pin { --ico: 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='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0zM12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/></svg>"); }
.nx-ico-calendario { --ico: 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='M3 5h18v16H3zM16 3v4M8 3v4M3 10h18'/></svg>"); }
.nx-ico-euro { --ico: 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='M18 7a7 7 0 1 0 0 10M4 10h10M4 14h10'/></svg>"); }
.nx-ico-chiave { --ico: 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='M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.78 7.78 5.5 5.5 0 0 1 7.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4'/></svg>"); }
.nx-ico-chat { --ico: 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='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>"); }
.nx-ico-telefono { --ico: 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='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/></svg>"); }
.nx-ico-email { --ico: 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='M3 5h18v14H3zM3 6l9 7 9-7'/></svg>"); }
.nx-i {
	display: inline-block; width: 1.15em; height: 1.15em; flex: none; background: currentColor;
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
	vertical-align: -0.2em;
}

/* ==========================================================================
   Header
   ========================================================================== */
.nx-topbar { background: var(--nx-navy-900); color: var(--nx-on-dark); font-size: 15px; }
.nx-topbar__in { display: flex; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap; padding: 10px var(--nx-gutter); }
.nx-topbar a { color: #fff; font-weight: 600; text-decoration: none; display: inline-flex; gap: 8px; align-items: center; }
.nx-topbar .nx-i { color: var(--nx-on-dark); }
.nx-header { position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid var(--nx-border); }
.nx-header__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px var(--nx-gutter); }
.nx-logo { display: block; flex: none; }
.nx-logo img { width: 174px; height: auto; }
.nx-nav ul { list-style: none; margin: 0; padding: 0; }
.nx-nav > ul { display: flex; gap: 28px; align-items: center; }
.nx-nav a { color: var(--nx-ink); text-decoration: none; font-size: 15px; font-weight: 500; }
.nx-nav a:hover, .nx-nav .current-menu-item > a, .nx-nav .current-menu-ancestor > a { color: var(--nx-navy-700); }
.nx-nav li { position: relative; }
.nx-nav .menu-item-has-children > a::after {
	content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 4px; vertical-align: -2px; 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.4' stroke-linecap='round'><path d='M6 9l6 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.4' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;
}
.nx-nav .sub-menu {
	position: absolute; top: 100%; left: -16px; min-width: 260px; padding: 12px 0; margin-top: 12px;
	background: #fff; border: 1px solid var(--nx-border); border-radius: 14px; box-shadow: var(--nx-shadow);
	opacity: 0; visibility: hidden; transform: translateY(4px); transition: .15s ease;
}
.nx-nav .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.nx-nav li:hover > .sub-menu, .nx-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.nx-nav .sub-menu a { display: block; padding: 9px 20px; font-size: 15px; }
.nx-nav .sub-menu a:hover { background: var(--nx-soft); }
.nx-header__cta { display: flex; align-items: center; gap: 12px; }
.nx-burger, .nx-header__tel { display: none; }
@media (max-width: 1180px) {
	.nx-nav > ul { gap: 18px; }
}
@media (max-width: 1080px) {
	.nx-topbar { display: none; }
	.nx-header__in { padding-block: 12px; }
	.nx-logo img { width: 130px; }
	.nx-header__cta .nx-btn { display: none; }
	.nx-burger, .nx-header__tel {
		display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
		border-radius: 10px; border: 1px solid var(--nx-border); background: #fff; color: var(--nx-ink); cursor: pointer;
	}
	.nx-header__tel { background: var(--nx-navy-100); border-color: var(--nx-navy-100); color: var(--nx-navy-700); }
	.nx-burger span, .nx-burger span::before, .nx-burger span::after { display: block; width: 20px; height: 2px; background: currentColor; position: relative; content: ""; }
	.nx-burger span::before { position: absolute; top: -6px; }
	.nx-burger span::after { position: absolute; top: 6px; }
	.nx-nav {
		position: fixed; inset: 69px 0 0 0; background: #fff; padding: 16px 20px 120px; overflow: auto;
		transform: translateX(100%); transition: transform .2s ease; visibility: hidden;
	}
	.nx-nav.is-open { transform: none; visibility: visible; }
	.nx-nav > ul { flex-direction: column; align-items: stretch; gap: 0; }
	.nx-nav > ul > li { border-bottom: 1px solid var(--nx-border); }
	.nx-nav a { display: block; padding: 14px 0; font-size: 17px; font-weight: 600; }
	.nx-nav .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: 0 0 8px 12px; margin: 0; min-width: 0; }
	.nx-nav .sub-menu a { padding: 8px 0; font-weight: 500; }
	.nx-nav .menu-item-has-children > a::after { display: none; }
}

/* Header landing */
.nx-lp-header .nx-header__in { padding-block: 16px; }
.nx-lp-header .nx-logo img { width: 156px; }
.nx-lp-header__tag { font-size: 15px; color: var(--nx-muted); }
@media (max-width: 782px) { .nx-lp-header__tag { display: none; } .nx-lp-header .nx-logo img { width: 130px; } }

/* ==========================================================================
   Pulsanti
   ========================================================================== */
.nx-btn, .wp-block-button > .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 14px 26px; border-radius: 10px; border: 2px solid var(--nx-navy-700);
	background: var(--nx-navy-700); color: #fff; font: 600 16px/1.2 var(--nx-font-body); text-decoration: none; cursor: pointer;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.nx-btn:hover, .wp-block-button > .wp-block-button__link:hover { background: var(--nx-navy-900); border-color: var(--nx-navy-900); color: #fff; }
.nx-btn--primary::after, .wp-block-button:not(.nx-btn-noarrow) .wp-block-button__link::after {
	content: ""; width: 18px; height: 18px; background: currentColor; flex: none;
	-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;
}
.nx-btn--secondary, .wp-block-button.nx-btn-secondary > .wp-block-button__link { background: #fff; color: var(--nx-navy-700); }
.nx-btn--secondary:hover, .wp-block-button.nx-btn-secondary > .wp-block-button__link:hover { background: var(--nx-navy-100); color: var(--nx-navy-700); border-color: var(--nx-navy-700); }
.wp-block-button.nx-btn-ondark > .wp-block-button__link, .nx-btn--ondark { background: #fff; border-color: #fff; color: var(--nx-navy-900); }
.wp-block-button.nx-btn-ondark > .wp-block-button__link:hover, .nx-btn--ondark:hover { background: var(--nx-navy-100); border-color: var(--nx-navy-100); color: var(--nx-navy-900); }
.nx-btn--block { width: 100%; }
.nx-btn--small { min-height: 44px; padding: 10px 18px; font-size: 15px; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-button { margin: 0; }
@media (max-width: 782px) {
	.wp-block-buttons { flex-direction: column; align-items: stretch; }
	.wp-block-button__link { width: 100%; }
}

/* ==========================================================================
   Sezioni e layout
   ========================================================================== */
.nx-main > .wp-block-group, .nx-main > section { margin: 0; }
.nx-sec { padding: var(--nx-sec-y) var(--nx-gutter); }
.nx-sec > * + * { margin-block-start: 48px; }
.nx-sec--tight { padding-block: 56px; }
.nx-sec--top0 { padding-top: 0; }
.nx-sec--bottom0 { padding-bottom: 0; }
.nx-bg-soft { background: var(--nx-soft); }
.nx-bg-navy { background: var(--nx-navy-900); color: #fff; }
.nx-bg-navy700 { background: var(--nx-navy-700); color: #fff; }
.nx-bg-navy .nx-eyebrow, .nx-bg-navy700 .nx-eyebrow { color: var(--nx-on-dark); }
.nx-bg-navy .nx-lead, .nx-bg-navy700 .nx-lead,
.nx-bg-navy p:not(.nx-eyebrow), .nx-bg-navy700 p:not(.nx-eyebrow) { color: var(--nx-on-dark); }
.nx-bg-navy a:where(:not(.wp-block-button__link):not(.nx-btn)) { color: #fff; }

.nx-head { max-width: 860px; }
.nx-head > * + * { margin-block-start: 16px; }
.nx-head--center { margin-inline: auto; text-align: center; }
.nx-head--row { max-width: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.nx-head--row > * + * { margin: 0; }

.nx-stack > * + * { margin-block-start: 24px; }
.nx-stack--s > * + * { margin-block-start: 12px; }

.nx-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; }
.nx-split--form { grid-template-columns: minmax(0, 1fr) 460px; }
.nx-split--top { align-items: start; }
.nx-split--wide-left { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.nx-faqwrap { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 80px; align-items: start; }
.nx-grid { display: grid; gap: 24px; }
.nx-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.nx-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nx-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.nx-grid > *, .nx-split > *, .nx-faqwrap > * { margin: 0 !important; min-width: 0; }
@media (max-width: 1080px) {
	.nx-grid-4, .nx-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nx-split, .nx-split--form, .nx-split--wide-left, .nx-faqwrap { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}
@media (max-width: 782px) {
	.nx-grid-2, .nx-grid-3, .nx-grid-4, .nx-grid-5 { grid-template-columns: minmax(0, 1fr); }
	.nx-grid-m2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.nx-sec > * + * { margin-block-start: 32px; }
}

/* ==========================================================================
   Componenti
   ========================================================================== */
/* Hero */
.nx-hero h1 { max-width: 640px; }
.nx-hero .nx-lead { max-width: 580px; }
.nx-chip {
	display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 12px; border-radius: 999px;
	background: #fff; border: 1px solid var(--nx-border); color: var(--nx-navy-700);
	font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.nx-hero__media { position: relative; }
.nx-badge {
	position: absolute; left: -40px; bottom: -28px; display: flex; gap: 14px; align-items: center;
	padding: 18px 24px 18px 18px; background: #fff; border-radius: 16px; box-shadow: var(--nx-shadow);
}
.nx-badge strong { display: block; font: 700 19px/1.3 var(--nx-font-head); }
.nx-badge span { font-size: 15px; color: var(--nx-muted); }
.nx-badge .nx-i { width: 44px; height: 44px; }
@media (max-width: 1080px) { .nx-badge { left: 16px; bottom: 16px; } }

/* Barra prove */
.nx-proof { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; border-top: 1px solid var(--nx-border); padding-top: 28px; list-style: none; padding-left: 0; }
.nx-proof li { display: flex; gap: 14px; align-items: center; }
.nx-proof .nx-i { width: 28px; height: 28px; color: var(--nx-navy-700); }
.nx-proof strong { display: block; font-weight: 600; }
.nx-proof span { display: block; font-size: 15px; color: var(--nx-muted); }
@media (max-width: 782px) { .nx-proof { flex-direction: column; gap: 14px; } }

/* Liste con spunta */
ul.nx-checks { list-style: none; padding: 0; }
ul.nx-checks li { position: relative; padding-left: 34px; margin-top: 10px; }
ul.nx-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 22px; height: 22px; border-radius: 999px; background: var(--nx-navy-700);
}
ul.nx-checks li::after {
	content: ""; position: absolute; left: 4px; top: calc(.2em + 4px); width: 14px; height: 14px; background: #fff;
	-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='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></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='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/contain no-repeat;
}
.nx-bg-navy ul.nx-checks li::before { background: #fff; }
.nx-bg-navy ul.nx-checks li::after { background: var(--nx-navy-900); }
.nx-bg-navy ul.nx-checks li { color: #fff; }

/* Card */
.nx-card {
	background: #fff; border: 1px solid var(--nx-border); border-radius: var(--nx-radius); padding: 28px;
	display: flex; flex-direction: column; gap: 12px;
}
.nx-card > * { margin: 0 !important; }
.nx-card p:not(.nx-link):not(.nx-eyebrow) { color: var(--nx-muted); font-size: 15px; line-height: 1.6; }
.nx-card--soft { background: var(--nx-navy-100); border-color: var(--nx-navy-100); }
.nx-card--dark { background: var(--nx-navy-700); border-color: var(--nx-navy-700); color: #fff; }
.nx-card--dark p:not(.nx-eyebrow) { color: var(--nx-on-dark) !important; }
.nx-card--shadow { border: 0; box-shadow: var(--nx-shadow); }
.nx-card--row { flex-direction: row; align-items: flex-start; gap: 16px; }
.nx-card[class*="nx-ico-"] > :first-child { margin-top: 60px !important; }
.nx-card[class*="nx-ico-"]::before {
	content: ""; position: absolute; top: 28px; left: 28px; width: 48px; height: 48px; border-radius: 12px; background: var(--nx-navy-100);
}
.nx-card[class*="nx-ico-"]::after {
	content: ""; position: absolute; top: 40px; left: 40px; width: 24px; height: 24px; background: var(--nx-navy-700);
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.nx-card--dark[class*="nx-ico-"]::before, .nx-bg-navy .nx-plain[class*="nx-ico-"]::before { background: rgba(255,255,255,.12); }
.nx-card--dark[class*="nx-ico-"]::after { background: #fff; }
/* variante senza riquadro (pilastri su sfondo scuro) */
.nx-plain { position: relative; padding-top: 40px; }
.nx-plain > * + * { margin-block-start: 8px; }
.nx-plain[class*="nx-ico-"]::after {
	content: ""; position: absolute; top: 0; left: 0; width: 28px; height: 28px; background: currentColor;
	-webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat;
}
.nx-bg-navy .nx-plain { color: #fff; }
.nx-plain p { font-size: 15px; }

.nx-link { font-weight: 600; color: var(--nx-navy-700); }
.nx-link a { text-decoration: none; color: inherit; }
.nx-link a::after { content: " →"; }
.nx-link a:hover { text-decoration: underline; }
.nx-card a.nx-stretch::before, .nx-card .nx-link a::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.nx-card { position: relative; }
.nx-card:has(.nx-link a:hover) { border-color: var(--nx-navy-500); }

/* Card prodotto (immagine in alto) */
.nx-pcard { padding: 0; overflow: hidden; }
.nx-pcard .wp-block-image, .nx-pcard figure { margin: 0 !important; }
.nx-pcard img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.nx-pcard__body { padding: 24px 28px 28px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.nx-pcard__body > * { margin: 0 !important; }
.nx-tags { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.nx-tags li { padding: 5px 12px; border-radius: 999px; background: var(--nx-navy-100); color: var(--nx-navy-700); font-size: 15px; }

/* Immagini / media */
.nx-media img, img.nx-media { border-radius: var(--nx-radius-lg); width: 100%; object-fit: cover; }
.nx-media--43 img { aspect-ratio: 4 / 3; }
.nx-media--11 img { aspect-ratio: 1 / 1; }
.nx-media--169 img { aspect-ratio: 16 / 9; }
.nx-media--wide img { aspect-ratio: 15 / 7; }
.wp-block-image figcaption { font-size: 13px; color: var(--nx-muted); margin-top: 8px; }

/* Statistiche */
.nx-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; border-top: 1px solid var(--nx-navy-500); padding-top: 40px; }
.nx-stats > * { margin: 0 !important; }
.nx-stat strong, .nx-stat-num { display: block; font: 800 48px/1.1 var(--nx-font-head); letter-spacing: -0.02em; color: #fff; }
.nx-bg-white .nx-stat strong { color: var(--nx-ink); }
@media (max-width: 782px) { .nx-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .nx-stat strong { font-size: 34px; } }

/* Passi numerati */
.nx-steps { counter-reset: nxstep; }
.nx-step { counter-increment: nxstep; }
.nx-step::before {
	content: counter(nxstep); display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 999px;
	background: var(--nx-navy-700); color: #fff; font: 700 19px/1 var(--nx-font-head);
}
.nx-step h3, .nx-step h4 { font-size: 19px; }

/* Banner */
.nx-banner {
	display: flex; justify-content: space-between; align-items: center; gap: 48px; flex-wrap: wrap;
	padding: 56px 64px; border-radius: 24px; background: var(--nx-navy-700); color: #fff;
}
.nx-banner > * { margin: 0 !important; }
.nx-banner .nx-head { max-width: 640px; }
.nx-banner p:not(.nx-eyebrow) { color: var(--nx-on-dark); }
.nx-banner .nx-eyebrow { color: var(--nx-on-dark); }
.nx-banner--dark { background: var(--nx-navy-900); }
@media (max-width: 782px) { .nx-banner { padding: 32px 24px; gap: 24px; } }

/* FAQ */
.nx-faqs > * { margin: 0 !important; }
details.wp-block-details, details.nx-faq { border-bottom: 1px solid var(--nx-border); padding: 22px 0; }
details > summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center;
	font: 700 19px/1.37 var(--nx-font-head); color: var(--nx-ink);
}
details > summary::-webkit-details-marker { display: none; }
details > summary::after {
	content: ""; width: 22px; height: 22px; flex: none; background: var(--nx-navy-700); transition: transform .15s ease;
	-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.2' stroke-linecap='round'><path d='M6 9l6 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.2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>") center/contain no-repeat;
}
details[open] > summary::after { transform: rotate(180deg); }
details > :not(summary) { margin-top: 10px; color: var(--nx-muted); }

/* Tabelle */
.wp-block-table.nx-table { border: 1px solid var(--nx-border); border-radius: var(--nx-radius); overflow: auto; }
.nx-table table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 15px; }
.nx-table th, .nx-table td { text-align: left; padding: 16px 20px; border: 0; vertical-align: top; }
.nx-table thead th { background: var(--nx-navy-700); color: #fff; font-weight: 600; border: 0; }
.nx-table tbody tr:nth-child(even) { background: var(--nx-soft); }
.nx-table tbody td:first-child { font-weight: 600; color: var(--nx-ink); }
.nx-table tbody td { color: var(--nx-muted); }
.nx-table thead { border: 0; }

/* Lavori */
.nx-work__link { display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: inherit; }
.nx-work__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 14px; transition: transform .25s ease; }
.nx-work__media { overflow: hidden; border-radius: 14px; }
.nx-work__link:hover img { transform: scale(1.03); }
.nx-work__title { font-size: 19px; line-height: 1.37; }
.nx-work__link:hover .nx-work__title { color: var(--nx-navy-700); }

/* Recensioni */
.nx-review { border: 0; box-shadow: var(--nx-shadow); }
.nx-card.nx-review p.nx-stars, .nx-review .nx-stars { color: var(--nx-amber); letter-spacing: 2px; font-size: 18px; }
.nx-review p.nx-review__text { color: var(--nx-ink) !important; font-size: 17px !important; line-height: 1.6 !important; }
.nx-review p.nx-review__by { font-weight: 600; }

/* Video (segnaposto o embed) */
.nx-video img { border-radius: var(--nx-radius-lg); aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.nx-video .wp-block-embed__wrapper iframe { border-radius: var(--nx-radius-lg); aspect-ratio: 16/9; width: 100%; height: auto; }

/* Mappa e chip zone */
.nx-zones { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.nx-zones li { display: inline-flex; gap: 8px; align-items: center; padding: 10px 16px; border: 1px solid var(--nx-border); border-radius: 999px; background: #fff; font-weight: 600; }
.nx-zones li::before {
	content: ""; width: 16px; height: 16px; background: var(--nx-navy-700);
	-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='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0zM12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/></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='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0zM12 13a3 3 0 1 0 0-6 3 3 0 0 0 0 6z'/></svg>") center/contain no-repeat;
}
.nx-zones a { text-decoration: none; color: inherit; }

/* Breadcrumb */
.nx-crumbs { background: var(--nx-soft); padding: 14px var(--nx-gutter); font-size: 15px; }
.nx-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nx-crumbs li + li::before { content: "›"; margin-right: 8px; color: var(--nx-muted); }
.nx-crumbs a { text-decoration: none; }
.nx-crumbs [aria-current] { color: var(--nx-ink); }

/* Form */
.nx-form {
	background: #fff; border-radius: var(--nx-radius-lg); box-shadow: var(--nx-shadow); padding: 32px;
	display: flex; flex-direction: column; gap: 14px; color: var(--nx-ink); text-align: left;
}
.nx-form__title { font: 700 24px/1.33 var(--nx-font-head); }
.nx-form__sub { font-size: 15px; color: var(--nx-muted) !important; margin-top: -8px !important; }
.nx-form fieldset { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.nx-form legend { font-weight: 600; margin-bottom: 8px; padding: 0; }
.nx-radio { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 0 16px; border: 1px solid var(--nx-border); border-radius: 10px; cursor: pointer; font-weight: 600; }
.nx-radio input { width: 18px; height: 18px; accent-color: var(--nx-navy-700); margin: 0; }
.nx-radio:has(input:checked) { border: 2px solid var(--nx-navy-700); background: var(--nx-navy-100); padding: 0 15px; }
.nx-field { display: flex; flex-direction: column; gap: 6px; }
.nx-field label { font-size: 15px; }
.nx-field input {
	min-height: 48px; padding: 0 14px; border: 1px solid var(--nx-steel-500); border-radius: 10px; font: 400 17px var(--nx-font-body); color: var(--nx-ink); background: #fff;
}
.nx-field input:focus { outline: 3px solid var(--nx-navy-100); border-color: var(--nx-navy-700); }
.nx-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--nx-muted); }
.nx-check input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--nx-navy-700); }
.nx-hp { position: absolute !important; left: -9999px; height: 1px; overflow: hidden; }
.nx-form__msg:empty { display: none; }
.nx-form__msg { font-weight: 600; color: var(--nx-navy-700) !important; }
.nx-form.is-sent fieldset, .nx-form.is-sent .nx-field, .nx-form.is-sent .nx-check, .nx-form.is-sent button { display: none; }
.nx-form__wa { text-align: center; font-weight: 600; text-decoration: none; }
.nx-form__wa::before {
	content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -3px; background: currentColor;
	-webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat;
}
.nx-form__wa { --ico: 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='M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z'/></svg>"); }
@media (max-width: 782px) { .nx-form { padding: 24px 20px; } }

/* Contatti: righe info */
.nx-info { display: flex; gap: 16px; align-items: center; background: #fff; border-radius: var(--nx-radius); padding: 20px 24px; }
.nx-info .nx-i { width: 24px; height: 24px; color: var(--nx-navy-700); }

/* Articolo (guide) */
.nx-article { display: grid; grid-template-columns: minmax(0, 760px) 360px; gap: 80px; align-items: start; }
.nx-article__body > * + * { margin-block-start: 24px; }
.nx-article__body h2 { margin-top: 48px; }
.nx-article__body p, .nx-article__body li { font-size: 18px; line-height: 1.7; }
.nx-article__body ul, .nx-article__body ol { padding-left: 1.2em; }
.nx-article__side { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 24px; }
.nx-inbreve { background: var(--nx-navy-100); border-radius: var(--nx-radius); padding: 24px 28px; }
.nx-toc { border: 1px solid var(--nx-border); border-radius: var(--nx-radius); padding: 24px; }
.nx-toc ol { margin: 12px 0 0; padding-left: 1.2em; }
.nx-toc a { font-weight: 600; text-decoration: none; }
.nx-meta { display: flex; gap: 12px; align-items: center; color: var(--nx-muted); font-size: 15px; }
@media (max-width: 1080px) { .nx-article { grid-template-columns: minmax(0, 1fr); } .nx-article__side { position: static; } }

/* Pagina lavoro */
.nx-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; list-style: none; padding: 0; }
.nx-facts span { display: block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-muted); }
.nx-facts strong { font-weight: 600; }
@media (max-width: 782px) { .nx-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nx-quote { border-left: 4px solid var(--nx-navy-700); padding: 8px 0 8px 32px; }
.nx-quote p { font: 700 24px/1.4 var(--nx-font-head); color: var(--nx-navy-700); }
.nx-quote cite { display: block; margin-top: 12px; font-style: normal; color: var(--nx-muted); font-weight: 600; }

/* Filtri archivio */
.nx-filters { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; }
.nx-filters a { display: inline-block; padding: 10px 16px; border: 1px solid var(--nx-border); border-radius: 999px; text-decoration: none; color: var(--nx-ink); font-weight: 600; }
.nx-filters a[aria-current], .nx-filters a:hover { background: var(--nx-navy-700); border-color: var(--nx-navy-700); color: #fff; }

/* Paginazione */
.nx-pager { display: flex; justify-content: center; gap: 8px; }
.nx-pager .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; border: 1px solid var(--nx-border); border-radius: 10px; text-decoration: none; }
.nx-pager .current { background: var(--nx-navy-700); color: #fff; border-color: var(--nx-navy-700); }

/* ==========================================================================
   Footer
   ========================================================================== */
.nx-footer { background: var(--nx-navy-900); color: var(--nx-on-dark); padding: 72px var(--nx-gutter) 40px; font-size: 15px; }
.nx-footer__cols { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 48px; }
.nx-footer h2 { font: 600 13px/1.25 var(--nx-font-body); letter-spacing: .08em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
.nx-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nx-footer a { color: var(--nx-on-dark); text-decoration: none; }
.nx-footer a:hover { color: #fff; text-decoration: underline; }
.nx-footer__logo img { width: 156px; margin-bottom: 16px; }
.nx-footer__nap { display: flex; flex-direction: column; gap: 8px; font-style: normal; }
.nx-footer__legal { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--nx-navy-500); margin-top: 48px; padding-top: 24px; }
@media (max-width: 1080px) { .nx-footer__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 782px) { .nx-footer { padding: 48px 20px 120px; } .nx-footer__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
.nx-lp-footer { background: var(--nx-navy-900); color: var(--nx-on-dark); padding: 28px var(--nx-gutter); font-size: 15px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.nx-lp-footer a { color: var(--nx-on-dark); }
@media (max-width: 782px) { .nx-lp-footer { padding-bottom: 110px; } }

/* Barra CTA fissa su mobile */
.nx-mbar { display: none; }
@media (max-width: 782px) {
	.nx-mbar {
		display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -8px 24px rgba(12, 43, 69, .12);
	}
	.nx-mbar .nx-btn { min-height: 48px; padding: 10px 12px; font-size: 15px; }
	.nx-mbar .nx-btn--primary::after { display: none; }
}

/* Nota tecnica (solo anteprima/staging) */
.nx-devnote { background: #FFF5D9; color: var(--nx-ink); font-size: 14px; padding: 10px var(--nx-gutter); }

/* Allineamenti editor */
.has-text-align-center { text-align: center; }
.aligncenter { margin-inline: auto; }

/* Correzioni contesto scuro */
.nx-info { color: var(--nx-ink); }
.nx-bg-navy .nx-info a, .nx-info a { color: var(--nx-navy-700); font-weight: 600; }
.nx-bg-navy .nx-info .nx-muted, .nx-info .nx-muted { color: var(--nx-muted) !important; }
.nx-stat span { display: block; margin-top: 6px; color: var(--nx-on-dark); font-size: 15px; }
.nx-step > :first-child { margin-top: 16px !important; }
.nx-rating { text-align: right; line-height: 1.3; }
.nx-rating .nx-h2 { margin-right: 8px; }
.nx-bg-navy .nx-form p, .nx-bg-navy .nx-form legend, .nx-bg-navy .nx-form label { color: var(--nx-ink); }
.nx-bg-navy .nx-form a { color: var(--nx-navy-700); }
.nx-bg-navy .nx-form .nx-check, .nx-bg-navy .nx-form .nx-form__sub { color: var(--nx-muted); }
@media (max-width: 782px) {
	.wp-block-buttons > .wp-block-button { width: 100%; }
	.wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }
	.nx-rating { text-align: left; }
	.nx-badge { position: relative; left: auto; bottom: auto; margin: -36px 16px 0; }
}

/* KPI (numeri grandi) */
.nx-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.nx-kpis > div { border-top: 2px solid var(--nx-navy-700); padding-top: 14px; }
.nx-kpis strong { display: block; font: 800 32px/1.15 var(--nx-font-head); letter-spacing: -0.02em; color: var(--nx-ink); }
.nx-kpis span { display: block; margin-top: 6px; font-size: 15px; color: var(--nx-muted); }
.nx-kpis--dark > div { border-top-color: var(--nx-navy-500); }
.nx-kpis--dark strong { color: #fff; }
.nx-kpis--dark span { color: var(--nx-on-dark); }
@media (max-width: 1080px) { .nx-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nx-hero .nx-kpis strong { font-size: 28px; }

/* Campioni colore */
.nx-swatches { display: flex; flex-wrap: wrap; gap: 24px; list-style: none; padding: 0; }
.nx-swatches li { display: flex; flex-direction: column; gap: 10px; font-weight: 600; font-size: 15px; }
.nx-swatches span { width: 120px; height: 80px; border-radius: 12px; border: 1px solid var(--nx-border); }

/* Lead più stretta nelle intestazioni centrate e nei banner */
.nx-banner .nx-lead { color: var(--nx-on-dark); }
.nx-card--dark .nx-eyebrow { color: var(--nx-on-dark); }

/* Persone (Chi siamo) */
.nx-person > * + * { margin-top: 8px; }
.nx-person__ph { aspect-ratio: 4 / 5; border-radius: var(--nx-radius); background: linear-gradient(180deg, var(--nx-navy-100), var(--nx-steel-200)); display: grid; place-items: center; color: var(--nx-navy-500); margin-bottom: 16px; }
.nx-person__ph .nx-i { width: 56px; height: 56px; }
/* CTA dentro le guide */
.nx-inline-cta { margin-block: 40px !important; }
.nx-inline-cta h3 { color: #fff; }
.nx-article__body .nx-inline-cta p { font-size: 16px; }
.nx-article__body details > summary { font-size: 18px; }
.nx-article__body .wp-block-table { margin-block: 8px; }
/* Righe info in griglia */
.nx-infos .nx-info { border: 1px solid var(--nx-border); }
.nx-infos .nx-info a { font-weight: 600; text-decoration: none; }

/* Landing */
.nx-lp-rating { font-size: 15px; color: var(--nx-muted); }
.nx-lp-rating strong { color: var(--nx-ink); }
.nx-lp-hero .nx-split--form { grid-template-columns: minmax(0, 1fr) 440px; }
.nx-lp-strip p { color: #fff !important; font-size: 19px; }
.nx-lp-trust .nx-proof { border-top: 0; padding-top: 0; }
.nx-card p strong { display: block; margin-top: 10px; color: var(--nx-navy-700); font-weight: 600; }
@media (max-width: 1080px) { .nx-lp-hero .nx-split--form { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 782px) { .nx-grid-m2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 782px) { .nx-hide-m { display: none; } }
