/* STLBEAST V236 — SHARED HEADER INDEX MATCH LOCK
   Purpose: lock the homepage/index as the visual reference and align every shared public page header to it.
   Scope: shared public header only. Does NOT target index.php because index has .stlb234-index-header. */

html,body{max-width:100%!important;overflow-x:hidden!important;}
@supports (overflow-x:clip){html,body{overflow-x:clip!important;}}
*,*::before,*::after{box-sizing:border-box!important;}

/* Hide old shared top strip so the shared pages follow the locked index header height/feel. */
body > .stlb159-topbar,
body > .topbar.stlb159-topbar{display:none!important;}

/* Shared site shell: same contained width behavior as locked index. */
body > .shell.stlb159-shell{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
}

/* Main shared header grid: logo left, navigation middle, search right. */
.stlb159-shell > header.nav.stlb159-nav.stlb236-shared-header,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header){
  display:grid!important;
  grid-template-columns:clamp(300px,34vw,600px) minmax(0,1fr) clamp(220px,22vw,360px)!important;
  grid-template-areas:"brand links search"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:clamp(12px,1.5vw,28px)!important;
  width:min(100% - 24px,2040px)!important;
  max-width:calc(100vw - 24px)!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:14px auto 24px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  border:1px solid rgba(38,196,255,.46)!important;
  border-radius:0 28px 0 28px!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(36,196,255,.26),transparent 20%),
    linear-gradient(90deg,rgba(2,8,18,.98),rgba(5,16,30,.98) 48%,rgba(2,8,18,.98))!important;
  box-shadow:inset 0 0 0 1px rgba(140,218,255,.08), inset 0 0 46px rgba(0,144,255,.14), 0 14px 38px rgba(0,0,0,.46)!important;
  position:relative!important;
}

/* Logo plate: exact same alignment treatment as locked index. */
.stlb236-shared-header > a.stlb159-brand,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-brand{
  grid-area:brand!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:clamp(76px,7vw,132px)!important;
  min-height:0!important;
  max-height:132px!important;
  margin:0!important;
  padding:clamp(8px,.8vw,14px) clamp(10px,1vw,18px)!important;
  overflow:visible!important;
  border:1px solid rgba(52,190,255,.72)!important;
  border-radius:0 24px 0 24px!important;
  background:linear-gradient(90deg,rgba(0,4,10,.98),rgba(2,13,25,.94)), radial-gradient(circle at 18% 50%,rgba(35,172,255,.22),transparent 46%)!important;
  box-shadow:inset 0 0 0 1px rgba(165,232,255,.10), inset 0 0 26px rgba(0,149,255,.16), 0 0 24px rgba(0,149,255,.16)!important;
  text-decoration:none!important;
}
.stlb236-shared-header > a.stlb159-brand::before,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-brand::before{
  content:""!important;
  position:absolute!important;
  inset:6px!important;
  z-index:0!important;
  border:1px solid rgba(112,211,255,.18)!important;
  border-radius:0 17px 0 17px!important;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 10px), radial-gradient(circle at 0 50%,rgba(42,170,255,.14),transparent 42%)!important;
  pointer-events:none!important;
}

.stlb236-shared-header .stlb161-logo,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) .stlb161-logo{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.stlb236-shared-header .stlb161-logo img,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) .stlb161-logo img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:112px!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto!important;
  padding:0!important;
  transform:none!important;
  clip-path:none!important;
  filter:drop-shadow(0 0 10px rgba(50,187,255,.44)) drop-shadow(0 0 22px rgba(0,116,255,.18))!important;
}
.stlb236-shared-header .stlb161-logo-fallback{display:none!important;}

/* Nav: center, wrapped safely, same button style as locked index. */
.stlb236-shared-header > nav.stlb159-links,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links{
  grid-area:links!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(6px,.8vw,14px)!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
.stlb236-shared-header > nav.stlb159-links a,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px clamp(10px,1vw,18px)!important;
  border:1px solid rgba(83,174,232,.22)!important;
  border-radius:0 16px 0 16px!important;
  background:rgba(3,12,24,.50)!important;
  color:#eaf7ff!important;
  font-size:clamp(10px,.72vw,14px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  text-decoration:none!important;
  margin:0!important;
}
.stlb236-shared-header > nav.stlb159-links a.active,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links a.active{
  border-color:rgba(66,200,255,.85)!important;
  color:#03101d!important;
  background:linear-gradient(135deg,#28c4ff,#7f55ff)!important;
  text-shadow:none!important;
}

/* Search: never overlaps logo, always lives in the right grid slot. */
.stlb236-shared-header > a.stlb159-search,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-search{
  grid-area:search!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:52px!important;
  min-height:0!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid rgba(64,198,255,.78)!important;
  border-radius:0 18px 0 18px!important;
  background:linear-gradient(180deg,rgba(4,14,28,.96),rgba(2,8,18,.98))!important;
  color:#d8e7fb!important;
  box-shadow:inset 0 0 0 1px rgba(120,221,255,.08), 0 0 22px rgba(0,153,255,.12)!important;
  text-decoration:none!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.stlb236-shared-header > a.stlb159-search span{font-size:23px!important;color:#80e7ff!important;line-height:1!important;flex:0 0 auto!important;}
.stlb236-shared-header > a.stlb159-search b,
.stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-search b{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:clamp(13px,1.05vw,19px)!important;letter-spacing:.01em!important;}

/* Responsive shared layout: same breakpoints as the locked homepage header. */
@media(max-width:1180px){
  .stlb159-shell > header.nav.stlb159-nav.stlb236-shared-header,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header){
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"brand" "links" "search"!important;
    justify-items:center!important;
    width:calc(100% - 16px)!important;
    max-width:calc(100vw - 16px)!important;
    margin:8px auto 18px!important;
    padding:12px!important;
    gap:12px!important;
  }
  .stlb236-shared-header > a.stlb159-brand,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-brand{
    width:min(660px,100%)!important;
    height:118px!important;
  }
  .stlb236-shared-header > nav.stlb159-links,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links{
    width:100%!important;
    max-width:900px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .stlb236-shared-header > nav.stlb159-links a,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links a{width:100%!important;}
  .stlb236-shared-header > a.stlb159-search,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-search{width:min(900px,100%)!important;}
}

@media(max-width:620px){
  .stlb159-shell > header.nav.stlb159-nav.stlb236-shared-header,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header){
    width:calc(100% - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    padding:8px!important;
    border-radius:0 18px 0 18px!important;
  }
  .stlb236-shared-header > a.stlb159-brand,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-brand{
    width:100%!important;
    height:96px!important;
    padding:10px 12px!important;
    border-radius:0 16px 0 16px!important;
  }
  .stlb236-shared-header > nav.stlb159-links,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .stlb236-shared-header > nav.stlb159-links a,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > nav.stlb159-links a{
    min-height:38px!important;
    padding:8px 9px!important;
    font-size:10.5px!important;
  }
  .stlb236-shared-header > a.stlb159-search,
  .stlb159-shell > header.nav.stlb159-nav:not(.stlb234-index-header) > a.stlb159-search{
    height:46px!important;
    border-radius:0 14px 0 14px!important;
  }
}
