:root { --blau: #055594; --text: #1f2933; --rand: #d5dbe3; --fehler: #b42318; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--text); background: #fff; }
.seite { max-width: 720px; margin: 0 auto; padding: 24px 16px 48px; }
h1 { color: var(--blau); font-size: 1.6rem; line-height: 1.25; margin: 0 0 12px; }
fieldset { border: 1px solid var(--rand); border-radius: 10px; padding: 16px; margin: 0 0 20px; }
legend { font-weight: 600; color: var(--blau); padding: 0 6px; }
.feld { margin: 0 0 16px; }
.frage { display: block; font-weight: 500; margin-bottom: 4px; }
input[type=text], input[type=email], input[type=tel], input[type=file], input[type=date], textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--rand); border-radius: 8px; font: inherit; box-sizing: border-box; }
textarea { min-height: 12em; resize: vertical; line-height: 1.5; }
input:focus, textarea:focus { outline: 2px solid var(--blau); outline-offset: 1px; }
.wahl { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0; font-weight: 400; }
.wahl input { margin-top: 4px; }
small { display: block; color: #52606d; margin-top: 2px; }
small.erklaerung { margin: 0 0 6px; }
.fehler input[type=text], .fehler input[type=email], .fehler input[type=tel], .fehler input[type=date], .fehler textarea { border-color: var(--fehler); }
.fehlertext { color: var(--fehler); }
.meldung { background: #fef3f2; border: 1px solid #fecdca; color: var(--fehler); padding: 10px 12px; border-radius: 8px; }
/* Gold wie die Primär-CTA der Website (makler-willmann-theme: --mw-accent / --mw-accent-deep). */
button { background: #e8a830; color: #23180a; border: 0; border-radius: 14px; padding: 12px 22px; font: inherit; font-weight: 650; cursor: pointer; box-shadow: 0 8px 18px -10px rgba(185, 120, 26, .9); }
button:hover { background: #b9781a; color: #fff; }
a.knopf { display: inline-block; background: #e8a830; color: #23180a; border-radius: 14px; padding: 12px 22px; font-weight: 650; text-decoration: none; box-shadow: 0 8px 18px -10px rgba(185, 120, 26, .9); }
a.knopf:hover { background: #b9781a; color: #fff; }
/* „Dateien auswählen“ wie die Zweitknöpfe der Website (Rahmen in Markenblau); Gold bleibt dem Absenden. */
/* Je Schreibweise eine eigene Regel: Kennt ein Browser eine nicht, verwirft er sonst die ganze. */
input[type=file]::file-selector-button {
  margin-right: 12px; padding: 8px 16px; border: 1.5px solid #055694; border-radius: 12px; background: #fff;
  color: #055694; font: inherit; font-size: .95rem; font-weight: 650; cursor: pointer;
  transition: background-color .15s; }
input[type=file]::-webkit-file-upload-button {
  margin-right: 12px; padding: 8px 16px; border: 1.5px solid #055694; border-radius: 12px; background: #fff;
  color: #055694; font: inherit; font-size: .95rem; font-weight: 650; cursor: pointer; }
input[type=file]::file-selector-button:hover { background: #eaf2fa; }
.klein { font-size: .85rem; color: #52606d; }
.falle { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
[hidden] { display: none !important; }
.kopf { margin: 0 0 24px; }
.kopf img { display: block; max-width: 60%; height: auto; }
.eingebettet .kopf { display: none; }
.eingebettet .seite { padding-bottom: 16px; }
