/*!
 * Copyright 2021 The Go Authors. All rights reserved.
 * Use of this source code is governed by a BSD-style
 * license that can be found in the LICENSE file.
 */

select:focus:not([disabled]),
input:focus:not([disabled]) {
  border-color: var(--color-brand-primary);
  box-shadow: var(--focus-box-shadow);
  outline: transparent;
  z-index: 2;
}

input::placeholder {
  color: var(--color-text-subtle);
}

.go-Form {
  align-items: start;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.go-Label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.go-Label--inline {
  align-items: center;
  flex-direction: row;
}

.go-Label legend {
  margin-bottom: 0.5rem;
}

.go-Label--inline legend {
  float: left;
  margin-bottom: 0;
}

.go-Input,
.go-Select {
  background: var(--color-input);
  border: var(--border);
  border-radius: var(--border-radius);
  color: var(--color-input-text);
}

.go-Input {
  padding: 0.4063rem 0.5rem;
}

.go-Select {
  appearance: none;
  background: url('/static/shared/icon/arrow_drop_down_gm_grey_24dp.svg') right no-repeat;
  background-color: var(--color-background);
  background-position: right center;
  border-radius: var(--border-radius);
  margin: 0;
  padding: 0.3438rem 1.25rem 0.3438rem 0.5rem;
}

.go-InputGroup {
  display: flex;
}

.go-InputGroup .go-Input {
  flex: 1;
}

.go-InputGroup > :not(:first-child, :last-child) {
  border-radius: 0;
  margin-left: -0.0625rem;
}

.go-InputGroup > :first-child {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}

.go-InputGroup > :last-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  margin-left: -0.0625rem;
}

.go-InputGroup > *:hover,
.go-InputGroup > *:focus {
  z-index: 1;
}

.go-ShortcutKey {
  display: flex;
  position: relative;
}

.go-ShortcutKey .go-Input {
  flex-grow: 1;
}

.go-ShortcutKey::after {
  align-self: center;
  background-color: var(--color-background-accented);
  border-radius: 0.5rem;
  color: var(--gray-6);
  content: attr(data-shortcut);
  content: attr(data-shortcut) / attr(data-shortcut-alt);
  display: none;
  font-size: 0.75rem;
  padding: 0.0625rem 0;
  position: absolute;
  right: 0.75rem;
  text-align: center;
  width: 1.5rem;
  z-index: 1;
}
@media only screen and (min-width: 52rem) {
  .go-ShortcutKey::after {
    display: initial;
  }
}
