/* STLBEAST V232 — PREMIUM LOGO UNCROP REBUILD
   Scope: main STLBEAST public header/footer logo only.
   Purpose: replace the cramped/cut logo treatment with a premium contained wordmark using
   the high-resolution STLBEAST header logo. Must load after V231. */

:root{
  --stlb232-blue: #24b9ff;
  --stlb232-blue-soft: rgba(36,185,255,.55);
  --stlb232-panel: rgba(2,9,18,.96);
}

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

/* Keep the cinematic bar, but give the logo enough real height so it cannot crop. */
.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% - 28px)!important;
  max-width:2048px!important;
  min-width:0!important;
  min-height:190px!important;
  margin:20px auto 28px!important;
  padding:14px 18px!important;
  overflow:hidden!important;
  border:1px solid rgba(78,190,255,.48)!important;
  border-radius:0 30px 0 30px!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(45,190,255,.34) 0, rgba(45,190,255,0) 14%),
    linear-gradient(90deg, rgba(0,5,12,.98), rgba(5,16,30,.98) 45%, rgba(2,8,17,.98))!important;
  box-shadow:
    inset 0 0 0 1px rgba(151,219,255,.08),
    inset 0 0 48px rgba(0,144,255,.16),
    0 18px 44px rgba(0,0,0,.48)!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,
.sb-header .sb-nav{
  display:grid!important;
  grid-template-columns:minmax(420px,600px) minmax(0,1fr) minmax(230px,360px)!important;
  grid-template-areas:"brand links search"!important;
  align-items:center!important;
  justify-items:stretch!important;
  gap:24px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:158px!important;
  overflow:visible!important;
}

/* Premium logo plate. No hard crop. No distorted stretching. */
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:600px!important;
  min-width:0!important;
  min-height:150px!important;
  height:auto!important;
  margin:0!important;
  padding:10px 14px!important;
  overflow:visible!important;
  text-decoration:none!important;
  border:1px solid rgba(65,184,255,.58)!important;
  border-radius:0 24px 0 24px!important;
  background:
    linear-gradient(90deg, rgba(0,5,12,.98), rgba(2,12,23,.92)),
    radial-gradient(circle at 18% 50%, rgba(35,172,255,.24), transparent 46%)!important;
  box-shadow:
    inset 0 0 0 1px rgba(157,224,255,.08),
    inset 0 0 28px rgba(0,148,255,.16),
    0 0 24px rgba(0,148,255,.14)!important;
}

a.v114-logo::before,
a.stlb159-brand::before,
a.stlb147-logo-frame::before,
.logo::before,
.sb-logo::before{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  z-index:0!important;
  border:1px solid rgba(89,197,255,.20)!important;
  border-radius:0 18px 0 18px!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,.16), transparent 40%)!important;
  pointer-events:none!important;
}

a.v114-logo::after,
a.stlb159-brand::after,
a.stlb147-logo-frame::after,
.logo::after,
.sb-logo::after{
  content:""!important;
  position:absolute!important;
  left:38%;
  right:38%;
  bottom:-1px;
  height:3px;
  z-index:1!important;
  background:linear-gradient(90deg, transparent, var(--stlb232-blue), transparent)!important;
  box-shadow:0 0 16px var(--stlb232-blue)!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;
  width:100%!important;
  max-width:560px!important;
  min-width:0!important;
  height:128px!important;
  min-height:128px!important;
  max-height:none!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.stlb161-logo img,
header .stlb161-logo img,
img[src*="stlbeast-nav-logo"],
img[src*="stlbeast-header-logo-v232"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  max-height:128px!important;
  object-fit:contain!important;
  object-position:center center!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  clip-path:none!important;
  filter:
    drop-shadow(0 0 12px rgba(48,182,255,.42))
    drop-shadow(0 0 24px rgba(0,117,255,.18))!important;
}

.stlb161-logo-fallback{display:none!important;}

/* Center links still fit the reference but do not steal logo space. */
.v114-links,
.stlb125-links,
.stlb159-links,
.stlb147-link-row,
.navlinks,
.header-links,
.menu,
header nav[aria-label="Primary navigation"]{
  min-width:0!important;
  overflow:hidden!important;
}

/* Footer logo gets a clean smaller premium treatment, not the oversized/cropped plate. */
footer a.v114-logo,
footer a.logo,
footer .sb-logo,
.v114-footer a.v114-logo,
.footer a.logo,
.stlb159-footer a.logo{
  width:min(460px,100%)!important;
  max-width:100%!important;
  min-height:118px!important;
  padding:10px 12px!important;
  margin:0 auto 18px!important;
  overflow:visible!important;
}
footer .stlb161-logo,
.v114-footer .stlb161-logo,
.footer .stlb161-logo,
.stlb159-footer .stlb161-logo{
  width:100%!important;
  max-width:430px!important;
  height:96px!important;
  min-height:96px!important;
  max-height:none!important;
  overflow:visible!important;
}
footer .stlb161-logo img,
.v114-footer .stlb161-logo img,
.footer .stlb161-logo img,
.stlb159-footer .stlb161-logo img{
  width:100%!important;
  height:100%!important;
  max-height:96px!important;
  object-fit:contain!important;
}

@media(max-width:1320px){
  .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,
  .sb-header .sb-nav{
    grid-template-columns:minmax(360px,520px) minmax(0,1fr) minmax(220px,320px)!important;
    gap:16px!important;
  }
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.site-logo,.brand,.sb-logo{max-width:520px!important;}
}

@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% - 18px)!important;
    min-height:0!important;
    padding:12px!important;
    margin:10px auto 18px!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,
  .sb-header .sb-nav{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"brand" "links" "search"!important;
    justify-items:center!important;
    min-height:0!important;
    gap:12px!important;
  }
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.site-logo,.brand,.sb-logo{
    width:min(600px,100%)!important;
    max-width:100%!important;
    min-height:142px!important;
    padding:10px 12px!important;
  }
  .stlb161-logo,
  header .stlb161-logo{
    height:120px!important;
    min-height:120px!important;
  }
  .stlb161-logo img,
  header .stlb161-logo img{
    max-height:120px!important;
  }
}

@media(max-width:620px){
  .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% - 10px)!important;
    padding:8px!important;
    border-radius:0 18px 0 18px!important;
  }
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.site-logo,.brand,.sb-logo{
    min-height:112px!important;
    padding:8px 8px!important;
    border-radius:0 18px 0 18px!important;
  }
  a.v114-logo::before,
  a.stlb159-brand::before,
  a.stlb147-logo-frame::before,
  .logo::before,
  .sb-logo::before{inset:6px!important;border-radius:0 13px 0 13px!important;}
  .stlb161-logo,
  header .stlb161-logo{
    height:94px!important;
    min-height:94px!important;
  }
  .stlb161-logo img,
  header .stlb161-logo img{
    max-height:94px!important;
  }
}

@media(max-width:390px){
  a.v114-logo,
  a.v114-logo.clean-wordmark,
  a.stlb125-brand,
  a.stlb159-brand,
  a.stlb147-logo-frame,
  .logo,.site-logo,.brand,.sb-logo{min-height:102px!important;}
  .stlb161-logo,
  header .stlb161-logo{height:86px!important;min-height:86px!important;}
  .stlb161-logo img,
  header .stlb161-logo img{max-height:86px!important;}
}
