
form {
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
}

:where(button:not(.sub-menu-item-toggle), input[type="submit"], .form-submit, .form-reset) {
  color: var(--color-white);
  border: var(--border);
  border-radius: var(--border-radius-large);
  background-color: var(--color-primary);
  font-size: 1rem;
  padding: var(--spacing-small) var(--spacing-large);
}

:where(button:not(.sub-menu-item-toggle), input[type="submit"], .form-submit, .form-reset):is(:hover, :focus-visible) {
  color: var(--color-primary);
  background-color: var(--color-white);
}

input[type="date"],
input[type="datetime-local"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"] {
  font-size: var(--font-size-medium);
  border: 1px solid var(--zevi-input-text-border-color);
  background: var(--zevi-input-text-background);
  color: var(--zevi-input-text-color);
  border-radius: var(--border-radius-large);
  line-height: 1;
  display: block;
  padding: var(--spacing-small) var(--spacing-large);
  max-width: 30em;
  width: 100%;
}

textarea {
  border: 1px solid var(--zevi-input-text-border-color);
  background: var(--zevi-input-text-background);
  color: var(--zevi-input-text-color);
  border-radius: var(--border-radius);
  line-height: 1;
  display: block;
  padding: var(--spacing-small) var(--spacing-large);
  max-width: 30em;
  width: 100%;
}

.form-item--error input,
.form-item--error textarea {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 4px #a51b00;
}

.form-item--error input:focus-visible,
.form-item--error textarea:focus-visible {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 6px #a51b00;
}
