.rent-form-holder {
    min-height: 600px;
}
.rent-form
{ --rf-blue: #0ca3e5;
  --rf-blue-hover: #4ac6ff;
  --rf-blue-dark: #033850;
  --rf-link: #1467ae;
  --rf-text: #252525;
  --rf-muted: #646363;
  --rf-placeholder: #909090;
  --rf-border: #e0e0e0;
  --rf-border-hover: #c7c7c7;
  --rf-bg: #f6f6f9;
  --rf-error: #e62730;
  --rf-error-text: #c4161f;
  --rf-radius: 12px;

  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
  padding: 32px 16px 36px;
  border-radius: 24px;
  background-color: var(--rf-bg);
  color: var(--rf-text);
  font-family: 'Montserrat', var(--system-font, sans-serif);
  font-size: 16px;
  line-height: 1.5; }


.rent-form [hidden]
{ display: none !important; }


.rent-form__title
{ margin: 0 0 24px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  color: var(--rf-text); }


.rent-form__form
{ margin: 0; }


/* ** Поля ** */

.rent-form__grid
{ display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px; }


.rent-form__field
{ display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  min-width: 0; }


.rent-form__label
{ margin: 0;
  font-size: 14px;
  line-height: 1.3;
  color: var(--rf-muted);
  cursor: pointer; }


.rent-form__req
{ color: var(--rf-error); }


.rent-form__input
{ display: block;
  width: 100%;
  max-width: none;
  min-height: 52px;
  margin: 0;
  padding: 13px 18px;
  font: inherit;
  font-size: 16px;
  line-height: 1.4;
  color: var(--rf-text);
  background-color: #fff;
  border: 2px solid var(--rf-border);
  border-radius: var(--rf-radius);
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: text;
  transition: border-color 200ms, box-shadow 200ms; }


.rent-form__input::placeholder
{ color: var(--rf-placeholder);
  opacity: 1; }


.rent-form__input:hover
{ border-color: var(--rf-border-hover); }


.rent-form__input:focus
{ border-color: var(--rf-blue);
  box-shadow: 0 0 0 4px rgba(12, 163, 229, 0.18); }


.rent-form__input[aria-invalid='true']
{ border-color: var(--rf-error); }


.rent-form__input[aria-invalid='true']:focus
{ box-shadow: 0 0 0 4px rgba(230, 39, 48, 0.15); }


textarea.rent-form__input
{ min-height: 124px;
  resize: vertical; }


.rent-form__error
{ display: none;
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  color: var(--rf-error-text); }


.rent-form__error:not(:empty)
{ display: flex;
  align-items: flex-start;
  gap: 6px; }


