/*!
 * 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);
  -webkit-box-shadow: var(--focus-box-shadow);
  box-shadow: var(--focus-box-shadow);
  outline: transparent;
}

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.40625rem 0.5rem;
}
.go-Select {
  padding: 0.34375rem 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;
}
