/* Форма записи на занятия.
   Раньше в окне записи стоял iframe с гугл-формой, поэтому окно было
   жёстко 85% высоты и без прокрутки. Теперь внутри своя форма —
   окно подстраивается под её высоту и прокручивается, если не влезает. */

.zapis_form_modal {
  top: 50%;
  bottom: auto;
  height: auto;
  max-height: 90vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transform: translateY(-50%);
}

.mydc-form {
  box-sizing: border-box;
  width: 100%;
  padding: 34px 32px 28px;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  text-align: left;
}

.mydc-form * {
  box-sizing: border-box;
}

.mydc-form__title {
  margin: 0 0 6px;
  font-size: 1.35rem;
  line-height: 1.25;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
}

.mydc-form__lead {
  margin: 0 0 22px;
  font-size: 0.86rem;
  line-height: 1.45;
  text-align: center;
  color: #b5b5b5;
}

/* Два поля в ряд на широком экране */
.mydc-form__row {
  display: flex;
  gap: 16px;
}

.mydc-form__row .mydc-form__field {
  flex: 1 1 50%;
  min-width: 0;
}

.mydc-form__field {
  margin: 0 0 16px;
}

.mydc-form__field label {
  display: block;
  margin: 0 0 6px;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #cfcfcf;
}

.mydc-form__req {
  color: #13ab02;
}

.mydc-form input[type="text"],
.mydc-form input[type="email"],
.mydc-form input[type="tel"],
.mydc-form select {
  width: 100%;
  height: 44px;
  padding: 0 12px;
  border: 1px solid #3a3a3a;
  border-radius: 6px;
  background: #151515;
  color: #fff;
  font-size: 0.95rem;
  font-family: inherit;
  line-height: normal;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mydc-form input::placeholder {
  color: #6a6a6a;
}

.mydc-form select {
  /* стрелка нарисована фоном, чтобы не тянуть картинку */
  background-image: linear-gradient(45deg, transparent 50%, #9a9a9a 50%),
                    linear-gradient(135deg, #9a9a9a 50%, transparent 50%);
  background-position: calc(100% - 18px) 19px, calc(100% - 12px) 19px;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 36px;
}

.mydc-form input:focus,
.mydc-form select:focus {
  outline: none;
  border-color: #13ab02;
  box-shadow: 0 0 0 2px rgba(19, 171, 2, 0.25);
}

.mydc-form .is-invalid input,
.mydc-form .is-invalid select {
  border-color: #d64a4a;
}

.mydc-form__error {
  display: block;
  margin: 5px 0 0;
  font-size: 0.75rem;
  letter-spacing: 0;
  text-transform: none;
  color: #ff8b8b;
}

/* Согласие */
.mydc-form__field--check {
  margin: 4px 0 20px;
}

.mydc-form .mydc-form__check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  color: #cfcfcf;
  cursor: pointer;
}

.mydc-form .mydc-form__check input[type="checkbox"] {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: #13ab02;
  cursor: pointer;
}

.mydc-form .mydc-form__check a {
  color: #13ab02;
  text-decoration: underline;
}

/* Ловушка для роботов: невидима и не читается экранными дикторами */
.mydc-form__trap {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* Кнопка */
.mydc-form__submit {
  display: block;
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 6px;
  background: #13ab02;
  color: #fff;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: bold;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s ease;
}

.mydc-form__submit:hover,
.mydc-form__submit:focus-visible {
  background: #0f8c02;
}

.mydc-form__submit[disabled] {
  opacity: 0.6;
  cursor: default;
}

.mydc-form__note {
  margin: 10px 0 0;
  font-size: 0.72rem;
  text-align: center;
  color: #8a8a8a;
}

/* Сообщение после отправки */
.mydc-form__message {
  margin: 14px 0 0;
  font-size: 0.86rem;
  line-height: 1.45;
  text-align: center;
}

.mydc-form__message:empty {
  margin: 0;
}

.mydc-form__message.is-ok {
  color: #7ee36c;
}

.mydc-form__message.is-error {
  color: #ff8b8b;
}

/* Состояние «отправлено»: остаётся только сообщение */
.mydc-form.is-sent .mydc-form__row,
.mydc-form.is-sent .mydc-form__field,
.mydc-form.is-sent .mydc-form__submit,
.mydc-form.is-sent .mydc-form__note,
.mydc-form.is-sent .mydc-form__lead {
  display: none;
}

.mydc-form.is-sent .mydc-form__message {
  margin: 18px 0 0;
  font-size: 1rem;
}

@media only screen and (max-width: 900px) {
  .zapis_form_modal {
    top: 0;
    height: 100%;
    max-height: 100%;
    transform: none;
  }

  /* Крестик был чёрным, потому что внутри окна была белая гугл-форма.
     Теперь фон окна тёмный — возвращаем белый. */
  .close-button-zapis-online,
  .close-button-zapis-online a p {
    color: #fff !important;
  }

  .mydc-form {
    padding: 56px 20px 32px;
  }

  .mydc-form__row {
    display: block;
  }

  .mydc-form__title {
    font-size: 1.15rem;
  }
}
