/* Shared header/footer overrides for every ONEX page. */
header{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(5,5,5,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line, var(--border));
}
.nav{
  width:min(100% - 32px,var(--wrap, var(--container)));
  margin:0 auto;
  min-height:74px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:26px;
  align-items:center;
}
.brand{display:inline-flex;align-items:center;}
.brand img{width:142px;height:auto;filter:drop-shadow(0 0 18px rgba(189,24,240,.24));}
.nav-links{display:flex;align-items:center;justify-content:center;gap:26px;}
.nav-links .nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:center;gap:26px;}
.nav-links .menu-item{position:relative;margin:0;}
.nav-links .menu-item-has-children::after{
  content:"";
  position:absolute;
  left:-16px;
  right:-16px;
  top:100%;
  height:18px;
}
.nav-links a,
.nav-dropbtn{
  color:var(--muted, var(--text-muted));
  font-family:"Proxima Nova",Arial,sans-serif;
  font-size:15px;
  font-weight:600;
  line-height:1.25;
  transition:color .18s ease;
  text-decoration:none;
}
.nav-links a:hover,
.nav-dropdown:hover .nav-dropbtn,
.nav-dropdown:focus-within .nav-dropbtn{color:var(--text);}
.nav-links .menu-item-has-children > a{display:inline-flex;align-items:center;gap:7px;}
.nav-links .menu-item-has-children > a::after{
  content:"\f078";
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:11px;
  color:var(--accent);
}
.nav-links .sub-menu{
  position:absolute;
  top:100%;
  left:50%;
  z-index:90;
  min-width:190px;
  margin:0;
  padding:18px 8px 8px;
  list-style:none;
  border:1px solid var(--accent-line);
  border-radius:8px;
  background:rgba(5,5,5,.96);
  box-shadow:var(--glow);
  transform:translate(-50%,0);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}
.nav-links .menu-item-has-children:hover > .sub-menu,
.nav-links .menu-item-has-children:focus-within > .sub-menu,
.nav-links .menu-item-has-children.is-open > .sub-menu{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-links .sub-menu a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border-radius:8px;
  white-space:nowrap;
}
.nav-links .sub-menu a:hover{
  background:rgba(189,24,240,.1);
  color:var(--text);
}
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  min-height:74px;
}
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:-18px;
  right:-18px;
  top:100%;
  height:18px;
}
.nav-dropbtn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.nav-dropbtn i{font-size:11px;color:var(--accent);}
.nav-dropdown-menu{
  position:absolute;
  top:100%;
  left:50%;
  z-index:80;
  min-width:190px;
  padding:18px 8px 8px;
  margin-top:0;
  border:1px solid var(--accent-line);
  border-radius:8px;
  background:rgba(5,5,5,.96);
  box-shadow:var(--glow);
  transform:translate(-50%,8px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown.is-open .nav-dropdown-menu{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.nav-dropdown-menu a{
  display:flex;
  align-items:center;
  gap:9px;
  padding:10px 12px;
  border-radius:8px;
  color:var(--muted, var(--text-muted));
  white-space:nowrap;
}
.nav-dropdown-menu a:hover{
  background:rgba(189,24,240,.1);
  color:var(--text);
}
.nav-actions{display:flex;align-items:center;gap:10px;}
.nav-actions .btn{
  min-height:46px;
  padding:13px 22px;
  font-size:14px;
  font-weight:700;
  line-height:1.15;
}
.socials{display:flex;align-items:center;gap:8px;}
.icon-btn{
  width:42px;
  height:42px;
  border-radius:50%;
}
.burger{display:none;}
#mobileMenu{display:none;border-top:1px solid var(--line, var(--border));padding:8px 16px 18px;background:#050505;}
#mobileMenu.open{display:grid;gap:8px;}
#mobileMenu a{padding:12px 6px;color:var(--muted, var(--text-muted));font-weight:600;}
#mobileMenu .mobile-sub{
  display:grid;
  gap:4px;
  padding:0 0 6px 14px;
  border-left:1px solid var(--accent-line);
}
#mobileMenu .mobile-sub a{padding:9px 6px;}
#mobileMenu .mobile-socials{display:flex;gap:10px;padding-top:8px;}

footer{border-top:1px solid var(--line, var(--border));padding:54px 0 94px;background:#050505;}
.shared-layout-wrap{width:min(100% - 40px,1180px);margin:0 auto;}
.foot-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:34px;}
.foot-logo{width:150px;filter:drop-shadow(0 0 18px rgba(189,24,240,.2));margin-bottom:14px;}
.foot-col h5{margin:0 0 15px;color:var(--muted, var(--text-muted));font-size:13px;text-transform:uppercase;}
.foot-col a,.foot-col p{display:block;margin:0 0 10px;color:var(--muted, var(--text-muted));line-height:1.5;}
.foot-col a:hover{color:var(--text);}
.footer-socials{display:flex;gap:10px;margin-top:14px;}
.footer-socials .icon-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  line-height:1;
}
.footer-socials .icon-btn i{display:block;line-height:1;}
.foot-bottom{margin-top:38px;padding-top:22px;border-top:1px solid var(--line, var(--border));display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted, var(--text-muted));}

@media(max-width:1040px){
  .nav{grid-template-columns:auto auto;justify-content:space-between;}
  .nav-links{display:none;}
  .burger{display:inline-flex;}
  .nav-actions .btn{display:none;}
}
@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .shared-layout-wrap{width:min(100% - 28px,1180px);}
  .nav{
    width:min(100% - 24px,var(--wrap, var(--container)));
    gap:10px;
    min-height:68px;
  }
  .brand img{width:118px;}
  .nav-actions{gap:8px;}
  .socials .icon-btn:nth-child(n+3){display:none;}
  .icon-btn{width:40px;height:40px;}
  .foot-grid{grid-template-columns:1fr;}
}
@media(max-width:380px){
  .brand img{width:104px;}
  .icon-btn{width:38px;height:38px;}
}
