/* Formmailer – Grundstile. Farben lassen sich über die Variablen an das Projekt anpassen. */

:root {
  --fm-error: #b91c1c;
  --fm-success-bg: #ecfdf5;
  --fm-success-text: #065f46;
  --fm-error-bg: #fef2f2;
  --fm-error-text: #991b1b;
  --fm-info-bg: #eff6ff;
  --fm-info-text: #1e3a8a;
}

/* Honeypot: für Menschen unsichtbar, für Bots ein normales Feld. Nicht display:none. */
.fm-hp {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.fm-error {
  color: var(--fm-error);
  font-size: 0.875em;
  margin: 0.35em 0 0;
}

form[data-formmailer] [aria-invalid="true"] {
  border-color: var(--fm-error) !important;
  outline-color: var(--fm-error);
}

.fm-status {
  margin: 1em 0 0;
  padding: 0.75em 1em;
  border-radius: 0.375em;
  font-weight: 600;
  line-height: 1.5;
}

.fm-status:focus {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

.fm-status--success { background: var(--fm-success-bg); color: var(--fm-success-text); }
.fm-status--error { background: var(--fm-error-bg); color: var(--fm-error-text); }
.fm-status--info { background: var(--fm-info-bg); color: var(--fm-info-text); }

.fm-filelist {
  list-style: none;
  margin: 0.5em 0 0;
  padding: 0;
  font-size: 0.875em;
}

.fm-filelist li::before {
  content: "📎 ";
  content: "📎 " / ""; /* nur Schmuck – Screenreader lesen das Symbol nicht vor */
}

/* Während des Versands (setzt formmailer.js) */
form[data-formmailer].fm-sending {
  cursor: progress;
}

/* Senden-Button während des Versands: Beschriftung und Symbole bleiben, nur dezent gekennzeichnet. */
form[data-formmailer] .fm-busy {
  cursor: progress;
  opacity: 0.7;
}

altcha-widget {
  display: block;
  margin: 1em 0;
}
