/* Modal — single-column contact form */
.modal:has(.wpcf7) {
  max-width: clamp(360px, 42vw, 44rem);
  width: 91vw;
  padding: clamp(2.4rem, 3vw, 3.2rem);
}

.modal:has(.wpcf7) .modal_box.editor,
.modal:has(.wpcf7) .modal_box.editor__coll {
  text-align: center;
}

.modal:has(.wpcf7) .modal_box.editor__coll:not(:has(.wpcf7)) .h1,
.modal:has(.wpcf7) .modal_box.editor__coll:not(:has(.wpcf7)) .h2,
.modal:has(.wpcf7) .modal_box.editor__coll .editor > .h1:first-child,
.modal:has(.wpcf7) .modal_box.editor__coll .editor > .h2:first-child {
  text-align: center;
}

.modal:has(.wpcf7) .modal_box.editor__coll:not(:has(.wpcf7)) p:not([class]),
.modal:has(.wpcf7) .modal_box.editor__coll .editor > p:not([class]):first-of-type {
  color: var(--cl-c);
  text-align: center;
}

.modal:has(.wpcf7) .wpcf7 {
  width: 100%;
  margin-top: 0.4rem;
  text-align: left;
}

.modal .wpcf7-form,
.modal .main-form > form,
.modal form.main-form {
  display: flex !important;
  flex-direction: column;
  gap: 1.2rem;
  width: 100%;
  margin: 0;
}

.modal .wpcf7-form label {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  font-size: 0;
  line-height: 0;
}

.modal .wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.modal .wpcf7-form input:not([type="submit"]),
.modal .wpcf7-form textarea {
  width: 100%;
  margin: 0;
  padding: 0 clamp(1.6rem, 2vw, 2rem);
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.016rem;
  color: var(--cl-b);
  background: var(--bg-g) !important;
  border: 0.1rem solid var(--cl-f) !important;
  border-radius: 1.2rem !important;
  box-shadow: none !important;
  text-indent: 0;
  transition: border-color 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
}

.modal .wpcf7-form input:not([type="submit"]) {
  height: 4.8rem;
}

.modal .wpcf7-form textarea {
  min-height: 11.2rem;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  resize: vertical;
}

.modal .wpcf7-form input:not([type="submit"])::placeholder,
.modal .wpcf7-form textarea::placeholder {
  color: var(--cl-m);
  opacity: 1;
}

.modal .wpcf7-form input:not([type="submit"]):hover,
.modal .wpcf7-form textarea:hover {
  border-color: var(--cl-e) !important;
}

.modal .wpcf7-form input:not([type="submit"]):focus,
.modal .wpcf7-form textarea:focus {
  outline: none !important;
  border-color: var(--cl-d) !important;
  background: var(--bg-a) !important;
  box-shadow: 0 0 0 0.3rem rgba(2, 139, 122, 0.12);
}

.modal .wpcf7-form input.wpcf7-not-valid,
.modal .wpcf7-form textarea.wpcf7-not-valid {
  border-color: rgba(235, 17, 17, 0.4) !important;
}

.modal .wpcf7-form .main-button,
.modal .wpcf7-form button[type="submit"].main-button {
  width: 100%;
  height: 5.6rem;
  min-height: 5.6rem;
  margin-top: 0.4rem;
  padding: 1rem 2.4rem;
  border: none;
  border-radius: 1.2rem;
  font-size: clamp(1.6rem, 1.2vw, 1.8rem);
  font-weight: 500;
  letter-spacing: -0.0126rem;
  color: var(--cl-a);
  background: var(--bg-d);
  box-shadow: 0 1.5rem 1.2rem rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.modal .wpcf7-form .main-button:hover,
.modal .wpcf7-form button[type="submit"].main-button:hover {
  background: var(--bg-h);
}

@media (max-width: 766.98px) {
  .modal:has(.wpcf7) {
    padding: 2rem 1.6rem;
  }
}
