/* Contact page — mock form + Fluent Forms */
.form{background:var(--color-white);border:1px solid var(--line);border-radius:18px;padding:1.5rem;display:grid;gap:1rem;max-width:640px}
.form label{display:grid;gap:.35rem;font-weight:600;font-size:.9rem}
.form input,.form textarea,.form select{padding:.75rem 1rem;border-radius:12px;border:1px solid var(--line);background:var(--color-background)}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);border-color:var(--color-primary)}
.form textarea{min-height:140px;resize:vertical}

.form-wrap{
  background:var(--color-white);
  border:1px solid var(--line);
  border-radius:18px;
  padding:1.5rem;
  max-width:640px;
}
.form-wrap .fluentform,
.form-wrap .frm-fluent-form{margin:0}
.form-wrap .ff-el-group{margin-bottom:1rem}
.form-wrap .ff-el-input--label,
.form-wrap .ff-el-input--label label{
  display:block;
  font-weight:600;
  font-size:.9rem;
  color:var(--color-text);
  margin-bottom:.35rem;
}
.form-wrap .ff-el-form-control,
.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="url"],
.form-wrap input[type="tel"],
.form-wrap input[type="number"],
.form-wrap select,
.form-wrap textarea{
  width:100%;
  max-width:100%;
  padding:.75rem 1rem;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--color-background);
  color:var(--color-text);
  font:inherit;
  line-height:1.4;
  box-shadow:none;
  transition:border-color .2s,outline .2s;
}
.form-wrap .ff-el-form-control:focus,
.form-wrap input:focus,
.form-wrap select:focus,
.form-wrap textarea:focus{
  outline:2px solid color-mix(in srgb,var(--color-primary) 35%,transparent);
  border-color:var(--color-primary);
  box-shadow:none;
}
.form-wrap textarea,
.form-wrap .ff-el-form-control[rows]{min-height:140px;resize:vertical}
.form-wrap .ff-btn-submit,
.form-wrap button.ff-btn-submit,
.form-wrap .ff-btn.ff-btn-submit,
.form-wrap form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit,
.form-wrap .fluentform .ff-btn-submit.wpf_has_custom_css{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-width:11.5rem;
  padding:.68rem 1.6rem;
  border-radius:999px;
  border:0 !important;
  background:var(--color-primary) !important;
  background-color:var(--color-primary) !important;
  color:#fff !important;
  font-weight:700;
  font-size:.92rem;
  cursor:pointer;
  transition:background .2s,background-color .2s;
  box-shadow:none !important;
}
.form-wrap .ff-btn-submit:hover,
.form-wrap button.ff-btn-submit:hover,
.form-wrap form.fluent_form_3 .wpf_has_custom_css.ff-btn-submit:hover,
.form-wrap .fluentform .ff-btn-submit.wpf_has_custom_css:hover{
  background:var(--color-primary-dark) !important;
  background-color:var(--color-primary-dark) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.form-wrap .ff-el-is-error .ff-el-form-control{border-color:var(--color-primary)}
.form-wrap .error,
.form-wrap .text-danger,
.form-wrap .ff-error-message{color:var(--color-primary);font-size:.85rem;margin-top:.25rem}
.tpl-request-banner{
  margin-top:1rem;
  padding:.85rem 1.1rem;
  border-radius:12px;
  background:var(--color-secondary-light);
  border:1px solid var(--color-secondary);
  color:var(--color-text);
  font-weight:600;
  max-width:52ch;
}
.form-wrap .ff-message-success{
  background:var(--color-secondary-light);
  border:1px solid var(--color-secondary);
  border-radius:12px;
  padding:1rem;
  color:var(--color-text);
}
