/* ============================================
   FORMS
   ============================================ */
.form-group { margin-bottom: var(--space-4); }
.form-label {
  display: block;
  font-size: var(--text-xs);
  font-weight: var(--fw-bold);
  color: var(--color-charcoal);
  margin-bottom: var(--space-2);
  letter-spacing: .02em;
}

.form-label span { color: var(--color-primary); }

.form-control {
  width: 100%;
  min-height: 44px;
  padding: 11px 14px;
  background: #fff;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  font-size: var(--text-sm);
  color: var(--color-text);
  outline: none;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);
}
.form-control:focus {
  border-color: var(--color-primary);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(232,35,42,.10);
}
.form-control::placeholder { color: var(--color-gray-300); }
.form-control.error { border-color: #dc2626; }

textarea.form-control { resize: vertical; min-height: 104px; }
select.form-control { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 40px; }

.form-error { font-size: var(--text-xs); color: #dc2626; margin-top: var(--space-1); }
.form-success { font-size: var(--text-sm); color: #16a34a; padding: var(--space-3) var(--space-4); background: #f0fdf4; border-radius: var(--radius-md); border: 1px solid #bbf7d0; }

/* Contact form card */
.contact-form-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.94)),
    var(--color-white);
  border-radius: 24px;
  padding: clamp(22px, 3vw, 34px);
  box-shadow: 0 24px 70px rgba(26,26,26,.12);
  border: 1px solid rgba(232,35,42,.10);
}

.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }

