/* Web65 Vertical Menu 0.2.0 - independent from Helix/Cassiopeia. */
.web65-vmenu {
  --web65vm-color: #666;
  --web65vm-accent: #354f85;
  --web65vm-hover: #eef1f7;
  --web65vm-radius: 4px;
  --web65vm-padding-y: 8px;
  --web65vm-padding-x: 10px;
  --web65vm-step: 14px;
  --web65vm-font-size: 16px;
  width: 100%;
  font-size: var(--web65vm-font-size);
}
.web65-vmenu .web65-vmenu__list,
#sp-right .sp-module .web65-vmenu .web65-vmenu__list,
#sp-left .sp-module .web65-vmenu .web65-vmenu__list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.web65-vmenu .web65-vmenu__item,
#sp-right .sp-module .web65-vmenu .web65-vmenu__item,
#sp-left .sp-module .web65-vmenu .web65-vmenu__item {
  list-style: none !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.web65-vmenu .web65-vmenu__link,
.web65-vmenu .web65-vmenu__label,
#sp-right .sp-module .web65-vmenu .web65-vmenu__link,
#sp-left .sp-module .web65-vmenu .web65-vmenu__link {
  display: block !important;
  min-height: 38px;
  padding: var(--web65vm-padding-y) var(--web65vm-padding-x) !important;
  padding-left: calc(var(--web65vm-padding-x) + var(--web65vm-step) * var(--web65vm-depth)) !important;
  border: 0 !important;
  border-radius: var(--web65vm-radius);
  background: transparent;
  color: var(--web65vm-color) !important;
  font: inherit !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-align: left;
  text-decoration: none !important;
  transition: background-color .18s ease, color .18s ease;
  overflow-wrap: anywhere;
}
.web65-vmenu .web65-vmenu__label {font-weight: 600 !important;}
.web65-vmenu .web65-vmenu__link:hover,
.web65-vmenu .web65-vmenu__link:focus-visible {
  background: var(--web65vm-hover) !important;
  color: var(--web65vm-accent) !important;
}
.web65-vmenu .web65-vmenu__item.is-active > .web65-vmenu__link,
.web65-vmenu .web65-vmenu__item.is-active > .web65-vmenu__link:hover {
  background: var(--web65vm-accent) !important;
  color: #fff !important;
  font-weight: 500 !important;
}
.web65-vmenu .web65-vmenu__item.is-ancestor > .web65-vmenu__link {
  color: var(--web65vm-accent) !important;
  font-weight: 600 !important;
}
@media (prefers-reduced-motion: reduce) {
  .web65-vmenu .web65-vmenu__link {transition: none;}
}

/* Specificità per i selettori del modulo Helix Ultimate: lo stile rimane
   isolato all'interno di Web65 Vertical Menu. */
#sp-right .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item > a.web65-vmenu__link,
#sp-left .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item > a.web65-vmenu__link {
  display: block !important;
  padding: var(--web65vm-padding-y) 10px !important;
  padding-left: calc(10px + 14px * var(--web65vm-depth)) !important;
  min-height: 38px;
  border: 0 !important;
  border-radius: var(--web65vm-radius) !important;
  background: transparent !important;
  color: var(--web65vm-color) !important;
  font-size: var(--web65vm-font-size) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}
#sp-right .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item > a.web65-vmenu__link:hover,
#sp-left .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item > a.web65-vmenu__link:hover {
  background: var(--web65vm-hover) !important;
  color: var(--web65vm-accent) !important;
}
#sp-right .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item.is-active > a.web65-vmenu__link,
#sp-left .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item.is-active > a.web65-vmenu__link {
  background: var(--web65vm-accent) !important;
  color: #fff !important;
  font-weight: 500 !important;
}
#sp-right .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item.is-ancestor:not(.is-active) > a.web65-vmenu__link,
#sp-left .sp-module nav.web65-vmenu ul.web65-vmenu__list > li.web65-vmenu__item.is-ancestor:not(.is-active) > a.web65-vmenu__link {
  color: var(--web65vm-accent) !important;
  font-weight: 600 !important;
}
