.bb-vcm {
  --bb-vcm-bg: #fff;
  --bb-vcm-border: rgba(0, 0, 0, 0.09);
  --bb-vcm-border-soft: rgba(0, 0, 0, 0.06);
  --bb-vcm-title-bg: #f7f7f7;
  --bb-vcm-sub-bg: rgba(0, 0, 0, 0.018);
  --bb-vcm-hover: rgba(0, 0, 0, 0.035);
  --bb-vcm-active: rgba(0, 0, 0, 0.05);
  --bb-vcm-text: inherit;
  --bb-vcm-radius: 12px;
  --bb-vcm-gap: 20px;
  width: 100%;
  color: var(--bb-vcm-text);
  font-size: 15px;
  line-height: 1.45;
}
.bb-vcm .bb-vcm-section {
  margin: 0 0 var(--bb-vcm-gap);
  border: 1px solid var(--bb-vcm-border);
  background: var(--bb-vcm-bg);
  border-radius: var(--bb-vcm-radius);
  overflow: hidden;
}
.bb-vcm .bb-vcm-title {
  margin: 0;
  padding: 14px 16px;
  font-size: .83rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .045em;
  border-bottom: 1px solid var(--bb-vcm-border);
  background: var(--bb-vcm-title-bg);
}
.bb-vcm .bb-vcm-list,
.bb-vcm .bb-vcm-sublist { list-style:none; margin:0; padding:0; }
.bb-vcm .bb-vcm-item { border-bottom:1px solid var(--bb-vcm-border-soft); }
.bb-vcm .bb-vcm-item:last-child { border-bottom:0; }
.bb-vcm .bb-vcm-row { display:flex; align-items:stretch; min-height:44px; }
.bb-vcm .bb-vcm-link {
  flex:1 1 auto; display:flex; align-items:center; gap:8px;
  padding:10px 14px; text-decoration:none; color:inherit; word-break:break-word;
  transition:background-color .18s ease;
}
.bb-vcm .bb-vcm-link:hover,
.bb-vcm .bb-vcm-toggle:hover { background:var(--bb-vcm-hover); text-decoration:none; }
.bb-vcm .bb-vcm-toggle {
  flex:0 0 44px; display:inline-flex; align-items:center; justify-content:center;
  padding:0; border:0; border-left:1px solid var(--bb-vcm-border-soft);
  background:transparent; color:inherit; cursor:pointer; transition:background-color .18s ease;
}
.bb-vcm .bb-vcm-toggle-icon { width:14px; height:14px; transition:transform .2s ease; transform:rotate(0deg); }
.bb-vcm .bb-vcm-item.is-open > .bb-vcm-row .bb-vcm-toggle-icon { transform:rotate(180deg); }
.bb-vcm .bb-vcm-sublist { display:none; background:var(--bb-vcm-sub-bg); }
.bb-vcm .bb-vcm-item.is-open > .bb-vcm-sublist { display:block; }
.bb-vcm .bb-vcm-sublist .bb-vcm-link { padding-left:28px; font-size:.95em; }
.bb-vcm .bb-vcm-sublist .bb-vcm-sublist .bb-vcm-link { padding-left:42px; }
.bb-vcm .bb-vcm-item.is-current-page > .bb-vcm-row > .bb-vcm-link,
.bb-vcm .bb-vcm-item.is-current-term > .bb-vcm-row > .bb-vcm-link,
.bb-vcm .bb-vcm-item.is-current-post > .bb-vcm-row > .bb-vcm-link,
.bb-vcm .bb-vcm-item.is-current-ancestor > .bb-vcm-row > .bb-vcm-link,
.bb-vcm .bb-vcm-item.is-current-term-ancestor > .bb-vcm-row > .bb-vcm-link {
  font-weight:700; background:var(--bb-vcm-active);
}
.bb-vcm .bb-vcm-item-post .bb-vcm-link { font-size:.92em; padding-left:42px; }
.bb-vcm .bb-vcm-item-post .bb-vcm-link:before {
  content:"—"; opacity:.55; display:inline-block; margin-right:2px;
}
.bb-vcm .bb-vcm-empty { padding:12px 14px; color:#666; }
@media (max-width: 781px) { .bb-vcm { font-size:14px; } }
