/* ---------------------------------------------------------
   Form controls
   --------------------------------------------------------- */
.form-group { margin-bottom: var(--space-5); display: flex; flex-direction: column; gap: 6px; }
label { font-size: var(--text-sm); font-weight: 700; color: var(--color-primary-900); text-transform: uppercase; letter-spacing: 0.4px; }
input, select, textarea {
  font-family: inherit;
  font-size: var(--text-base);
  padding: 12px 14px;
  border: 2px solid var(--color-sand-dark);
  border-radius: var(--radius-sm);
  background: var(--color-white);
  color: var(--color-text);
  width: 100%;
  transition: border-color 0.15s ease;
}
input:focus, select:focus, textarea:focus { border-color: var(--color-accent-500); }
textarea { resize: vertical; min-height: 110px; }
.field-error { color: var(--color-error); font-size: var(--text-xs); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-4); }
@media (max-width: 640px) { .form-row { grid-template-columns: 1fr; } }

/* Inline fee/price feedback shown right under a select as the user
   changes their choice (e.g. chauffeur fee note, price preview). */
.price-note { display: block; margin-top: 6px; font-size: var(--text-sm); font-weight: 600; }
.price-note.is-visible { color: var(--color-accent-600); }
