/* STLBEAST V231 — REFERENCE HEADER REALITY LOCK
   Purpose: make the public STLBEAST header match the approved wide cinematic reference:
   left logo plate, centered nav, right search, blue industrial frame, no right-side overflow.
   Load last after every older header/logo stylesheet. */

html,
body{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  margin-left:0!important;
  margin-right:0!important;
}
@supports (overflow-x:clip){html,body{overflow-x:clip!important;}}
*,*::before,*::after{box-sizing:border-box!important;}
img,svg,video,canvas{max-width:100%!important;height:auto;}

/* The old status strip is the main thing making the header feel unlike the approved reference. */
.v114-topbar,
.stlb125-topbar,
.stlb159-topbar,
.topbar,
[class*="topbar"]{
  display:none!important;
}

/* Keep page wrappers safe without letting them squeeze the nav into a broken row. */
.v114-shell,
.stlb125-shell,
.stlb159-shell,
.shell,
.site-shell,
.sb-shell,
.wrapper{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:visible!important;
}
.main,
.stlb159-main,
main{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}

/* Approved-reference header frame. */
.v114-nav,
.v114-nav.stlb147-premium-nav,
header.stlb125-nav,
.stlb125-nav,
header.nav.stlb159-nav,
.stlb159-nav,
.site-header,
.sb-header,
header[class*="nav"]{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
  float:none!important;
  width:calc(100% - 32px)!important;
  max-width:2048px!important;
  min-width:0!important;
  min-height:180px!important;
  margin:24px auto 28px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border:1px solid rgba(72,180,255,.42)!important;
  border-radius:0 30px 0 30px!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(0,178,255,.38) 0, rgba(0,178,255,0) 16%),
    radial-gradient(circle at 14% 50%, rgba(0,154,255,.20) 0, rgba(0,154,255,0) 24%),
    linear-gradient(90deg, rgba(3,8,15,.98) 0%, rgba(6,17,29,.98) 38%, rgba(6,13,24,.98) 100%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(147,213,255,.08),
    inset 0 0 42px rgba(0,142,255,.14),
    0 0 0 1px rgba(0,0,0,.86),
    0 20px 44px rgba(0,0,0,.42)!important;
}
.v114-nav::before,
.stlb125-nav::before,
.stlb159-nav::before,
.site-header::before,
.sb-header::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:-1!important;
  background:
    linear-gradient(90deg, transparent 0 24%, rgba(35,178,255,.55) 24.2%, transparent 24.7% 49.5%, rgba(35,178,255,.72) 50%, transparent 50.4% 99%),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 64px)!important;
  opacity:.42!important;
}
.v114-nav::after,
.stlb125-nav::after,
.stlb159-nav::after,
.site-header::after,
.sb-header::after{
  content:""!important;
  position:absolute!important;
  left:16px!important;right:16px!important;top:0!important;height:2px!important;
  background:linear-gradient(90deg, transparent, rgba(35,178,255,.85), transparent)!important;
  box-shadow:0 0 18px rgba(35,178,255,.85)!important;
  pointer-events:none!important;
}

/* Two supported header structures: homepage has an inner shell, layout.php uses direct children. */
.v114-nav .stlb147-nav-shell,
.stlb125-nav .stlb147-nav-shell,
.stlb159-nav,
.stlb159-nav .stlb147-nav-shell,
.site-header .header-inner,
.nav-inner,
.header-inner{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:150px!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(330px,520px) minmax(0,1fr) minmax(230px,360px)!important;
  grid-template-areas:"brand links search"!important;
  align-items:center!important;
  justify-items:stretch!important;
  column-gap:24px!important;
  row-gap:14px!important;
  overflow:visible!important;
}

