:root{
  --primary:#006da8;
  --primary-2:#064f79;
  --accent:#e1716f;
  --text:#0b2d47;
  --text-2:#45657d;
  --muted:#7690a2;
  --line-soft:#e1eaf0;
  --white:#fff;
  --serif:"DM Serif Display",Georgia,serif;
  --sans:"Manrope",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f6f9fb;color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.7}
a{color:var(--primary)}
.topbar{height:50px;padding:0 3%;display:flex;align-items:center;justify-content:space-between;background:#07587f;color:#fff;font-size:.78rem}
.topbar-left{display:flex;align-items:center;gap:14px}
.topbar-left a{display:flex;align-items:center;gap:7px;color:#fff;text-decoration:none}
.topbar-left svg{width:15px;height:15px}
.topbar .sep{width:1px;height:17px;background:rgba(255,255,255,.22)}
.topbar-pill{display:inline-block;padding:5px 12px;border-radius:20px;background:var(--accent);font-weight:750;text-transform:uppercase;letter-spacing:.04em}
nav{height:104px;padding:0 3%;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line-soft)}
.brand{display:flex;align-items:center;text-decoration:none}
.brand-logo-img{width:auto;height:72px;display:block}
.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav-links a{padding:10px 15px;color:#244f71;text-decoration:none;font-size:.88rem;font-weight:500}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn-wa-nav,.btn-prenota-nav{display:flex;align-items:center;gap:8px;padding:13px 18px;border-radius:7px;color:#fff;text-decoration:none;font-size:.86rem;font-weight:750}
.btn-wa-nav{background:#1ecf68}.btn-prenota-nav{background:#006da8}
.btn-wa-nav svg,.btn-prenota-nav svg{width:18px;height:18px}
.hamb{display:none;flex-direction:column;gap:5px;padding:6px;cursor:pointer}
.hamb span{width:22px;height:2px;background:var(--primary)}
.mob-menu{display:none;position:fixed;inset:0;z-index:4000;background:#fff}
.mob-menu.open{display:flex}
.mob-close{position:absolute;top:20px;right:24px;border:0;background:none;color:var(--primary);cursor:pointer}
.legal-hero{min-height:300px;display:flex;align-items:flex-end;padding:72px 6%;color:#fff;background:linear-gradient(90deg,rgba(3,25,42,.92),rgba(3,35,55,.45)),url("../img/sfondo-pagine-interne-v2.webp") center/cover}
.legal-hero-inner{width:min(1180px,100%);margin:0 auto}
.legal-eyebrow{margin-bottom:12px;color:#ff8b89;font-size:.74rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.legal-hero h1{margin:0;font-family:var(--serif);font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.05;font-weight:400}
.legal-hero p{max-width:720px;margin:16px 0 0;color:rgba(255,255,255,.82);font-size:.95rem}
.legal-layout{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:70px 0 90px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:60px}
.legal-index{position:sticky;top:185px;align-self:start;padding:20px;border-left:3px solid var(--accent);background:#fff}
.legal-index strong{display:block;margin-bottom:10px;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--primary)}
.legal-index a{display:block;padding:6px 0;color:var(--text-2);font-size:.82rem;text-decoration:none}
.legal-index a:hover{color:var(--primary)}
.legal-content{min-width:0}
.legal-content section{scroll-margin-top:180px;padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line-soft)}
.legal-content section:last-child{border-bottom:0}
.legal-content h2{margin:0 0 16px;font-family:var(--serif);font-size:clamp(1.65rem,3vw,2.25rem);font-weight:400;color:var(--text)}
.legal-content h3{margin:22px 0 8px;font-size:1rem}
.legal-content p,.legal-content li{color:var(--text-2);font-size:.91rem}
.legal-content ul{padding-left:20px}
.legal-note{padding:18px 20px;border-left:4px solid var(--accent);background:#eaf5fb;color:var(--text-2)}
.policy-table{width:100%;border-collapse:collapse;margin-top:18px;background:#fff;font-size:.82rem}
.policy-table th,.policy-table td{padding:13px 14px;border:1px solid var(--line-soft);text-align:left;vertical-align:top}
.policy-table th{background:#eaf5fb;color:var(--text)}
footer{padding:62px 6% 26px;background:#07587f;color:rgba(255,255,255,.72)}
.foot-top{width:min(1500px,100%);margin:0 auto 44px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:48px}
.foot-brand{font-family:var(--serif);font-size:2rem;color:#fff}
.foot-tag{margin-top:8px;color:#8ec0df;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.foot-desc{max-width:360px;margin-top:22px;font-size:.84rem;line-height:1.75}
.foot-col-title{margin-bottom:17px;color:#fff;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.foot-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.foot-links a{color:rgba(255,255,255,.72);text-decoration:none;font-size:.82rem}
.foot-bottom{width:min(1500px,100%);margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.13);display:flex;justify-content:space-between;gap:30px;font-size:.72rem}
.foot-bottom a{color:inherit;text-decoration:none}
.foot-soc-row{display:flex;gap:8px;margin-top:22px}
.foot-soc{width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff}
.foot-soc svg{width:18px;height:18px}
@media(max-width:1050px){
  .nav-links{display:none}.hamb{display:flex}.btn-wa-nav{display:none}
  .legal-layout{grid-template-columns:1fr}.legal-index{position:static}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .topbar{display:none}nav{height:76px;padding:0 18px}.brand-logo-img{height:52px}
  .btn-prenota-nav{display:none}
  .legal-hero{min-height:250px;padding:52px 20px}
  .legal-layout{width:calc(100% - 32px);padding:48px 0 64px;gap:34px}
  .policy-table{display:block;overflow-x:auto}
  footer{padding:48px 20px 22px}.foot-top{grid-template-columns:1fr;gap:30px}.foot-bottom{flex-direction:column}
}
