/* Shared site shell refinements */
:root{
  --shell-gradient: radial-gradient(circle at top left, rgba(251,82,122,.18), transparent 34%), linear-gradient(135deg, #4a2268 0%, #34134b 100%);
  --shell-border: rgba(255,255,255,.16);
  --shell-glass: rgba(255,255,255,.10);
  --footer-card: rgba(255,255,255,.06);
}
.site-header{
  background: var(--shell-gradient);
  backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-header::before{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);
  pointer-events:none;
}
.nav-inner{height:74px;gap:20px;}
.nav-logo img{height:38px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));}
.nav-menu{gap:6px;}
.nav-link{
  padding:10px 14px;
  border:1px solid transparent;
  letter-spacing:.01em;
}
.nav-link:hover,.nav-link.active,.nav-item.open>.nav-link{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.14);
  box-shadow:0 10px 24px rgba(33,12,48,.18);
}
.nav-btn-wrap{gap:10px;}
.nav-btn{
  min-height:40px;
  padding:9px 20px;
}
.nav-btn-login{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}
.nav-btn-buy{
  position:relative;
  overflow:hidden;
}
.nav-btn-buy::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 20%, rgba(255,255,255,.24) 48%, transparent 76%);
  transform:translateX(-130%);
  transition:transform .5s ease;
}
.nav-btn-buy:hover::after{transform:translateX(130%);}
.mega-panel,.dropdown-panel{
  border:1px solid rgba(74,34,104,.08);
  box-shadow:0 24px 52px rgba(33,12,48,.20);
}
.mobile-nav{background:linear-gradient(180deg,#3d1858 0%,#321247 100%);}
.mobile-nav a:hover,.mobile-nav button:hover{background:rgba(255,255,255,.08);}
.site-footer{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#311045 0%, #251034 100%);
}
.site-footer::before,
.site-footer::after{
  content:'';
  position:absolute;
  border-radius:999px;
  filter:blur(8px);
  opacity:.45;
  pointer-events:none;
}
.site-footer::before{
  width:320px;height:320px;right:-90px;top:-120px;
  background:radial-gradient(circle, rgba(251,82,122,.22), transparent 68%);
}
.site-footer::after{
  width:280px;height:280px;left:-60px;bottom:-140px;
  background:radial-gradient(circle, rgba(123,175,255,.18), transparent 72%);
}
.footer-top-bar,.footer-main,.footer-bottom{position:relative;z-index:1;}
.footer-top-bar-inner,
.footer-main-grid,
.footer-bottom-inner{
  border-radius:22px;
}
.footer-top-bar-inner{
  padding:26px 28px;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.04));
  border:1px solid var(--shell-border);
  box-shadow:0 20px 50px rgba(10,8,20,.22);
}
.footer-brand-logo{filter:drop-shadow(0 8px 22px rgba(0,0,0,.22));}
.footer-badge-new{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
}
.footer-main-grid{
  margin-top:22px;
  padding:24px 26px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
}
.footer-heading{
  color:#fff;
  letter-spacing:.03em;
}
.footer-link,.footer-contact-link{color:rgba(255,255,255,.78);}
.footer-link:hover,.footer-contact-link:hover{color:#fff;}
.footer-note-new,
.footer-disclaimer,
.footer-bottom-copy{color:rgba(255,255,255,.68);}
.footer-payments-strip{
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
}
@media (max-width: 991px){
  .nav-inner{height:70px;}
  .footer-top-bar-inner,.footer-main-grid{padding:22px 18px;}
}
