form > * + *,
form .form-item + .form-item {
  margin-top: var(--prototype-space-20, 1.25rem);
}

label,
legend,
.form-item__label {
  font-size: var(--prototype-fs-label-16);
  line-height: var(--prototype-lh-label-16);
  display: block;
  font-weight: var(--prototype-fw-bold);
}

legend {
  margin-block-end: 4px;
}

fieldset {
  border: none;
  margin-inline: 0;
  padding: 0;
}

input,
textarea {
  font-size: var(--prototype-fs-label-16);
  line-height: var(--prototype-lh-label-16);
  border-radius: 0;
  color: var(--prototype-color-black);
  max-inline-size: 100%;
}

textarea {
  border: solid 1px var(--prototype-color-dark);
  display: block;
  inline-size: 100%;
  padding-block: 12px;
  padding-inline: 12px;
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=search],
input[type=tel],
input[type=text] {
  font-size: var(--prototype-fs-label-16);
  line-height: var(--prototype-lh-label-16);
  block-size: auto;
  border: solid 1px var(--prototype-color-dark);
  font-weight: var(--prototype-fw-regular);
  padding-block: 12px;
  padding-inline: 12px;
}
input[type=date]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=text]::-moz-placeholder {
  color: var(--prototype-color-gray-600);
}
input[type=date]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=password]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=text]::placeholder {
  color: var(--prototype-color-gray-600);
}

select {
  font-size: var(--prototype-fs-label-16);
  line-height: var(--prototype-lh-label-16);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: var(--prototype-i-triangle-down) no-repeat calc(100% - 12px) center;
  background-size: 24px;
  block-size: 52px;
  border: solid 1px var(--prototype-color-dark);
  border-radius: 0;
  color: var(--prototype-color-black);
  padding-block: 12px;
  padding-inline: 12px;
}

select::-ms-expand {
  display: none;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
  display: none;
}

input[type=search] {
  background: var(--prototype-i-search) no-repeat 12px center;
  background-size: 28px;
  padding-inline-start: 24px;
}

.form-type__checkbox,
.form-type__radio {
  position: relative;
}
.form-type__checkbox label,
.form-type__radio label {
  display: flex;
  font-weight: var(--prototype-fw-regular);
  gap: 4px;
}
.form-type__checkbox label:before,
.form-type__radio label:before {
  background-color: var(--prototype-color-black);
  block-size: 28px;
  content: "";
  display: block;
  inline-size: 28px;
  inset-block-start: -4px;
  inset-inline-start: -2px;
  -webkit-mask-size: cover;
          mask-size: cover;
  position: relative;
}
@media (min-width: 768px) {
  .form-type__checkbox label:before,
  .form-type__radio label:before {
    inset-block-start: -1px;
  }
}
.form-type__checkbox input,
.form-type__radio input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  block-size: 100%;
  cursor: pointer;
  inline-size: 100%;
  inset-block-start: 0;
  inset-inline-start: 0;
  margin: 0;
  position: absolute;
  z-index: var(--prototype-zindex-default);
}

.form-type__checkbox label:before {
  -webkit-mask: var(--prototype-i-rectangle-empty) no-repeat center;
          mask: var(--prototype-i-rectangle-empty) no-repeat center;
}
.form-type__checkbox input:checked + label:before {
  -webkit-mask: var(--prototype-i-rectangle-checked) no-repeat center;
          mask: var(--prototype-i-rectangle-checked) no-repeat center;
}

.form-type__radio label:before {
  -webkit-mask: var(--prototype-i-circle-empty) no-repeat center;
          mask: var(--prototype-i-circle-empty) no-repeat center;
}
.form-type__radio input:checked + label:before {
  -webkit-mask: var(--prototype-i-circle-filled) no-repeat center;
          mask: var(--prototype-i-circle-filled) no-repeat center;
}

.description,
.form-item__description,
.form-item__description p {
  font-size: var(--prototype-fs-label-14);
  line-height: var(--prototype-lh-label-14);
  color: var(--prototype-color-dark);
}

.password-strength__meter {
  background-color: var(--prototype-color-gray-100);
}

.password-strength__indicator.is-fair {
  background-color: var(--prototype-color-yellow);
}
.password-strength__indicator.is-strong {
  background-color: var(--prototype-color-green);
}
.password-strength__indicator.is-good {
  background-color: var(--prototype-color-green);
}
.password-strength__indicator.is-weak {
  background-color: var(--prototype-color-red);
}

