/*
 * Copyright (c) 2014 The Chromium Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

.text-button {
  margin: 2px;
  height: 24px;
  font-size: 12px;
  border: 1px solid rgb(0 0 0 / 20%); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  border-radius: 4px;
  padding: 0 12px;
  font-weight: 500;
  color: var(--accent-fg-color);
  background-color: var(--color-background);
  flex: none;
  white-space: nowrap;
}

.text-button:disabled {
  opacity: 38%;
}

.text-button:not(:disabled):focus,
.text-button:not(:disabled):hover,
.text-button:not(:disabled):active {
  background-color: var(--toolbar-bg-color);
  box-shadow: 0 1px 2px rgb(0 0 0 / 10%); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  cursor: pointer;
}

.text-button:not(:disabled):active {
  background-color: #f2f2f2; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.text-button:not(:disabled):focus {
  box-shadow: 0 1px 2px rgb(0 0 0 / 10%), 0 0 0 2px rgb(66 133 244 / 40%); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.text-button:not(:disabled):not(.running):focus,
.text-button:not(:disabled):not(.running):hover,
.text-button:not(:disabled):not(.running):active {
  color: var(--accent-fg-color-hover);
}

.text-button.primary-button,
.-theme-preserve {
  background-color: var(--accent-color);
  border: none;
  color: #fff; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.text-button.link-style {
  background: none;
  border: none;
  padding: 0 !important;
  font: inherit;
  cursor: pointer;
  height: 18px;
}

.text-button.primary-button:not(:disabled):focus,
.text-button.primary-button:not(:disabled):hover,
.text-button.primary-button:not(:disabled):active,
.-theme-preserve {
  background-color: var(--accent-color-hover);
  color: #fff; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.-theme-with-dark-background .text-button:not(.primary-button):not(:disabled):focus,
.-theme-with-dark-background .text-button:not(.primary-button):not(:disabled):hover,
.-theme-with-dark-background .text-button:not(.primary-button):not(:disabled):active {
  background-color: #313131;
  box-shadow: 0 1px 2px rgb(0 0 0 / 10%);
}

.-theme-with-dark-background .text-button:not(.primary-button):not(:disabled):focus {
  box-shadow: 0 1px 2px rgb(0 0 0 / 10%), 0 0 0 2px rgb(94 151 246 / 60%);
}

.-theme-with-dark-background .text-button:not(.primary-button):not(:disabled):active {
  background-color: #3e3e3e;
}

@media (forced-colors: active) {
  .text-button {
    background-color: ButtonFace;
    color: ButtonText;
    border-color: ButtonText;
  }

  .text-button:disabled {
    forced-color-adjust: none;
    opacity: 100%;
    background: ButtonFace;
    border-color: GrayText;
    color: GrayText;
  }

  .text-button:not(:disabled):focus {
    forced-color-adjust: none;
    background-color: ButtonFace;
    color: ButtonText;
    border-color: Highlight;
    box-shadow: var(--focus-ring-active-shadow);
  }

  .text-button:not(:disabled):hover,
  .text-button:not(:disabled):active {
    forced-color-adjust: none;
    background-color: Highlight;
    color: HighlightText;
    box-shadow: var(--accent-color);
  }

  .text-button.primary-button {
    forced-color-adjust: none;
    background-color: Highlight;
    color: HighlightText;
    border: 1px solid Highlight;
  }

  .text-button.primary-button:not(:disabled):focus {
    background-color: Highlight;
    color: HighlightText;
    border-color: ButtonText;
  }

  .text-button.primary-button:not(:disabled):hover,
  .text-button.primary-button:not(:disabled):active {
    background-color: HighlightText;
    color: Highlight;
    border-color: Highlight;
  }
}
