.lead-popup {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow-y: auto;
  padding: 24px 12px;
}
.lead-dialog {
  position: relative;
  flex: none;
  width: 412px;
  max-width: 100%;
  min-height: 700px;
  margin: auto;
  background: #fff;
  color: #191919;
  border-radius: 24px;
  overflow: hidden;
  text-align: left;
  font-family: "Inter Tight", sans-serif;
}
.lead-dialog [hidden] {
  display: none !important;
}
.lead-entry,
.lead-success {
  position: relative;
  min-height: 700px;
  padding: 33px 24px 24px;
  isolation: isolate;
}
.lead-dialog h2 {
  font-size: 32px;
  font-weight: 600;
  line-height: 0.95;
  max-width: 334px;
  margin: 0;
}
.lead-intro {
  font-size: 16px;
  line-height: 1.2;
  color: #7f7f7f;
  max-width: 334px;
  margin: 15px 0 24px;
}
.lead-form {
  position: relative;
  z-index: 2;
}
.lead-form label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
  height: 58px;
  background: #f6f6f6;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 1.15;
  color: #999;
  margin-bottom: 8px;
}
.lead-form input,
.lead-form select {
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  padding: 0;
  color: #272727;
  font:
    500 16px/1.4 "Inter Tight",
    sans-serif;
  outline: none;
}
.lead-form label:focus-within {
  outline: 2px solid #555;
  outline-offset: 2px;
}
.lead-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 12px;
  background: #272727;
  color: #fff;
  padding: 22px 23px;
  font:
    600 16px/1.15 "Inter Tight",
    sans-serif;
  text-decoration: none;
  cursor: pointer;
}
.lead-form .lead-submit {
  margin-top: 16px;
}
.lead-submit:disabled {
  opacity: 0.6;
  cursor: wait;
}
.lead-person {
  position: absolute;
  left: calc(50% - 126px);
  top: 361px;
  width: 252px;
  height: 410px;
  max-width: none;
  object-fit: fill;
  z-index: -1;
}
.lead-art {
  position: absolute;
  left: -178px;
  top: 321px;
  width: 590.155px;
  height: 599.503px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: -2;
  pointer-events: none;
}
.lead-art > div {
  position: relative;
  width: 348.573px;
  height: 493.518px;
  transform: rotate(137.61deg);
  flex: none;
}
.lead-art img {
  position: absolute;
  left: -29.97%;
  top: 0;
  max-width: none;
}
.lead-close {
  position: absolute;
  right: 8px;
  top: 6px;
  z-index: 5;
  border: 0;
  background: white;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  font: 24px/1 sans-serif;
  color: #777;
  cursor: pointer;
}
.lead-status:not(:empty) {
  font-size: 14px;
  line-height: 1.3;
  padding: 12px;
  border-radius: 12px;
  background: #fff;
  color: #a52323;
  box-shadow: 0 2px 12px #0001;
  margin-top: 12px;
}
.lead-success {
  padding-top: 32px;
}
.lead-success > p {
  position: absolute;
  left: 24px;
  top: 542px;
  margin: 0;
  max-width: calc(100% - 48px);
  font-size: 20px;
  line-height: 1.25;
}
.lead-success > .lead-submit {
  position: absolute;
  left: 24px;
  top: 614px;
}
.lead-radar {
  position: absolute;
  left: 50%;
  top: 166px;
  width: 302px;
  height: 302px;
  transform: translateX(-50%);
}
.lead-radar img {
  position: absolute;
  max-width: none;
}
.radar-center {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.radar-pin {
  left: 115.79px;
  top: 116px;
}
.radar-search {
  left: 137px;
  top: 139px;
}
.radar-orbit {
  position: absolute;
  inset: 0;
  animation: lead-orbit 28s linear infinite paused;
}
.radar-orbit .radar-face {
  border-radius: 50%;
  object-fit: cover;
  background: #ececec;
  animation: lead-portrait 28s linear infinite paused;
}
.popup_overlay_show .lead-success:not([hidden]) .radar-orbit,
.popup_overlay_show .lead-success:not([hidden]) .radar-face {
  animation-play-state: running;
}
@keyframes lead-orbit {
  to {
    transform: rotate(360deg);
  }
}
@keyframes lead-portrait {
  to {
    transform: rotate(-360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .radar-orbit,
  .radar-orbit .radar-face {
    border-radius: 50%;
    object-fit: cover;
    background: #ececec;
    animation: none;
  }
}
@media (max-width: 380px) {
  .lead-dialog h2 {
    font-size: 28px;
  }
  .lead-entry,
  .lead-success {
    padding-left: 20px;
    padding-right: 20px;
  }
  .lead-radar {
    transform: translateX(-50%) scale(0.85);
  }
  .lead-intro {
    font-size: 15px;
  }
}

.phone-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}
.phone-field__country {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 28px;
  font-size: 22px;
  line-height: 24px;
}
.phone-field input {
  flex: 1;
  min-width: 0;
}

/* Long model names keep the form above the portrait. */
.lead-dialog h2 {
  overflow-wrap: anywhere;
}
.lead-popup[data-lead-context="product"] .lead-entry {
  padding-bottom: 350px;
}
.lead-popup[data-lead-context="product"] .lead-person {
  top: auto;
  bottom: -70px;
}
