html {
  box-sizing: border-box;
}

body {
  margin: 0;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  -webkit-tap-highlight-color: transparent;
}

:host {
  font-family: var(--c-font-family);
}

::-ms-reveal {
  display: none;
}

:host,
:root {
  /**
   * @prop --c-menu-items-background-color-hover: Menu item hover background color
   * @prop --c-menu-items-text-color: Menu item text color
   * @prop --c-menu-items-text-color-active: Active menu item text color
   */
  --_c-menu-items-background-color-hover: var(--c-menu-items-background-color-hover, var(--c-primary-200));
  --_c-menu-items-text-color: var(--c-menu-items-text-color, var(--c-text-body));
  --_c-menu-items-text-color-active: var(--c-menu-items-text-color-active, var(--c-primary-600));
  position: absolute;
  border-radius: inherit;
  display: flex;
  pointer-events: none;
  inset: inherit;
}

ul.c-menu-items {
  --_c-menu-item-font-size: 14px;
  margin: 0;
  padding: 0;
  background-color: var(--c-white);
  list-style: none;
  animation: 0.1s 1 fade-in cubic-bezier(0.25, 0.8, 0.5, 1);
  box-shadow: 2px 4px 10px rgba(0, 0, 0, 0.1607843137);
  width: 100%;
  overflow-y: scroll;
  pointer-events: auto;
  border-radius: 4px;
  visibility: hidden;
}
ul.c-menu-items--small {
  --_c-menu-item-font-size: 12px;
}
ul.c-menu-items--active {
  visibility: visible;
}

li {
  align-items: center;
  background: var(--c-white);
  column-gap: 12px;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  font-size: var(--_c-menu-item-font-size);
  height: var(--_c-menu-item-height);
  padding-left: 10px;
  padding-right: 10px;
  outline: none;
  white-space: nowrap;
  pointer-events: auto;
}
li:not(.disabled):hover, li.active {
  background: var(--_c-menu-items-background-color-hover);
  color: var(--_c-menu-items-text-color-active);
}
li.icon-start {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
li.icon-end {
  justify-content: space-between;
}
li.disabled {
  cursor: default;
  color: var(--c-tertiary-400);
}

@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}