/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

:host(:not([hidden])) {
  display: flex;
  align-items: center;
}

::slotted(a) {
  margin-inline-end: 12px;
}

:host button {
  -moz-context-properties: fill;
  fill: currentColor;
}

:host([type="checkbox"][checked]) button {
  background-image: url("chrome://global/skin/icons/check.svg");
}

button {
  background-color: transparent;
  color: inherit;
  background-position: 8px center;
  background-repeat: no-repeat;
  background-size: 16px;
  border: none;
  position: relative;
  display: block;
  font: inherit;
  padding: 4px 8px;
  padding-inline-start: 32px;
  text-align: start;
  width: 100%;
}

button:dir(rtl),
button:-moz-locale-dir(rtl) {
  background-position-x: right 8px;
}

:host([badged]) button::after {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: var(--border-radius-circle);
  background-color: var(--color-accent-primary);
  position: absolute;
  top: 4px;
  inset-inline-start: 24px;
}

button:enabled:hover {
  background-color: var(--button-background-color-hover);
  color: var(--button-text-color-hover);
}

button:enabled:hover:active {
  background-color: var(--button-background-color-active);
  color: var(--button-text-color-active);
}

button:focus-visible {
  outline-offset: var(--focus-outline-inset);
}

button:disabled {
  opacity: 0.4;
}

.submenu-container {
  display: flex;
  flex-direction: row;
}

.submenu-icon {
  display: inline-block;
  background-image: url("chrome://global/skin/icons/arrow-right.svg");
  background-position: center center;
  background-repeat: no-repeat;
  fill: currentColor;
  width: var(--size-item-small);
  height: var(--size-item-small);
  flex: 1 1 auto;

  &:dir(rtl) {
    background-image: url("chrome://global/skin/icons/arrow-left.svg");
  }
}

.submenu-label {
  flex: 90% 1 0;
}
