.c-header .desktop-menu-item:hover .desktop-submenu-overlay-container {
  user-select: all;
  visibility: visible;
  opacity: 100;
  grid-template-rows: 1fr;
}

.c-header .desktop-menu-item:hover > .desktop-menu-item__wrapper > .desktop-menu-item__link > .desktop-menu-item__link-text {
  color: var(--color-primary-200);
}

.c-header .desktop-menu-item:hover > .desktop-menu-item__wrapper > .desktop-menu-item__icon-container {
  transform: rotate(180deg);
  filter: none;
}

.c-header .desktop-menu-item .desktop-menu-item:hover {
  background-color: var(--color-primary-100);
}

.c-header .desktop-menu-item .desktop-menu-item:hover > .desktop-menu-item__wrapper > .desktop-menu-item__link > .desktop-menu-item__link-text {
  color: var(--color-primary);
}

.c-header:has(#mobile-sidebar-left-overlay-toggle:checked) .c-x-icon {
  opacity: 1;
  transform: rotate(0.5turn);
}

.c-header:has(#mobile-sidebar-left-overlay-toggle:checked) .c-hamburger-icon {
  opacity: 0;
  transform: rotate(0.5turn);
}

.c-header:has(#mobile-sidebar-left-overlay-toggle:checked) + #mobile-sidebar-left-overlay {
  pointer-events: all;
  opacity: 1;
  user-select: all;
  z-index: 100;
}

.mobile-menu-item:has(.mobile-submenu-toggle-item:checked) .mobile-menu-item__icon {
  transform: rotate(0.5turn);
}

@keyframes ripple-animation {
  0% {
    box-shadow: 0 0 0 0 rgb(from var(--ripple-color) r g b / 0.7);
  }

  33% {
    box-shadow: 0 0 0 8px rgb(from var(--ripple-color) r g b / 0.5);
  }

  66% {
    box-shadow: 0 0 0 14px rgb(from var(--ripple-color) r g b / 0.25);
  }

  100% {
    box-shadow: 0 0 0 20px rgb(from var(--ripple-color) r g b / 0);
  }
}

.c-ripple-animation-element {
  --ripple-color: var(--color-secondary, #e4879e);
  --animation-duration: 1.5s;
  --animation-delay: 0s;
  border-radius: 9999px;
  pointer-events: none;
  animation-name: ripple-animation;
  animation-duration: var(--animation-duration, 1.5s);
  animation-delay: var(--animation-delay, 0s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.c-ripple-animation-element:nth-child(1) {
  --animation-delay: 0s;
}

.c-ripple-animation-element:nth-child(2) {
  --animation-delay: 0.5s;
}

.c-ripple-animation-element:nth-child(3) {
  --animation-delay: 1s;
}
