/* ============================================================
   Forminator #2245 – Variablen (Wartbarkeit)
   ============================================================ */
#forminator-module-2245 {

  /* Layout */
  --form-width-desktop: 100%;
  --form-padding-desktop: 2rem;        /* 32px */
  --form-padding-mobile: 1.25rem;      /* 20px */
  --form-radius: 0.75rem;               /* 12px */
  --form-shadow: 0 0.5rem 1.25rem rgba(0,0,0,0.04);

  /* Typography */
  --label-font-size: 1.1rem;
  --label-font-weight: 500;
  --input-font-size: 0.9375rem;         /* 15px */
  --error-font-size: 0.9rem;

  /* Colors */
  --form-bg: var(--global-palette2);
  --label-color: var(--global-palette1);
  --input-bg: #fff;
  --input-border-width: 0rem;
  --input-border-style: solid;
  --input-border-color: var(--global-palette8);
  --input-text: #0b1220;

  /* Focus */
  --focus-color: var(--global-palette8);
  --focus-ring-width: 0.0625rem;        /* 1px */
  --focus-ring-strength: 100%;

  /* Radio */
  --radio-padding-left: 2.25rem;        /* 36px */
  --radio-gap: 0.375rem;                /* 6px */
  --radio-size: 1.25rem;                /* 20px */
  --radio-dot-size: 0.625rem;           /* 10px */
  --radio-border: var(--global-palette1);
  --radio-active: var(--global-palette8);
}

/* ============================================================
   Container
   ============================================================ */
#forminator-module-2245 {
  width: var(--form-width-desktop) !important;
  max-width: var(--form-width-desktop) !important;
  margin: 0 auto !important;
  padding: var(--form-padding-desktop) !important;
  background: var(--form-bg);
  border-radius: var(--form-radius);
  box-shadow: var(--form-shadow);
  box-sizing: border-box;
}

@media (max-width: 48rem) {
  #forminator-module-2245 {
    width: 100% !important;
    max-width: 100% !important;
    padding: var(--form-padding-mobile) !important;
  }
}

/* ============================================================
   Labels
   ============================================================ */
#forminator-module-2245 .forminator-label {
  display: block;
  margin-bottom: 0.35rem;
  font-weight: var(--label-font-weight);
  font-size: var(--label-font-size);
  color: var(--label-color) !important;
}

/* ============================================================
   Inputs
   ============================================================ */
#forminator-module-2245 input,
#forminator-module-2245 textarea,
#forminator-module-2245 select,
#forminator-module-2245 .forminator-input {
  width: 100% !important;
  padding: 0.75rem 0.875rem;
  border-radius: 0.375rem;
  border: var(--input-border-width)
          var(--input-border-style)
          var(--input-border-color) !important;
  background: var(--input-bg);
  font-size: var(--input-font-size);
  color: var(--input-text);
  box-sizing: border-box;
}

/* Focus – technisch sauber & gleichmäßig */
#forminator-module-2245 input:focus,
#forminator-module-2245 textarea:focus,
#forminator-module-2245 select:focus {
  outline: 2px solid var(--focus-color) !important;
  box-shadow: none !important;
  border-color: var(--input-border-color) !important;
}

/* ============================================================
   File Upload Button
   ============================================================ */
#forminator-module-2245 input[type="file"]::file-selector-button,
#forminator-module-2245 input[type="file"]::-webkit-file-upload-button {
  border: 0.15rem dashed var(--global-palette8);
  background: #fff;
  color: var(--global-palette1);
  padding: 0.5rem 0.875rem;
  border-radius: 1.25rem;
  cursor: pointer;
  font-size: var(--input-font-size);
  font-weight: 500;
}

#forminator-module-2245 input[type="file"]::file-selector-button:hover,
#forminator-module-2245 input[type="file"]::-webkit-file-upload-button:hover {
  border-color: var(--global-palette2);
  background: var(--global-palette8);
  color: var(--global-palette2);
}

/* ============================================================
   Placeholder
   ============================================================ */
#forminator-module-2245 textarea::placeholder,
#forminator-module-2245 input[type="number"]::placeholder {
  color: rgba(11,18,32,0.35);
  font-size: var(--input-font-size);
}

/* ============================================================
   Errors & Submit
   ============================================================ */
#forminator-module-2245 .forminator-error-message {
  color: var(--global-palette14);
  font-size: var(--error-font-size);
  margin-top: 0.35rem;
}

#forminator-module-2245 .forminator-button-submit {
  display: block !important;
  margin: 0rem auto 0;
  width: auto;
  text-align: center;
}

/* ============================================================
   Radios
   ============================================================ */
#forminator-module-2245 label.forminator-radio.forminator-radio-inline {
  position: relative;
  display: block;
  padding-left: var(--radio-padding-left);
  margin-bottom: var(--radio-gap);
}

#forminator-module-2245 label.forminator-radio input[type="radio"] {
  position: absolute !important;
  left: 0.5rem;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: var(--radio-size) !important;
  height: var(--radio-size) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

#forminator-module-2245 .forminator-radio-bullet {
  position: absolute !important;
  left: 0.5rem;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: var(--radio-size) !important;
  height: var(--radio-size) !important;
  border-radius: 50% !important;
  border: 0.125rem solid var(--radio-border) !important;
  box-sizing: border-box !important;
}

#forminator-module-2245 .forminator-radio-bullet::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: var(--radio-dot-size) !important;
  height: var(--radio-dot-size) !important;
  border-radius: 50% !important;
  background: transparent !important;
  opacity: 0 !important;
}

#forminator-module-2245 input[type="radio"]:checked + .forminator-radio-bullet::after {
  background: var(--radio-active) !important;
  opacity: 1 !important;
}

#forminator-module-2245 .forminator-edit-module {
  display: none !important;
}

#forminator-module-2245 .forminator-row-last {
  margin-bottom: 0 !important;
}
