/* Opera Viva . Struttura 1.1.0: nav fissa e footer, dal mockup. */

:root{--ov-nav-h:62px;
	/* Colori del menu, sovrascrivibili dalla pagina Struttura. */
	--ov-nav-link:rgba(246,246,243,.75);--ov-nav-link-hover:#ffffff;--ov-nav-brand:var(--calce,#F6F6F3);
	--ov-nav-solid-bg:rgba(246,246,243,.94);--ov-nav-solid-link:#55565a;--ov-nav-solid-link-hover:var(--fondale,#0C0D10);--ov-nav-solid-brand:var(--fondale,#0C0D10)}

.ov-nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--ov-nav-h);padding:20px 44px;box-sizing:border-box;transition:background .4s,box-shadow .4s}
.ov-nav.scrolled{background:var(--ov-nav-solid-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(12,13,16,.16)}
.ov-nav .ov-brand{font-family:var(--ov-font-display,'Marcellus',serif);letter-spacing:.22em;font-size:15px;line-height:1;text-decoration:none;color:var(--ov-nav-brand) !important;transition:color .4s;white-space:nowrap}
.ov-nav.scrolled .ov-brand{color:var(--ov-nav-solid-brand) !important}

/* Menu: reset di ogni stile del tema su ul, li, a. */
.ov-nav-menu,.ov-nav-menu li{list-style:none;margin:0;padding:0}
.ov-nav-menu{display:flex;align-items:center;gap:34px}
.ov-nav-menu li{display:block}
.ov-nav .ov-nav-menu a{display:block;font-family:var(--sans,'Instrument Sans',system-ui,sans-serif);font-size:11.5px;line-height:1;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--ov-nav-link) !important;transition:color .3s;padding:4px 0;border-bottom:1px solid transparent}
.ov-nav-menu a:hover,.ov-nav-menu a:focus-visible{outline:none}
.ov-nav:not(.scrolled) .ov-nav-menu a:hover{color:var(--ov-nav-link-hover) !important}
.ov-nav.scrolled .ov-nav-menu a{color:var(--ov-nav-solid-link) !important}
.ov-nav.scrolled .ov-nav-menu a:hover{color:var(--ov-nav-solid-link-hover) !important}
.ov-nav .ov-nav-menu .current-menu-item>a,.ov-nav .ov-nav-menu .current_page_item>a{color:var(--ov-nav-link-hover) !important;border-bottom-color:rgba(199,203,207,.55)}
.ov-nav.scrolled .ov-nav-menu .current-menu-item>a,.ov-nav.scrolled .ov-nav-menu .current_page_item>a{color:var(--ov-nav-solid-link-hover) !important;border-bottom-color:var(--argento,#C7CBCF)}

/* Sezione in cui si e (classe da struttura.js): stessa resa della voce corrente. */
.ov-nav .ov-nav-menu .ov-attiva>a{border-bottom-color:rgba(199,203,207,.55)}
.ov-nav.scrolled .ov-nav-menu .ov-attiva>a,body.ov-nav-solid .ov-nav .ov-nav-menu .ov-attiva>a{color:var(--ov-nav-solid-link-hover) !important;border-bottom-color:var(--argento,#C7CBCF)}

/* Admin bar loggati: la nav scende sotto la barra. */
body.admin-bar .ov-nav{top:32px}
@media(max-width:782px){body.admin-bar .ov-nav{top:46px}}

/* Pagine senza OV Hero (classe dal server, fallback :has): nav sempre posata
   e contenuto spinto sotto la barra, che altrimenti lo copre. */
body.ov-nav-solid .ov-nav,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav{background:var(--ov-nav-solid-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(12,13,16,.16)}
body.ov-nav-solid .ov-nav .ov-brand,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav .ov-brand{color:var(--ov-nav-solid-brand) !important}
body.ov-nav-solid .ov-nav .ov-nav-menu a,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav .ov-nav-menu a{color:var(--ov-nav-solid-link) !important}
body.ov-nav-solid .ov-nav .ov-nav-menu a:hover,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav .ov-nav-menu a:hover{color:var(--ov-nav-solid-link-hover) !important}
body.ov-nav-solid .ov-nav .ov-nav-menu .current-menu-item>a,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav .ov-nav-menu .current-menu-item>a{color:var(--ov-nav-solid-link-hover) !important;border-bottom-color:var(--argento,#C7CBCF)}
body.ov-nav-solid{padding-top:var(--ov-nav-h)}
body.ov-nav-solid.admin-bar{padding-top:calc(var(--ov-nav-h) + 32px)}
@media(max-width:782px){body.ov-nav-solid.admin-bar{padding-top:calc(var(--ov-nav-h) + 46px)}}

/* Burger mobile. */
.ov-nav-burger{display:none !important;background:none;border:0;cursor:pointer;padding:10px;margin:-10px;flex-direction:column;gap:6px;-webkit-appearance:none;appearance:none;box-shadow:none;border-radius:0;order:3}
/* Il reset di Hello colora ogni button al passaggio e al focus (#c36, il
   fucsia) e il selettore [type=button]:hover batte una classe sola. Qui si
   chiudono tutti gli stati, con un anello di focus del brand solo da tastiera. */
.ov-nav .ov-nav-burger,
.ov-nav .ov-nav-burger:hover,
.ov-nav .ov-nav-burger:focus,
.ov-nav .ov-nav-burger:active,
.ov-nav .ov-nav-burger[type=button]:hover,
.ov-nav .ov-nav-burger[type=button]:focus{background:transparent !important;border:0 !important;box-shadow:none !important;outline:none !important;color:inherit !important}
.ov-nav .ov-nav-burger:focus-visible{outline:1px solid var(--ov-nav-brand,#F6F6F3) !important;outline-offset:4px}
.ov-nav.scrolled .ov-nav-burger:focus-visible,body.ov-nav-solid .ov-nav-burger:focus-visible{outline-color:var(--ov-nav-solid-brand,#0C0D10) !important}
.ov-nav-burger span{display:block;width:24px;height:2px;background:var(--ov-nav-brand,#F6F6F3);transition:transform .3s,background .4s}
.ov-nav.scrolled .ov-nav-burger span,body.ov-nav-solid .ov-nav-burger span,body.ov-chrome:not(:has(.ov-hero,.ov-rac-hero)) .ov-nav-burger span{background:var(--ov-nav-solid-brand,#0C0D10)}

@media(max-width:820px){
	.ov-nav{padding:18px 28px}
	.ov-nav-burger{display:flex !important}
	/* Il menu e un velo a tutto schermo su Fondale pieno: con il fondo
	   trasparente a .96 l'hero si leggeva sotto le voci. */
	.ov-nav-menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:1;background:var(--fondale,#0C0D10);flex-direction:column;align-items:center;justify-content:center;gap:34px;display:none;margin:0;padding:96px 24px 48px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
	.ov-nav.open .ov-nav-menu{display:flex;animation:ov-velo .3s ease}

	/* 1.7.0: backdrop-filter sulla nav posata crea un nuovo riferimento per
	   i figli position:fixed. Il velo restava alto quanto la barra (120px)
	   e le voci finivano sopra il marchio. Aperto, la nav torna neutra. */
	html body #ov-nav.open{background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;box-shadow:none !important}

	/* Colori del menu aperto. L id della nav batte le regole della nav
	   posata (body.ov-nav-solid, :not(:has(.ov-hero,.ov-rac-hero))), che lasciavano voci,
	   marchio e croce scuri sul velo scuro. */
	html body #ov-nav.open .ov-nav-menu a{font-family:var(--ov-font-display,'Marcellus',serif);font-size:22px;letter-spacing:.12em;line-height:1.2;padding:6px 0;color:rgba(246,246,243,.82) !important;border-bottom-color:transparent}
	html body #ov-nav.open .ov-nav-menu a:hover,html body #ov-nav.open .ov-nav-menu a:focus-visible{color:#FFFFFF !important}
	html body #ov-nav.open .ov-nav-menu .current-menu-item>a,html body #ov-nav.open .ov-nav-menu .current_page_item>a,html body #ov-nav.open .ov-nav-menu .ov-attiva>a{color:#FFFFFF !important;border-bottom-color:rgba(199,203,207,.55)}
	.ov-nav.open .ov-brand,.ov-nav.open .ov-nav-burger{position:relative;z-index:2}
	html body #ov-nav.open .ov-brand{color:var(--calce,#F6F6F3) !important}
	html body #ov-nav.open .ov-nav-burger span{background:var(--calce,#F6F6F3)}
	html body #ov-nav.open .ov-nav-burger:focus-visible{outline-color:var(--calce,#F6F6F3) !important}
	.ov-nav.open .ov-nav-burger span:first-child{transform:translateY(4px) rotate(45deg)}
	.ov-nav.open .ov-nav-burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
	html.ov-menu-open,html.ov-menu-open body{overflow:hidden}
	/* Area di tocco del burger: 44px, come chiede iOS. */
	.ov-nav .ov-nav-burger{min-width:44px;min-height:44px;align-items:center;justify-content:center;margin:-12px -10px -12px 0}
}
@keyframes ov-velo{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.ov-nav.open .ov-nav-menu{animation:none}}
@media(max-width:640px){.ov-nav{padding:18px 22px}}

/* Ancore: con la barra fissa il titolo finirebbe sotto la nav. Vale per
   qualunque elemento con un ID, quindi anche per i container di Elementor. */
html{scroll-behavior:smooth}
body.ov-chrome [id]{scroll-margin-top:calc(var(--ov-nav-h) + 14px)}
body.ov-chrome.admin-bar [id]{scroll-margin-top:calc(var(--ov-nav-h) + 46px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Footer: markup del modulo, stile dal mockup. */
.ov-footer{background:var(--fondale,#0C0D10);color:#B7BBC0;padding:80px 0 40px}
.ov-footer .ov-f-desc{font-size:14px;line-height:1.7;color:#B7BBC0;max-width:36ch;margin-top:18px}
/* 1.7.0: sulle pagine Elementor il colore dei link del kit (.elementor-kit-N a)
   batteva footer a: voci e contatti scuri su Fondale, illeggibili. */
html body .ov-footer a{color:#E4E5E3 !important;text-decoration:none}
html body .ov-footer a:hover,html body .ov-footer a:focus-visible{color:#FFFFFF !important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--argento,#C7CBCF)}
