.contacts-locations,
.contacts-methods,
.contacts-form {
  width: min(100% - 32px, 1241px);
  margin: 60px auto;
}

.contacts-locations__title,
.contacts-form__title {
  font-family: "Unbounded", system-ui, sans-serif;
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 400;
  text-align: center;
  margin-bottom: 32px;
}

.contacts-methods__title {
  font-family: "Unbounded", system-ui, sans-serif;
  font-size: clamp(22px, 3.2vw, 40px);
  font-weight: 400;
  text-align: center;
  margin-bottom: 32px;
  white-space: nowrap;
}

.contacts-locations__grid {
  display: grid;
  gap: 24px;
}

.contacts-location__head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 11px;
}

.contacts-location__city {
  font-size: 24px;
  font-weight: 500;
}

.contacts-location__address {
  font-size: 18px;
  color: #666;
  text-align: right;
}

.contacts-location__map {
  height: 280px;
  border-radius: 14px;
  overflow: hidden;
  background: #f8f8f8;
  display: grid;
  place-items: center;
}

.contacts-location__map--image {
  display: block;
  height: auto;
}

.contacts-location__map--image img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 14px;
}

.contacts-location__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.contacts-location__map-load {
  color: #c31730;
  font-weight: 500;
  padding: 12px 20px;
}

.contacts-methods__grid {
  display: grid;
  gap: 28px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.contacts-method {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}

.contacts-method__label {
  font-size: 20px;
  font-weight: 500;
  margin-bottom: 0;
}

.contacts-method__value {
  font-size: 18px;
  color: #c31730;
  font-weight: 500;
  text-decoration: underline;
  word-break: break-word;
}

.contacts-form {
  background: #efefef;
  border-radius: 29px;
  padding: 48px 20px;
}

.contacts-form__card {
  display: grid;
  gap: 18px;
  max-width: 520px;
  margin: 0 auto;
}

.contacts-form__title {
  font-size: clamp(28px, 4vw, 45px);
  text-align: left;
  margin-bottom: 0px;
}

.contacts-form .wpcf7-form {
  position: relative;
  display: grid;
  gap: 18px;
}

.contacts-form .wpcf7 p {
  position: relative;
  margin: 0;
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
}

.contacts-form .wpcf7-form-control-wrap {
  display: block;
}

.contacts-form .wpcf7 input[type=text],
.contacts-form .wpcf7 input[type=email],
.contacts-form .wpcf7 input[type=tel],
.contacts-form .wpcf7 textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid #e4e4e4;
  border-radius: 8px;
  background: #f8f8f8;
  font-weight: 400;
}

.contacts-form .wpcf7 textarea {
  min-height: 136px;
  resize: vertical;
}

.contacts-form .wpcf7 input:focus,
.contacts-form .wpcf7 textarea:focus {
  outline: none;
  border-color: #c31730;
}

.contacts-form .wpcf7-submit {
  width: 100%;
  height: 49px;
  border-radius: 12px;
  border: 1px solid #dbdbdb;
  background: #fff;
  color: #c31730;
  font-weight: 500;
}

.contacts-form .wpcf7-submit:disabled {
  opacity: 0.7;
  cursor: default;
}

.contacts-form .wpcf7-not-valid {
  border-color: #c31730 !important;
  background-color: rgba(195, 23, 48, 0.08) !important;
}

.contacts-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  color: #c31730;
  font-size: 12px;
  font-weight: 400;
}

.contacts-form .wpcf7-form .wpcf7-response-output {
  display: none;
  margin: 8px 0 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 12px;
  text-align: center;
  font-size: 15px;
  font-weight: 400;
  color: #2e7d32;
  background: #eaf6ea;
}

.page-main--contacts .contacts-form .polcar-booking-form {
  max-width: 380px;
  margin: 0 auto;
}

.contacts-form .wpcf7-form.sent .wpcf7-response-output {
  display: block;
}

.contacts-form .wpcf7-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  margin: 0;
  transform: translate(-50%, -50%);
}

.contacts-form .wpcf7-form.submitting::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}

@media (min-width: 768px) {
  .contacts-locations__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .contacts-form {
    padding: 61px 48px;
  }
}
@media (min-width: 1024px) {
  .contacts-locations__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .contacts-location__map,
  .contacts-location__map--image img {
    height: 341px;
  }
}
@media (max-width: 767px) {
  .contacts-methods__grid {
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
  .page-main--contacts {
    display: flex;
    flex-direction: column;
  }
  .page-main--contacts .page-hero {
    order: 1;
  }
  .page-main--contacts .contacts-locations {
    order: 3;
    margin: 30px auto;
  }
  .page-main--contacts .contacts-methods {
    order: 2;
    margin: 30px auto;
  }
  .page-main--contacts .contacts-form {
    order: 4;
    margin: 30px auto;
  }
}

/*# sourceMappingURL=contacts.css.map */