/* Studio Reviva — stile comune a tutte le pagine (token, reset, header, footer)
   Estratto dal sito statico dei designer: regole invariate. */
:root{
  --teal-dark:#0d6a73;
  --teal:#088595;
  --teal-darker:#08505a;
  --gold:#d2af1f;
  --gold-light:#e6c84a;
  --bg-soft:#eef0ef;
  --text:#1c2424;
  --text-soft:#4a5757;
  --white:#ffffff;
  --radius:18px;
  --shadow:0 20px 50px -25px rgba(13,106,115,0.35);
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
section{position:relative;}
.btn-gold{background:var(--gold);color:var(--teal-darker);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);}
header.scrolled{box-shadow:0 8px 24px -16px rgba(0,0,0,0.25);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:1180px;margin:0 auto;}
.nav-logo img{height:46px;width:auto;}
.nav-links{display:flex;gap:30px;align-items:center;margin-left:auto;}
.nav-links a{font-family:'TT Hoves','Poppins',sans-serif;font-weight:500;font-size:0.92rem;color:var(--text-soft);transition:color .2s;}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:8px;}
.burger span{width:24px;height:2px;background:var(--teal-darker);display:block;}
/* FOOTER */
footer{background:#0a2226;color:rgba(255,255,255,0.75);padding:70px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;margin-bottom:50px;}
.foot-logo img{height:42px;width:auto;margin-bottom:16px;filter:brightness(0) invert(1);}
.foot-logo p{font-size:0.9rem;color:rgba(255,255,255,0.55);max-width:320px;}
footer h2{font-family:'TT Hoves','Poppins',sans-serif;color:var(--white);font-size:0.95rem;margin-bottom:18px;}
footer ul li{margin-bottom:10px;font-size:0.92rem;}
footer ul li a:hover{color:var(--gold-light);}
.foot-social{display:flex;gap:16px;margin-top:22px;align-items:center;}
.foot-social a{color:rgba(255,255,255,0.55);transition:color .2s,transform .2s;display:flex;align-items:center;}
.foot-social a:hover{color:var(--gold-light);transform:translateY(-2px);}
.foot-social svg{width:22px;height:22px;}
/* --- Skip link --- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--teal-darker);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;font-weight:600;}
.skip-link:focus{left:0;}
/* --- Zone servite (footer) --- */
.foot-legal{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.12);font-size:0.82rem;opacity:0.75;}
.foot-legal a{border-bottom:1px solid rgba(255,255,255,0.25);}

/* Voci del menu mobile: prima erano attributi style inline, spostate qui
   per poter tenere una Content-Security-Policy stretta. */
#mobileMenu .mobile-link{padding:12px 0;font-family:'TT Hoves','Poppins',sans-serif;font-weight:500;}
#mobileMenu .mobile-link.active{color:var(--teal);}

/* Pagina di errore tecnico: non carica il layout completo. */
.errore-tecnico{max-width:640px;padding-block:120px;}
.errore-tecnico a{color:var(--teal-dark);text-decoration:underline;}
