/* Minimal default styling (can be overridden by template CSS) */
.ifn-companycategory-menu .ifn-cc-root,
.ifn-companycategory-menu .ifn-cc-children {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ifn-companycategory-menu li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(0,0,0,.06);
}

.ifn-companycategory-menu .ifn-cc-row {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.ifn-companycategory-menu .ifn-cc-link {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
  padding: .45rem 0;
  text-decoration: none;
}

.ifn-companycategory-menu li.active > .ifn-cc-row .ifn-cc-link {
  font-weight: 600;
}

.ifn-companycategory-menu .ifn-cc-count {
  opacity: .75;
  font-size: .9em;
  flex: 0 0 auto;
}

.ifn-companycategory-menu .ifn-cc-toggle {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: .35rem;
  line-height: 1;
  cursor: pointer;
}

.ifn-companycategory-menu .ifn-cc-chevron {
  display: block;
}

.ifn-companycategory-menu li.is-open > .ifn-cc-row .ifn-cc-chevron {
  transform: rotate(90deg);
}

.ifn-companycategory-menu .ifn-cc-children {
  padding-left: 1rem;
  border-top: 1px solid rgba(0,0,0,.06);
}

.ifn-companycategory-menu .ifn-cc-children[hidden] {
  display: none !important;
}
