[data-component="dropdown"] {
  position: relative;

  --dropdown--is-dropdown: 0;
  --dropdown--toggle-display: none;
  --dropdown--menu-display: block;
  --dropdown--menu-position: static;
  --dropdown--menu-height: auto;
  --dropdown--list-direction: row;
}

[data-component="dropdown"]:not([data-dropdown-width="full"]) [data-dropdown="menu"] {
  width: max-content;
  min-width: 100%;
  max-width: 100vw;
}

[data-component="dropdown"][data-dropdown-width="full"] {
  position: static;
}

[data-component="dropdown"][data-dropdown-width="full"] > [data-dropdown="menu"] {
  position: absolute;
  left: 0;
  width: 100%;
}

[data-dropdown="toggle"] {
  display: var(--dropdown--toggle-display);
  width: 100%;
  padding: var(--dropdown--vertical-padding) var(--dropdown--horizontal-padding);
  border: 1px solid var(--_site-theme---dropdown--border);
  border-radius: var(--dropdown--border-radius);
  background-color: var(--_site-theme---dropdown--background);
  color: var(--_site-theme---dropdown--text);
  font-size: var(--dropdown--font-size);
  gap: 0.2em;
  line-height: var(--dropdown--line-height);
  letter-spacing: var(--dropdown--letter-spacing);
  justify-content: space-between;
  align-items: center;
  transition: border-radius calc(var(--global-transition-duration) * 0.5) var(--global-transition-duration) ease;
  
  & [data-dropdown="toggle-arrow"] { transition: transform ease var(--global-transition-duration);}

  &:hover {
    background-color: var(--_site-theme---dropdown--active-background);
  }

  &[aria-expanded="true"] {
    border-radius: var(--dropdown--border-radius) var(--dropdown--border-radius) 0 0;
    border-bottom-color: transparent;
    transition: border-radius var(--global-transition-duration) ease;
    [data-dropdown="toggle-arrow"] { transform: scaleY(-1); }
  }
}

[data-dropdown="menu"] {
  display: var(--dropdown--menu-display);
  position: var(--dropdown--menu-position);
  height: var(--dropdown--menu-height);
  background-color: oklch(from var(--_site-theme---dropdown--active-background) l c h / var(--dropdown--is-dropdown));
  box-shadow: inset 0 0 0 calc(var(--dropdown--is-dropdown) * 1px) var(--_site-theme---dropdown--border);
  z-index: 10;
  overflow-x: hidden;
  overflow-y: auto;

  -ms-overflow-style: none;  
  scrollbar-width: none;  

  transition: height var(--global-transition-duration) ease,
              display var(--global-transition-duration) allow-discrete;

    @media (prefers-reduced-motion: reduce) {
     transition: none;
    }
  &::-webkit-scrollbar {
    display: none;
  }
}

[data-dropdown="menu"][data-dropdown-state="open"] {
  display: block;
  height: auto;

  @starting-style {
    height: 0;
  }
}

[data-list-spacing="1"] {--dropdown--list-spacing: var(--spacing--xs);}
[data-list-spacing="2"] {--dropdown--list-spacing: calc(2 * var(--spacing--xs));}
[data-list-spacing="3"] {--dropdown--list-spacing: calc(3 * var(--spacing--xs));}

[data-dropdown="list"] {
  display: flex;
  scrollbar-width: none;
  gap: var(--dropdown--list-spacing);
  flex-direction: var(--dropdown--list-direction, row);
  padding-block: calc(var(--dropdown--vertical-padding) * var(--dropdown--is-dropdown));
  padding-inline: calc(var(--dropdown--horizontal-padding) * var(--dropdown--is-dropdown));
  justify-content: flex-start;
  align-items: stretch;
  overflow-x: auto;
}

[data-dropdown="list"][data-orientation="vertical"] {
  --dropdown--list-direction: column;
  overflow-x: hidden;
}


[data-dropdown-breakpoint="always"] {
  --dropdown--is-dropdown: 1;
  --dropdown--toggle-display: flex;
  --dropdown--menu-display: none;
  --dropdown--menu-position: absolute;
  --dropdown--menu-height: 0;
  --dropdown--list-direction: column;
}

@media (max-width: 991px) {
[data-dropdown-breakpoint="md"] {
    --dropdown--is-dropdown: 1;
    --dropdown--toggle-display: flex;
    --dropdown--menu-display: none;
    --dropdown--menu-position: absolute;
    --dropdown--menu-height: 0;
    --dropdown--list-direction: column;
  }
}

@media (max-width: 767px) {
[data-dropdown-breakpoint="sm"] {
    --dropdown--is-dropdown: 1;
    --dropdown--toggle-display: flex;
    --dropdown--menu-display: none;
    --dropdown--menu-position: absolute;
    --dropdown--menu-height: 0;
    --dropdown--list-direction: column;
  }
}

@media (max-width: 479px) {
[data-dropdown-breakpoint="xs"] {
    --dropdown--is-dropdown: 1;
    --dropdown--toggle-display: flex;
    --dropdown--menu-display: none;
    --dropdown--menu-position: absolute;
    --dropdown--menu-height: 0;
    --dropdown--list-direction: column;
  }
}

[data-component="dropdown"] [data-component="dropdown"] {
  position: relative;
  & [data-dropdown="menu"] {
    position: relative;
  }
}
  
@media (prefers-reduced-motion: reduce) {
  [data-dropdown="menu"] [data-component="dropdown"] [data-dropdown="menu"] { transition: none; }
}

html.wf-design-mode [data-component="dropdown"][data-wf-preview] > [data-dropdown="menu"] {
  display: block;
  height: auto;
}