/* Search overlay professional black */
.search-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 200 !important;
  background: rgba(0,0,0,.72) !important;
  backdrop-filter: blur(8px) !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 24px 12px 40px !important;
}
.search-overlay[hidden] { display: none !important; }
.search-sheet {
  width: min(640px, 100%) !important;
  margin-top: 40px !important;
  background: #0c0c0c !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.55) !important;
  overflow: hidden !important;
}
.search-top {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  padding: 16px !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.search-form {
  flex: 1 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  background: #161616 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  padding: 10px 14px !important;
}
.search-form input {
  flex: 1 !important;
  border: 0 !important;
  background: transparent !important;
  color: #fff !important;
  outline: none !important;
  font-size: 15px !important;
}
.search-form input::placeholder { color: #777 !important; }
.search-form svg { stroke: #aaa !important; }
.search-clear {
  background: transparent !important;
  border: 0 !important;
  color: #aaa !important;
  font-size: 20px !important;
}
.search-cancel {
  background: #1a1a1a !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 12px !important;
  padding: 10px 14px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.search-tabs {
  display: flex !important;
  gap: 6px !important;
  padding: 12px 16px !important;
  overflow-x: auto !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
}
.search-tabs button {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #bbb !important;
  border-radius: 999px !important;
  padding: 7px 14px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}
.search-tabs button.active {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}
.search-content {
  padding: 16px 18px 22px !important;
  max-height: min(52vh, 420px) !important;
  overflow: auto !important;
}
.search-content h2 {
  margin: 0 0 12px !important;
  font-size: 13px !important;
  color: #888 !important;
  font-weight: 800 !important;
}
.search-suggestions a,
.search-suggestions button {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  text-align: right !important;
  padding: 12px !important;
  border-radius: 14px !important;
  background: #141414 !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  color: #eee !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
}
.search-suggestions a:hover {
  background: #1c1c1c !important;
  border-color: rgba(255,255,255,.14) !important;
}

/* Mobile drawer — full black professional */
.mobile-drawer-backdrop {
  background: rgba(0,0,0,.7) !important;
  backdrop-filter: blur(4px) !important;
}
.mobile-drawer {
  background: #0a0a0a !important;
  color: #fff !important;
  border-left: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: -20px 0 50px rgba(0,0,0,.5) !important;
}
.mobile-drawer .drawer-head {
  background: #0a0a0a !important;
  border-bottom: 1px solid rgba(255,255,255,.1) !important;
  color: #fff !important;
}
.mobile-drawer .drawer-head strong { color: #fff !important; }
.mobile-drawer #drawerClose {
  background: #1a1a1a !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 10px !important;
  width: 36px !important;
  height: 36px !important;
}
.mobile-drawer .drawer-intro {
  background: #121212 !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 16px !important;
  color: #ccc !important;
}
.mobile-drawer .drawer-intro span { color: #888 !important; }
.mobile-drawer .drawer-intro strong { color: #fff !important; }
.mobile-drawer nav a {
  color: #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  font-weight: 700 !important;
}
.mobile-drawer nav a:hover,
.mobile-drawer nav a:focus {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.mobile-drawer .drawer-foot,
.mobile-drawer .drawer-links a {
  color: #aaa !important;
}
.mobile-drawer .drawer-links a:hover { color: #fff !important; }

/* Splash pure black */
.mp-splash,
.mp-admin-splash {
  background: #000 !important;
}

/* Footer bottom spacing fix */
.site-footer {
  background: #0a0a0a !important;
  color: #ccc !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
.footer-main {
  padding: 48px 0 28px !important;
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.1) !important;
  padding: 18px 0 28px !important;
  margin: 0 !important;
  background: #000 !important;
}
.footer-bottom-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding-bottom: 8px !important;
}
body:not(.mp-no-chrome) .site-footer {
  margin-bottom: 0 !important;
}
/* room for mobile bottom nav without cut-off */
@media (max-width: 900px) {
  body:not(.mp-no-chrome) .site-footer {
    padding-bottom: 84px !important;
  }
  body:not(.mp-no-chrome) .footer-bottom {
    padding-bottom: 24px !important;
  }
}
.site-footer a { color: #ddd !important; }
.site-footer h3 { color: #fff !important; }
.footer-brand p { color: #999 !important; }
