/* No CSS position here on purpose — CSS position:sticky was tried multiple
 * ways (flex+stretch, CSS Grid, align-self variants) and never reliably
 * kept the sidebar pinned while scrolling the much-taller product grid
 * beside it, in real browser testing. components/sidebar/sticky-sidebar.js
 * now owns positioning entirely via inline styles (fixed while scrolling
 * through the grid, absolute once near its bottom edge, static otherwise/
 * on mobile) — don't add position/top here, it would just be overridden by
 * (or fight with) the inline styles JS sets.
 *
 * The other real constraint: with no internal scrollbar allowed, whatever
 * content doesn't fit in one viewport-height's worth of space here just
 * isn't reachable while pinned — there's no scroll mechanism to reveal it.
 * So the sidebar content itself needs to stay compact — see the tightened
 * spacing in filters.css and the sidebar-nav/sidebar-list rules below. */
.hurakan-sidebar {
  width: 380px;
  background-color: var(--card-color);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  font-family: var(--font-montserrat);
  /* sticky-sidebar.js sets overflow-y:auto here while the sidebar is
     pinned (so Apply/Reset stay reachable) — this keeps that scrolling
     functional while hiding the visible scrollbar track/thumb. */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* old Edge/IE */
}

.hurakan-sidebar::-webkit-scrollbar {
  display: none; /* Chrome, Safari, new Edge */
}

.hurakan-sidebar .sidebar-logo {
  padding: 0 2rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  height: 90px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.hurakan-sidebar .sidebar-nav {
  padding: 1.25rem 2rem;
}

.hurakan-sidebar .sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.hurakan-sidebar .sidebar-list li {
  display: flex;
  align-items: center;
}

.hurakan-sidebar .sidebar-list li::before {
  content: "•";
  display: inline-block;
  color: var(--text-subTitle);
  margin-right: 0.75rem;
  opacity: 0.6;
  font-size: 1.4rem;
  line-height: 1;
}

.hurakan-sidebar .sidebar-list a {
  text-decoration: none;
  color: var(--text-title);
  font-size: 0.9rem;
  font-weight: 400;
  transition: color 0.3s ease;
  opacity: 0.8;
}

.hurakan-sidebar .sidebar-list a:hover {
  color: var(--primary-color);
  opacity: 1;
}

#sidebar-placeholder {
  width: 380px;
  flex-shrink: 0;
  padding-bottom: 5rem;
  display: flex;
}

@media (max-width: 1024px) {
  #sidebar-placeholder {
    display: none;
  }
  .hurakan-sidebar {
    display: none;
  }
  /* Without this, the grid still reserves the 380px sidebar column even
   * though .hurakan-sidebar is display:none, squeezing the main content
   * into that narrow leftover column instead of the full page width. */
  .page-grid-layout {
    grid-template-columns: 1fr;
  }
}
