/* Sapience Forms — public form styles */
.sf-form {
  font-family: Inter, system-ui, -apple-system, sans-serif;
  color: #0f172a;
  max-width: 100%;
}
.sf-form .sf-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 14px;
}
.sf-form .sf-col          { grid-column: span 12; display: flex; flex-direction: column; }
.sf-form .sf-col-50       { grid-column: span 6; }
.sf-form .sf-col-33       { grid-column: span 4; }
@media (max-width: 640px) {
  .sf-form .sf-col-50,
  .sf-form .sf-col-33 { grid-column: span 12; }
}

.sf-form label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #002855;
  margin-bottom: 6px;
}
.sf-form label .req { color: #dc2626; margin-left: 2px; }

.sf-form input[type="text"],
.sf-form input[type="email"],
.sf-form input[type="tel"],
.sf-form select,
.sf-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  font-family: inherit;
  font-size: 15px;
  color: #0f172a;
  background: #fff;
  transition: .2s;
  box-sizing: border-box;
}
.sf-form input:focus,
.sf-form select:focus,
.sf-form textarea:focus {
  outline: none;
  border-color: #D4A017;
  box-shadow: 0 0 0 4px rgba(212,160,23,0.15);
}

.sf-form textarea { resize: vertical; min-height: 100px; }

/* Checkboxes */
.sf-form .sf-checks { display: flex; flex-direction: column; gap: 8px; }
.sf-form .sf-check {
  display: flex; gap: 10px; align-items: center;
  font-weight: 400; font-size: 15px; color: #0f172a;
  padding: 10px 14px; background: #f8fafc; border: 1.5px solid #e2e8f0; border-radius: 10px;
  cursor: pointer;
}
.sf-form .sf-check input { width: auto; }

/* File upload */
.sf-form .sf-file {
  display: block;
  padding: 20px;
  border: 2px dashed #cbd5e1;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  color: #64748b;
  font-weight: 600;
  transition: .2s;
  margin-bottom: 4px;
}
.sf-form .sf-file:hover { border-color: #D4A017; color: #002855; background: #fffbeb; }
.sf-form .sf-file input { display: none; }
.sf-form .sf-file .dashicons { color: #D4A017; }

/* Submit button */
.sf-form .sf-btn {
  display: inline-flex; align-items: center; gap: 10px;
  background: #002855; color: #fff;
  padding: 15px 34px; border: 0; border-radius: 999px;
  font: 700 15px/1 Poppins, Inter, sans-serif;
  cursor: pointer; transition: .25s;
  margin-top: 20px; letter-spacing: .3px;
}
.sf-form .sf-btn:hover { background: #D4A017; color: #002855; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(212,160,23,0.3); }
.sf-form .sf-btn:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none; }

/* Result message */
.sf-form .sf-msg { margin-top: 14px; font-size: 15px; font-weight: 500; }
.sf-form .sf-msg.success { color: #16a34a; background: #f0fdf4; border-left: 4px solid #16a34a; padding: 12px 16px; border-radius: 6px; }
.sf-form .sf-msg.error   { color: #dc2626; background: #fef2f2; border-left: 4px solid #dc2626; padding: 12px 16px; border-radius: 6px; }

/* Error field highlight */
.sf-form .sf-field-error input,
.sf-form .sf-field-error select,
.sf-form .sf-field-error textarea { border-color: #dc2626 !important; box-shadow: 0 0 0 4px rgba(220,38,38,0.1) !important; }
