.form__label {
  display: block;
  color: black;
  font-size: 1.0666666667em;
  margin-bottom: 0.3125em;
}

.form__label--required::after {
  content: "*";
  color: var(--color-grey-text);
  font-size: 0.7333333333em;
  vertical-align: top;
}

.input {
  border: 1px solid var(--color-grey-border);
  padding: 0.6666666667em 1.3333333333em;
  border-radius: 10px;
  height: 3.2em;
  width: 100%;
  color: #000;
  transition: all 0.2s ease-in-out;
  background-color: #FFFFFF;
}
.input::placeholder {
  color: var(--color-placeholder);
}
.input:focus {
  border-color: var(--color-secondary);
  outline: 2px solid rgba(255, 158, 12, 0.2);
}

.input--text-area {
  border: 1px solid var(--color-grey-border);
  padding: 0.6666666667em 1.3333333333em;
  border-radius: 10px;
  width: 100%;
  color: #000;
  transition: all 0.2s ease-in-out;
  background-color: #FFFFFF;
}
.input--text-area::placeholder {
  color: var(--color-placeholder);
}
.input--text-area:focus {
  border-color: var(--color-secondary);
  outline: 2px solid rgba(255, 158, 12, 0.2);
}

.input--select {
  background-image: url("../../img/icon--select.0e6b71b750a1.svg");
  background-repeat: no-repeat;
  background-position: right 1.3333333333em center;
  background-size: 12px;
  padding-right: 2.6666666667em;
}
.input--select:has(option[value=""]:checked) {
  color: var(--color-placeholder);
}

.input--date, .input--time {
  background-repeat: no-repeat;
  background-position: right 1em center;
  background-size: 15px;
  padding-right: 2.6666666667em;
}
.input--date::-webkit-calendar-picker-indicator, .input--time::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

.input--date {
  background-image: url("../../img/icon--calendar.24fc714f404d.svg");
}

.input--time {
  background-image: url("../../img/icon--time.d8c96c238cc3.svg");
  -webkit-appearance: none;
  appearance: none;
  line-height: 1.8;
}

.input__clearable {
  position: relative;
}
.input__clearable .input {
  padding-right: 2.6666666667em;
}

.input__clear {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
  padding: 0;
  border: 0;
  background: none;
  color: var(--color-grey-text);
  font-size: 1em;
  font-weight: bold;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.input__clear:hover {
  color: var(--color-danger);
}

.form__line + .form__line {
  margin-top: 1.3333333333em;
}

.form__part {
  width: 48%;
}
.form__part input, .form__part select {
  width: 100%;
  display: block;
}

.form__buttons {
  margin-top: 2em;
}

.form__buttons--row {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 1em;
}
.form__buttons--row .btn--danger {
  margin-right: auto;
}

.form__buttons--delete {
  display: flex;
  gap: 1em;
  margin-top: 2.3333333333em;
}
.form__buttons--delete .btn {
  width: 100%;
}

.label__check + .label__check {
  margin-left: 1.3333333333em;
}

.label__check {
  position: relative;
  cursor: pointer;
  color: var(--color-grey-text);
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease-in-out;
  outline: none;
  gap: 0.6666666667em;
}

.label__check input[type=radio], .label__check input[type=checkbox] {
  width: 15px;
  height: 15px;
  margin-top: 1px;
  display: block;
  border: 1px solid var(--color-grey-border);
  border-radius: 3px;
  background-color: #FFF;
  cursor: pointer;
  flex-shrink: 0;
  outline: none;
  transition: background-color 0.2s ease-in-out;
}

.label__check input[type=radio] {
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}

.label__check input[type=radio]:checked {
  border-color: var(--color-primary);
  border-width: 5px;
}
.label__check input[type=radio]:checked + span {
  color: #000;
}

.label__check input[type=checkbox] {
  background-image: url("../../img/icon--check.75c5a24d6d3f.svg");
  background-repeat: no-repeat;
  background-size: 0%;
  background-position: center;
  transition: background-size 0.2s ease-in-out;
}

.label__check input[type=checkbox]:checked {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  background-size: 80%;
}
.label__check input[type=checkbox]:checked + span {
  color: #000;
}

.input--readonly,
.input[readonly]:not(.input--picker),
.input:disabled {
  cursor: default;
  background-color: var(--color-bg-footer);
  border-color: var(--color-grey-border);
  color: var(--color-grey-text);
  box-shadow: inset 0 0 0 1px rgba(223, 223, 223, 0.2);
}

.input--readonly:focus,
.input[readonly]:not(.input--picker):focus,
.input:disabled:focus {
  border-color: var(--color-grey-border);
  outline: none;
}

@media screen and (max-width: 1024px) {
  .input {
    height: 3.0666666667em;
    padding: 0.6666666667em 1.2em;
  }
}
@media screen and (max-width: 768px) {
  .form__part {
    width: 100%;
  }
  .form__line + .form__line,
  .form__part + .form__part {
    margin-top: 1.0666666667em;
  }
  .input {
    height: 2.9333333333em;
    padding: 0.6666666667em 1.0666666667em;
  }
}
@media screen and (max-width: 568px) {
  .input {
    height: 2.8em;
    padding: 0.5333333333em 0.9333333333em;
  }
}
