.formBlock {
  padding: 112px 64px;
  font-family: "DM Sans", sans-serif;
}

.formBlock__container {
  max-width: 1280px;
  width: 100%;
  margin: 0 auto;
}

/* Figma container is 1160 inside 1280 */
.formBlock__inner {
  width: 100%;
  max-width: 1160px;
}

.formBlock__header {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
  color: #000;
}

.formBlock__title {
  margin: 0;
  font-weight: 700;
  font-size: 48px;
  line-height: 1.2;
}

.formBlock__text {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #000;
}

/* -------------------- Contact Form 7 styling -------------------- */

.formBlock__form .wpcf7 {
  font-family: "Inter", sans-serif;
}

.formBlock__form .wpcf7 form {
  margin: 0;
}

.formBlock__form .wpcf7 form p {
  margin: 0;
}

.formBlock__form .nb-formGrid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.formBlock__form .nb-formRow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.formBlock__form .nb-formField {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.formBlock__form .nb-formLabel {
  margin: 0;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #0b0203;
}

/* input underline style */
.formBlock__form .nb-inputWrap {
  border-bottom: 1px solid rgba(11, 2, 3, 0.15);
  background: transparent;
  padding: 8px 0;
}

.formBlock__form .wpcf7-form input[type="text"],
.formBlock__form .wpcf7-form input[type="email"],
.formBlock__form .wpcf7-form input[type="tel"],
.formBlock__form .wpcf7-form textarea {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  font-family: inherit;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #0b0203;
  padding: 0;
  margin: 0;
  border: none;
}

.formBlock__form textarea {
  min-height: 180px;
  resize: vertical;
  padding: 12px 12px 12px 0;
}

.formBlock__form input::placeholder,
.formBlock__form textarea::placeholder {
  color: rgba(11, 2, 3, 0.6);
}

/* checkbox */
.formBlock__form .nb-formCheck {
  display: flex;
  align-items: center;
  gap: 8px;
}

.formBlock__form .nb-formCheck input[type="checkbox"] {
  width: 18px;
  height: 18px;
  border: 1px solid rgba(11, 2, 3, 0.15);
  border-radius: 4px;
}

.formBlock__form .nb-formCheckLabel {
  font-family: "Inter", sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.5;
  color: #0b0203;
}

/* submit button */
.formBlock__form .wpcf7-form .nb-formSubmit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 11px 30px;
  border-radius: 30px;
  background: #ff8000;
  color: #fff;
  border: 0;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: normal;
}

.formBlock__form .nb-formSubmit:hover {
  filter: brightness(0.96);
}

/* CF7 validation/errors (keep minimal and non-destructive) */
.formBlock__form .wpcf7-not-valid-tip {
  font-size: 14px;
  line-height: 1.4;
  color: #b00020;
  margin-top: 6px;
}
.formBlock__form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 8px;
  font-size: 14px;
}

@media (max-width: 1024px) {
  .formBlock {
    padding: 96px 40px;
  }
}

@media (max-width: 900px) {
  .formBlock__inner {
    max-width: none;
  }
  .formBlock__form .nb-formRow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 600px) {
  .formBlock {
    padding: 72px 20px;
  }
  .formBlock__title {
    font-size: 36px;
  }
  .formBlock__text {
    font-size: 16px;
  }
  .formBlock__form input[type="text"],
  .formBlock__form input[type="email"],
  .formBlock__form input[type="tel"],
  .formBlock__form textarea,
  .formBlock__form .nb-formLabel,
  .formBlock__form .nb-formCheckLabel {
    font-size: 16px;
  }
}
