/* Подключаем шрифт Montserrat */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');

.goodrent-contact-form { max-width: 560px; padding: 0; background: transparent; border: none; border-radius: 12px; }

/* Базовая типографика */
.goodrent-contact-form,
.goodrent-contact-form input[type="text"],
.goodrent-contact-form input[type="tel"],
.goodrent-contact-form textarea,
.goodrent-contact-form .grcf-submit {
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  color: #000; /* Цвет ввода */
}

.goodrent-contact-form .grcf-field { margin-bottom: 12px; }

/* Поля ввода */
.goodrent-contact-form input[type="text"],
.goodrent-contact-form input[type="tel"],
.goodrent-contact-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  background: #fff; /* Белый фон */
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .06s ease;
}

.goodrent-contact-form textarea { resize: vertical; }

/* Плейсхолдеры */
.goodrent-contact-form input::placeholder,
.goodrent-contact-form textarea::placeholder { color: #6b7280; opacity: 1; }

/* Красивая анимация "кольца" при фокусе */
@keyframes grcf-ring {
  0%   { box-shadow: 0 0 0 0 rgba(0,0,0,.15), 0 0 0 0 rgba(107,114,128,.15); }
  50%  { box-shadow: 0 0 0 3px rgba(0,0,0,.10), 0 0 0 6px rgba(107,114,128,.10); }
  100% { box-shadow: 0 0 0 0 rgba(0,0,0,.15), 0 0 0 0 rgba(107,114,128,.15); }
}

.goodrent-contact-form input[type="text"]:focus,
.goodrent-contact-form input[type="tel"]:focus,
.goodrent-contact-form textarea:focus {
  border-color: #111827; /* чёрный бордер при фокусе */
  animation: grcf-ring 1.2s ease-in-out infinite; /* мягкая пульсация */
}

/* === КАСТОМНАЯ КНОПКА "ОТПРАВИТЬ" (Uiverse) === */
.goodrent-contact-form .grcf-actions { margin-top: 8px; text-align: right; }

/* База для кнопки */
.goodrent-contact-form .grcf-submit {
  position: relative;
  display: inline-block;
  cursor: pointer;
  outline: none;
  border: 0;
  vertical-align: middle;
  text-decoration: none;
  background: transparent;
  padding: 0;
  font-size: 1rem;
  width: 12rem; /* как в макете */
  height: auto;
}

/* Внутренний круг */
.goodrent-contact-form .grcf-submit .circle {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: relative;
  display: block;
  margin: 0;
  width: 3rem;
  height: 3rem;
  background: #111827; /* фирменный чёрный */
  border-radius: 1.625rem;
}

/* Иконка-стрелка */
.goodrent-contact-form .grcf-submit .circle .icon {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0; bottom: 0; margin: auto;
  background: #fff;
}

.goodrent-contact-form .grcf-submit .circle .icon.arrow {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  left: 0.625rem;
  width: 1.125rem;
  height: 0.125rem;
  background: none;
}

.goodrent-contact-form .grcf-submit .circle .icon.arrow::before {
  position: absolute;
  content: "";
  top: -0.29rem;
  right: 0.0625rem;
  width: 0.625rem;
  height: 0.625rem;
  border-top: 0.125rem solid #fff;
  border-right: 0.125rem solid #fff;
  transform: rotate(45deg);
}

/* Текст кнопки */
.goodrent-contact-form .grcf-submit .button-text {
  transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  padding: 0.75rem 0;
  margin: 0 0 0 1.85rem;
  color: #FFFFFF;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  text-transform: uppercase;
}

/* Ховер-эффекты */
.goodrent-contact-form .grcf-submit:hover .circle { width: 100%; }
.goodrent-contact-form .grcf-submit:hover .circle .icon.arrow { background: #fff; transform: translate(1rem, 0); }
.goodrent-contact-form .grcf-submit:hover .button-text { color: #fff; }

/* Disabled-состояние */
.goodrent-contact-form .grcf-submit[disabled] { opacity: .6; pointer-events: none; }

/* Сообщения */
.goodrent-contact-form .grcf-message { margin-top: 12px; font-weight: 600; }
.grcf-error { color:#b91c1c; }
.grcf-success { background:#ecfdf5; border:1px solid #34d399; color:#064e3b; padding:14px; border-radius:12px; font-weight:600; }

/* Антибот-поле */
.goodrent-contact-form .grcf-hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Ошибка поля */
.goodrent-contact-form .grcf-field-error { border-color:#ef4444 !important; }