/* Иконка «!» — чтобы ошибка читалась не только по цвету */
.rent-form__error:not(:empty)::before
{ content: '';
  flex: none;
  width: 16px;
  height: 16px;
  margin-top: 0.5px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8' fill='%23e62730'/%3E%3Cpath d='M8 4v5' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='12' r='1.1' fill='%23fff'/%3E%3C/svg%3E") no-repeat center / contain; }


/* Скрытое поле-ловушка для спам-ботов */
.rent-form__hp
{ position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden; }


/* ** Низ формы: согласие + кнопка ** */

.rent-form__footer
{ display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 28px 0 0; }


.rent-form__consent
{ display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 8px;
  align-items: start;
  margin: 0; }


.rent-form__checkbox
{ flex: none;
  width: 26px;
  height: 26px;
  margin: 0;
  background: #fff no-repeat center / 16px 16px;
  border: 2px solid var(--rf-blue);
  border-radius: 6px;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: background-color 200ms, border-color 200ms; }


.rent-form__checkbox:checked
{ background-color: var(--rf-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8.5l3.2 3.2L13 4.8' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }


.rent-form__checkbox:focus-visible
{ outline: 3px solid var(--rf-blue-dark);
  outline-offset: 2px; }


.rent-form__checkbox[aria-invalid='true']
{ border-color: var(--rf-error); }


.rent-form__consent-text
{ margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: var(--rf-muted);
  cursor: pointer; }


.rent-form a:link,
.rent-form a:visited
{ color: var(--rf-link);
  text-decoration: underline;
  text-underline-offset: 2px; }


.rent-form a:hover,
.rent-form a:focus-visible
{ color: var(--rf-blue); }


.rent-form__consent .rent-form__error
{ grid-column: 2; }


.rent-form__submit
{ display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: none;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 16px 32px;
  font: inherit;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  background-color: var(--rf-blue);
  border: none;
  border-radius: 48px;
  cursor: pointer;
  transition: background-color 300ms, opacity 300ms; }


.rent-form__submit:hover
{ background-color: var(--rf-blue-hover); }


.rent-form__submit:focus-visible
{ outline: 3px solid var(--rf-blue-dark);
  outline-offset: 3px; }


.rent-form__submit:disabled
{ opacity: 0.75;
  cursor: progress; }


.rent-form__submit.is-loading::before
{ content: '';
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, 0.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: rent-form-spin 800ms linear infinite; }


@keyframes rent-form-spin
{ to { transform: rotate(360deg); } }


/* Ошибка отправки (сервер недоступен и т. п.) */
.rent-form__status
{ margin: 0; }


.rent-form__status:not(:empty)
{ margin-top: 20px;
  padding: 14px 18px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--rf-error-text);
  background-color: #fff;
  border: 2px solid var(--rf-error);
  border-radius: var(--rf-radius); }


.rent-form__status a
{ white-space: nowrap; }


/* ** Сообщение об успешной отправке ** */

.rent-form__success
{ display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 560px;
  margin: 0 auto;
  padding: 8px 0 12px;
  text-align: center;
  outline: none; }


.rent-form__success-icon
{ width: 72px;
  height: 72px;
  border-radius: 36px 0 36px 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none'%3E%3Cpath d='M8 16.5l5.5 5.5L24 11' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 40px 40px,
              linear-gradient(45deg, #57cbd8, #5aa5f6); }


.rent-form__success-title
{ margin: 0;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.25;
  color: var(--rf-text); }


.rent-form__success-text
{ margin: 0;
  font-size: 16px;
  color: var(--rf-muted); }


/* ** Блок на странице, в который загружается форма ** */

.rent-form-holder[aria-busy='true']
{ display: flex;
  justify-content: center;
  align-items: center;
  min-height: 240px; }


.rent-form-holder[aria-busy='true']::before
{ content: '';
  width: 36px;
  height: 36px;
  border: 3px solid #e0e0e0;
  border-top-color: #0ca3e5;
  border-radius: 50%;
  animation: rent-form-spin 800ms linear infinite; }


.rent-form-holder__note
{ max-width: 1060px;
  margin: 0 auto;
  padding: 24px;
  font-size: 16px;
  line-height: 1.5;
  color: #252525;
  background-color: #f6f6f9;
  border-radius: 24px 0 24px 0; }


.rent-form-holder__note a:link,
.rent-form-holder__note a:visited
{ color: #1467ae;
  text-decoration: underline;
  white-space: nowrap; }


/* ** Планшет и десктоп ** */

@media (min-width: 720px)
{
.rent-form
{ padding: 48px 60px 56px;
  border-radius: 24px; }


.rent-form__title
{ margin-bottom: 36px;
  font-size: 32px; }


.rent-form__grid
{ grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 24px; }


.rent-form__field.is-wide
{ grid-column: 1 / -1; }


.rent-form__footer
{ flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
  margin-top: 32px; }


.rent-form__submit
{ width: auto;
  min-width: 240px; }
}


@media (min-width: 1280px)
{
.rent-form__title
{ font-size: 36px; }
}


@media (forced-colors: active)
{
.rent-form__checkbox
{ -webkit-appearance: auto;
  appearance: auto; }
}


@media (prefers-reduced-motion: reduce)
{
.rent-form__input,
.rent-form__checkbox,
.rent-form__submit
{ transition: none; }


.rent-form__submit.is-loading::before
{ animation-duration: 2s; }
}

@media(max-width:600px){
.rent-form__consent-text {
    font-size: 10px;
}
}