.profile-callback-form {
  --profile-callback-background: #0060fd;
  --profile-callback-prompt-color: #fff;
  --profile-callback-title-color: #fff;
  --profile-callback-description-color: rgba(255, 255, 255, .62);
}

.profile-callback-form__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 74.4rem;
  overflow: hidden;
  border-radius: 1.6rem;
  background: var(--profile-callback-background);
}

.profile-callback-form__content {
  display: flex;
  flex-direction: column;
  padding: 4.8rem;
  min-width: 0;
}

.profile-callback-form__prompts {
  display: flex;
  flex-direction: column;
  gap: .8rem;
  width: 100%;
}

.profile-callback-form__prompt {
  box-sizing: border-box;
  width: 100%;
  padding: 2.3rem 2.8rem;
  border: .1rem solid rgba(255, 255, 255, .85);
  border-radius: 4rem;
  color: var(--profile-callback-prompt-color);
  font-family: Onest, sans-serif;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.22;
}

.profile-callback-form__prompt--1,
.profile-callback-form__prompt--3 { border-radius: 0 5.6rem 5.6rem 4rem; }
.profile-callback-form__prompt--2 { border-radius: 4rem 0 4rem 4rem; }

.profile-callback-form__form-content {
  margin-top: 7.2rem;
}

.profile-callback-form__title {
  margin: 0 0 2.4rem;
  color: var(--profile-callback-title-color);
  font-family: Onest, sans-serif;
  font-size: 5.6rem;
  font-weight: 500;
  line-height: 1.03;
}

.profile-callback-form__description {
  max-width: 59rem;
  margin: 0 0 2.4rem;
  color: var(--profile-callback-description-color);
  font-family: Onest, sans-serif;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.25;
}

.profile-callback-form__visual {
  position: relative;
  min-height: 74.4rem;
  overflow: hidden;
  background-color: var(--profile-callback-background);
}

.profile-callback-form__visual::before,
.profile-callback-form__visual::after {
  position: absolute;
  z-index: 1;
  width: 7.2rem;
  height: 7.2rem;
  background: #000;
  content: '';
  clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
}

.profile-callback-form__visual::before { top: 4.2rem; left: 27%; }
.profile-callback-form__visual::after { bottom: 13%; left: 7%; }

.profile-callback-form__visual img {
  position: absolute;
  z-index: 2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.profile-callback-form__cf7 .wpcf7,
.profile-callback-form__cf7 .wpcf7-form,
.profile-callback-form__cf7 p { margin: 0; }

.profile-callback-form__cf7 .do-it-form__title,
.profile-callback-form__cf7 .do-it-form__desc { display: none; }

.profile-callback-form__cf7 .do-it-form__row {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: .8rem;
}

.profile-callback-form__cf7 .do-it-form__hint {
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-family: Onest, sans-serif;
  font-size: 1.2rem;
  line-height: 1.35;
}

.profile-callback-form__cf7 .do-it-form__hint a { color: inherit; }

.profile-callback-form__cf7 .wpcf7-form-control-wrap { display: block; }

/* Техническое поле Date/SB из CF7 не является частью формы для посетителя.
   В некоторых шаблонах CF7 оно приходит как text, поэтому скрываем и само
   поле, и его оболочку только внутри этого блока конструктора. */
.profile-callback-form__cf7 .wpcf7-form-control-wrap:has(input[name*='sb' i]),
.profile-callback-form__cf7 input[name*='sb' i] {
  display: none !important;
}

.profile-callback-form__cf7 input[type='tel'],
.profile-callback-form__cf7 input[type='text'],
.profile-callback-form__cf7 input[type='email'] {
  box-sizing: border-box;
  width: 28rem;
  height: 5.6rem;
  padding: 0 2.4rem;
  border: 0;
  border-radius: 1.2rem;
  background: #fff;
  color: #111;
  font-family: Onest, sans-serif;
  font-size: 1.8rem;
}

.profile-callback-form__cf7 .wpcf7-submit {
  min-height: 5.6rem;
  margin: 0;
  padding: 0 3.2rem;
  border: 0;
  border-radius: 3.2rem;
  background: #000;
  color: #fff;
  cursor: pointer;
  font-family: Onest, sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
}

.profile-callback-form__cf7 .wpcf7-spinner { display: none; }
.profile-callback-form__cf7 .wpcf7-not-valid-tip,
.profile-callback-form__cf7 .wpcf7-response-output { color: #fff; }

@media (min-width: 569px) {
  .profile-callback-form__cf7 .wpcf7-form > p { display: flex; flex-wrap: wrap; align-items: center; gap: 1.6rem; }
  .profile-callback-form__cf7 .wpcf7-form > p:last-child { display: block; margin-top: .8rem; color: rgba(255, 255, 255, .58); font-size: 1.2rem; line-height: 1.35; }
}

@media (max-width: 900px) {
  .profile-callback-form__inner { grid-template-columns: 1fr; }
  .profile-callback-form__visual { min-height: 46rem; }
}

@media (max-width: 568px) {
  .profile-callback-form__inner { min-height: 0; border-radius: 1.6rem; }
  .profile-callback-form__content { padding: 2.4rem; }
  .profile-callback-form__prompt { padding: 1.5rem 2.3rem; font-size: 1.8rem; }
  .profile-callback-form__prompt--1,
  .profile-callback-form__prompt--3 { border-radius: 0 3.2rem 3.2rem; }
  .profile-callback-form__prompt--2 { border-radius: 3.2rem 0 3.2rem; }
  .profile-callback-form__form-content { margin-top: 4.8rem; }
  .profile-callback-form__title { font-size: 4rem; }
  .profile-callback-form__description { font-size: 1.8rem; }
  .profile-callback-form__visual { min-height: 37.2rem; }
  .profile-callback-form__cf7 .do-it-form__row { flex-wrap: wrap; gap: .8rem; }
  .profile-callback-form__cf7 .do-it-form__row > * { width: 100%; }
  .profile-callback-form__cf7 .wpcf7-form > p { display: flex; flex-direction: column; align-items: stretch; gap: .8rem; }
  .profile-callback-form__cf7 input[type='tel'], .profile-callback-form__cf7 input[type='text'], .profile-callback-form__cf7 input[type='email'], .profile-callback-form__cf7 .wpcf7-submit { width: 100%; }
}
