/* ==== BASIS: einmalig setzen ==== */
.form-modern {
  --bg: #FFFFFF0D;
  --surface: #FFFFFF0D;
  --text: #000;         /* Slate-900 */
  --muted: #111;        /* Slate-500 */
  --border: #fff;       /* Slate-200 */
  --accent: #fff;       /* Sky-500 */
  --accent-strong: #000;/* Sky-600 */
  --error: #dc2626;
  --radius: 14px;
  --radius-lg: 20px;
  --gap: 12px;
  --ring-w: 2px;
  font-family: ui-sans-serif, system-ui, -apple-system, "MyriadPro", Roboto, "Helvetica Neue", Arial;
  color: var(--text);
}

/* Elementar-Reset für Felder */
.form-modern .elementor-form input[type="text"],
.form-modern .elementor-form input[type="email"],
.form-modern .elementor-form .elementor-field-textual,
.form-modern .elementor-form select,
.form-modern .elementor-form textarea {
  width: 100%;
  border: 0.5px solid var(--border);
  background: var(--surface);
  border-radius: var(--radius);
  padding: 12px 14px;
  line-height: 1.5;
  transition: border-color .2s ease, outline-color .2s ease, background-color .2s ease;
}

/* Fokus: klare, barrierearme Outline */
.form-modern .elementor-form input:focus-visible,
.form-modern .elementor-form select:focus-visible,
.form-modern .elementor-form textarea:focus-visible {
  outline: var(--ring-w) solid var(--accent);
  outline-offset: 2px;
  border-color: var(--accent);
}

/* Labels */
.form-modern .elementor-form .elementor-field-group > label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.925rem;
  color: var(--muted);
}

/* Checkboxen / Akzeptanzen */
.form-modern .elementor-form input[type="checkbox"] {
  inline-size: 1.1rem;
  block-size: 1.1rem;
  accent-color: var(--accent);
}
.form-modern .elementor-form .elementor-field-subgroup label {
  display: inline-flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
}

/* Fehlermeldungen */
.form-modern .elementor-message,
.form-modern .elementor-field-group .elementor-field-description,
.form-modern .elementor-form .e-form__error {
  color: var(--error);
  font-size: 0.9rem;
}

/* Button */
.form-modern .elementor-button {
  border-radius: calc(var(--radius) + 6px);
  padding: 12px 18px;
  border: 1px solid transparent;
  background: var(--accent);
  color: #fff;
  font-family:"Promiblock"
    font-weight: 600;

}
.form-modern .elementor-button:focus-visible { outline: var(--ring-w) solid var(--accent-strong); outline-offset: 2px; }
.form-modern .elementor-button:hover { background: var(--accent-strong); }

/* Bewegungen reduzieren */
@media (prefers-reduced-motion: reduce) {
  .form-modern * { transition: none !important; }
}


/* Aktivieren: form-modern form--clean-underline */
.form--clean-underline .elementor-form input[type="text"],
.form--clean-underline .elementor-form input[type="email"],
.form--clean-underline .elementor-form .elementor-field-textual,
.form--clean-underline .elementor-form select {
  border: none;
  border-bottom: 2px solid var(--border);
  border-radius: 0;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}
.form--clean-underline .elementor-form input:focus-visible,
.form--clean-underline .elementor-form select:focus-visible {
  outline: none;
  border-bottom-color: var(--accent);
  box-shadow: 0 3px 0 -1px var(--accent);
}
.form--clean-underline .elementor-form .elementor-field-group > label {
  letter-spacing: .01em;
  text-transform: none;
}
