/* ============================================================
   Forminator overrides
   ------------------------------------------------------------
   Forminator loads its own stylesheet with high specificity, so these
   rules are deliberately specific and use !important where the plugin
   inlines a value. Set the form's Appearance → Design to "Default" (not
   "Bold" or "Material") in Forminator so there is less to override.
   ============================================================ */

.forminator-slot{margin:0}

/* strip the plugin's wrapper chrome — the console already provides it */
.console .forminator-ui,
.console .forminator-custom-form{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  font-family:var(--body) !important;
}

/* Forminator's own heading block, if the form has one */
.console .forminator-title,
.console .forminator-custom-form .forminator-title{
  font-family:var(--display) !important;
  font-weight:700 !important;
  font-size:1.12rem !important;
  color:var(--ink) !important;
  letter-spacing:-.02em !important;
  margin:0 0 .35em !important;
}
.console .forminator-subtitle{
  color:var(--ink-3) !important;
  font-size:.9rem !important;
  margin:0 0 1.4em !important;
}

/* rows */
.console .forminator-row{margin-bottom:18px !important}
.console .forminator-row:last-of-type{margin-bottom:24px !important}
.console .forminator-col{padding-inline:0 !important}
.console .forminator-row .forminator-col + .forminator-col{margin-top:18px}

@media (min-width:640px){
  .console .forminator-row{display:flex;gap:16px}
  .console .forminator-row .forminator-col{flex:1 1 0;min-width:0}
  .console .forminator-row .forminator-col + .forminator-col{margin-top:0}
}

/* labels */
.console .forminator-label{
  display:block !important;
  font-family:var(--body) !important;
  font-size:.74rem !important;
  font-weight:700 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:var(--ink-3) !important;
  margin-bottom:.6em !important;
}
.console .forminator-required{color:var(--blue) !important}

/* text, email, tel, number, textarea */
.console .forminator-input,
.console .forminator-textarea,
.console input[type="text"],
.console input[type="email"],
.console input[type="tel"],
.console input[type="number"],
.console textarea{
  width:100% !important;
  background:var(--paper-2) !important;
  border:1.5px solid transparent !important;
  border-radius:var(--r-sm) !important;
  color:var(--ink) !important;
  font-family:var(--body) !important;
  font-size:1rem !important;
  line-height:1.5 !important;
  padding:.92em 1.05em !important;
  height:auto !important;
  min-height:0 !important;
  box-shadow:none !important;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease !important;
}
.console .forminator-textarea,
.console textarea{min-height:120px !important;resize:vertical !important}

.console .forminator-input::placeholder,
.console .forminator-textarea::placeholder{color:var(--ink-3) !important;opacity:.75 !important}

.console .forminator-input:focus,
.console .forminator-textarea:focus,
.console input:focus,
.console textarea:focus{
  outline:none !important;
  background:#fff !important;
  border-color:var(--blue) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.13) !important;
}

/* select — both the native element and Forminator's custom dropdown */
.console .forminator-select,
.console select{
  width:100% !important;
  background:var(--paper-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a9e' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 1em center !important;
  background-size:16px !important;
  border:1.5px solid transparent !important;
  border-radius:var(--r-sm) !important;
  color:var(--ink) !important;
  font-family:var(--body) !important;
  font-size:1rem !important;
  padding:.92em 2.8em .92em 1.05em !important;
  height:auto !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

/* Forminator uses select2-style markup when "custom select" is on */
.console .forminator-select .select2-container--default .select2-selection--single,
.console .forminator-custom-form .select2-container--default .select2-selection--single{
  background:var(--paper-2) !important;
  border:1.5px solid transparent !important;
  border-radius:var(--r-sm) !important;
  height:auto !important;
  padding:.92em 1.05em !important;
  display:flex !important;
  align-items:center !important;
}
.console .select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--ink) !important;
  font-size:1rem !important;
  line-height:1.5 !important;
  padding:0 !important;
}
.console .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:100% !important;
  right:14px !important;
}
.console .select2-container--default.select2-container--open .select2-selection--single{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 4px rgba(37,99,235,.13) !important;
}
.select2-dropdown{
  border:1px solid var(--line) !important;
  border-radius:var(--r-sm) !important;
  box-shadow:var(--shadow-md) !important;
  overflow:hidden !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--blue) !important;
}

/* checkboxes and radios */
.console .forminator-checkbox,
.console .forminator-radio{
  display:inline-flex !important;
  align-items:center !important;
  gap:.55em !important;
  margin:0 12px 10px 0 !important;
  color:var(--ink-2) !important;
  font-size:.94rem !important;
}
.console .forminator-checkbox-box,
.console .forminator-radio-bullet{
  border-color:var(--line-2) !important;
  background:var(--paper-2) !important;
}
.console .forminator-checkbox input:checked + .forminator-checkbox-box,
.console .forminator-radio input:checked + .forminator-radio-bullet{
  background:var(--blue) !important;
  border-color:var(--blue) !important;
}

/* submit button — reuse the theme's pill */
.console .forminator-button,
.console .forminator-button-submit{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  background:var(--grad) !important;
  color:#fff !important;
  font-family:var(--body) !important;
  font-size:.96rem !important;
  font-weight:600 !important;
  line-height:1 !important;
  padding:1.05em 1.7em !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:var(--shadow-blue) !important;
  cursor:pointer !important;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease) !important;
}
.console .forminator-button:hover,
.console .forminator-button-submit:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 22px 50px -14px rgba(37,99,235,.7) !important;
}
.console .forminator-button:active{transform:translateY(0) !important}

/* messages */
.console .forminator-response-message,
.console .forminator-success{
  background:#e8fbff !important;
  border:1px solid #8fdcea !important;
  color:#0b5a6b !important;
  border-radius:var(--r-sm) !important;
  padding:.95em 1.15em !important;
  font-size:.92rem !important;
  margin:0 0 18px !important;
}
.console .forminator-error-message,
.console .forminator-response-message.forminator-error{
  background:#fff0f2 !important;
  border:1px solid #f5b6c0 !important;
  color:#8a1b33 !important;
}
.console .forminator-error .forminator-input,
.console .forminator-error .forminator-textarea{
  border-color:#e0607a !important;
}

/* the plugin's own field-level validation text */
.console .forminator-error-message{
  font-size:.83rem !important;
  margin-top:.5em !important;
  padding:.5em .7em !important;
}

/* Forminator on the contact page sits in a bordered console — same rules apply */
.contact-grid .console .forminator-button{width:100% !important}
