/* Madera Forms – Frontend CSS */
.mf-form-wrap { font-family: var(--font-body, 'Lato', sans-serif); }
.mf-form { }
.mf-fields { display: flex; flex-wrap: wrap; gap: 1rem; }
.mf-field { box-sizing: border-box; }
.mf-w-100 { width: 100%; }
.mf-w-50  { width: calc(50% - .5rem); }
.mf-w-33  { width: calc(33.333% - .67rem); }
@media (max-width: 600px) { .mf-w-50, .mf-w-33 { width: 100%; } }

.mf-field label {
  display: block;
  font-size: .75rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-muted, #8a7d65);
  margin-bottom: .5rem;
}
.mf-required { color: var(--color-gold, #c9a84c); margin-left: 2px; }

.mf-field input,
.mf-field select,
.mf-field textarea {
  width: 100%;
  padding: .85rem 1.1rem;
  background: var(--color-bg, #0d0b08);
  border: 1px solid var(--color-border, #2e2a20);
  border-radius: var(--radius, 4px);
  color: var(--color-white, #f5f0e8);
  font-family: inherit;
  font-size: .95rem;
  transition: border-color .3s;
  outline: none;
  appearance: none;
  box-sizing: border-box;
}
.mf-field input:focus,
.mf-field select:focus,
.mf-field textarea:focus {
  border-color: var(--color-gold, #c9a84c);
  box-shadow: 0 0 0 2px rgba(201,168,76,.15);
}
.mf-field input.mf-invalid,
.mf-field select.mf-invalid,
.mf-field textarea.mf-invalid {
  border-color: #c0392b;
}
.mf-field select option { background: #1a1710; }

/* Checkbox */
.mf-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  cursor: pointer;
  font-size: .9rem;
  color: var(--color-muted, #8a7d65);
  line-height: 1.5;
}
.mf-checkbox-label input[type="checkbox"] {
  width: 18px; min-width: 18px; height: 18px;
  margin-top: 2px;
  accent-color: var(--color-gold, #c9a84c);
  cursor: pointer;
}

/* Radio */
.mf-radio-group { display: flex; flex-direction: column; gap: .5rem; }
.mf-radio-legend { display: block; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--color-muted,#8a7d65); margin-bottom: .4rem; }
.mf-radio-label { display: flex; align-items: center; gap: .7rem; cursor: pointer; font-size: .95rem; color: var(--color-white,#f5f0e8); }
.mf-radio-label input[type="radio"] { accent-color: var(--color-gold,#c9a84c); }

/* Error */
.mf-field-error { display: block; font-size: .75rem; color: #e74c3c; margin-top: .4rem; min-height: 1em; }

/* Submit */
.mf-submit-row { margin-top: 1.5rem; }
.mf-submit { width: 100%; }

/* Response */
.mf-response {
  margin-top: 1rem;
  padding: 1rem 1.2rem;
  border-radius: var(--radius,4px);
  font-size: .9rem;
  display: none;
}
.mf-response.mf-success {
  background: rgba(46,125,50,.12);
  border: 1px solid rgba(46,125,50,.3);
  color: #81c784;
  display: block;
}
.mf-response.mf-error {
  background: rgba(192,57,43,.12);
  border: 1px solid rgba(192,57,43,.3);
  color: #e57373;
  display: block;
}

/* Light style override */
.mf-style-light .mf-field input,
.mf-style-light .mf-field select,
.mf-style-light .mf-field textarea {
  background: #fff;
  border-color: #ddd;
  color: #222;
}
.mf-style-light .mf-field label { color: #555; }
.mf-style-light .mf-checkbox-label,
.mf-style-light .mf-radio-label { color: #444; }
