/* ============================================================
   merchant-sidebar.css
   Self-contained left-sidebar styles for the BuyUSAFirst
   merchant and admin shell.

   Hover behavior: tooltip chip (matches pro-admin-ui-kit).
   No hover-to-expand. Toggle only via hamburger button.

   Width is owned by #sidebar ID rules — ID specificity beats
   every class-based rule in every other stylesheet.
   ============================================================ */

/* ── SIDEBAR CONTAINER ──────────────────────────────────────
   Background, border, and layout only.
   Width is NOT set here — see #sidebar rules below.
   ─────────────────────────────────────────────────────────── */
.jcrec-admin .ops-sidebar {
  background: #fafafa;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
  min-height: calc(100vh - var(--bu-header-height));
  position: relative;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  overflow: hidden;
}

/* ── WIDTH (ID rules — cannot be overridden by any class) ───
   These are the ONLY width declarations for this sidebar.
   ─────────────────────────────────────────────────────────── */
#sidebar.ops-sidebar {
  width: var(--bu-sidebar-width, 260px) !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Smooth transition after first paint to prevent FOUC */
:root.sidebar-ready #sidebar.ops-sidebar {
  transition: width 200ms ease !important;
}

/* Collapsed */
html.sidebar-collapsed #sidebar.ops-sidebar {
  width: var(--bu-sidebar-collapsed-width, 60px) !important;
  min-width: var(--bu-sidebar-collapsed-width, 60px) !important;
  max-width: var(--bu-sidebar-collapsed-width, 60px) !important;
}

/* ── SCROLL WRAP ─────────────────────────────────────────── */
.jcrec-admin .sidebar-scroll {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 0 4px 6px 0;
}

.jcrec-admin .sidebar-scroll::-webkit-scrollbar {
  display: none;
}

/* ── SCROLL BUTTONS ──────────────────────────────────────── */
.jcrec-admin .sidebar-scroll-btn {
  position: sticky;
  left: 50%;
  transform: translateX(-50%);
  z-index: 20;
  width: var(--bu-sidebar-scroll-btn-size, 24px);
  height: var(--bu-sidebar-scroll-btn-size, 24px);
  border: 1px solid #bcd9ea;
  border-radius: 999px;
  background: #f3f8fc;
  color: #005A8B;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(17, 24, 39, 0.08);
  opacity: 0.95;
  transition: opacity 120ms ease, background 120ms ease, border-color 120ms ease;
}

.jcrec-admin .sidebar-scroll-btn .scroll-glyph {
  font-size: 10px;
}

.jcrec-admin .sidebar-scroll-btn.scroll-up {
  top: var(--bu-sidebar-scroll-up-offset, 6px);
  bottom: auto;
  margin: 0 0 calc(var(--bu-sidebar-scroll-btn-size, 24px) * -1);
}

.jcrec-admin .sidebar-scroll-btn.scroll-down {
  top: auto;
  bottom: var(--bu-sidebar-scroll-btn-edge, 6px);
  margin: 0;
}

.jcrec-admin .sidebar-scroll-btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.jcrec-admin .sidebar-scroll-btn.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.jcrec-admin .sidebar-scroll-btn:focus-visible {
  outline: 2px solid rgba(0, 90, 139, 0.45);
  outline-offset: 1px;
}

.jcrec-admin .sidebar-scroll-btn.is-emphasis,
.jcrec-admin .sidebar-scroll-btn:not(:disabled):hover {
  background: #e6f1f8;
  border-color: #9bc7df;
}

@supports not (position: sticky) {
  .jcrec-admin .sidebar-scroll-btn {
    position: absolute;
    margin: 0;
  }
  .jcrec-admin .sidebar-scroll-btn.scroll-up {
    top: var(--bu-sidebar-scroll-up-offset, 6px);
  }
  .jcrec-admin .sidebar-scroll-btn.scroll-down {
    bottom: var(--bu-sidebar-scroll-btn-edge, 6px);
  }
}

/* ── SECTION TITLES (visible state) ─────────────────────── */
/* Hidden-when-collapsed is handled by pro-admin.css via .pa-menu-section-title */
.jcrec-admin .nav-section-title {
  display: block;
  padding: 0.1rem 0.6rem;
  margin-top: 0.45rem;
  margin-bottom: 0.12rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.58rem;
  color: #005A8B;
}

html.sidebar-collapsed .jcrec-admin .nav-section-title {
  display: none;
}

/* ── MOBILE DRAWER ───────────────────────────────────────── */
/* On narrow screens the sidebar slides in as an overlay */
@media (max-width: 991.98px) {
  #sidebar.ops-sidebar {
    position: fixed !important;
    top: var(--bu-header-height, 44px) !important;
    left: 0;
    height: calc(100vh - var(--bu-header-height, 44px)) !important;
    width: min(84vw, 280px) !important;
    min-width: 0 !important;
    max-width: min(84vw, 280px) !important;
    transform: translateX(-100%);
    transition: transform 200ms ease !important;
    z-index: 1200;
  }

  html.sidebar-mobile-open #sidebar.ops-sidebar {
    transform: translateX(0) !important;
  }

  /* Backdrop overlay */
  body.jcrec-admin::before {
    content: "";
    position: fixed;
    top: var(--bu-header-height, 44px);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.38);
    opacity: 0;
    pointer-events: none;
    transition: opacity 180ms ease;
    z-index: 1100;
  }

  html.sidebar-mobile-open body.jcrec-admin::before {
    opacity: 1;
    pointer-events: auto;
  }
}