/* Logo plate, left. */
a.v114-logo,
a.v114-logo.clean-wordmark,
a.stlb125-brand,
a.stlb159-brand,
a.stlb147-logo-frame,
.v114-logo,
.stlb125-brand,
.stlb159-brand,
.stlb147-logo-frame,
.logo,
.site-logo,
.brand,
.sb-logo{
  grid-area:brand!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:520px!important;
  min-width:0!important;
  min-height:132px!important;
  margin:0!important;
  padding:16px 22px!important;
  overflow:hidden!important;
  flex:0 1 auto!important;
  text-decoration:none!important;
  border:1px solid rgba(48,169,255,.48)!important;
  border-radius:0 22px 0 22px!important;
  background:
    radial-gradient(circle at 18% 50%, rgba(33,166,255,.20), transparent 42%),
    linear-gradient(90deg, rgba(4,11,20,.95), rgba(8,20,34,.82))!important;
  box-shadow:inset 0 0 30px rgba(0,142,255,.16), 0 0 22px rgba(0,142,255,.12)!important;
}
a.v114-logo::before,
a.stlb159-brand::before,
a.stlb147-logo-frame::before,
.logo::before{
  content:""!important;
  position:absolute!important;
  inset:9px!important;
  border:1px solid rgba(82,194,255,.18)!important;
  background:repeating-linear-gradient(120deg, rgba(255,255,255,.035) 0 1px, transparent 1px 9px)!important;
  opacity:.55!important;
  pointer-events:none!important;
}
.stlb161-logo,
header .stlb161-logo,
footer .stlb161-logo{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  max-width:460px!important;
  min-width:0!important;
  height:100px!important;
  max-height:100px!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.stlb161-logo img,
header .stlb161-logo img,
img[src*="stlbeast-nav-logo"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  max-height:96px!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  transform:none!important;
  clip-path:none!important;
  filter:drop-shadow(0 0 16px rgba(63,183,255,.46))!important;
}
.stlb161-logo-fallback{display:none!important;}

/* Center nav. */
.v114-links,
.stlb125-links,
.stlb159-links,
.stlb147-link-row,
.navlinks,
.header-links,
.menu,
header nav[aria-label="Primary navigation"]{
  grid-area:links!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  overflow:hidden!important;
}
.v114-links a,
.stlb125-links a,
.stlb159-links a,
.stlb147-link-row a,
.navlinks a,
.header-links a,
.menu a,
header nav[aria-label="Primary navigation"] a{
  position:relative!important;
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  color:rgba(235,247,255,.90)!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  font-weight:900!important;
  font-size:clamp(12px, .82vw, 18px)!important;
  line-height:1!important;
  padding:0 clamp(10px, 1.35vw, 26px)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  text-shadow:0 0 12px rgba(79,185,255,.18)!important;
}
.v114-links a + a::before,
.stlb147-link-row a + a::before,
.stlb159-links a + a::before,
.navlinks a + a::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:16px!important;
  bottom:16px!important;
  width:1px!important;
  background:linear-gradient(transparent, rgba(71,161,224,.38), transparent)!important;
}
.v114-links a.active,
.v114-links a[aria-current="page"],
.stlb147-link-row a.active,
.stlb159-links a.active,
.navlinks a.active{
  color:#9ee4ff!important;
  border:1px solid rgba(55,190,255,.72)!important;
  border-radius:0 16px 0 16px!important;
  background:linear-gradient(180deg, rgba(17,77,118,.58), rgba(5,23,40,.72))!important;
  box-shadow:inset 0 0 18px rgba(45,183,255,.25), 0 0 18px rgba(35,178,255,.16)!important;
}

/* Search, right. */
.v114-search,
.stlb125-search,
.stlb159-search,
.stlb147-searchbox,
.search,
.searchbox,
header a[href*="search"]{
  grid-area:search!important;
  justify-self:end!important;
  width:100%!important;
  max-width:360px!important;
  min-width:0!important;
  min-height:70px!important;
  display:flex!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:14px!important;
  overflow:hidden!important;
  text-align:left!important;
  padding:0 22px!important;
  color:rgba(232,244,255,.74)!important;
  border:1px solid rgba(58,182,255,.76)!important;
  border-radius:0 18px 0 18px!important;
  background:linear-gradient(180deg, rgba(7,25,43,.74), rgba(3,11,20,.92))!important;
  box-shadow:inset 0 0 22px rgba(0,153,255,.17), 0 0 20px rgba(0,153,255,.16)!important;
  text-decoration:none!important;
  flex:0 1 auto!important;
}
.stlb147-searchicon,
.v114-search span:first-child,
.stlb159-search span:first-child{font-size:28px!important;line-height:1!important;color:rgba(176,214,255,.8)!important;flex:0 0 auto!important;}
.stlb147-searchtext,
.stlb159-search b,
.v114-search span,
.stlb125-search span,
.search span,
.searchbox span{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-weight:700!important;
  letter-spacing:.03em!important;
}