.password-confirm,
.password-strength__title {
  font-size: var(--prototype-fs-label-14);
  line-height: var(--prototype-lh-label-14);
}

.password-strength__text {
  font-weight: var(--prototype-fw-bold);
}

.password-confirm > span {
  font-weight: var(--prototype-fw-bold);
}
.password-confirm > span.error {
  color: var(--prototype-color-red);
}
.password-confirm > span.ok {
  color: var(--prototype-color-green);
}

.password-suggestions {
  font-size: var(--prototype-fs-label-14);
  line-height: var(--prototype-lh-label-14);
  font-weight: var(--prototype-fw-bold);
}
.password-suggestions > ul {
  font-weight: var(--prototype-fw-regular);
}

.search-advanced {
  margin-bottom: 10px;
}
.search-advanced #edit-types-fieldset .form-type__checkbox,
.search-advanced #edit-lang-fieldset .form-type__checkbox {
  margin-bottom: 5px;
}
.search-advanced #edit-types-fieldset .form-type__checkbox input,
.search-advanced #edit-lang-fieldset .form-type__checkbox input {
  width: auto;
}

.form-error {
  color: var(--prototype-color-danger);
}
.form-error p {
  color: var(--prototype-color-danger);
}
.form-error input[type=text],
.form-error input[type=password],
.form-error input[type=date],
.form-error input[type=email],
.form-error input[type=number],
.form-error input[type=tel] {
  border: solid 1px var(--prototype-color-danger);
}

.form-item--disabled {
  color: var(--prototype-color-gray-600);
}
.form-item--disabled p {
  color: var(--prototype-color-gray-600);
}
.form-item--disabled label:before {
  background-color: var(--prototype-color-gray-600);
}
.form-item--disabled input {
  cursor: not-allowed;
}
.form-item--disabled input[type=text],
.form-item--disabled input[type=password],
.form-item--disabled input[type=date],
.form-item--disabled input[type=email],
.form-item--disabled input[type=number],
.form-item--disabled input[type=tel] {
  border: solid 1px var(--prototype-color-gray-600);
  color: var(--prototype-color-gray-600);
}
.form-item--disabled input[type=text]::-moz-placeholder, .form-item--disabled input[type=password]::-moz-placeholder, .form-item--disabled input[type=date]::-moz-placeholder, .form-item--disabled input[type=email]::-moz-placeholder, .form-item--disabled input[type=number]::-moz-placeholder, .form-item--disabled input[type=tel]::-moz-placeholder {
  color: var(--prototype-color-gray-600);
}
.form-item--disabled input[type=text]::placeholder,
.form-item--disabled input[type=password]::placeholder,
.form-item--disabled input[type=date]::placeholder,
.form-item--disabled input[type=email]::placeholder,
.form-item--disabled input[type=number]::placeholder,
.form-item--disabled input[type=tel]::placeholder {
  color: var(--prototype-color-gray-600);
}

.form-actions {
  align-self: flex-start;
  display: flex;
  gap: var(--prototype-space-20, 1.25rem);
}
@media (min-width: 768px) {
  .form-actions {
    align-self: auto;
  }
}
.form-actions input {
  font-size: var(--prototype-fs-body-18);
  line-height: var(--prototype-lh-body-18);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: var(--prototype-color-black);
  border: none;
  box-shadow: none;
  color: var(--prototype-color-white);
  cursor: pointer;
  padding-block: 8px;
  padding-inline: 12px;
  position: relative;
  text-decoration: underline;
  -webkit-text-decoration: underline transparent;
          text-decoration: underline transparent;
  text-underline-offset: 2px;
}
.form-actions input:hover, .form-actions input:focus {
  color: var(--prototype-color-white);
  text-decoration: underline;
  -webkit-text-decoration: underline currentColor;
          text-decoration: underline currentColor;
}
.form-actions input[value=Clear] {
  background: var(--prototype-i-close) no-repeat left center;
  color: var(--prototype-color-black);
  background-size: 28px;
  padding-inline-start: 32px;
}

.form--exposed-filters {
  align-items: flex-end;
  display: flex;
  flex-flow: nowrap column;
  gap: var(--prototype-space-20, 1.25rem);
}
@media (min-width: 768px) {
  .form--exposed-filters {
    flex-flow: nowrap row;
  }
}
.form--exposed-filters .form-item {
  margin: 0;
}