/* =====================================================================
   EI YOU! — stili comuni a tutte le pagine
   (reset, colori, menu, selettore lingua, footer)
   Gli stili specifici di ogni pagina sono nei file accanto.
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --white:#FFFFFF;
  --cream:#F5F0E8;
  --warm-white:#FAF7F2;
  --ink:#1A1714;
  --accent:#2f3ae7;
  --light-sage:#EEEDFE;
  --sage:#7A8C6E;
  --dusty-rose:#D4A5A0;
  --deep-brown:#3D2B1F;
  --rule:rgba(26,23,20,0.1);
  --nav-h:68px;
}
html,body{overflow-x:hidden;max-width:100%}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h)}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--ink)}
img{max-width:100%}

/* ── MENU ── */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:0 3.5rem;background:rgba(255,255,255,0.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.nav-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none}
.nav-logo img{height:38px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:2.5rem;list-style:none}
.nav-links a{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-decoration:none;opacity:.5;transition:opacity .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-links a.active{color:var(--accent)}
.nav-right{display:flex;align-items:center;gap:1.8rem;flex-shrink:0}
.nav-cta{font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);text-decoration:none;border-bottom:1.5px solid var(--accent);padding-bottom:.2em;transition:opacity .2s;white-space:nowrap}
.nav-cta:hover{opacity:.7}

/* selettore lingua */
.lang-switch{display:flex;align-items:center;gap:.45rem;font-family:'DM Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase}
.lang-switch a{color:var(--ink);text-decoration:none;opacity:.45;transition:opacity .2s}
.lang-switch a:hover{opacity:1}
.lang-switch a.current{opacity:1;color:var(--accent)}
.lang-switch span{opacity:.25}

/* hamburger e menu mobile */
.nav-hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none;z-index:200}
.nav-hamburger span{display:block;width:24px;height:1.5px;background:var(--ink);transition:all .3s;transform-origin:center}
.nav-hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav-hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.nav-mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--white);z-index:150;flex-direction:column;align-items:center;justify-content:center;gap:2.2rem;padding:5rem 1.5rem 2rem;overflow-y:auto}
.nav-mobile-menu.open{display:flex}
.nav-mobile-menu > a{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--ink);text-decoration:none;transition:color .2s;text-align:center}
.nav-mobile-menu > a:hover,.nav-mobile-menu > a.active{color:var(--accent)}
.nav-mobile-menu .lang-switch{margin-top:1rem;font-size:.85rem}

/* ── FOOTER ── */
.site-footer{background:var(--cream);padding:4rem 3.5rem 2.5rem;border-top:1px solid var(--rule)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid var(--rule);margin-bottom:2rem}
.footer-logo{display:inline-block;margin-bottom:1rem}
.footer-logo img{height:40px;width:auto;display:block}
.footer-tagline{font-size:.85rem;font-weight:300;color:rgba(26,23,20,.45);line-height:1.7;max-width:260px}
.footer-col-title{font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:1.2rem;display:block}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.footer-links a{font-size:.88rem;font-weight:300;color:rgba(26,23,20,.5);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--ink)}
.footer-links a.mail-link{word-break:break-all}
.footer-bottom{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.06em;color:rgba(26,23,20,.3);flex-wrap:wrap;gap:.5rem}

/* ── RESPONSIVE ── */
@media(max-width:1200px){
  .nav-links{gap:1.5rem}
  .nav-right{gap:1.2rem}
}
@media(max-width:1020px){
  .site-nav{padding:0 2rem}
  .nav-links{gap:1.1rem}
  .nav-links a{font-size:.62rem}
}
@media(max-width:900px){
  .site-nav{padding:0 1.5rem}
  .nav-links,.nav-cta{display:none}
  .nav-hamburger{display:flex}
  .nav-logo img{height:32px}
  .site-footer{padding:3.5rem 1.5rem 2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr}
}
