/**
 * Icon contract — never clip strokes, never height:auto, never hairline.
 * Loaded on every front-end page (sidebar + dock + account).
 */

svg:not(:root),
svg {
  overflow: visible !important;
}

/* Scoped to the chrome. A bare `svg.vtg-ico` used to head this list, which
   forced every icon on the site to 20px !important — so the 14px pin on a
   company card and the 15px arrow inside a pill button both came out at 20px,
   overriding the size their own markup asked for. */
.vtg-dock-svg,
.vtg-menu-svg svg,
.vtg-account-pop svg,
.vtg-account-pop__ico svg,
.vtg-account-pop__chev svg,
.vtg-sidebar-search__icon svg,
.vtg-sidebar-user__avatar svg,
.vtg-sidebar .vtg-ico,
.vtg-sidebar svg.vtg-ico {
  width: 20px !important;
  height: 20px !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 18px !important;
  min-height: 18px !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
  display: block !important;
  color: inherit !important;
  stroke: currentColor !important;
  fill: none !important;
  vertical-align: middle;
}

svg.vtg-ico *,
.vtg-dock-svg *,
.vtg-menu-svg svg *,
.vtg-sidebar svg.vtg-ico * {
  vector-effect: non-scaling-stroke;
  stroke: currentColor !important;
  fill: none !important;
}

.vtg-dock-svg {
  width: 22px !important;
  height: 22px !important;
}

/* 20px box for a 20px icon. It was 22px, so every menu row carried 2px of dead
   space that pushed the label out of line with the icon's optical centre. */
.vtg-menu-svg {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  color: inherit;
}

.vtg-menu-svg svg,
.vtg-sidebar-search__icon svg {
  width: 20px !important;
  height: 20px !important;
}

/* Collapsed rail: force icon-only visibility */
.vtg-sidebar.is-collapsed .vtg-menu-svg,
.vtg-sidebar.is-collapsed .vtg-ico {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.vtg-i-fill {
  display: none !important;
}

.vtg-i-outline {
  display: block !important;
}
