.modal--form-promo {
  width: 100%;
  max-width: 976px;
  border-radius: 12px;
  max-height: 100%;
  overflow: auto;
  overscroll-behavior: contain;
}

.form-promo {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  padding: 0 18px;
  text-align: left;
}

.form-promo__title {
  margin-bottom: 12px;
  font-size: 32px;
  font-weight: 600;
  line-height: 110%;
  color: #152051;
}

.form-promo__group {
  display: grid;
  gap: 20px;
}

.form-promo__fieldset {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 32px;
}

.form-promo__field--full-size {
  grid-column: -1/1;
}

.form-promo__group-title {
  font-size: 23px;
  font-weight: 600;
  line-height: 120%;
  color: #475074;
}

.form-promo__footer {
  display: flex;
  gap: 20px;
}

.form-promo__button {
  padding: 18px 26px;
  border-radius: 60px;
  font-size: 15px;
  font-weight: 600;
  line-height: 120%;
  text-transform: uppercase;
  cursor: pointer;
  border: 1px solid;
  transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out,
    color 0.3s ease-in-out;
}

.form-promo__button--dark {
  border-color: #152051;
  background-color: #152051;
  color: #fff;
}

.form-promo__button--light {
  border-color: rgba(89, 113, 217, 0.33);
  background-color: #fff;
  color: #152051;
}

.form-promo__button--dark:hover {
  border-color: rgba(21, 32, 81, 0.5);
  background-color: rgba(21, 32, 81, 0.5);
}

.form-promo__button--light:hover {
  border-color: #152051;
}

.form-promo .formwr__inp {
  display: block;
  width: 100%;
}

.form-promo .formwr__inp::placeholder {
  color: #152051;
}

.form-promo .formwr__required:before {
  content: none;
}

