/* R2 Recycling — Forminator visual integration.
   Scoped to the shared contact section so Forminator can still be styled separately elsewhere. */
.form-plugin-wrap { max-width: 620px; }
.form-plugin-wrap .form__title { margin-bottom: 30px; }
.form-plugin-wrap .forminator-ui.forminator-custom-form,
.form-plugin-wrap .forminator-custom-form { margin: 0 !important; padding: 0 !important; max-width: 620px !important; font-family: var(--font-body) !important; }
.form-plugin-wrap .forminator-row { margin-bottom: 22px !important; gap:22px !important; }
.form-plugin-wrap .forminator-row:last-child { margin-bottom: 0 !important; }
.form-plugin-wrap .forminator-col { padding-left: 0 !important; padding-right: 0 !important; margin-left:0 !important; margin-right:0 !important; min-width:0 !important; }
.form-plugin-wrap .forminator-row .forminator-col + .forminator-col { margin-left:0 !important; }
.form-plugin-wrap .forminator-field { margin: 0 !important; }
.form-plugin-wrap .forminator-label,
.form-plugin-wrap .forminator-description,
.form-plugin-wrap .forminator-checkbox__label,
.form-plugin-wrap .forminator-radio__label { font-family: var(--font-mono) !important; }
.form-plugin-wrap .forminator-label { display:block !important; margin:0 0 9px !important; font-size:11px !important; line-height:1.4 !important; font-weight:500 !important; letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--body) !important; }
.form-plugin-wrap .forminator-required { color: var(--green) !important; }
.form-plugin-wrap input.forminator-input,
.form-plugin-wrap textarea.forminator-textarea,
.form-plugin-wrap select.forminator-select,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection,
.form-plugin-wrap .select2-container .select2-selection--single,
.form-plugin-wrap .select2-container .select2-selection--multiple { width:100% !important; min-height:54px !important; border:1px solid #D5D8D3 !important; background:var(--white) !important; border-radius:var(--radius) !important; padding:15px 16px !important; font:16px/1.45 var(--font-body) !important; color:var(--ink) !important; box-shadow:none !important; transition:border-color .2s,box-shadow .2s !important; }
.form-plugin-wrap textarea.forminator-textarea { min-height:130px !important; resize:vertical !important; }
.form-plugin-wrap input.forminator-input:focus,
.form-plugin-wrap textarea.forminator-textarea:focus,
.form-plugin-wrap select.forminator-select:focus,
.form-plugin-wrap .select2-container--open .select2-selection { border-color:var(--green) !important; box-shadow:0 0 0 3px rgba(77,135,63,.15) !important; outline:none !important; }
.form-plugin-wrap .select2-container .select2-selection__rendered { padding:0 !important; color:var(--ink) !important; line-height:22px !important; }
.form-plugin-wrap .select2-container .select2-selection__arrow { right:12px !important; top:50% !important; transform:translateY(-50%) !important; }
.form-plugin-wrap .forminator-error-message { margin-top:8px !important; font:500 12px/1.45 var(--font-body) !important; color:#9f2929 !important; }
.form-plugin-wrap .forminator-description { margin-top:7px !important; font-size:12px !important; line-height:1.5 !important; color:var(--muted) !important; letter-spacing:0 !important; text-transform:none !important; }
.form-plugin-wrap .forminator-button-submit,
.form-plugin-wrap button.forminator-button.forminator-button-submit { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:52px !important; margin:8px 0 0 auto !important; border:1px solid var(--black) !important; border-radius:var(--radius) !important; padding:14px 26px !important; background:var(--black) !important; color:var(--white) !important; font:600 14px/1 var(--font-display) !important; box-shadow:none !important; text-transform:none !important; cursor:pointer !important; transition:background .25s,color .25s,border-color .25s !important; }
.form-plugin-wrap .forminator-button-submit:hover,
.form-plugin-wrap button.forminator-button.forminator-button-submit:hover { background:var(--green) !important; border-color:var(--green) !important; color:var(--white) !important; box-shadow:none !important; }
.form-plugin-wrap .forminator-response-message { border-radius:var(--radius) !important; padding:16px 18px !important; font:14px/1.6 var(--font-body) !important; }
.form-plugin-wrap .forminator-response-message.forminator-success,
.form-plugin-wrap .forminator-response-message[aria-hidden="false"] { border:1px solid rgba(77,135,63,.28) !important; background:#f4f8f1 !important; color:var(--ink) !important; }
.form-plugin-wrap .forminator-loading { color:var(--green) !important; }
@media (max-width:680px){
  .form-plugin-wrap .forminator-row { display:block !important; }
  .form-plugin-wrap .forminator-row .forminator-col + .forminator-col { margin-left:0 !important; margin-top:22px !important; }
  .form-plugin-wrap .forminator-button-submit,
  .form-plugin-wrap button.forminator-button.forminator-button-submit { width:100% !important; margin-left:0 !important; }
}


/* v3.5.1 — compact Select Service field.
   Forminator may render either a native select or Select2 depending on settings. */
.form-plugin-wrap select.forminator-select {
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 46px 0 16px !important;
  line-height: 52px !important;
}
.form-plugin-wrap .select2-container .select2-selection--single,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection--single,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 52px !important;
  height: 52px !important;
  padding: 0 46px 0 16px !important;
  overflow: hidden !important;
}
.form-plugin-wrap .select2-container .select2-selection--single .select2-selection__rendered,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection__rendered {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* Hide plugin/default arrow and draw one consistent chevron. */
.form-plugin-wrap .select2-container .select2-selection__arrow,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection__arrow {
  display: none !important;
}
.form-plugin-wrap .select2-container .select2-selection--single::after,
.form-plugin-wrap .forminator-select2 + .select2-container .select2-selection::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid #6b746b;
  border-bottom: 2px solid #6b746b;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}


/* v3.5.3 — align shared form headings/intro copy with Forminator fields.
   Forminator can apply negative horizontal margins to rows; neutralize them sitewide. */
.form-plugin-wrap { width: 100%; }
.form-plugin-wrap .forminator-ui.forminator-custom-form,
.form-plugin-wrap .forminator-custom-form { width:100% !important; }
.form-plugin-wrap .forminator-row {
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.form-plugin-wrap > .form__title,
.contact-page__form-title,
.contact-page__form-text {
  margin-left:0 !important;
  padding-left:0 !important;
}
