/* =============================================================================
   Digitale Anmeldung – Formular
   Eigenständig gehalten: Die Klassen sind mit anm- präfixiert, damit das
   Formular unabhängig davon funktioniert, welches Design gerade aktiv ist.
   Die Farbwerte entsprechen der Gästemappe.
   ========================================================================== */

.anm{
  --anm-navy:#01387a;--anm-navy-700:#012a5c;
  --anm-green-ink:#2b6f41;--anm-green-bg:#eef8f1;--anm-green-line:#c4e4ce;
  --anm-amber-bg:#fdf6e8;--anm-amber-line:#e8d3a6;--anm-amber-ink:#8a5a08;
  --anm-ink:#212934;--anm-ink-soft:#465061;--anm-ink-mute:#6a7386;
  --anm-line:#dfe4ec;--anm-surface:#f5f7fb;--anm-surface-2:#eef2f8;
  max-width:760px;
}
.anm *{box-sizing:border-box}

.anm fieldset{border:1px solid var(--anm-line);border-radius:14px;padding:22px 24px;margin:0 0 22px}
.anm legend{font-family:"Montserrat",system-ui,sans-serif;font-weight:600;font-size:17px;padding:0 8px}
.anm .anm-intro{color:var(--anm-ink-soft);font-size:16px;margin:0 0 12px}
.anm .anm-unter{font-size:16px;margin:22px 0 8px;font-family:"Montserrat",system-ui,sans-serif}

/* Auswahl */
.anm .anm-opt{display:flex;align-items:flex-start;gap:12px;min-height:44px;
  padding:10px 12px;border-radius:10px;cursor:pointer}
.anm .anm-opt:hover{background:var(--anm-surface)}
.anm .anm-opt input{margin-top:4px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--anm-navy)}
.anm .anm-opt span{font-size:16.5px}
.anm .anm-opt small{display:block;color:var(--anm-ink-mute);font-size:14px}
.anm .anm-trenner{border:0;border-top:1px solid var(--anm-line);margin:16px 0}

/* Hinweise */
.anm .anm-hinweis{border-radius:14px;padding:20px 22px;margin:0 0 22px}
.anm .anm-hinweis h3{font-size:18px;margin:0 0 8px}
.anm .anm-hinweis p{margin:0;font-size:16px}
.anm .anm-frei{background:var(--anm-green-bg);border:1px solid var(--anm-green-line)}
.anm .anm-frei h3{color:var(--anm-green-ink)}
.anm .anm-frei p{color:#3d7a52}
.anm .anm-pflicht{background:var(--anm-amber-bg);border:1px solid var(--anm-amber-line)}
.anm .anm-pflicht h3{color:var(--anm-amber-ink)}
.anm .anm-pflicht p{color:#6b4708}

.anm .anm-marke{font-family:"Montserrat",system-ui,sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.05em;text-transform:uppercase;color:var(--anm-green-ink);
  background:var(--anm-green-bg);border:1px solid var(--anm-green-line);
  display:inline-block;padding:4px 12px;border-radius:999px;margin:0 0 16px}

/* Felder */
.anm .anm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.anm .anm-f{display:flex;flex-direction:column;gap:6px}
.anm .anm-voll{grid-column:1/-1}
.anm .anm-lbl{font-family:"Montserrat",system-ui,sans-serif;font-size:13px;font-weight:600;color:var(--anm-ink)}
.anm .anm-req{color:#c0392b}
.anm input[type=text],.anm input[type=date],.anm select{
  border:1px solid var(--anm-line);border-radius:10px;min-height:48px;padding:0 14px;
  font:inherit;background:#fff;width:100%}
.anm textarea{border:1px solid var(--anm-line);border-radius:10px;padding:12px 14px;font:inherit;
  background:#fff;width:100%;min-height:110px;resize:vertical}
.anm input:focus,.anm select:focus,.anm textarea:focus{
  outline:2px solid var(--anm-navy);outline-offset:1px;border-color:var(--anm-navy)}
.anm .anm-hilf{color:var(--anm-ink-mute);font-size:14px;line-height:1.45;display:block;margin-top:6px}

/* Mitreisende */
.anm .anm-liste{display:grid;gap:12px}
.anm .anm-reihe{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.anm .anm-reihe.anm-schmal{grid-template-columns:1fr auto}
.anm .anm-weg{min-height:48px;padding:0 14px;border:1px solid var(--anm-line);background:#fff;
  border-radius:10px;cursor:pointer;font-family:"Montserrat",system-ui,sans-serif;
  font-size:14px;color:var(--anm-ink-soft)}
.anm .anm-weg:hover{border-color:#c0392b;color:#c0392b}
.anm .anm-mehr{margin-top:12px;background:#fff;border:1px solid var(--anm-navy);color:var(--anm-navy);
  border-radius:10px;min-height:44px;padding:0 18px;cursor:pointer;
  font-family:"Montserrat",system-ui,sans-serif;font-weight:600;font-size:14px}
.anm .anm-mehr:hover{background:var(--anm-surface-2)}

/* Unterschrift */
.anm .anm-sig{position:relative;margin-top:6px}
.anm .anm-sig canvas{width:100%;max-width:600px;height:200px;display:block;
  border:2px dashed var(--anm-navy);border-radius:12px;background:var(--anm-surface);
  touch-action:none;cursor:crosshair}
.anm .anm-loeschen{margin-top:10px;background:#fff;border:1px solid var(--anm-line);
  border-radius:10px;min-height:44px;padding:0 16px;cursor:pointer;
  font-family:"Montserrat",system-ui,sans-serif;font-size:14px;color:var(--anm-ink-soft)}
.anm .anm-loeschen:hover{border-color:var(--anm-navy);color:var(--anm-navy)}

/* Einwilligung */
.anm .anm-einwilligung{background:var(--anm-surface);border:1px solid var(--anm-line);
  border-radius:12px;padding:16px 18px;margin:20px 0 0;font-size:15px;color:var(--anm-ink-soft)}
.anm .anm-einwilligung a{color:var(--anm-navy);text-decoration:underline;text-underline-offset:2px}

/* Absenden */
.anm .anm-senden{background:var(--anm-navy);color:#fff;border:0;border-radius:10px;min-height:52px;
  padding:0 30px;font-family:"Montserrat",system-ui,sans-serif;font-weight:600;font-size:16px;cursor:pointer}
.anm .anm-senden:hover{background:var(--anm-navy-700)}

.anm [hidden]{display:none !important}

/* Rückmeldungen nach dem Absenden */
.anm-erfolg,.anm-fehler{border-radius:14px;padding:22px 24px;max-width:760px}
.anm-erfolg{background:#eef8f1;border:1px solid #c4e4ce}
.anm-erfolg h3{color:#2b6f41;margin:0 0 8px;font-family:"Montserrat",system-ui,sans-serif}
.anm-erfolg p{margin:0;color:#3d7a52}
.anm-fehler{background:#fdf6e8;border:1px solid #e8d3a6}
.anm-fehler h3{color:#8a5a08;margin:0 0 8px;font-family:"Montserrat",system-ui,sans-serif}
.anm-fehler p{margin:0;color:#6b4708}

@media(max-width:640px){
  .anm .anm-grid{grid-template-columns:1fr}
  .anm .anm-reihe{grid-template-columns:1fr}
}

/* Honigtopf – fuer Menschen unsichtbar, fuer Ausfuellroboter sichtbar.
   Bewusst nicht display:none, das erkennen manche Bots. */
.anm .anm-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