.form-file {
  --add-file-size: 56px;
  --modal-padding-right: 30px;
  --gap: 32px;

  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.form-file__field {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  max-width: 100%;
}

.form-file__control {
  display: none;
}

.form-file__title {
  font-size: 20px;
  font-weight: 600;
  line-height: 120%;
  color: #152051;
}

.form-file__buttons {
  max-width: calc(100% - var(--add-file-size) - var(--gap));
  display: flex;
  align-items: center;
  gap: var(--gap);
}

.form-file__button {
  display: block;
  width: 56px;
  aspect-ratio: 1/1;
  border: 1px solid rgba(89, 113, 217, 0.33);
  border-radius: 50%;
  color: #152051;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.9998 1.19995C10.4416 1.19995 10.7998 1.55812 10.7998 1.99995V18C10.7998 18.4418 10.4416 18.7999 9.9998 18.7999C9.55798 18.7999 9.1998 18.4418 9.1998 18V1.99995C9.1998 1.55812 9.55798 1.19995 9.9998 1.19995Z" fill="%23152051"/><path fill-rule="evenodd" clip-rule="evenodd" d="M18.7998 10C18.7998 10.4419 18.4416 10.8 17.9998 10.8L1.99981 10.8C1.55798 10.8 1.19981 10.4419 1.19981 10C1.19981 9.55822 1.55798 9.20005 1.99981 9.20005L17.9998 9.20005C18.4416 9.20005 18.7998 9.55822 18.7998 10Z" fill="%23152051"/></svg>');
  background-repeat: no-repeat;
  background-size: 20px auto;
  background-position: center;
  cursor: pointer;
  transition: border-color 0.3s ease-out;
}

.form-file__button:hover {
  border-color: #152051;
}

.form-file__list-wrap {
  max-width: 100%;
  overflow-x: auto;
}

.form-file__list {
  margin: 0;
  display: flex;
  gap: 6px;
  padding: 0;
  list-style: none;
}

.form-file__list-item {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  width: 56px;
  height: auto;
  aspect-ratio: 1/1;
  padding: 5px;
  gap: 5px;
  border-radius: 10px;
  border: 1px solid rgba(89, 113, 217, 0.33);
  font-size: 8px;
  overflow: hidden;
  white-space: nowrap;
  background-color: #f7f8fc;
  transition: border-color 0.3s ease-in-out;
}

.form-file__list-button {
  margin: 0 0 auto auto;
  width: 5px;
  height: auto;
  aspect-ratio: 1 / 1;
  color: inherit;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  transition: color 0.3s ease-in-out;
}

.form-file__list-text {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.form-file__list-item:not(.is-loaded) .form-file__list-text {
  display: none;
}

.form-file__list-item.is-loaded .form-file__list-bg {
  display: none;
}

.form-file__list-item.is-error {
  border-color: red;
  color: red;
}

.form-file:has(.is-invalid) .form-file__info {
  max-height: 100px;
  margin-top: 20px;
}

.form-file__list-bg {
  margin: auto;
  display: block;
  width: 28px;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28" viewBox="0 0 28 28" fill="none"><path d="M16.6727 0H11.3263C9.51457 0 8.10139 -1.22715e-08 6.96986 0.0922353C5.82022 0.186118 4.88633 0.380471 4.04633 0.807059C2.65135 1.51771 1.51723 2.65184 0.806571 4.04682C0.378335 4.88682 0.185629 5.82071 0.091747 6.97035C-0.000488294 8.10353 -0.000488281 9.51341 -0.000488281 11.3268V16.6732C-0.000488281 18.2313 -0.000488257 19.4929 0.0588059 20.5355C0.063198 20.642 0.0697864 20.7518 0.0785707 20.8649L0.0835119 20.916C0.141159 21.6835 0.239983 22.3555 0.419512 22.9682C0.519433 23.313 0.648453 23.6413 0.806571 23.9532C1.51723 25.3482 2.65135 26.4823 4.04633 27.1929C4.88633 27.6212 5.82022 27.8139 6.96986 27.9078C8.10139 28 9.51292 28 11.3263 28H16.6727C18.4845 28 19.8976 28 21.0292 27.9078C22.1788 27.8139 23.1127 27.6195 23.9527 27.1929C25.3477 26.4823 26.4818 25.3482 27.1925 23.9532C28.0094 22.3473 28.0045 20.4071 27.9995 18.6151L27.9979 18.0518L27.9995 16.6732V11.3268C27.9995 9.51506 27.9995 8.10188 27.9073 6.97035C27.8134 5.82071 27.619 4.88682 27.1925 4.04682C26.4818 2.65184 25.3477 1.51771 23.9527 0.807059C23.1127 0.378824 22.1788 0.186118 21.0292 0.0922353C19.8976 -1.22715e-08 18.4861 0 16.6727 0ZM1.73386 20.8946L1.72398 20.7793C1.65645 19.7449 2.71716 18.7205 3.50116 17.9645C3.62743 17.8437 3.74383 17.73 3.85034 17.6235C4.26539 17.2052 4.54704 17.0158 4.79904 16.9252C5.34681 16.7249 5.94775 16.7249 6.49551 16.9252C6.74586 17.0158 7.02751 17.2052 7.44257 17.6235C7.86257 18.0468 8.35834 18.6398 9.06328 19.4847C9.26015 19.7215 9.50473 19.9141 9.78106 20.05C10.0574 20.1859 10.3593 20.262 10.667 20.2733C10.9747 20.2847 11.2814 20.231 11.567 20.1158C11.8526 20.0007 12.1107 19.8266 12.3245 19.6049L17.2706 14.4809C17.4139 14.3327 17.5637 14.1647 17.7186 13.9918C18.2868 13.356 18.9341 12.6313 19.6901 12.3793C20.1964 12.2109 20.7436 12.2109 21.2499 12.3793C22.523 12.8042 23.7188 14.2388 24.7581 15.4856C25.1435 15.9468 25.5059 16.3833 25.8452 16.7325C26.2586 17.1624 26.3525 17.4094 26.3508 17.9892C26.3459 19.4221 26.3179 20.4713 26.2273 21.2915C26.1334 22.1233 25.9753 22.7113 25.7249 23.2054C25.1722 24.2905 24.29 25.1727 23.2049 25.7254C22.635 26.0153 21.9433 26.18 20.8957 26.2656C19.8383 26.3529 18.4927 26.3529 16.6348 26.3529H11.3642C9.50633 26.3529 8.16069 26.3529 7.10492 26.2656C6.05575 26.18 5.36398 26.0153 4.7941 25.7254C3.6362 25.1342 2.71215 24.1689 2.17198 22.9864C1.94469 22.4576 1.80963 21.812 1.73386 20.8946ZM26.3525 14.8894L24.8289 13.3115C24.3136 12.7598 23.7773 12.228 23.2214 11.7172C22.7553 11.3087 22.3023 10.9941 21.7703 10.8179C20.9262 10.5369 20.0138 10.5369 19.1696 10.8179C18.6376 10.9941 18.1847 11.3087 17.7202 11.7172C17.2673 12.1125 16.7517 12.6478 16.111 13.3115L11.1386 18.4602C11.0855 18.5154 11.0214 18.5588 10.9505 18.5875C10.8795 18.6162 10.8033 18.6296 10.7268 18.6268C10.6503 18.624 10.5752 18.6051 10.5065 18.5713C10.4378 18.5375 10.3771 18.4895 10.3282 18.4306L10.3035 18.4009C9.62822 17.5922 9.08798 16.9433 8.61198 16.4624C8.12445 15.9715 7.64022 15.5894 7.06045 15.3769C6.14735 15.0431 5.14556 15.0431 4.23245 15.3769C3.65269 15.5911 3.1701 15.9699 2.68092 16.464C2.32121 16.8347 1.97616 17.2193 1.64657 17.6169V11.3647C1.64657 9.50682 1.64657 8.16118 1.73386 7.10541C1.81951 6.05624 1.98422 5.36447 2.2741 4.79459C2.82685 3.70951 3.70902 2.82734 4.7941 2.27459C5.36398 1.98471 6.05575 1.82 7.10492 1.73435C8.16069 1.64706 9.50633 1.64706 11.3642 1.64706H16.6348C18.4927 1.64706 19.8383 1.64706 20.8941 1.73435C21.9433 1.82 22.635 1.98471 23.2049 2.27459C24.29 2.82734 25.1722 3.70951 25.7249 4.79459C26.0148 5.36447 26.1795 6.05624 26.2652 7.10541C26.3525 8.16118 26.3525 9.50682 26.3525 11.3647V14.8894Z" fill="%23233274" fill-opacity="0.6"/><path d="M5.76416 8.85318C5.76416 7.71561 6.19798 6.62463 6.97019 5.82025C7.7424 5.01586 8.78974 4.56396 9.88181 4.56396C10.9739 4.56396 12.0212 5.01586 12.7934 5.82025C13.5656 6.62463 13.9995 7.71561 13.9995 8.85318C13.9995 9.99075 13.5656 11.0817 12.7934 11.8861C12.0212 12.6905 10.9739 13.1424 9.88181 13.1424C8.78974 13.1424 7.7424 12.6905 6.97019 11.8861C6.19798 11.0817 5.76416 9.99075 5.76416 8.85318ZM9.88181 6.27965C9.22657 6.27965 8.59816 6.55079 8.13484 7.03342C7.67151 7.51605 7.41122 8.17064 7.41122 8.85318C7.41122 9.53572 7.67151 10.1903 8.13484 10.6729C8.59816 11.1556 9.22657 11.4267 9.88181 11.4267C10.537 11.4267 11.1655 11.1556 11.6288 10.6729C12.0921 10.1903 12.3524 9.53572 12.3524 8.85318C12.3524 8.17064 12.0921 7.51605 11.6288 7.03342C11.1655 6.55079 10.537 6.27965 9.88181 6.27965Z" fill="%23233274" fill-opacity="0.6"/></svg>');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.form-file__info {
  width: 100%;
  font-size: 14px;
  margin-left: auto;
  transition: max-height 0.3s ease-in-out, margin-top 0.3s ease-in-out;
  max-height: 0px;
  overflow: hidden;
  color: red;
}

@media (max-width: 767px) {
  .form-promo {
    padding: 0;
  }
  
  .form-file__field {
    flex-direction: column;
    align-items: flex-start;
  }

  .form-promo__fieldset {
    grid-template-columns: 1fr;
  }

  .form-file__buttons {
    max-width: 100%;
  }

  .form-file__title {
    font-size: 16px;
  }

  .form-file {
    --gap: 20px;
  }
}
