/* INTIMA Gate · theme part: forms (matches contact_form block classes) */
.contact-wrap { max-width: 560px; margin: 0 auto; }
.intima-form { display: flex; flex-direction: column; gap: 16px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 20px;
  padding: 26px 24px; box-shadow: var(--shadow-s); }
.form-row { display: flex; flex-direction: column; gap: 7px; }
.form-row label { font: 600 14.5px/1.3 var(--font-b); color: var(--ink); }
.form-row .req { color: var(--accent); }
.intima-form input, .intima-form textarea, .intima-form select {
  width: 100%; padding: 13px 15px; border: 1.5px solid var(--line-2); border-radius: 12px;
  font: 400 16px/1.4 var(--font-b); background: #fff; color: var(--ink); transition: border-color .15s, box-shadow .15s; }
.intima-form input:focus, .intima-form textarea:focus, .intima-form select:focus {
  outline: 0; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.intima-form textarea { resize: vertical; min-height: 130px; }
.form-row.has-err input, .form-row.has-err textarea { border-color: #e0457b; }
.field-err { color: #c43368; font-size: 13px; }
.form-submit { align-self: flex-start; background: linear-gradient(135deg, var(--accent), var(--accent2));
  color: #fff; border: 0; border-radius: 50px; padding: 13px 34px; font: 600 16px/1 var(--font-b); cursor: pointer;
  box-shadow: 0 6px 16px color-mix(in srgb,var(--accent) 32%,transparent); transition: transform .15s, filter .15s; }
.form-submit:hover { transform: translateY(-2px); filter: brightness(1.05); }
.form-success { background: color-mix(in srgb,#1f9d6b 12%,white); color: #178a5c; border: 1px solid color-mix(in srgb,#1f9d6b 30%,white);
  padding: 14px 18px; border-radius: 14px; font-weight: 600; margin-bottom: 16px; text-align: center; }
