/* XYR HUB — navigazione condivisa su TUTTE le sezioni.
 * Solo selettori .xyr-global-nav: evita collisioni con le pagine legacy.
 */
.xyr-global-nav {
  --xn-bg:#080c22; --xn-cyan:#58e5ee; --xn-violet:#a779ff; --xn-text:#f6f5ff;
  --xn-muted:#c2c7e6; --xn-line:rgba(167,121,255,.26);
  position:sticky; top:0; z-index:2000; width:100%;
  background:linear-gradient(110deg,rgba(8,10,29,.98),rgba(10,18,43,.97));
  border-bottom:1px solid var(--xn-line);
  box-shadow:0 14px 36px rgba(2,4,15,.4), inset 0 -1px rgba(88,229,238,.12);
  backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  color:var(--xn-text); font:600 13px/1.4 Inter,'Segoe UI',Arial,sans-serif;
  isolation:isolate;
}
.xyr-global-nav *, .xyr-global-nav *::before, .xyr-global-nav *::after {box-sizing:border-box;}
.xyr-global-nav::after {
  position:absolute; bottom:-1px; left:0; right:0; height:1px; content:"";
  background:linear-gradient(90deg,transparent 5%,rgba(167,121,255,.6) 40%,rgba(88,229,238,.52) 65%,transparent 94%);
  pointer-events:none;
}
.xyr-global-nav .xyr-nav-inner {
  max-width:1780px; min-height:72px; margin:0 auto; padding:0 clamp(16px,2.3vw,36px);
  display:flex; align-items:center; gap:clamp(12px,1.5vw,28px);
}
.xyr-global-nav a {color:var(--xn-muted);text-decoration:none;}
.xyr-global-nav a:hover {color:#fff;}
.xyr-global-nav :is(a,button,summary):focus-visible {
  outline:2px solid var(--xn-cyan); outline-offset:4px;
}
.xyr-global-nav .xyr-nav-brand {
  display:flex; align-items:center; flex:0 0 auto; gap:9px; white-space:nowrap;
  text-transform:uppercase; letter-spacing:.06em; color:var(--xn-text);
  font-size:19px; font-weight:900; text-decoration:none;
}
.xyr-global-nav .xyr-nav-brand img {
  width:43px; height:43px; object-fit:contain;
  filter:drop-shadow(0 0 10px rgba(167,121,255,.38));
}
.xyr-global-nav .xyr-nav-brand b {color:var(--xn-cyan);font-weight:900;}
.xyr-global-nav .xyr-nav-brand small {
  font-size:8px; color:#91a4d7; font-weight:800; letter-spacing:.26em;
  padding-left:5px; border-left:1px solid rgba(167,121,255,.28);
}
.xyr-global-nav .xyr-nav-panel {
  flex:1 1 auto; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.xyr-global-nav .xyr-nav-links {
  display:flex; align-items:center; justify-content:center; flex:1 1 auto;
  gap:clamp(1px,.3vw,8px); min-width:0;
}
.xyr-global-nav .xyr-nav-links > a,
.xyr-global-nav .xyr-nav-group > summary {
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  padding:10px clamp(7px,.72vw,12px); border:1px solid transparent;
  border-radius:10px; font-size:12px; font-weight:750; letter-spacing:.01em;
  white-space:nowrap; color:var(--xn-muted); line-height:1.2;
  transition:background .15s,border-color .15s,color .15s;
}
.xyr-global-nav .xyr-nav-links > a:hover,
.xyr-global-nav .xyr-nav-links > a[aria-current="page"],
.xyr-global-nav .xyr-nav-group > summary:hover,
.xyr-global-nav .xyr-nav-group[open] > summary,
.xyr-global-nav .xyr-nav-group.has-active > summary {
  color:#fff; background:rgba(167,121,255,.13); border-color:rgba(167,121,255,.16);
}
.xyr-global-nav .xyr-nav-links > a[aria-current="page"] {
  box-shadow:inset 0 -2px var(--xn-cyan);
}
.xyr-global-nav .xyr-nav-hyper {color:#d0b3ff !important;}
.xyr-global-nav .xyr-nav-group {position:relative; flex:0 0 auto; margin:0; padding:0;}
.xyr-global-nav .xyr-nav-group > summary {cursor:pointer; list-style:none;}
.xyr-global-nav .xyr-nav-group > summary::-webkit-details-marker {display:none;}
.xyr-global-nav .xyr-nav-chevron {color:var(--xn-cyan);font-size:17px;line-height:12px;transition:transform .2s;}
.xyr-global-nav .xyr-nav-group[open] .xyr-nav-chevron {transform:rotate(180deg);}
.xyr-global-nav .xyr-nav-dropdown {
  position:absolute; top:calc(100% + 11px); left:0; z-index:10; width:240px;
  max-height:min(75vh,660px); overflow-y:auto;
  display:flex; flex-direction:column; gap:2px;
  padding:12px; border:1px solid rgba(167,121,255,.36); border-radius:16px;
  background:linear-gradient(155deg,rgba(20,17,52,.99),rgba(6,15,37,.99));
  box-shadow:0 25px 62px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.04);
}
.xyr-global-nav .xyr-nav-dropdown-network {width:270px;}
.xyr-global-nav .xyr-nav-dropdown-title {margin:9px 10px 6px;color:var(--xn-violet);font:800 10px/1.2 Inter,'Segoe UI',sans-serif;letter-spacing:.14em;}
.xyr-global-nav .xyr-nav-dropdown a {
  min-height:33px; display:flex; align-items:center; gap:5px; border-radius:8px;
  padding:7px 10px; color:#cdd4f0; font-size:12px; font-weight:650;
}
.xyr-global-nav .xyr-nav-dropdown a:hover,
.xyr-global-nav .xyr-nav-dropdown a[aria-current="page"] {
  color:#fff; background:rgba(88,229,238,.1);
}
.xyr-global-nav .xyr-nav-dropdown-separator {border-top:1px solid rgba(167,121,255,.18);margin:8px 4px;}
.xyr-global-nav .xyr-nav-subgrid {display:grid;grid-template-columns:1fr 1fr;gap:0 4px;}
.xyr-global-nav .xyr-nav-chip {
  margin-left:auto;color:#6ff1e9;font-size:9px;letter-spacing:.09em;
  background:rgba(88,229,238,.11);border:1px solid rgba(88,229,238,.25);
  border-radius:6px;padding:2px 5px;
}
.xyr-global-nav .xyr-nav-auth {display:flex;align-items:center;flex:0 0 auto;gap:8px;white-space:nowrap;}
.xyr-global-nav .xyr-nav-auth > a {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:36px; border-radius:10px; padding:8px 9px;
  font-size:12px;font-weight:750;
}
.xyr-global-nav .xyr-nav-login {color:#e5e9ff !important;}
.xyr-global-nav .xyr-nav-signup {
  color:#0b1026 !important;
  background:linear-gradient(110deg,#c6a3ff,#96aeff 52%,#63e6ed);
  box-shadow:0 4px 18px rgba(167,121,255,.21);
}
.xyr-global-nav .xyr-nav-signup:hover {filter:brightness(1.1);}
.xyr-global-nav .xyr-nav-account {
  background:rgba(167,121,255,.1);border:1px solid rgba(167,121,255,.28);
  color:#fff !important;max-width:180px;
}
.xyr-global-nav .xyr-nav-username {max-width:92px;overflow:hidden;text-overflow:ellipsis;}
.xyr-global-nav .xyr-nav-avatar {color:#abebff;font-size:17px;line-height:1;}
.xyr-global-nav .xyr-nav-logout {color:#ffaaba !important;}
.xyr-global-nav .xyr-nav-notify {position:relative;color:#b0eaff !important;font-size:20px !important;}
.xyr-global-nav .xyr-nav-count {position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:1px 4px;border-radius:30px;color:#081024;background:#6be7ef;font-size:10px;text-align:center;}
.xyr-global-nav .xyr-nav-toggle {display:none;}
/* Manteniamo in memoria il vecchio menu XYR soltanto come fallback se la richiesta non riesce. */
.xyr-unified-ready > .site-header, .xyr-unified-ready > .mobile-nav {display:none !important;}
@media (max-width:1280px) {
 .xyr-global-nav .xyr-nav-brand small {display:none;}
 .xyr-global-nav .xyr-nav-links > a,.xyr-global-nav .xyr-nav-group > summary {padding-inline:6px;font-size:11px;}
}
@media (max-width:1080px) {
 .xyr-global-nav .xyr-nav-inner {min-height:64px;justify-content:space-between;flex-wrap:wrap;padding:10px 18px;gap:0;}
 .xyr-global-nav .xyr-nav-brand {font-size:18px;}
 .xyr-global-nav .xyr-nav-brand img {width:39px;height:39px;}
 .xyr-global-nav .xyr-nav-toggle {
   display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;
   width:41px;height:41px;margin:0 0 0 auto;padding:0;border:1px solid rgba(167,121,255,.4);border-radius:11px;
   color:var(--xn-text);background:rgba(167,121,255,.11);cursor:pointer;
 }
 .xyr-global-nav .xyr-nav-toggle span {display:block;width:20px;height:2px;background:#dce2fa;border-radius:2px;transition:transform .17s,opacity .17s;}
 .xyr-global-nav.xyr-nav-open .xyr-nav-toggle span:first-child {transform:translateY(7px) rotate(45deg);}
 .xyr-global-nav.xyr-nav-open .xyr-nav-toggle span:nth-child(2) {opacity:0;}
 .xyr-global-nav.xyr-nav-open .xyr-nav-toggle span:last-child {transform:translateY(-7px) rotate(-45deg);}
 .xyr-global-nav .xyr-nav-panel {display:none;flex:1 0 100%;width:100%;padding:12px 0 10px;max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;}
 .xyr-global-nav.xyr-nav-open .xyr-nav-panel {display:block;}
 .xyr-global-nav .xyr-nav-links {display:flex;flex-direction:column;align-items:stretch;gap:4px;}
 .xyr-global-nav .xyr-nav-links > a,.xyr-global-nav .xyr-nav-group > summary {display:flex;justify-content:space-between;width:100%;padding:13px 14px;font-size:13px;border-radius:10px;}
 .xyr-global-nav .xyr-nav-group {width:100%;}
 .xyr-global-nav .xyr-nav-dropdown,.xyr-global-nav .xyr-nav-dropdown-network {
   position:static;width:auto;max-height:none;margin:5px 0 9px 12px;border-radius:12px;box-shadow:none;
   padding:9px;background:rgba(7,13,36,.8);
 }
 .xyr-global-nav .xyr-nav-dropdown a {padding:10px 12px;font-size:13px;}
 .xyr-global-nav .xyr-nav-auth {padding-top:13px;margin-top:11px;border-top:1px solid rgba(167,121,255,.22);justify-content:flex-start;flex-wrap:wrap;}
 .xyr-global-nav .xyr-nav-auth > a {font-size:13px;}
}
@media(max-width:430px) {
 .xyr-global-nav .xyr-nav-inner {padding-inline:12px;}
 .xyr-global-nav .xyr-nav-subgrid {grid-template-columns:1fr 1fr;}
 .xyr-global-nav .xyr-nav-username {max-width:140px;}
}
@media(prefers-reduced-motion:reduce) {
 .xyr-global-nav * {transition:none !important;}
}


/* XYR HUB — badge account basato sul piano corrente dell'ente.
   I nomi dei piani vengono validati nel template; gli utenti privati restano neutri. */
.xyr-global-nav .xyr-nav-account {
  --xn-account-accent: #abebff;
  --xn-account-border: rgba(167,121,255,.28);
  --xn-account-bg: rgba(167,121,255,.1);
  --xn-account-tag-bg: rgba(125,169,204,.13);
  --xn-account-tag-border: rgba(140,185,230,.18);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--xn-account-bg);
  border-color: var(--xn-account-border);
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.xyr-global-nav .xyr-nav-account:hover {
  border-color: var(--xn-account-accent);
  background: var(--xn-account-bg);
  box-shadow: 0 0 0 1px var(--xn-account-border), 0 0 18px -5px var(--xn-account-accent);
}
.xyr-global-nav .xyr-nav-account .xyr-nav-avatar {
  color: var(--xn-account-accent);
  flex: 0 0 auto;
  text-shadow: 0 0 10px var(--xn-account-border);
}
.xyr-global-nav .xyr-nav-account .xyr-nav-username {min-width:0;}
.xyr-global-nav .xyr-nav-account:has(.xyr-nav-plan-tag) {max-width:220px;}
.xyr-global-nav .xyr-nav-account .xyr-nav-plan-tag {
  flex:0 0 auto;
  display:inline-block;
  margin-left:2px;
  padding:5px 6px 4px;
  border-radius:6px;
  color:var(--xn-account-accent);
  background:var(--xn-account-tag-bg);
  border:1px solid var(--xn-account-tag-border);
  font-size:9px;
  line-height:1;
  font-weight:900;
  letter-spacing:.05em;
}
/* Free conserva i colori neutri attuali della barra. */
.xyr-global-nav .xyr-nav-account--light {
  --xn-account-accent:#6be7ed;
  --xn-account-border:rgba(94,217,225,.35);
  --xn-account-bg:rgba(60,171,187,.1);
  --xn-account-tag-bg:rgba(68,197,209,.12);
  --xn-account-tag-border:rgba(107,231,237,.26);
}
.xyr-global-nav .xyr-nav-account--medium {
  --xn-account-accent:#c4a1ff;
  --xn-account-border:rgba(165,111,244,.44);
  --xn-account-bg:rgba(133,78,212,.13);
  --xn-account-tag-bg:rgba(156,96,241,.15);
  --xn-account-tag-border:rgba(196,161,255,.29);
}
.xyr-global-nav .xyr-nav-account--premium {
  --xn-account-accent:#f4cf82;
  --xn-account-border:rgba(237,181,75,.48);
  --xn-account-bg:linear-gradient(110deg,rgba(122,88,22,.14),rgba(67,49,18,.23));
  --xn-account-tag-bg:rgba(221,166,55,.14);
  --xn-account-tag-border:rgba(244,207,130,.36);
  box-shadow:inset 0 1px 0 rgba(255,222,153,.08);
}
@media (max-width:1080px) {
  .xyr-global-nav .xyr-nav-account:has(.xyr-nav-plan-tag) {max-width:260px;}
}
@media (prefers-reduced-motion:reduce) {
  .xyr-global-nav .xyr-nav-account {transition:none;}
}
