/*
 * Valves Sito, ritocchi finali: caricato DOPO valves-site.css (generato dal mockup).
 * Contiene solo ciò che serve per far convivere il mockup con Elementor e il tema.
 */

/* Header e barra interna "sticky": in Elementor ogni widget sta in un suo contenitore, quindi
   l'effetto sticky va sul contenitore del widget (che ha come genitore l'intera colonna). */
.valves-site .elementor-widget-valves_header { position: sticky; top: 0; z-index: 40; }
.valves-site .elementor-widget-valves_header .site-header { position: static; }
.valves-site .elementor-widget-valves_subnav { position: sticky; top: var(--p-top, 68px); z-index: 30; }
.valves-site .elementor-widget-valves_subnav .p-subnav { position: static; }
.valves-site .elementor-widget-valves_header .elementor-widget-container,
.valves-site .elementor-widget-valves_subnav .elementor-widget-container { overflow: visible; }
.admin-bar.valves-site { --p-top: 100px; }
.admin-bar.valves-site .elementor-widget-valves_header { top: 32px; }
.admin-bar.valves-site .menu-panel.mega { top: 108px; }
@media (max-width: 782px) {
	.admin-bar.valves-site { --p-top: 114px; }
	.admin-bar.valves-site .elementor-widget-valves_header { top: 46px; }
}

/* "Come funziona" e "Integrazioni" sono due widget ma una sola sezione visiva */
.valves-site .p-sec-open { padding-bottom: 0; }
.valves-site .p-sec-cont { padding-top: 0; }

/* Il tema imposta un contorno nero con alone bianco sul focus: qui vale quello del mockup */
.valves-site a:focus-visible,
.valves-site button:focus-visible,
.valves-site input:focus-visible,
.valves-site summary:focus-visible,
.valves-site [tabindex]:not([tabindex="-1"]):focus-visible {
	outline: 3px solid var(--focus); outline-offset: 2px; box-shadow: none; border-radius: 4px;
}
.valves-site [tabindex="-1"]:focus { outline: none; }

/* Ricerca nel header: il campo della ricerca nativa di WordPress */
.valves-site .ss-box input[type="search"] { -webkit-appearance: none; appearance: none; }

/* Il tema Hello Elementor stila .site-header/.site-footer (max-width 1140px, margini, padding, flex):
   qui header e footer sono quelli del sito Valves, a tutta larghezza. */
.valves-site .elementor-widget-valves_header .site-header,
.valves-site .elementor-widget-valves_footer .site-footer {
	display: block; max-width: none; width: 100%; margin-inline: 0; padding-inline: 0;
}
.valves-site .elementor-widget-valves_header .site-header { padding-block: 0; margin-block: 0; }
.valves-site .elementor-widget-valves_footer .site-footer { padding-block: 56px 32px; margin-block: 40px 0; }

/* Logo immagine (header e footer). La versione chiara rende bianco lo stesso file per i fondi scuri:
   da sostituire con la variante ufficiale per fondi scuri quando Valves la fornisce. */
.valves-site .logo-img { display: inline-flex; align-items: center; }
.valves-site .logo-img img { display: block; width: auto; max-width: 100%; }
.valves-site .logo-img.logo-light img { filter: brightness(0) invert(1); }
@media (prefers-color-scheme: dark) { .valves-site .site-header .logo-img img { filter: brightness(0) invert(1); } }
.valves-site .site-footer .logo-img { justify-self: start; align-self: flex-start; margin-right: auto; }

/* ========================================================================== 0.2.0: accessibilità (WCAG 2.2 AA) */

/* Contrasto: il testo "accento" (--accent-ink) è derivato dal mockup per lo sfondo bianco; su --bg e sulle
   schede selezionate scendeva sotto 4,5:1. Qui si rinforza con una quota di --ink (verificato su 13 prodotti x chiaro/scuro:
   tools/check-contrast.mjs). */
.valves-site .accent-scope, body.valves-site.accent-scope { --accent-text: color-mix(in srgb, var(--accent-ink) 80%, var(--ink)); }
@media (prefers-color-scheme: dark) {
	body.valves-site:not([data-theme="light"]) .accent-scope, body.valves-site:not([data-theme="light"]).accent-scope { --accent-text: color-mix(in srgb, var(--accent-ink-dark) 80%, var(--ink)); }
}
body.valves-site[data-theme="dark"] .accent-scope, body.valves-site[data-theme="dark"].accent-scope { --accent-text: color-mix(in srgb, var(--accent-ink-dark) 80%, var(--ink)); }

