/* portale3d — menu a hamburger comune (core/menu.php). Tutto sotto .p3m: non tocca gli stili delle app. */
.p3m{--p3m-bg:#0b0a14;--p3m-fg:#ecebf3;--p3m-mut:#9a99a8;--p3m-line:rgba(255,255,255,.1);--p3m-acc:#ff2e2e;--p3m-paper:#f7f3ea;
  font-family:'DM Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.4;text-align:left;font-weight:400}
.p3m *,.p3m *::before,.p3m *::after{box-sizing:border-box}
/* reset contro gli stili globali della pagina che ospita il menu */
.p3m a,.p3m button,.p3m p,.p3m h2,.p3m ul,.p3m li,.p3m form,.p3m img{margin:0;border:0;text-transform:none;letter-spacing:normal;
  text-shadow:none;box-shadow:none;max-width:none;min-height:0;float:none;font-style:normal}
.p3m a{display:block;padding:0;background:none;color:inherit;text-decoration:none;font:inherit}
.p3m button{font:inherit;color:inherit}

/* pulsante */
.p3m .p3m-toggle{position:fixed;z-index:2147483000;display:flex;align-items:center;gap:8px;height:42px;min-width:42px;padding:0 9px;
  border:1px solid var(--p3m-line);border-radius:21px;background:rgba(11,10,20,.88);color:var(--p3m-fg);cursor:pointer;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 16px rgba(0,0,0,.35);transition:border-color .2s,transform .2s}
.p3m .p3m-toggle:hover{border-color:rgba(255,255,255,.35)}
.p3m .p3m-toggle:focus-visible,.p3m a:focus-visible,.p3m button:focus-visible{outline:2px solid var(--p3m-acc);outline-offset:2px}
.p3m-tr .p3m-toggle{top:8px;right:10px}.p3m-tl .p3m-toggle{top:8px;left:10px}
.p3m-br .p3m-toggle{bottom:14px;right:14px}.p3m-bl .p3m-toggle{bottom:14px;left:14px}
.p3m .p3m-bars{display:grid;gap:4px;width:22px;padding:0 1px}
.p3m .p3m-bars i{display:block;height:2px;border-radius:2px;background:currentColor}
.p3m .p3m-toggle img,.p3m .p3m-ini{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none}
.p3m .p3m-ini{display:grid;place-items:center;background:var(--p3m-acc);color:#fff;font-family:'Oswald',sans-serif;font-weight:700}

/* pannello */
.p3m .p3m-backdrop{position:fixed;inset:0;z-index:2147483001;background:rgba(0,0,0,.5)}
.p3m .p3m-panel{position:fixed;top:0;bottom:0;right:0;z-index:2147483002;width:min(360px,100vw);overflow-y:auto;overscroll-behavior:contain;
  background:var(--p3m-bg);color:var(--p3m-fg);border-left:1px solid var(--p3m-line);padding:0 0 28px;
  box-shadow:-12px 0 40px rgba(0,0,0,.45);animation:p3m-in .22s ease-out}
.p3m-tl .p3m-panel,.p3m-bl .p3m-panel{right:auto;left:0;border-left:0;border-right:1px solid var(--p3m-line);animation-name:p3m-in-l}
.p3m .p3m-panel[hidden],.p3m .p3m-backdrop[hidden]{display:none}
@keyframes p3m-in{from{transform:translateX(24px);opacity:0}}
@keyframes p3m-in-l{from{transform:translateX(-24px);opacity:0}}
@media (prefers-reduced-motion:reduce){.p3m .p3m-panel{animation:none}}

.p3m .p3m-head{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--p3m-bg);border-bottom:1px solid var(--p3m-line)}
.p3m .p3m-logo{font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;letter-spacing:.04em;background:var(--p3m-paper);color:#0c0c0c;
  padding:2px 10px;transform:rotate(-1.5deg);text-decoration:none;box-shadow:1px 2px 0 rgba(0,0,0,.35)}
.p3m .p3m-logo b{color:var(--p3m-acc)}
.p3m .p3m-close{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--p3m-fg);font-size:26px;line-height:1;cursor:pointer}
.p3m .p3m-close:hover{background:rgba(255,255,255,.08)}

.p3m .p3m-account{padding:16px;border-bottom:1px solid var(--p3m-line);display:grid;gap:12px}
.p3m .p3m-user{display:flex;align-items:center;gap:12px;min-width:0}
.p3m .p3m-user img,.p3m .p3m-user .p3m-ini{width:40px;height:40px;border-radius:50%;flex:none}
.p3m .p3m-user div{min-width:0}
.p3m .p3m-user b{display:block;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p3m .p3m-user small{display:block;color:var(--p3m-mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p3m .p3m-note{margin:0;color:var(--p3m-mut);font-size:13px}
.p3m .p3m-account form{margin:0}
.p3m .p3m-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:42px;padding:8px 14px;border-radius:8px;
  border:1px solid transparent;background:#fff;color:#1f1f1f;font:600 14px/1.2 'DM Mono',ui-monospace,monospace;text-decoration:none;cursor:pointer}
.p3m .p3m-btn:hover{background:#f0f0f0}
.p3m .p3m-ghost{background:transparent;color:var(--p3m-fg);border-color:var(--p3m-line)}
.p3m .p3m-ghost:hover{background:rgba(255,255,255,.06)}

.p3m .p3m-panel section{padding:16px 8px 4px}
.p3m .p3m-panel h2{margin:0 8px 6px;font:500 11px/1 'Oswald',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--p3m-acc)}
.p3m .p3m-panel ul{list-style:none;margin:0;padding:0}
.p3m .p3m-panel li a{display:block;padding:9px 8px;border-radius:6px;color:var(--p3m-fg);text-decoration:none}
.p3m .p3m-panel li a:hover{background:rgba(255,255,255,.06)}
.p3m .p3m-panel li a[aria-current="page"]{background:rgba(255,46,46,.14);box-shadow:inset 3px 0 0 var(--p3m-acc)}
.p3m .p3m-panel li span{display:block}
.p3m .p3m-panel li small{display:block;color:var(--p3m-mut);font-size:11px;letter-spacing:.06em;margin-top:1px}

/* etichetta accanto alle barre, solo su schermi larghi */
.p3m .p3m-lbl{display:none;font:500 12px/1 'Oswald',sans-serif;letter-spacing:.14em;text-transform:uppercase}
@media (min-width:1100px){.p3m .p3m-lbl{display:inline}.p3m .p3m-toggle{padding:0 12px 0 10px}}

/* sul portale il pulsante sta sopra la barra di navigazione fissa: le lascia spazio */
body:has(> .p3m-tr) > nav .wrap{padding-right:64px}
@media (min-width:1100px){body:has(> .p3m-tr) > nav .wrap{padding-right:150px}}
