.vce-side-navigation.offcanvas { display: flex !important; flex-direction: column; width: min(400px, 100vw); overflow: hidden; }
.vce-side-navigation .offcanvas-header { padding: 12px 16px; flex-shrink: 0; }
.vce-side-navigation .offcanvas-body { display: flex; min-height: 0; overflow: hidden; padding: 0 12px 12px; }
#vce-menu-units { display: flex; flex-direction: column; gap: 5px; width: 100%; min-height: 0; }
.vce-menu-unit { display: flex; flex-direction: column; flex: 0 0 auto; min-height: 0; }
.vce-menu-unit:has(> .show), .vce-menu-unit:has(> .collapsing) { flex: 1 1 0; }
.vce-menu-unit > .show, .vce-menu-unit > .collapsing {
  flex: 1 1 0;
  min-height: 0;
  height: auto !important;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  transition: none;
}
.vce-menu-unit-content { padding-bottom: 5px; }
.vce-menu-unit-heading { margin: 0; flex-shrink: 0; }
.vce-menu-unit-toggle {
  display: flex;
  gap: 10px;
  align-items: center;
  width: 100%;
  border: 0;
  border-radius: 7px;
  padding: 7px 10px;
  background: var(--vce-menu-colour);
  color: #fff;
  font: 700 15px/1.2 'K2D', sans-serif;
  text-align: left;
}
.vce-menu-unit-icon { display: none; width: 28px; height: 28px; object-fit: contain; filter: brightness(0) invert(1); flex-shrink: 0; }
.vce-menu-chevron { margin-left: auto; flex: 0 0 18px; width: 18px; height: 18px; background: url('../shared/images/icons/arrow-dark.svg') center / contain no-repeat; filter: brightness(0) invert(1); transform: rotate(-60deg); transition: transform 200ms ease; }
.vce-menu-unit-toggle.collapsed .vce-menu-chevron { transform: rotate(0deg); }
@media (min-height: 1081px) {
  .vce-menu-unit-toggle { padding: 12px 14px; }
  .vce-menu-unit-icon { display: block; }
}
.vce-menu-area { flex-shrink: 0; margin: 10px 8px 4px; padding-bottom: 4px; border-bottom: 1px solid var(--vce-menu-colour); color: var(--vce-menu-colour); font: 700 15px/1.2 'K2D', sans-serif; }
.vce-menu-blocks { margin: 0; padding: 0; list-style: none; }
.vce-menu-blocks a { display: grid; grid-template-columns: 5.5ch minmax(0, 1fr); column-gap: 0.4em; padding: 3px 8px; color: #333; text-decoration: none; font: 400 13px/1.15 'Ubuntu', sans-serif; border-radius: 4px; }
.vce-menu-chapter { white-space: nowrap; font-variant-numeric: tabular-nums; }
.vce-menu-block-title { min-width: 0; overflow-wrap: anywhere; }
.vce-menu-blocks a:hover, .vce-menu-blocks a[aria-current="location"] { background: #eee; color: #222; }
.vce-menu-blocks a:focus-visible, .vce-menu-unit-toggle:focus-visible { outline: 2px solid var(--vce-menu-colour); outline-offset: 2px; }
.vce-navigation-flash { position: relative; outline: 3px solid #ffc368; outline-offset: 3px; }
.vce-navigation-flash::after { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(120deg, transparent 20%, #ffffffa6 47%, transparent 80%); background-size: 250% 100%; animation: vce-navigation-shine 1.5s ease-out both; }
@keyframes vce-navigation-shine { from { background-position: 150% 0; } to { background-position: -150% 0; } }
@media (prefers-reduced-motion: reduce) { .vce-navigation-flash::after { display: none; } .vce-menu-chevron { transition: none; } }