/* Tablet / small desktop: stack cleanly instead of falling right. */
@media(max-width:1180px){
  .v114-nav,
  .v114-nav.stlb147-premium-nav,
  header.stlb125-nav,
  .stlb125-nav,
  header.nav.stlb159-nav,
  .stlb159-nav,
  .site-header,
  .sb-header,
  header[class*="nav"]{
    width:calc(100% - 20px)!important;
    min-height:0!important;
    margin:12px auto 18px!important;
    padding:12px!important;
    border-radius:0 22px 0 22px!important;
  }
  .v114-nav .stlb147-nav-shell,
  .stlb125-nav .stlb147-nav-shell,
  .stlb159-nav,
  .stlb159-nav .stlb147-nav-shell,
  .site-header .header-inner,
  .nav-inner,
  .header-inner{
    min-height:0!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"brand" "links" "search"!important;
    justify-items:center!important;
    gap:12px!important;
  }
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.brand,.site-logo{
    width:min(520px,100%)!important;
    max-width:100%!important;
    min-height:104px!important;
    padding:12px 16px!important;
  }
  .stlb161-logo{height:84px!important;max-height:84px!important;}
  .stlb161-logo img{max-height:80px!important;}
  .v114-links,
  .stlb125-links,
  .stlb159-links,
  .stlb147-link-row,
  .navlinks,
  header nav[aria-label="Primary navigation"]{
    max-width:760px!important;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .v114-links a,
  .stlb125-links a,
  .stlb159-links a,
  .stlb147-link-row a,
  .navlinks a,
  header nav[aria-label="Primary navigation"] a{
    min-height:42px!important;
    width:100%!important;
    padding:8px 8px!important;
    white-space:normal!important;
    font-size:12px!important;
    border:1px solid rgba(64,156,219,.18)!important;
    border-radius:0 12px 0 12px!important;
    background:rgba(4,19,33,.58)!important;
  }
  .v114-links a + a::before,
  .stlb147-link-row a + a::before,
  .stlb159-links a + a::before,
  .navlinks a + a::before{display:none!important;}
  .v114-search,
  .stlb125-search,
  .stlb159-search,
  .stlb147-searchbox,
  header a[href*="search"]{
    justify-self:center!important;
    max-width:520px!important;
    min-height:54px!important;
  }
}

@media(max-width:520px){
  .v114-nav,
  .v114-nav.stlb147-premium-nav,
  header.stlb125-nav,
  .stlb125-nav,
  header.nav.stlb159-nav,
  .stlb159-nav,
  .site-header,
  .sb-header,
  header[class*="nav"]{
    width:calc(100% - 12px)!important;
    padding:8px!important;
    margin-top:6px!important;
    border-radius:0 16px 0 16px!important;
  }
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.brand,.site-logo{
    min-height:76px!important;
    padding:8px 10px!important;
  }
  .stlb161-logo{height:58px!important;max-height:58px!important;}
  .stlb161-logo img{max-height:56px!important;}
  .v114-links,
  .stlb125-links,
  .stlb159-links,
  .stlb147-link-row,
  .navlinks,
  header nav[aria-label="Primary navigation"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:100%!important;
    gap:7px!important;
  }
  .v114-links a,
  .stlb125-links a,
  .stlb159-links a,
  .stlb147-link-row a,
  .navlinks a,
  header nav[aria-label="Primary navigation"] a{
    min-height:38px!important;
    font-size:10.3px!important;
    letter-spacing:.03em!important;
    line-height:1.05!important;
    padding:7px 4px!important;
  }
  .v114-search,
  .stlb125-search,
  .stlb159-search,
  .stlb147-searchbox,
  header a[href*="search"]{
    width:100%!important;
    min-height:48px!important;
    padding:0 14px!important;
    gap:9px!important;
  }
  .stlb147-searchicon,
  .v114-search span:first-child,
  .stlb159-search span:first-child{font-size:20px!important;}
}

/* Footer logo: visible, centered, contained. */
.v114-footer,
.footer,
.stlb159-footer,
.stlb125-footer,
footer{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
.v114-footer > *,
.footer > *,
.stlb159-footer > *,
footer > *{min-width:0!important;max-width:100%!important;}
footer a.v114-logo,
footer a.logo,
.v114-footer a.v114-logo,
.footer a.logo,
.stlb159-footer a.logo{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:min(360px,100%)!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:76px!important;
  margin:0 auto 14px!important;
  padding:8px 10px!important;
  overflow:hidden!important;
}
footer .stlb161-logo,
.v114-footer .stlb161-logo,
.footer .stlb161-logo,
.stlb159-footer .stlb161-logo{
  width:min(330px,100%)!important;
  height:58px!important;
  max-height:58px!important;
}
footer .stlb161-logo img,
.v114-footer .stlb161-logo img,
.footer .stlb161-logo img,
.stlb159-footer .stlb161-logo img{max-height:54px!important;}
