/* form */
.form__row {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: 16px;
   flex-wrap: wrap;
}
.form__column {
   display: flex;
   flex-direction: column;
   gap: 16px;
   flex: 1;
}
.form__label {
   position: absolute;
   top: 20px;
   left: 16px;
   transition: all 0.3s ease 0s;
   color: var(--black-6);
   pointer-events: none;
}
.form__input:focus ~ .form__label,
.form__input:not(:placeholder-shown) ~ .form__label {
   transform: translateY(-18px) translateX(-10px) scale(0.75);
}
.form__item.not-valid .form__input {
   border: 1px solid #e85936;
   background-color: #f8eae8;
}
.form__error {
   font-size: 12px;
   color: #e85936;
   position: absolute;
   top: 7px;
   right: 16px;
   display: none;
   transition: all 0.6s ease 0s;
}
.form__item {
   position: relative;
}
.form__error-select {
   font-size: 12px;
   color: #e85936;
   position: absolute;
   top: 7px;
   right: 16px;
   display: none;
   z-index: 5;
}
.form__error-radio {
   font-size: 12px;
   color: #e85936;
   transform: translateY(-12px);
   display: none;
}
.form__item-block-radio.not-valid .form__error-radio {
   display: block;
}
.selectize-control.single .selectize-input {
   transition: all 0.5s ease 0s;
}
.form__item.not-valid .selectize-control.single .selectize-input {
   border: 1px solid #e85936;
   background-color: #f8eae8;
}
.form__item.not-valid .form__error {
   display: block;
}
.form__item.not-valid .form__error-select {
   display: block;
}
.form__input {
   border: 1px solid var(--black-4);
   padding: 25px 16px 15px 16px;
   font-size: 16px;
   width: 100%;
   background-color: var(--black-0);
   color: var(--black-10);
   transition: all 0.5s ease 0s;
}
.form__input:focus {
   border-color: var(--brand-6);
}

.form__item {
   position: relative;
}
.form__item-block-radio {
   padding: 16px 12px;
}
.form__radio-title {
   margin-bottom: 20px;
}
.form__radio-list {
   display: flex;
   flex-direction: column;
   gap: 16px;
}
.form__radio-item {
}
.form__radio-label {
   position: relative;
}
.custom-radio:not(:disabled):not(:checked) + .form__radio-label:hover::before {
   border-color: #b3d7ff;
}
.form__footer {
   display: flex;
   flex-direction: row;
   gap: 28px;
   align-items: center;
   margin-top: 40px;
}
.form__radio-input {
   position: absolute;
   z-index: -1;
   opacity: 0;
}
.form__radio-label > input {
   position: absolute;
   z-index: -1;
   opacity: 0;
}
.form__radio-label > span {
   display: inline-flex;
   align-items: center;
   user-select: none;
   transition: all 0.5s ease 0s;
}
.form__radio-label > span::before {
   content: "";
   display: inline-block;
   width: 20px;
   height: 20px;
   flex-shrink: 0;
   flex-grow: 0;
   border: 2px solid var(--brand-4);
   border-radius: 50%;
   margin-right: 0.5em;
   background-repeat: no-repeat;
   background-position: center center;
   background-size: 50% 50%;
   transition: all 0.5s ease 0s;
}
/* стили при наведении курсора на радио */
.form__radio-label > input:not(:disabled):not(:checked) + span:hover::before {
   border-color: var(--brand-6);
}
/* стили для активной радиокнопки (при нажатии на неё) */
.form__radio-label > input:not(:disabled):active + span::before {
   border-color: var(--brand-8);
}
.form__radio-label > input:not(:disabled):active + span::after {
   background-color: var(--brand-8);
}
/* стили для радиокнопки, находящейся в фокусе */
.form__radio-label > input:focus + span::before {
   border-color: var(--brand-8);
}
/* стили для радиокнопки, находящейся в фокусе и не находящейся в состоянии checked */
.form__radio-label > input:focus:not(:checked) + span::before {
   border-color: var(--brand-8);
}
/* стили для радиокнопки, находящейся в состоянии checked */
.form__radio-label > input:checked + span::before {
   border-color: var(--brand-6);
   background-color: var(--black-0);
}
.form__radio-label > input + span::after {
   background-color: var(--brand-6);
   width: 12px;
   height: 12px;
   border-radius: 50%;
   content: "";
   position: relative;
   left: -100%;
   transform: translateX(16px);
   opacity: 0;
   transition: all 0.5s ease 0s;
}
.form__radio-label > input:checked + span::after {
   opacity: 1;
}
/* стили для радиокнопки, находящейся в состоянии disabled */
.form__radio-label > input:disabled + span::before {
   border-color: var(--black-4);
}
.form__privacy-text {
   max-width: 280px;
}
.form__privacy {
   line-height: 1.5;
   color: var(--brand-6);
   transition: all 0.6s ease 0s;
}
.form__radio-row {
   display: flex;
   flex-direction: row;
   gap: 40px;
}
.form__row-wrap {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   gap: 16px;
   flex: 100%;
   flex-wrap: wrap;
}
.form__row-wrap .form__item {
   flex: 49%;
}
.form__column-full {
   flex: 100%;
   gap: 16px;
   display: flex;
   flex-direction: column;
}
.input-limit-wrapper {
   width: 100%;
   display: flex;
   flex-direction: row;
   justify-content: end;
   margin-top: 4px;
}
textarea.form__input {
   min-height: 63px;
   line-height: 1.4;
}
.form__label-file {
   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 12px;
   padding: 20px 28px 20px 28px;
   border: 1px solid var(--brand-6);
   min-width: 340px;
   max-width: 400px;
   width: fit-content;
   cursor: pointer;
}
.form__label-file svg {
   min-width: 20px;
}
.form__label-file svg path {
   fill: var(--brand-8);
}
.form__label-file span {
   color: var(--brand-8);
}
.form__input-file {
   display: none;
}
.form__error-file {
   right: auto;
   left: 28px;
}
@media (max-width: 1024px) {
   #reg-partner .form__row {
      flex-direction: row;
   }
}
@media (max-width: 720px) {
   #reg-partner .form__row {
      flex-direction: column;
   }
   #reg-partner .form__column:last-child {
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
   }
   #reg-partner .form__column:last-child .form__item {
      flex: 48%;
   }
   #reg-partner .form__item-block-radio {
      flex: 100%;
   }
}
@media (max-width: 690px) {
   #reg-partner .form__radio-row {
      flex-direction: row;
   }
}
@media (max-width: 460px) {
   .input-limit-wrapper {
      font-size: 16px;
   }
   .form__label-file {
      gap: 16px;
      padding: 16px 20px;
      min-width: auto;
      width: 100%;
   }
   .form__label-file .custom-file-label {
      font-size: 16px;
   }
   #reg-partner .form__radio-row {
      flex-direction: column;
   }
   #reg-partner .form__column:last-child {
      flex-direction: column;
   }
   #reg-partner .form-text-block__btn.btn-medium {
      padding: 28px 40px;
      width: 100%;
   }
}
/* form */
