/* StreetMindz shared header/nav/footer layer
   Central place for full-width layout, navigation and footer socials. */

:root{
  --smz-page-gutter:clamp(16px,3.2vw,44px);
}

html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body,
main,
section,
.smz-section,
.smz-hero,
.block,
.cta-band,
.smz-foot{
  width:100%;
  max-width:none;
}

.smz-inner{
  width:100%;
  max-width:min(100%,1440px);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--smz-page-gutter);
  padding-right:var(--smz-page-gutter);
}

.smz-nav{
  position:sticky;
  top:0;
  z-index:60;
  width:100%;
  max-width:none;
  background:color-mix(in srgb,var(--smz-ink,#0C1322) 82%,transparent);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--smz-line,rgba(170,146,96,.32));
}

.smz-nav .smz-inner{
  width:100%;
  max-width:min(100%,1680px);
  height:52px;
  display:flex;
  align-items:center;
  gap:14px;
}

.smz-nav .brand{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  min-width:0;
}

.smz-nav .brand .name{
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:none;
  white-space:nowrap;
}

.smz-nav .brandlogo,
.smz-nav .navlogo{
  height:32px;
  width:auto;
  max-width:180px;
  object-fit:contain;
}

.smz-nav .nav-links{
  display:flex;
  align-items:center;
  gap:clamp(8px,1.2vw,18px);
  margin-left:auto;
  min-width:0;
  font-size:13px;
  letter-spacing:0;
  text-transform:none;
  color:var(--smz-mute,rgba(244,241,234,.66));
}

.smz-nav .nav-links a,
.smz-nav .has-sub > a{
  font-weight:500;
  white-space:nowrap;
  color:inherit;
}

.smz-nav .nav-links a:hover,
.smz-nav .nav-links a[aria-current]{
  color:var(--smz-gold,#AA9260);
}

.smz-nav .has-sub{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.smz-nav .has-sub::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:14px;
  transform:translateY(100%);
}

.smz-nav .submenu{
  position:absolute;
  top:100%;
  left:0;
  z-index:90;
  min-width:220px;
  padding:12px 10px 10px;
  margin-top:2px;
  border:1px solid var(--smz-line,rgba(170,146,96,.32));
  border-radius:8px;
  background:var(--smz-ink,#0C1322);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  opacity:0;
  visibility:hidden;
  transform:translateY(-4px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.smz-nav .has-sub:hover .submenu,
.smz-nav .has-sub:focus-within .submenu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.smz-nav .submenu a{
  display:block;
  padding:9px 10px;
  border-radius:4px;
  text-transform:none;
  letter-spacing:0;
  color:var(--smz-mute,rgba(244,241,234,.66));
}

.smz-nav .submenu a:hover{
  color:var(--smz-white,#fff);
  background:rgba(255,255,255,.06);
}

.smz-nav .nav-cta{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.smz-nav .admin-back{
  font-size:11px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--smz-gold-deep,#806E47);
  border:1px solid rgba(170,146,96,.28);
  border-radius:4px;
  padding:5px 10px;
  opacity:.65;
  white-space:nowrap;
  transition:opacity .18s,border-color .18s,color .18s;
}
.smz-nav .admin-back:hover{
  opacity:1;
  color:var(--smz-gold,#AA9260);
  border-color:var(--smz-gold,#AA9260);
}

.smz-nav .nav-cta .signin{
  font-size:13px;
  letter-spacing:0;
  text-transform:none;
}

.smz-nav .nav-cta .btn{
  font-size:12.5px;
  padding:7px 15px;
  letter-spacing:.01em;
  text-transform:none;
}

.smz-nav .nav-toggle{
  width:38px;
  height:38px;
  margin-left:auto;
}

.footer-socials{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:18px 0 0;
  padding:0;
}

.footer-socials a{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--smz-line,rgba(170,146,96,.32));
  border-radius:50%;
  color:var(--smz-gold-soft,#C2AE84);
  background:rgba(255,255,255,.03);
  font-size:0;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}

.footer-socials a:hover{
  transform:translateY(-2px);
  color:var(--smz-white,#fff);
  border-color:var(--smz-gold,#AA9260);
  background:rgba(170,146,96,.14);
}

.footer-socials a::before{
  content:attr(aria-label);
  font-size:10px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.02em;
}

.footer-socials i{
  display:none;
}

/* Nav always uses hamburger/panel — desktop + mobile identical */
.smz-nav .nav-links,
.smz-nav .nav-cta .signin{
  display:none;
}

.smz-nav .nav-toggle{
  display:inline-flex;
}

.smz-nav.open .nav-links{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:auto;
  width:min(360px,86vw);
  height:100dvh;
  margin:0;
  padding:84px 22px 28px;
  gap:4px;
  overflow-y:auto;
  background:var(--smz-section,var(--smz-ink,#0C1322));
  border-left:1px solid var(--smz-line,rgba(170,146,96,.32));
  box-shadow:-24px 0 60px -20px rgba(0,0,0,.7);
  z-index:70;
}

.smz-nav.open .nav-links > a,
.smz-nav.open .nav-links .has-sub{
  width:100%;
  padding:11px 4px;
  border-bottom:1px solid var(--smz-line-soft,rgba(244,241,234,.12));
}

.smz-nav.open .has-sub{
  display:block;
}

.smz-nav.open .submenu{
  position:static;
  visibility:visible;
  opacity:1;
  transform:none;
  min-width:0;
  width:100%;
  margin:8px 0 0;
  padding:6px 0 0 10px;
  border:0;
  box-shadow:none;
  background:transparent;
}

.smz-nav.open .nav-toggle{
  position:relative;
  z-index:80;
}

.smz-nav.open::after{
  content:"";
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  z-index:60;
}

@media (max-width:760px){
  :root{--smz-page-gutter:18px;}
  .smz-nav .brand .name{font-size:14px;}
}

/* ============================================================
   BUDDYBOSS INTEGRATION — Logged-in layout
   Keep BuddyPanel (left sidebar) but hide BB's own top header
   so only the StreetMindz nav bar shows at the top.
   ============================================================ */

/* Hide BuddyBoss top header bar (we have our own SMZ nav) */
#masthead,
.bb-header,
.site-header,
header.site-header,
.bb-topbar,
#site-header,
.bb-navigation {
  display: none !important;
}

/* Hide mobile menu toggle from BuddyBoss theme (use ours only) */
.bb-mobile-header,
.bb-mobile-menu-button {
  display: none !important;
}

/* BuddyPanel: keep visible, position correctly below SMZ nav */
#buddypanel,
.bb-buddypanel {
  top: 52px !important;   /* height of our smz-nav */
  height: calc(100dvh - 52px) !important;
  z-index: 50 !important; /* below our nav (z-index: 60) */
}

/* Push main content right of the panel — nav stays at full width */
@media (min-width: 800px) {
  .bb-buddypanel:not(.activate):not(.register) .site {
    margin-top: 0 !important;
  }
}

/* WP Admin Bar: keep if needed but tuck behind our nav */
#wpadminbar {
  top: 52px !important;
  z-index: 45 !important;
}
html.admin-bar body:not(.smz-standalone) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
