/* =========================================================
   M.A.G.D.A. — pagine legali + avviso cookie
   Autonomo: funziona anche senza style.css / m.css
   ========================================================= */

/* ---------- pagine legali ---------- */
body.lp{
  margin:0;background:var(--paper,#FBFAF6);color:var(--ink,#24303A);
  font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 14;font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.lp *,.lp *::before,.lp *::after{box-sizing:border-box}
.lp a{color:inherit}
.lp__top{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:max(16px,env(safe-area-inset-top)) clamp(16px,5vw,48px) 16px;border-bottom:1px solid rgba(36,48,58,.14);
}
.lp__brand{display:inline-flex;align-items:baseline;font-family:"Josefin Sans",system-ui,sans-serif;font-weight:300;font-size:22px;line-height:1;text-decoration:none}
.lp__brand i{display:inline-block;width:.16em;height:.16em;border-radius:50%;margin:0 .14em 0 .1em;background:var(--c)}
.lp__back{font-family:"Josefin Sans",system-ui,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;text-decoration:none;border:2px solid var(--ink,#24303A);border-radius:99px;padding:9px 16px 7px}
.lp__main{max-width:760px;margin:0 auto;padding:56px clamp(16px,5vw,48px) 40px}
.lp__eyebrow{font-family:"Josefin Sans",system-ui,sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin:0 0 16px;display:flex;align-items:center;gap:10px}
.lp__eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.lp h1{margin:0 0 12px;font-size:clamp(40px,10vw,76px);line-height:.95;letter-spacing:-.035em;font-weight:700;font-variation-settings:"opsz" 96,"wdth" 80}
.lp h2{margin:44px 0 10px;font-size:26px;line-height:1.1;letter-spacing:-.02em;font-weight:700}
.lp h3{margin:24px 0 6px;font-size:18px;font-weight:700}
.lp p,.lp ul,.lp ol{margin:0 0 14px}
.lp ul,.lp ol{padding-left:22px}
.lp li{margin-bottom:6px}
.lp__lead{font-size:20px;opacity:.85}
.lp__upd{font-family:"Josefin Sans",system-ui,sans-serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;opacity:.6;margin-bottom:28px}
.lp__box{padding:16px 18px;border-radius:14px;background:rgba(36,48,58,.06);margin:0 0 18px}
.lp__box p:last-child{margin-bottom:0}
.lp__table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 18px;display:block;overflow-x:auto}
.lp__table th,.lp__table td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid rgba(36,48,58,.16)}
.lp__table th{font-family:"Josefin Sans",system-ui,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.lp__table code{font-size:13px;word-break:break-all}
.lp__foot{border-top:1px solid rgba(36,48,58,.14);padding:28px clamp(16px,5vw,48px) calc(env(safe-area-inset-bottom) + 32px);text-align:center;font-family:"Josefin Sans",system-ui,sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;line-height:2}
.lp__foot a{opacity:.8;margin:0 6px}
@media (prefers-reduced-motion:reduce){.ag__btn:active{transform:none}}

/* ---------- avviso cookie e privacy ---------- */
.cn{
  position:fixed;z-index:1000;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + var(--sb,0px) + var(--tab,0px) + 12px);
  max-width:620px;margin:0 auto;display:grid;gap:12px;padding:16px 18px;border-radius:20px;
  background:var(--paper,#FBFAF6);color:var(--ink,#24303A);border:2px solid var(--ink,#24303A);box-shadow:0 10px 30px rgba(36,48,58,.22);
  font-family:"Bricolage Grotesque",system-ui,sans-serif;font-variation-settings:"opsz" 14;font-size:14px;line-height:1.45;
}
.cn *{box-sizing:border-box}
.cn__text{margin:0}
.cn__text a{font-weight:700}
.cn__btn{
  justify-self:end;min-height:44px;padding:0 24px;border-radius:99px;border:2px solid var(--ink,#24303A);
  background:var(--ink,#24303A);color:var(--paper,#FBFAF6);font:inherit;font-weight:700;font-size:15px;cursor:pointer;
}
.cn__btn:focus-visible,.cn a:focus-visible{outline:4px solid #F2B320;outline-offset:3px}
@media (min-width:640px){.cn{grid-template-columns:1fr auto;align-items:center;gap:18px}}
