/* Shared form fields and notices (Lego block) */

.flc-form,
.flc-contact-form {
  display: grid;
  gap: 1rem;
}

.flc-field {
  display: grid;
  gap: .35rem;
}

.flc-field span,
.flc-field label {
  font-size: .82rem;
  font-weight: 700;
  color: var(--flc-navy);
  letter-spacing: .02em;
}

.flc-field input,
.flc-field textarea,
.flc-field select {
  width: 100%;
  border: 1px solid var(--flc-border);
  border-radius: var(--flc-radius-sm);
  padding: .75rem .85rem;
  font: inherit;
  color: var(--flc-text);
  background: #fff;
}

.flc-field input:focus,
.flc-field textarea:focus,
.flc-field select:focus {
  outline: 2px solid rgba(224, 35, 41, .25);
  border-color: var(--flc-pink);
}

.flc-form-notice,
.flc-contact-alert {
  margin: 0 0 1rem;
  padding: .75rem .9rem;
  border-radius: var(--flc-radius-sm);
  font-size: .9rem;
}

.flc-form-notice.is-success,
.flc-contact-alert--success {
  background: #ecfdf5;
  color: #065f46;
  border: 1px solid #a7f3d0;
}

.flc-form-notice.is-error,
.flc-contact-alert--error {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}
