/* [ALESENSO] AS3.5 — assetto comune: barra, menu, piè di pagina. 20260923-8 */
/*
 * Consolidamento del 23/09/2026.
 *
 * Fino a oggi barra e piè di pagina erano dichiarati in sette fogli
 * diversi, con valori divergenti, e questo file li scavalcava con
 * selettori gonfiati (`nav#mainNav`, `body .classe`). Ora le regole
 * stanno solo qui, e i fogli di pagina non ne contengono più:
 * i selettori possono tornare semplici.
 *
 * I valori della scala tipografica e dei contrasti sono stati scritti
 * dentro le regole dei fogli di pagina a cui appartengono, invece di
 * essere imposti da qui.
 *
 * Ordine di caricamento: base, comune, media, foglio di pagina, tema.
 * opera e progetto NON caricano comune.css: tutto ciò che serve alla
 * barra e al piè di pagina deve stare in questo file.
 */

/* ══════════ BARRA DI NAVIGAZIONE ══════════ */
nav{position:fixed;top:0;left:0;right:0;z-index:300;
display:flex;align-items:center;justify-content:space-between;
padding:1rem 3.5rem;gap:1.5rem;
transition:background .4s var(--ease),box-shadow .4s var(--ease)}

/* Stato in cima alla pagina. La velatura scura garantisce leggibilità
   del testo chiaro anche sulle hero chiare. */
nav.hero-mode{background:linear-gradient(180deg,
rgba(28,25,22,.55) 0%,rgba(28,25,22,.28) 55%,rgba(28,25,22,0) 100%)}
nav.hero-mode .nav-links a,
nav.hero-mode .nav-back{color:rgba(247,243,238,.85)}
nav.hero-mode .nav-links a:hover,
nav.hero-mode .nav-back:hover{color:#fff}
nav.hero-mode .nav-burger{color:rgba(247,243,238,.85)}

/* Stato scorso: app.js aggiunge .scrolled oltre i 40px. */
nav.scrolled,
nav.hero-mode.scrolled{background:rgba(247,243,238,.94);
backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--sand)}
nav.scrolled .nav-links a,
nav.scrolled .nav-back{color:var(--ink-mid)}
nav.scrolled .nav-links a:hover,
nav.scrolled .nav-back:hover{color:var(--red)}
nav.scrolled .nav-burger{color:var(--ink)}

.nav-links{display:flex;gap:1.8rem;list-style:none}
.nav-links a{font-size:1.05rem;font-weight:400;letter-spacing:.12em;
text-transform:uppercase;color:var(--ink-mid);text-decoration:none;
transition:color .25s;position:relative}
.nav-links a:hover{color:var(--red)}
.nav-links a.active{color:var(--red)}
.nav-links a.active::after{content:'';position:absolute;
bottom:-.3rem;left:0;right:0;height:1px;background:var(--red)}

.nav-back{display:flex;align-items:center;gap:.45rem;font-size:1.05rem;
letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mid);
text-decoration:none;transition:color .25s;white-space:nowrap}
.nav-back:hover{color:var(--red)}
.nav-back svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.5}

/* ══════════ LOGO ══════════ */
.site-logo{display:block;text-decoration:none;flex-shrink:0}
.site-logo img{height:48px;width:auto;display:block;
filter:brightness(.8) saturate(.82);transition:filter .3s,transform .25s}
.site-logo:hover img{transform:scale(1.04);filter:brightness(.88) saturate(.9)}
nav.hero-mode .site-logo img{filter:brightness(0) invert(1);opacity:.85}
nav.hero-mode .site-logo:hover img{opacity:1}
nav.scrolled .site-logo img{filter:brightness(.8) saturate(.82);opacity:1}
nav.scrolled .site-logo:hover img{filter:brightness(.88) saturate(.9)}

/* ══════════ HAMBURGER E MENU A SCHERMO INTERO ══════════ */
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;
background:none;border:none;padding:.3rem;color:var(--ink)}
.nav-burger span{display:block;width:22px;height:1.5px;
background:currentColor;transition:all .3s}

.nav-mobile{position:fixed;inset:0;z-index:290;background:var(--ink);
display:flex;flex-direction:column;align-items:center;justify-content:center;
gap:2.5rem;opacity:0;pointer-events:none;transition:opacity .35s}
.nav-mobile.open{opacity:1;pointer-events:all}
.nav-mobile a{font-family:var(--ff-serif),Georgia,serif;font-size:2.2rem;
font-weight:300;font-style:italic;color:rgba(247,243,238,.85);
text-decoration:none;transition:color .2s}
.nav-mobile a:hover{color:var(--red-lt)}

@media(max-width:960px){
nav{padding:.9rem 1.5rem}
.nav-links,.nav-back{display:none}
.nav-burger{display:flex}
}

/* ══════════ PIÈ DI PAGINA ══════════ */
/* Corpo dei testi a .72rem: eccezione voluta alla scala, decisa il
   23/09. Il colore compensa, con 10,4:1 di contrasto. */
footer{background:var(--ink);color:rgba(247,243,238,.8);padding:2.8rem 0;
border-top:1px solid rgba(247,243,238,.05)}
.footer-inner{max-width:1200px;margin:0 auto;padding:0 3.5rem;
display:flex;flex-direction:row;justify-content:space-between;
align-items:center;gap:2rem;text-align:left}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;
gap:1.6rem;list-style:none}
.footer-links a{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
color:rgba(247,243,238,.8);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--cream)}
.footer-copy{font-size:.72rem;white-space:nowrap;color:rgba(247,243,238,.8)}
/* !important: il markup porta height:38px come stile in linea. */
footer .site-logo img{height:36px!important;width:auto;display:block;
filter:brightness(0) invert(1);opacity:.75}
footer .site-logo:hover img{opacity:1;transform:none;filter:brightness(0) invert(1)}

@media(max-width:960px){
.footer-inner{flex-direction:column;gap:1.5rem;text-align:center;padding:0 1.5rem}
.footer-copy{white-space:normal}
}

/* ══════════ ANCORE ══════════ */
/* Senza questo, ogni salto a un'ancora porta il titolo sotto la barra. */
html{scroll-padding-top:80px}
