*{box-sizing:border-box}html,body{margin:0}body{font-family:'Segoe UI',Arial,sans-serif;color:#123c69;background:#f3f6f9;overflow-x:hidden}
.mg-header{position:sticky;top:0;z-index:5000;background:#fff;box-shadow:0 2px 9px #1232}
.mg-head-inner{display:flex;align-items:center;gap:10px;padding:9px clamp(12px,1.5vw,24px);min-height:75px;width:100%;max-width:100%}
.mg-brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#123c69;flex:0 0 auto}.mg-brand img{width:78px;height:54px;object-fit:contain}.mg-brand span{display:flex;flex-direction:column}.mg-brand strong{font-size:15px}.mg-brand small{font-size:10px;color:#526f85}
.mg-actions{display:flex;gap:8px;flex:0 0 auto}.mg-join,.mg-home{display:inline-flex;align-items:center;justify-content:center;padding:9px 11px;min-height:38px;border-radius:8px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap}.mg-join{background:#d62828}.mg-home{background:#12518a}
/* V6 - Intestazione a una riga su desktop, menu compatto quando serve. */
.mg-head-inner{
 display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;
 align-items:center;column-gap:12px;row-gap:8px;
 padding:9px clamp(12px,1.4vw,23px);min-height:74px;
 width:100%;max-width:100%;
}
.mg-brand{grid-column:1;grid-row:1;min-width:0}
.mg-actions{grid-column:2;grid-row:1;white-space:nowrap}
.mg-menu{grid-column:3;grid-row:1;min-width:0;width:100%;display:block}
.mg-menu nav{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:2px;width:100%}
.mg-menu nav a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;
 color:#092c50;text-decoration:none;font-size:15px;font-weight:750;line-height:1.2;
 padding:6px 5px;text-align:center;white-space:nowrap}
.mg-menu nav a.active,.mg-menu nav a[aria-current="page"],.mg-menu nav a:hover{background:#e8f4ff;color:#075a98;border-radius:6px}
.mg-mobile-menu{display:none}
.mg-auth{grid-column:4;grid-row:1;justify-self:end;position:relative;min-width:0;font-size:12px}
.mg-auth-details>summary,.mg-auth-active{list-style:none;display:flex;align-items:center;gap:8px;
 font-weight:800;background:#eff7fd;border:1px solid #c9dcea;border-radius:8px;
 color:#123c69;padding:10px;cursor:pointer;white-space:nowrap}
.mg-auth-details>summary::-webkit-details-marker{display:none}
.mg-auth-active{background:#eff9f2;border-color:#b8dec5;color:#166335;cursor:default}
.mg-auth-active form{margin:0}
.mg-auth-active button{border:1px solid #b8dec5;color:#166335;background:#fff;border-radius:6px;padding:5px 9px;cursor:pointer;font-weight:800}
.mg-auth-panel{position:absolute;right:0;top:calc(100% + 8px);width:310px;max-width:calc(100vw - 24px);
 background:#fff;border:1px solid #d5e3ed;box-shadow:0 12px 30px #1233;border-radius:12px;
 padding:17px;z-index:9000;color:#17324d}
.mg-auth-panel strong{display:block;margin-bottom:10px;font-size:15px}
.mg-auth-panel label{display:block;margin:9px 0;font-size:12px;font-weight:750}
.mg-auth-panel input{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #b9cbd9;border-radius:7px;font:inherit}
.mg-auth-panel button{display:block;width:100%;margin-top:12px;padding:10px;background:#167fbe;color:#fff;font-weight:800;border:0;border-radius:7px;cursor:pointer}
.mg-auth-error{color:#a22020;font-weight:750;line-height:1.4}
/* La larghezza considera anche lo zoom del browser: niente voci sovrapposte. */
@media(max-width:1530px){
 .mg-head-inner{grid-template-columns:auto auto minmax(0,1fr) auto;column-gap:10px}
 .mg-menu{display:none}
 .mg-mobile-menu{display:block;grid-column:3;grid-row:1;position:relative;justify-self:end;z-index:5100}
 .mg-mobile-menu>summary{display:flex;align-items:center;gap:6px;padding:9px 12px;
  border-radius:8px;background:#12518a;color:#fff;cursor:pointer;font-size:14px;font-weight:800;list-style:none}
 .mg-mobile-menu>summary::-webkit-details-marker{display:none}
 .mg-mobile-menu>nav{display:none;position:absolute;right:0;top:calc(100% + 8px);
  width:min(330px,calc(100vw - 24px));max-height:calc(100vh - 105px);overflow-y:auto;
  background:#fff;border:1px solid #d7e4ee;border-radius:10px;box-shadow:0 12px 25px #1234;
  flex-direction:column;align-items:stretch;padding:9px;z-index:8500}
 .mg-mobile-menu[open]>nav{display:flex}
 .mg-mobile-menu>nav>a{display:block;color:#092c50;text-decoration:none;font-size:15px;
  font-weight:750;padding:11px 12px;border-radius:6px}
 .mg-mobile-menu>nav>a.active,.mg-mobile-menu>nav>a:hover{background:#e8f4ff;color:#075a98}
}
@media(max-width:850px){
 .mg-head-inner{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}
 .mg-brand{grid-column:1;grid-row:1}
 .mg-auth{grid-column:2;grid-row:1}
 .mg-actions{grid-column:1;grid-row:2;flex-wrap:wrap}
 .mg-mobile-menu{grid-column:2;grid-row:2}
}
@media(max-width:590px){
 .mg-brand img{width:58px;height:42px}
 .mg-brand strong{font-size:13px}.mg-brand small{font-size:9px}
 .mg-head-inner{padding:7px 9px}
 .mg-auth{grid-column:1/-1;grid-row:3;justify-self:start}
 .mg-join,.mg-home{font-size:11px;padding:8px;min-height:34px}
}
main{max-width:1420px;margin:25px auto;padding:0 18px}.intro{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}.eyebrow{color:#c82323;font-size:12px;font-weight:800;letter-spacing:.08em}h1{font-size:clamp(25px,3vw,36px);margin:8px 0}.intro p{line-height:1.5}.official{background:#12518a;color:white;padding:13px 16px;border-radius:9px;text-decoration:none;font-weight:800}.issue{color:#536e80}.maps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.mapcard,.summary{background:white;border:1px solid #dbe4ed;border-radius:12px;padding:18px;box-shadow:0 2px 9px #1231}.mapcard h2,.summary h2{font-size:20px;margin:0 0 14px}.mapcard img{display:block;width:100%;max-height:550px;object-fit:contain}.mapcard p{font-size:12px;color:#536e80}.summary{margin-top:22px}.warning{background:#fff2d8;border:1px solid #e8bd64;padding:14px;border-radius:8px;color:#755000}.alert{padding:12px;background:#f0f7fc;border-left:4px solid #168bd2;line-height:1.5}.disclaimer{color:#526f85;font-size:13px;line-height:1.5}footer{padding:24px;text-align:center;color:#64778a;font-size:12px}@media(max-width:800px){.maps{grid-template-columns:1fr}}

