
/* SPURIC Enhancements: slide-in mobile menu + lightbox + performance */
img{max-width:100%;height:auto;display:block;}
/* premium subtle treatment */
.gallery img, .event-gallery img, .campus-gallery img, .mosaic img, .img img{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  box-shadow: 0 14px 34px rgba(0,0,0,.30);
}
/* off-canvas nav */
.nav-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(96,120,144,.12);
  cursor:pointer;
}
.nav-toggle svg{width:22px;height:22px;}
@media (max-width: 980px){
  nav.nav .nav-links{display:none !important;}
  .nav-toggle{display:inline-flex;}
}
.nav-overlay{
  display:none;
  position:fixed; inset:0;
  background: rgba(0,0,0,.55);
  z-index: 60;
}
.nav-overlay.is-open{display:block;}
.nav-panel{
  position:fixed; top:0; right:-340px;
  width:340px; max-width: 88vw; height:100vh;
  background: rgba(7,10,18,.95);
  backdrop-filter: blur(14px);
  border-left: 1px solid rgba(255,255,255,.10);
  z-index: 70;
  padding: 18px 16px;
  transition: right .25s ease;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.nav-panel.is-open{ right:0; }
.nav-panel a{
  display:block;
  padding:12px 12px;
  border-radius:14px;
  text-decoration:none;
}
.nav-panel .lang{
  display:flex;
  gap:10px;
  margin-top:8px;
}
.nav-panel .lang a{
  flex:1;
  text-align:center;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(96,120,144,.10);
}
body.nav-open{overflow:hidden;}
/* lightbox */
.lightbox{position:fixed; inset:0; display:none; z-index:80;}
.lightbox.is-open{display:block;}
.lightbox__overlay{position:absolute; inset:0; background: rgba(0,0,0,.72);}
.lightbox__content{position:absolute; inset: 5vh 4vw; display:flex; align-items:center; justify-content:center;}
.lightbox__img{
  max-width:92vw; max-height:90vh;
  width:auto; height:auto;
  object-fit:contain;
  border-radius:18px;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  background: rgba(255,255,255,.03);
}
.lightbox__close{
  position:absolute;
  top:10px; right:10px;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(7,10,18,.80);
  color:#fff;
  font-size:26px;
  cursor:pointer;
}
body.lb-open{overflow:hidden;}

/* Hamburger button fix: stack bars vertically and make it obvious */
.nav-toggle{
  flex-direction: column !important;
  gap: 5px !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid rgba(248,120,32,0.55) !important;
  background: rgba(248,120,32,0.12) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(248,120,32,0.15);
}
.nav-toggle:hover{
  background: rgba(248,120,32,0.22) !important;
  border-color: rgba(248,120,32,0.85) !important;
}
.nav-toggle span{
  display: block !important;
  width: 22px !important;
  height: 2.5px !important;
  background: #ffffff !important;
  border-radius: 2px !important;
}
@media (max-width: 980px){
  .header .cta{display:none !important;}
}
