/*
 * Copyright 2020 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.
 */

header {
  padding: 0 0 6px;
  border-bottom: 1px solid #eee; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  flex: none;
  margin-bottom: 25px;
}

h1 {
  font-size: 18px;
  font-weight: normal;
  padding-bottom: 3px;
  margin: 0;
}

[role="list"],
.widget.vbox {
  min-width: 300px;
}

.keybinds-key {
  padding: 0.1em 0.6em;
  border: 1px solid #ccc; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  font-size: 11px;
  background-color: #f7f7f7; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  color: #333; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  box-shadow: 0 1px 0 rgb(0 0 0 / 20%), 0 0 0 2px #fff inset; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */ /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  border-radius: 3px;
  display: inline-block;
  margin: 0 0.1em;
  text-shadow: 0 1px 0 #fff; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  line-height: 1.5;
  white-space: nowrap;
}

.keybinds-list-item {
  min-height: 30px;
  display: grid;
  grid-template-rows: repeat(auto-fit, 30px);
  grid-template-columns: 1fr 30px 1fr 30px 30px;
  flex: auto 1 1;
}

.keybinds-list-item:focus-visible {
  background-color: var(--focus-bg-color);
}

.keybinds-list-item:not(.keybinds-category-header) {
  padding-left: 20px;
}

.keybinds-list-item.keybinds-editing {
  background-color: rgb(0 0 0 / 5%); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.keybinds-action-name {
  grid-row: 1 / span 1;
  grid-column: 1 / span 1;
}

.keybinds-shortcut,
.keybinds-info {
  grid-row: auto;
  grid-column: 3 / span 1;
}

.keybinds-info .devtools-link {
  padding-top: 6px;
}

.keybinds-error {
  color: var(--input-validation-error);
}

:host-context(.-theme-with-dark-background) .keybinds-error {
  color: #ff6161;
}

.keybinds-list-item.keybinds-editing .keybinds-shortcut {
  display: flex;
}

.keybinds-modified {
  grid-column: 2 / span 1;
}

.keybinds-list-item button {
  border: none;
  padding: 0;
  background: transparent;
}

.keybinds-list-item button:hover .icon-mask {
  background-color: #333; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.keybinds-list-item button:focus-visible {
  background-color: var(--focus-bg-color);
}

.keybinds-list-item button[disabled] {
  opacity: 40%;
}

.keybinds-confirm-button {
  grid-column: -2 / span 1;
}

.keybinds-cancel-button {
  grid-column: -1 / span 1;
}

.keybinds-edit-button {
  display: none;
  grid-row: 1 / span 1;
  grid-column: 4 / span 1;
}

.keybinds-list-item:not(.keybinds-editing):hover .keybinds-edit-button,
.keybinds-list-item:not(.keybinds-editing):focus-within .keybinds-edit-button {
  display: inline-block;
}

.keybinds-list-text {
  padding: 3px 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  user-select: none;
  color: #222; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
  text-align: start;
  position: relative;
  margin-right: 0;
}

.keybinds-category-header {
  font-weight: bold;
  line-height: 30px;
  white-space: nowrap;
}

.keybinds-category-header:not(:nth-child(2)) {
  border-top: 1px solid rgb(231 231 231); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.keybinds-list-item:not(.keybinds-category-header):hover {
  background: hsl(0deg 0% 96%); /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.keybinds-set-select {
  text-align: right;
  margin-bottom: 25px;
}

.keybinds-set-select label p {
  display: inline;
  color: #222; /* stylelint-disable-line plugin/use_theme_colors */
  /* See: crbug.com/1152736 for color variable migration. */
}

.keybinds-set-select select {
  margin-left: 6px;
}

button.text-button {
  width: fit-content;
  align-self: flex-end;
}

.keybinds-list-text input {
  margin: 0 2px;
}

.docs-link.devtools-link {
  align-self: flex-start;
  min-height: 2em;
  line-height: 2em;
}

.keybinds-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  min-height: fit-content;
  margin-top: 10px;
}
