/* RE Network — shared hero filter menu (landing + hire) */
.filter-scroll {
  max-height: min(58vh, 520px);
  overflow-y: auto;
  overflow-x: hidden;
  background: rgba(255,255,255,.88);
  border: 1px solid #c5cad3;
  border-radius: 8px;
  padding: 4px 0 8px;
  -webkit-overflow-scrolling: touch;
}
.filter-cat {
  border-bottom: 1px solid #e5e7eb;
}
.filter-cat:last-child { border-bottom: none; }
.filter-cat.cascade-hidden { display: none; }
.filter-cat > summary {
  position: sticky; top: 0; z-index: 2;
  font-size: 11px; font-weight: 800; color: #0b1f3a;
  display: flex; align-items: center; gap: 6px;
  cursor: pointer; list-style: none;
  padding: 7px 10px;
  background: rgba(248,250,252,.96);
  border-bottom: 1px solid #eef2f7;
}
.filter-cat > summary::-webkit-details-marker { display: none; }
.filter-cat > summary::before { content: "▾"; font-size: 10px; color: #64748b; }
.filter-cat:not([open]) > summary::before { content: "▾"; } /* always down, not right */
.filter-cat .cat-emoji { font-size: 12px; }
.cat-body {
  /* whole option list sits to the right of category name */
  padding: 4px 8px 10px 8px;
  margin: 0;
}
.chk {
  display: flex; align-items: flex-start; gap: 6px;
  font-size: 11px; color: #374151;
  padding-top: 3px;
  padding-right: 10px;
  padding-bottom: 3px;
  padding-left: 0; /* real indent comes from inline + .cat-body nesting */
  cursor: pointer; line-height: 1.25;
}
.chk input { margin-top: 1px; flex-shrink: 0; accent-color: #0d2b55; }
.chk .leaf { flex: 1; }
.chk:hover .leaf {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.filter-cat > summary:hover span {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.node-kids {
  /* indent comes from pad only — avoid stacking a second big gap */
  border-left: 1px solid #e2e8f0;
  margin-left: 8px;
  padding-left: 0;
}
.cascade-note {
  display: none;
  margin: 4px 10px 8px;
  padding: 6px 8px;
  border-radius: 6px;
  background: #eff6ff;
  border: 1px solid #93c5fd;
  font-size: 10px;
  color: #1e3a8a;
  line-height: 1.35;
}
.cascade-note.show { display: block; }

@media (max-width: 900px) {
  .filter-scroll { max-height: min(48vh, 420px); }
}