/* Testo prugna: nel tema scuro la prugna (#8a2470) sul fondo scuro ha 2,2:1; per il testo si usa una variante chiara */
.valves-site { --plum-text: var(--plum); }
@media (prefers-color-scheme: dark) {
	.valves-site:not([data-theme="light"]) { --plum-text: #e49ccb; }
}
.valves-site[data-theme="dark"] { --plum-text: #e49ccb; }
.valves-site .badge-family, .valves-site .mega-families b, .valves-site .m-fam { color: var(--plum-text); }
.valves-site .m-sec summary::after, .valves-site .m-sec[open] summary::after { color: var(--plum-text); }

/* Hero, tema scuro: sul gradiente dell'accento (es. giallo) il testo secondario scendeva a 4,2:1: si usa --ink */
@media (prefers-color-scheme: dark) {
	body.valves-site:not([data-theme="light"]) .p-lead, body.valves-site:not([data-theme="light"]) .p-gloss,
	body.valves-site:not([data-theme="light"]) .p-hero .crumbs, body.valves-site:not([data-theme="light"]) .p-hero .crumbs a,
	body.valves-site:not([data-theme="light"]) .p-hero .illu-note { color: var(--ink); }
}
body.valves-site[data-theme="dark"] .p-lead, body.valves-site[data-theme="dark"] .p-gloss,
body.valves-site[data-theme="dark"] .p-hero .crumbs, body.valves-site[data-theme="dark"] .p-hero .crumbs a,
body.valves-site[data-theme="dark"] .p-hero .illu-note { color: var(--ink); }

.valves-site .ss-box input::placeholder { color: var(--muted); opacity: 1; }
.valves-site .p-src-h { font-weight: 600; }

/* Titoli di colonna del footer: sono <h2> (struttura dei titoli) con l'aspetto dei vecchi <h4> */
.valves-site .foot-grid .foot-h { color: #fff; text-transform: uppercase; letter-spacing: .1em; font-size: 1rem; font-weight: 600; line-height: 1.05; margin-bottom: 12px; }
.valves-site .site-footer :focus-visible { outline-color: #fff; }

/* Struttura: <main> garantito dal plugin con il modello Canvas */
.valves-site .valves-main { display: block; width: 100%; max-width: 100%; }
.valves-site .valves-main:focus { outline: none; }

/* Link "Vai al contenuto" */
.valves-site .skip { border-radius: 0 0 10px 10px; font-weight: 600; box-shadow: var(--shadow); text-decoration: none; }
.valves-site .skip:focus { top: 0; left: 8px; }

/* Focus non coperto dall'header e dalla barra interna fissi (WCAG 2.4.11) */
html:has(body.valves-site), html:has(.valves-global-header) { scroll-padding-top: calc(var(--p-top, 68px) + 72px); }

/* Aree di tocco: 44 px sui dispositivi touch (il minimo AA è 24 px) */
@media (pointer: coarse) {
	.valves-site .icon-btn { width: 44px; height: 44px; }
	.valves-site .p-subnav a, .valves-site .menu-trigger { min-height: 44px; }
}
.valves-site .btn, .valves-site .m-search, .valves-site .p-tab { min-height: 44px; }

/* Pulsante "Metti in pausa le animazioni" */
.valves-site .motion-btn .mo-play { display: none; }
.valves-site .motion-btn[aria-pressed="true"] .mo-pause { display: none; }
.valves-site .motion-btn[aria-pressed="true"] .mo-play { display: inline; }
@media (prefers-reduced-motion: reduce) { .valves-site .motion-btn { display: none; } }

/* Animazioni in pausa (scelta del visitatore): ferma i cicli e mostra lo stato finale. !important è necessario
   perché le animazioni sono dichiarate con selettori più specifici (.is-playing .x). */
.valves-site.v-paused *, .valves-site.v-paused *::before, .valves-site.v-paused *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
.valves-site.v-paused .reveal-ready { opacity: 1; transform: none; }

/* Illustrazioni caricate dall'utente */
.valves-site .v-illu-img { display: block; width: 100%; max-width: 100%; height: auto; }
.valves-site .v-gif { display: block; position: relative; }
.valves-site .v-gif-hold { display: none; }
.valves-site .v-gif.is-held .v-gif-img { display: none; }
.valves-site .v-gif.is-held .v-gif-hold,
.valves-site .v-gif.is-forced .v-gif-hold { display: grid; }
.valves-site .v-gif.is-forced .v-gif-hold { position: absolute; right: 8px; bottom: 8px; padding: 0; background: none; border: 0; aspect-ratio: auto; }
.valves-site .v-gif.is-forced .v-gif-hold-t { display: none; }
.valves-site .v-gif-hold { place-items: center; align-content: center; gap: 12px; aspect-ratio: var(--v-ar, 16 / 9); padding: 16px; text-align: center; background: var(--surface-2); border: 1px dashed var(--muted); border-radius: var(--radius-sm); color: var(--ink-soft); }
.valves-site .v-gif.is-forced .v-gif-show { background: var(--surface); }
@media (prefers-reduced-motion: reduce) {
	/* senza JavaScript: con "meno movimento" una GIF senza immagine statica resta nascosta */
	.valves-site .v-gif:not([data-still]):not(.is-forced) .v-gif-img { display: none; }
	.valves-site .v-gif:not([data-still]):not(.is-forced) .v-gif-hold { display: grid; }
}
.valves-site .v-alt-warn { margin: 8px 0 0; padding: 8px 12px; border-radius: 8px; background: #fff3cd; color: #4d3300; border: 1px solid #b07a00; font-size: .9rem; max-width: none; }

/* Richiami di fonte sul fondo colorato della testata: il blu non basta (3,5:1), si usa --ink */
.valves-site .p-hero .src-ref { color: var(--ink); }

/* Sfondo della testata scelto nella scheda Stile: toglie il gradiente predefinito (lo sfondo di Elementor ha specificità maggiore) */
.valves-site .p-hero.v-custom-bg { background: none; }

/* Aree di tocco dei link isolati (non in mezzo a una frase): almeno 24 px di altezza (WCAG 2.5.8) */
.valves-site .p-int-more, .valves-site .p-plain a, .valves-site .crumbs a, .valves-site .card .more { display: inline-flex; align-items: center; min-height: 24px; }
.valves-site .p-int-more { align-self: start; }
.valves-site .p-int-more.p-int-nolink { display: block; min-height: 0; }

/* ========================================================================== 0.3.0: header e footer globali, menu, ricerca */

/* Header globale: il contenitore sta direttamente sotto <body>, quindi lo sticky vale per tutta la pagina */
.valves-global-header { position: sticky; top: 0; z-index: 40; background: var(--bg); }
.valves-global-header .elementor-widget-valves_header { position: static; }
.valves-global-header .elementor-widget-valves_header .elementor-widget-container { overflow: visible; }
.admin-bar .valves-global-header { top: 32px; }
.admin-bar .valves-global-header .menu-panel.mega { top: 108px; }
@media (max-width: 782px) { .admin-bar .valves-global-header { top: 46px; } }
.valves-global-footer { background: var(--bg); }
body:not(.valves-site) .valves-global-footer .elementor-widget-valves_footer .site-footer { margin-block-start: 0; }
/* Il contenitore stesso resta neutro: la larghezza e lo stile sono quelli dei widget */
.valves-global-header .elementor-section, .valves-global-footer .elementor-section { width: 100%; }

/* Pannelli: gruppi nelle tendine, puntino colorato dei prodotti, icone, descrizioni */
.valves-site .drop-group { padding: 8px 12px 2px; }
.valves-site .drop-group > .ch-label { display: block; margin-bottom: 4px; }
.valves-site .drop-group .drop-list { margin-inline: -12px; }
.valves-site .v-dot { display: inline-block; flex: none; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--dot, var(--blue)); vertical-align: middle; position: relative; top: -1px; }
.valves-site .v-t { font-style: normal; }
.valves-site .v-mini-icon { width: 16px; height: 16px; margin-right: 6px; vertical-align: -3px; color: var(--blue); }
.valves-site .v-desc { display: block; font-size: .8rem; line-height: 1.3; color: var(--muted); }
.valves-site .mega-families li > a { display: block; }

/* Menu per telefono: fisarmonica a pulsanti (aria-expanded + aria-controls) */
.valves-site .m-sec .m-toggle { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 18px 2px; border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; font: 700 1.4rem var(--font-display); min-height: 44px; }
.valves-site .m-sec .m-toggle::after { content: "+"; color: var(--plum-text); font-size: 1.5rem; }
.valves-site .m-sec .m-toggle[aria-expanded="true"]::after { content: "–"; }
.valves-site .m-sec .m-body[hidden] { display: none; }

/* Ricerca: suggerimenti e messaggi */
.valves-site .ss-empty { margin: 0; padding: 10px 4px; color: var(--ink-soft); }
.valves-site .ss-empty a { color: var(--blue); }
.valves-site .ss-hint { margin: 0; }
.valves-site .ac-list [role="option"] small { font-size: .82rem; }
.valves-site .ac-list [role="option"] .chip { flex: none; }
.valves-site .v-noscript-search { display: flex; gap: 6px; align-items: center; }
.valves-site .v-noscript-search input { font: inherit; padding: 8px 10px; border-radius: 10px; border: 1.5px solid var(--blue); background: var(--bg); color: var(--ink); width: 160px; }
/* Voce del menu della sezione corrente: la prugna sul fondo scuro non basta, si usa la variante per il testo */
.valves-site .menu-item.is-active .menu-trigger { color: var(--plum-text); box-shadow: inset 0 -2px 0 var(--plum-text); }

/* "Come funziona" + "Integrazioni": due widget, una sezione visiva. Senza padding sotto, il margine di .p-flow
   (80px) usciva dalla sezione e lasciava una fascia vuota fuori dallo sfondo: flow-root lo tiene dentro. */
.valves-site .p-sec-open, .valves-site .p-sec-cont { display: flow-root; }

/* 0.8.3 menu «Soluzioni»: mercati su due colonne, nome in grassetto e descrizione breve della scheda sotto */
.valves-site .mega-markets.has-desc { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.valves-site .mega-markets.has-desc a { align-items: flex-start; min-height: 0; padding: 10px 12px; }
.valves-site .mega-markets.has-desc a > span { display: grid; gap: 3px; }
.valves-site .mega-markets.has-desc b { font: 600 1.08rem/1.2 var(--font-display); color: var(--ink); }
.valves-site .mega-markets.has-desc .v-desc { font-size: .9rem; line-height: 1.4; color: var(--muted); }
.valves-site .mega-markets.has-desc svg { margin-top: 1px; }

/* 0.8.6 — testata chiara (fondo bianco) per Diventa partner, News, Academy, Assistenza e le singole posizioni.
   «Fondo della testata: Scuro» nel widget rimette la testata blu notte. Con il tema scuro del browser i colori seguono il tema. */
.valves-site .az-hero.az-hero-light, .valves-site .rs-hero.rs-hero-light { color: var(--ink); background: var(--bg); border-bottom: 1px solid var(--line); }
.valves-site .az-hero.az-hero-light .az-copy h1, .valves-site .rs-hero.rs-hero-light .rs-copy h1 { color: var(--ink); }
.valves-site .az-hero.az-hero-light .az-copy .eyebrow, .valves-site .rs-hero.rs-hero-light .rs-copy .eyebrow { color: var(--blue); }
.valves-site .az-hero.az-hero-light .az-copy .eyebrow::before, .valves-site .rs-hero.rs-hero-light .rs-copy .eyebrow::before { background: var(--blue); }
.valves-site .az-hero.az-hero-light .az-copy .lead, .valves-site .rs-hero.rs-hero-light .rs-copy .lead { color: var(--ink-soft); }
.valves-site .az-hero.az-hero-light .az-copy .lead b, .valves-site .rs-hero.rs-hero-light .rs-copy .lead b { color: var(--ink); }
.valves-site .az-hero.az-hero-light .az-copy .crumbs, .valves-site .az-hero.az-hero-light .az-copy .crumbs a, .valves-site .az-hero.az-hero-light .az-copy .crumbs li,
.valves-site .rs-hero.rs-hero-light .crumbs, .valves-site .rs-hero.rs-hero-light .crumbs a { color: var(--muted); }
.valves-site .az-hero.az-hero-light .az-copy .crumbs [aria-current], .valves-site .rs-hero.rs-hero-light .crumbs li[aria-current] { color: var(--ink); }
.valves-site .az-hero.az-hero-light .btn-primary, .valves-site .rs-hero.rs-hero-light .btn-primary { background: var(--plum); color: var(--on-plum); }
.valves-site .az-hero.az-hero-light .btn-primary:hover, .valves-site .rs-hero.rs-hero-light .btn-primary:hover { background: var(--plum-2); }
.valves-site .az-hero.az-hero-light .btn-ghost, .valves-site .rs-hero.rs-hero-light .btn-ghost { color: var(--ink); border-color: color-mix(in srgb, var(--ink) 35%, transparent); }
.valves-site .az-hero.az-hero-light .btn-ghost:hover, .valves-site .rs-hero.rs-hero-light .btn-ghost:hover { border-color: var(--ink); }
.valves-site .az-hero.az-hero-light :focus-visible, .valves-site .rs-hero.rs-hero-light :focus-visible { outline-color: var(--focus); }
.valves-site .az-hero.az-hero-light .src-ref, .valves-site .rs-hero.rs-hero-light .src-ref { color: var(--blue); }
.valves-site .az-hero.az-hero-light .az-viz-note .illu-note, .valves-site .az-hero.az-hero-light .az-viz > .illu-note, .valves-site .rs-hero.rs-hero-light .rs-viz > .illu-note { color: var(--muted); }
.valves-site .az-hero.az-hero-light .az-trust, .valves-site .az-hero.az-hero-light .az-quick, .valves-site .rs-hero.rs-hero-light .rs-facts { border-top-color: var(--line); }
.valves-site .az-hero.az-hero-light .az-trust li, .valves-site .az-hero.az-hero-light .az-quick li, .valves-site .rs-hero.rs-hero-light .rs-facts li, .valves-site .rs-hero.rs-hero-light .rs-pills li, .valves-site .rs-hero.rs-hero-light .rs-hours { color: var(--ink-soft); }
.valves-site .az-hero.az-hero-light .az-trust b, .valves-site .az-hero.az-hero-light .az-quick a, .valves-site .rs-hero.rs-hero-light .rs-facts b { color: var(--ink); }
.valves-site .az-hero.az-hero-light .az-trust .az-ico, .valves-site .az-hero.az-hero-light .az-quick .az-ico, .valves-site .rs-hero.rs-hero-light .rs-facts .rs-ico, .valves-site .rs-hero.rs-hero-light .rs-pills .rs-ico, .valves-site .rs-hero.rs-hero-light .rs-hours .rs-ico { color: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-pills li { border-color: var(--line); background: var(--surface); }
/* 0.8.7 — illustrazioni sul fondo chiaro: niente riquadro, solo i colori del sito (linee grigie, schede bianche, accenti) */
.valves-site .rs-hero.rs-hero-light .rs-dgc, .valves-site .rs-hero.rs-hero-light .rs-flowcard { background: transparent; border-color: transparent; box-shadow: none; }
.valves-site .az-hero.az-hero-light .az-dgcard, .valves-site .az-hero.az-hero-light .az-ringcard, .valves-site .az-hero.az-hero-light .az-mapcard { background: transparent; border-color: transparent; box-shadow: none; }
.valves-site .rs-hero.rs-hero-light .rs-dgc::before, .valves-site .rs-hero.rs-hero-light .rs-flowcard::before, .valves-site .az-hero.az-hero-light .az-dgcard::before, .valves-site .az-hero.az-hero-light .az-ringcard::before, .valves-site .az-hero.az-hero-light .az-mapcard::before { background: radial-gradient(color-mix(in srgb, var(--ink) 16%, transparent) 1px, transparent 1.5px) 0 0 / 20px 20px; }
/* News e Academy (SVG) */
.valves-site .rs-hero.rs-hero-light .rs-sh { stroke: var(--line); }
.valves-site .rs-hero.rs-hero-light .rs-sh-b { fill: var(--surface-2); }
.valves-site .rs-hero.rs-hero-light .rs-sh-m { fill: color-mix(in srgb, var(--surface-2) 50%, var(--surface)); }
.valves-site .rs-hero.rs-hero-light .rs-sh-f, .valves-site .rs-hero.rs-hero-light .rs-ac-screen { fill: var(--surface); stroke: var(--line); stroke-width: 1.5; }
.valves-site .rs-hero.rs-hero-light .rs-svg { filter: drop-shadow(0 18px 30px rgba(0, 8, 48, .08)); }
.valves-site .rs-hero.rs-hero-light .rs-ln-w { fill: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .rs-hero.rs-hero-light .rs-ln-d, .valves-site .rs-hero.rs-hero-light .rs-dot { fill: var(--line); }
.valves-site .rs-hero.rs-hero-light .rs-svg [stroke="#9fc8ff"] { stroke: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-svg [fill="#7cc8ff"], .valves-site .rs-hero.rs-hero-light .rs-svg [fill="#9fc8ff"] { fill: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-svg [stroke="#7cc8ff"] { stroke: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-dg-info { color: var(--ink-soft); }
.valves-site .rs-hero.rs-hero-light .rs-dg-info b { color: var(--ink); }
/* Assistenza: diagramma */
.valves-site .rs-hero.rs-hero-light .rs-flowcard .rs-label, .valves-site .rs-hero.rs-hero-light .rs-fcap { color: var(--muted); }
.valves-site .rs-hero.rs-hero-light .rs-gr { border-color: var(--line); background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.valves-site .rs-hero.rs-hero-light .rs-nd { background: var(--surface); border-color: var(--line); color: var(--ink); box-shadow: var(--shadow); }
.valves-site .rs-hero.rs-hero-light .rs-nd .rs-ico { color: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-conn { border-top-color: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .rs-hero.rs-hero-light .rs-conn::after { background: var(--blue); }
.valves-site .rs-hero.rs-hero-light .rs-hub { box-shadow: 0 18px 40px rgba(112, 24, 88, .22); }
.valves-site .rs-hero.rs-hero-light .rs-flowcard .illu-note { color: var(--muted); }
/* Azienda: schema, anello, mappa */
.valves-site .az-hero.az-hero-light .az-frame { border-color: var(--line); background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.valves-site .az-hero.az-hero-light .az-fcap, .valves-site .az-hero.az-hero-light .az-fcap-m { color: var(--muted); }
.valves-site .az-hero.az-hero-light .az-path { stroke: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .az-hero.az-hero-light .az-pill { background: var(--surface); border-color: var(--line); color: var(--ink); box-shadow: var(--shadow); }
.valves-site .az-hero.az-hero-light .az-mf { border-color: var(--line); background: color-mix(in srgb, var(--surface-2) 45%, transparent); }
.valves-site .az-hero.az-hero-light .az-mf::before { border-top-color: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .az-hero.az-hero-light .az-hub { box-shadow: 0 18px 40px rgba(112, 24, 88, .22); }
.valves-site .az-hero.az-hero-light .az-orbit, .valves-site .az-hero.az-hero-light .az-spoke { stroke: color-mix(in srgb, var(--ink) 22%, transparent); }
.valves-site .az-hero.az-hero-light .az-dot { fill: var(--blue); stroke: var(--bg); }
.valves-site .az-hero.az-hero-light .az-core { fill: var(--plum); stroke: color-mix(in srgb, var(--plum) 40%, var(--surface)); }
.valves-site .az-hero.az-hero-light .az-street { stroke: var(--surface-2); }
.valves-site .az-hero.az-hero-light .az-block { fill: color-mix(in srgb, var(--surface-2) 60%, transparent); stroke: var(--line); }
.valves-site .az-hero.az-hero-light .az-route { stroke: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .az-hero.az-hero-light .az-route-pulse { stroke: var(--blue); }
.valves-site .az-hero.az-hero-light .az-pin-body { stroke: var(--bg); }
.valves-site .az-hero.az-hero-light .az-pin-main .az-pin-body { fill: var(--blue); }
.valves-site .az-hero.az-hero-light .az-pin-dot { fill: var(--bg); }
.valves-site .az-hero.az-hero-light .az-pin-t { fill: var(--ink); }
.valves-site .az-hero.az-hero-light .az-pin-s { fill: var(--muted); }
.valves-site .az-hero.az-hero-light .az-win, .valves-site .az-hero.az-hero-light .az-float { box-shadow: 0 18px 40px rgba(0, 8, 48, .14); }

/* 0.8.7 — Foto nelle testate («Foto Valves» o immagine caricata) con l'etichetta che aggiunge un dato */
.valves-site .v-photo { position: relative; margin: 0; }
.valves-site .v-photo > img, .valves-site .v-photo > picture img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.valves-site .v-photo-badge { position: absolute; left: clamp(-28px, -2vw, -12px); bottom: 24px; z-index: 2; display: block; max-width: min(78%, 360px); margin: 0; padding: 14px 18px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 18px 40px rgba(0, 8, 48, .14); color: var(--ink-soft); font-size: 1rem; line-height: 1.35; }
.valves-site .v-photo-badge b { color: var(--ink); font-weight: 600; }
.valves-site .v-photo-badge.v-photo-badge-ico { display: flex; align-items: center; gap: 12px; }
.valves-site .v-photo-badge .rs-ico { flex: none; width: 40px; height: 40px; padding: 9px; border-radius: 10px; color: #fff; background: linear-gradient(135deg, var(--blue), var(--plum)); }
.valves-site .v-photo-badge.rs-dg-info { display: grid; gap: 2px; padding: 14px 18px; }
.valves-site .v-photo-badge.rs-dg-info b { font: 700 1.15rem/1.1 var(--font-display); letter-spacing: .02em; color: var(--ink); }
.valves-site .v-photo-badge.rs-dg-info span { color: var(--muted); }
.valves-site .rs-viz.is-photo, .valves-site .az-viz .v-photo { min-width: 0; }
@media (max-width: 1020px) {
  .valves-site .v-photo-badge { left: 12px; bottom: 12px; max-width: calc(100% - 24px); }
}
.valves-site .az-hero.az-hero-light .az-jobmark-ring { border-color: color-mix(in srgb, var(--blue) 45%, transparent); }
.valves-site .az-hero.az-hero-light .az-ring-cap { color: var(--ink-soft); }
.valves-site .az-hero.az-hero-light .az-ring-cap b { color: var(--ink); }

/* 0.8.8 — allineamento: ogni sezione parte dallo stesso bordo del logo */
.valves-site .wrap.rs-narrow { max-width: var(--maxw); }
.valves-site .h5-hero > .wrap { width: 100%; }

/* 0.8.9 — testata chiara degli indici Mercati e Prodotti («Fondo della testata: Scuro» rimette quella di prima) */
.valves-site .ix-hero.ix-hero-light { color: var(--ink); background: var(--bg); border-bottom: 1px solid var(--line); }
.valves-site .ix-hero.ix-hero-light .ix-copy h1 { color: var(--ink); }
.valves-site .ix-hero.ix-hero-light .ix-copy .eyebrow { color: var(--blue); }
.valves-site .ix-hero.ix-hero-light .ix-copy .eyebrow::before { background: var(--blue); }
.valves-site .ix-hero.ix-hero-light .ix-copy .lead { color: var(--ink-soft); }
.valves-site .ix-hero.ix-hero-light .ix-copy .lead b { color: var(--ink); }
.valves-site .ix-hero.ix-hero-light .ix-copy .crumbs, .valves-site .ix-hero.ix-hero-light .ix-copy .crumbs a { color: var(--muted); }
.valves-site .ix-hero.ix-hero-light .ix-copy .crumbs [aria-current] { color: var(--ink); }
.valves-site .ix-hero.ix-hero-light .btn-primary { background: var(--plum); color: var(--on-plum); }
.valves-site .ix-hero.ix-hero-light .btn-primary:hover { background: var(--plum-2); }
.valves-site .ix-hero.ix-hero-light .btn-ghost { color: var(--ink); border-color: color-mix(in srgb, var(--ink) 35%, transparent); }
.valves-site .ix-hero.ix-hero-light .btn-ghost:hover { border-color: var(--ink); }
.valves-site .ix-hero.ix-hero-light :focus-visible { outline-color: var(--focus); }
.valves-site .ix-hero.ix-hero-light .src-ref { color: var(--blue); }
.valves-site .ix-hero.ix-hero-light .illu-note, .valves-site .ix-hero.ix-hero-light .ix-dg-note { color: var(--muted); }
.valves-site .ix-hero.ix-hero-light .ix-trust { border-top-color: var(--line); }
.valves-site .ix-hero.ix-hero-light .ix-trust li { color: var(--ink-soft); }
.valves-site .ix-hero.ix-hero-light .ix-trust b { color: var(--ink); }
.valves-site .ix-hero.ix-hero-light .ix-trust .ix-ico { color: var(--blue); }
.valves-site .ix-hero.ix-hero-light .ix-search label { color: var(--ink); }
.valves-site .ix-hero.ix-hero-light .ix-search .muted { color: var(--muted); }
.valves-site .ix-hero.ix-hero-light .ix-search input { background: var(--surface); color: var(--ink); border: 1.5px solid color-mix(in srgb, var(--ink) 25%, transparent); box-shadow: var(--shadow); }
.valves-site .ix-hero.ix-hero-light .ix-search input:focus { outline-color: var(--focus); }
.valves-site .ix-hero.ix-hero-light .ix-result { border: 1px solid var(--line); border-left: 6px solid var(--accent); box-shadow: var(--shadow); }
/* l'anello e lo schema di prima, se scelti, sul fondo chiaro */
.valves-site .ix-hero.ix-hero-light .ix-ring, .valves-site .ix-hero.ix-hero-light .ix-spoke { stroke: color-mix(in srgb, var(--ink) 18%, transparent); }
.valves-site .ix-hero.ix-hero-light .ix-nbox { fill: var(--surface); stroke: var(--line); }
.valves-site .ix-hero.ix-hero-light .ix-nic, .valves-site .ix-hero.ix-hero-light .ix-nic * { stroke: var(--blue); }
.valves-site .ix-hero.ix-hero-light .ix-dgcard { background: transparent; border-color: transparent; box-shadow: none; }
.valves-site .ix-hero.ix-hero-light .ix-g { border-color: var(--line); background: color-mix(in srgb, var(--surface-2) 55%, transparent); }
.valves-site .ix-hero.ix-hero-light .ix-gcap { color: var(--muted); }
.valves-site .ix-hero.ix-hero-light .ix-pill { background: var(--surface); border-color: var(--line); color: var(--ink); box-shadow: var(--shadow); }

/* 0.8.9 — finestra stilizzata del gestionale (Mercati e Prodotti) */
.valves-site .ix-win-wrap, .valves-site .ix-dev-wrap { margin: 0; }
.valves-site .ix-win-stage { position: relative; padding: 48px 44px; }
.valves-site .ix-win-stage::before, .valves-site .ix-dev::before { content: ""; position: absolute; inset: 4% 2%; border-radius: 50%; background: radial-gradient(closest-side at 45% 55%, color-mix(in srgb, var(--blue) 10%, transparent), transparent 75%), radial-gradient(closest-side at 72% 30%, color-mix(in srgb, var(--plum) 8%, transparent), transparent 75%); pointer-events: none; }
.valves-site .ix-win { position: relative; z-index: 1; width: min(100%, 500px); margin-inline: auto; border-radius: 16px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 30px 60px rgba(0, 8, 48, .12); overflow: hidden; }
.valves-site .ix-win-bar { display: flex; align-items: center; gap: 6px; padding: 12px 16px; border-bottom: 1px solid var(--line); background: var(--surface-2); }
.valves-site .ix-win-bar i { width: 10px; height: 10px; border-radius: 50%; background: color-mix(in srgb, var(--ink) 18%, transparent); }
.valves-site .ix-win-bar b { margin-left: 10px; font: 600 .85rem var(--font-body); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.valves-site .ix-win-body { display: grid; grid-template-columns: 104px 1fr; min-height: 260px; }
.valves-site .ix-win-side { padding: 16px 14px; border-right: 1px solid var(--line); display: grid; gap: 12px; align-content: start; }
.valves-site .ix-win-side u { display: block; height: 8px; border-radius: 4px; background: var(--line); }
.valves-site .ix-win-side u.on { width: 80%; background: color-mix(in srgb, var(--plum) 55%, transparent); }
.valves-site .ix-win-main { padding: 18px; display: grid; gap: 14px; align-content: start; }
.valves-site .ix-win-h { height: 12px; width: 46%; border-radius: 6px; background: color-mix(in srgb, var(--ink) 70%, transparent); }
.valves-site .ix-win-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.valves-site .ix-win-kpis div { position: relative; height: 52px; border-radius: 10px; border: 1px solid var(--line); background: linear-gradient(180deg, var(--surface), var(--surface-2)); }
.valves-site .ix-win-kpis div::after { content: ""; position: absolute; left: 10px; bottom: 10px; width: 50%; height: 8px; border-radius: 4px; background: var(--k, var(--blue)); }
.valves-site .ix-win-bars { display: flex; align-items: flex-end; gap: 10px; height: 88px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); }
.valves-site .ix-win-bars span { flex: 1; border-radius: 4px 4px 0 0; background: color-mix(in srgb, var(--blue) 70%, transparent); }
.valves-site .ix-win-bars span:nth-child(2n) { background: color-mix(in srgb, var(--plum) 70%, transparent); }
/* etichette dei settori (link) */
.valves-site .ix-chip-a { position: absolute; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px 9px 9px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 14px 30px rgba(0, 8, 48, .12); font: 600 .95rem var(--font-body); color: var(--ink); text-decoration: none; white-space: nowrap; transition: border-color .2s var(--ease-state), box-shadow .2s var(--ease-state); }
.valves-site .ix-chip-a:hover { border-color: var(--accent, var(--blue)); box-shadow: 0 16px 34px rgba(0, 8, 48, .16); }
.valves-site .ix-chip-a i { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; color: #fff; background: linear-gradient(145deg, var(--accent, var(--blue)), color-mix(in srgb, var(--accent-2, var(--accent, var(--blue))) 72%, #000830)); }
.valves-site .ix-chip-a i svg { width: 18px; height: 18px; }
.valves-site .ix-chip-0 { left: 0; top: 30%; }
.valves-site .ix-chip-1 { right: 0; top: 6%; }
.valves-site .ix-chip-2 { right: -2%; top: 50%; }
.valves-site .ix-chip-3 { left: 2%; bottom: 10%; }
.valves-site .ix-chip-4 { left: 44%; bottom: 2%; }
@media (prefers-reduced-motion: no-preference) {
  .valves-site .is-playing .ix-chip-a, .valves-site .is-playing .ix-tag { animation: ix-float 6s ease-in-out infinite alternate; animation-delay: calc(var(--d, 0) * -1.5s); }
  @keyframes ix-float { to { transform: translateY(-8px); } }
}

/* 0.8.9 — dispositivi (Prodotti): gestionale, sito, telefono, grafico */
.valves-site .ix-dev { position: relative; width: 100%; max-width: 600px; aspect-ratio: 600 / 460; margin: 0 auto; }
.valves-site .ix-dev > * { position: absolute; }
.valves-site .ix-dev > .ix-win { left: 0; top: 8.7%; width: 71.7%; margin: 0; }
.valves-site .ix-dev .ix-win-body { min-height: 230px; grid-template-columns: 92px 1fr; }
.valves-site .ix-dev .ix-win-bars { height: 70px; }
.valves-site .ix-dev-browser { right: 0; top: 0; z-index: 2; width: 36.7%; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 24px 50px rgba(0, 8, 48, .14); overflow: hidden; }
.valves-site .ix-dev-bbar { display: flex; align-items: center; gap: 6px; padding: 8px 10px; background: var(--surface-2); border-bottom: 1px solid var(--line); }
.valves-site .ix-dev-bbar i { width: 7px; height: 7px; border-radius: 50%; background: color-mix(in srgb, var(--ink) 18%, transparent); }
.valves-site .ix-dev-bbar u { flex: 1; height: 10px; margin-left: 6px; border-radius: 5px; background: var(--surface); border: 1px solid var(--line); }
.valves-site .ix-dev-shop { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px; }
.valves-site .ix-dev-shop span { position: relative; aspect-ratio: 1; border-radius: 8px; background: color-mix(in srgb, var(--accent, var(--blue)) 16%, var(--surface)); }
.valves-site .ix-dev-shop span::after { content: ""; position: absolute; left: 6px; right: 40%; bottom: 6px; height: 5px; border-radius: 3px; background: color-mix(in srgb, var(--ink) 30%, transparent); }
.valves-site .ix-dev-shop b { grid-column: 1 / -1; height: 22px; border-radius: 6px; background: linear-gradient(90deg, var(--accent, var(--blue)), var(--accent-2, var(--plum))); }
.valves-site .ix-dev-phone { right: 6%; bottom: 1.3%; z-index: 3; width: 22%; aspect-ratio: 132 / 250; padding: 8px; border-radius: 26px; background: #0b1030; box-shadow: 0 30px 60px rgba(0, 8, 48, .25); }
.valves-site .ix-dev-scr { position: relative; height: 100%; display: grid; gap: 8px; align-content: start; padding: 22px 10px 10px; border-radius: 19px; background: #fff; overflow: hidden; }
.valves-site .ix-dev-scr::before { content: ""; position: absolute; top: 7px; left: 50%; width: 36px; height: 6px; margin-left: -18px; border-radius: 3px; background: #0b1030; }
.valves-site .ix-dev-scr .t { width: 60%; height: 9px; border-radius: 5px; background: rgba(0, 8, 48, .7); }
.valves-site .ix-dev-scr .r { display: flex; align-items: center; gap: 6px; padding: 6px; border-radius: 8px; border: 1px solid #e6e9f2; }
.valves-site .ix-dev-scr .r i { width: 16px; height: 16px; border-radius: 5px; background: color-mix(in srgb, var(--accent, var(--blue)) 30%, #fff); }
.valves-site .ix-dev-scr .r u { flex: 1; height: 6px; border-radius: 3px; background: #e6e9f2; }
.valves-site .ix-dev-scr .go { margin-top: 4px; height: 24px; border-radius: 8px; background: linear-gradient(90deg, var(--accent, var(--blue)), var(--accent-2, var(--accent, var(--blue)))); }
.valves-site .ix-dev-chart { left: 1.7%; bottom: 0; z-index: 3; width: 28.3%; padding: 12px; border-radius: 14px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 20px 40px rgba(0, 8, 48, .14); }
.valves-site .ix-dev-chart svg { display: block; width: 100%; height: 66px; }
.valves-site .ix-dev-chart .ln { stroke: var(--accent, var(--blue)); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.valves-site .ix-dev-chart .ar { fill: var(--accent, var(--blue)); opacity: .12; }
.valves-site .ix-tag { position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 8px 18px rgba(0, 8, 48, .1); font: 600 .88rem var(--font-body); color: var(--ink); text-decoration: none; white-space: nowrap; }
.valves-site .ix-tag::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: linear-gradient(145deg, var(--accent, var(--blue)), var(--accent-2, var(--accent, var(--blue)))); }
.valves-site .ix-tag:hover { border-color: var(--accent, var(--blue)); }
.valves-site .ix-tag-win { left: 20%; top: 3%; }
.valves-site .ix-tag-browser { right: 4%; top: -3.5%; --d: 1; }
.valves-site .ix-tag-phone { right: 25%; bottom: 8.7%; --d: 2; }
.valves-site .ix-tag-chart { left: 5%; bottom: 21.3%; --d: 3; }
/* schermi stretti: niente illustrazione nelle testate degli indici (scelta del committente) */
@media (max-width: 760px) {
  .valves-site .ix-hero .ix-win-wrap, .valves-site .ix-hero .ix-dev-wrap, .valves-site .ix-hero .ix-orbit-wrap, .valves-site .ix-hero .ix-dgwrap { display: none; }
}


/* 0.9.0 — sfondo della testata di prodotti e mercati: «Sfumato dall'alto» (di serie), «Colore pieno» (com'era), «Bianco» */
.valves-site .p-hero.p-hero-bg-fade:not(.v-custom-bg) { background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, var(--bg)) 0%, color-mix(in srgb, var(--accent) 8%, var(--bg)) 70%, var(--bg) 100%); border-bottom: 1px solid var(--line); }
.valves-site .p-hero.p-hero-bg-white:not(.v-custom-bg) { background: var(--bg); border-bottom: 1px solid var(--line); }
.valves-site .mk-hero.mk-hero-light { background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 32%, var(--bg)) 0%, color-mix(in srgb, var(--accent) 8%, var(--bg)) 70%, var(--bg) 100%); border-bottom: 1px solid var(--line); }
.valves-site .mk-hero.mk-hero-white { background: var(--bg); border-bottom: 1px solid var(--line); }
.valves-site .mk-hero.mk-hero-light::after, .valves-site .mk-hero.mk-hero-white::after { display: none; }
.valves-site .mk-hero.mk-hero-white .eyebrow { color: var(--ink); }

/* 0.9.1 — modulo di contatto dei mercati «Compatto» (di serie): disturba meno la lettura; i campi restano gli stessi */
.valves-site .mk-aside.is-compact .mk-card { padding: 18px 18px 16px; gap: 8px; box-shadow: none; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.valves-site .mk-aside.is-compact .mk-card h2 { font-size: 1.2rem; line-height: 1.15; margin: 0; }
.valves-site .mk-aside.is-compact .mk-card .mk-form-intro { font-size: .9rem; margin: 0; color: var(--muted); }
.valves-site .mk-aside.is-compact .mk-form { gap: 8px; }
.valves-site .mk-aside.is-compact .mk-form .row { gap: 8px; }
.valves-site .mk-aside.is-compact .mk-form label { font-size: .82rem; margin-bottom: 2px; }
.valves-site .mk-aside.is-compact .mk-form input:not([type="checkbox"]), .valves-site .mk-aside.is-compact .mk-form select, .valves-site .mk-aside.is-compact .mk-form textarea { min-height: 36px; padding: 6px 10px; font-size: .92rem; }
.valves-site .mk-aside.is-compact .mk-form textarea { min-height: 38px; field-sizing: content; max-height: 140px; }
.valves-site .mk-aside.is-compact .mk-privacy { font-size: .8rem; }
.valves-site .mk-aside.is-compact .mk-privacy .check { gap: 8px; line-height: 1.3; }
.valves-site .mk-aside.is-compact .mk-submit .btn { padding-block: 10px; }
.valves-site .mk-aside.is-compact .mk-assure { margin: 0; font-size: .8rem; }
.valves-site .mk-aside.is-compact .mk-alt { margin-top: 4px; font-size: .85rem; }

/* 0.9.3 — immagine della card dei mercati in home (dalla scheda o dalla testata della pagina mercato): riempie il riquadro;
   PNG/WebP/GIF (spesso scontornate) restano intere su uno sfondo tenue del colore del settore */
.valves-site .h5-fig .h5-fig-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.valves-site .h5-fig .h5-fig-img.is-contain { object-fit: contain; padding: 6% 8%; box-sizing: border-box; background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 22%, var(--bg)) 0%, color-mix(in srgb, var(--accent) 6%, var(--bg)) 100%); }

/* 0.9.4 — card dei mercati in home più pulite (richiesta del committente): niente ombra, solo il bordo sottile; angoli 12px */
.valves-site .h5-card, .valves-site .h5-ghost { border-radius: 12px; }
.valves-site.h4 .h5-grid-cards .h5-gcard.h-mt, .valves-site .h5-grid-cards .h5-gcard.h-mt { box-shadow: none; border: 1px solid var(--line); border-radius: 12px; }
.valves-site.h4 .h5-grid-cards .h5-gcard.h-mt:hover, .valves-site.h4 .h5-grid-cards .h5-gcard.h-mt:focus-visible { box-shadow: none; border-color: var(--muted); }
.valves-site.h4 .h5-grid-cards .h5-gcard.h-mt[aria-expanded="true"] { box-shadow: none; border-color: var(--ink-soft); }

/* 0.9.5 — pagine prodotto e mercato: header trasparente sopra la testata (se ne vede il colore), bianco fisso appena si
   scorre (classe is-stuck da valves-site.js) o quando un menu è aperto. Testate scure: header bianco da subito.
   Senza :has() (browser vecchi) resta l'header bianco di sempre. */
:root { --vh-hdr: 69px; }
html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header { transition: background-color .3s ease; }
html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header:not(.is-stuck):not(:has(.menu-trigger[aria-expanded="true"], .menu-btn[aria-expanded="true"])) { background: transparent; }
html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header:not(.is-stuck):not(:has(.menu-trigger[aria-expanded="true"], .menu-btn[aria-expanded="true"])) .site-header { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; border-bottom-color: transparent; }
html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header .site-header { transition: background-color .3s ease, border-color .3s ease; }
.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark) { margin-top: calc(-1 * var(--vh-hdr, 69px)); border-top: var(--vh-hdr, 69px) solid transparent; background-origin: border-box !important; }
@media (prefers-reduced-motion: reduce) { html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header, html:has(.valves-main > .elementor-widget-valves_hero:first-child .p-hero, .valves-main > .elementor-widget-valves_market_hero:first-child .mk-hero:not(.mk-hero-dark)) .valves-global-header .site-header { transition: none; } }

/* 0.9.6 — footer fatto con i widget di Elementor: riga legale in fondo (widget «Valves · Riga legale»), sopra una linea
   sottile; su telefono centrata come il resto. Le voci diventate link tengono il colore del testo del footer. */
.valves-global-footer .elementor-widget-valves_footer_legal, .elementor-widget-valves_footer_legal { margin-top: auto; width: 100%; }
.vf-legal { display: flex; justify-content: space-between; align-items: center; gap: 12px 32px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid rgba(33, 33, 33, .15); font: 400 14px/1.5 "Barlow Semi Condensed", system-ui, sans-serif; color: #3a3f55; }
.vf-legal p { margin: 0; }
.vf-legal .vf-links { display: flex; gap: 20px; flex-wrap: wrap; }
.vf-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.vf-legal a:hover, .vf-legal a:focus-visible { color: #701858; }
.valves-global-footer .elementor-icon-box-description a, .valves-global-footer .elementor-icon-box-title a { color: inherit; text-decoration: none; }
.valves-global-footer .elementor-icon-box-description a:hover, .valves-global-footer .elementor-icon-box-description a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .vf-legal { display: grid; justify-items: center; text-align: center; gap: 8px; font-size: 13px; }
  .vf-legal .vf-links { justify-content: center; }
}
