.elementor-10988 .elementor-element.elementor-element-48553e4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:stretch;--gap:20px 20px;--row-gap:20px;--column-gap:20px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#6366F142;--border-color:#6366F142;--border-radius:20px 20px 20px 20px;box-shadow:0px 18px 55px 0px rgba(2.0000000000000013, 5.999999999999986, 23, 0.1);--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-10988 .elementor-element.elementor-element-48553e4:not(.elementor-motion-effects-element-type-background), .elementor-10988 .elementor-element.elementor-element-48553e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-button-content-wrapper{flex-direction:row;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-button span{gap:10px;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group{padding-right:calc( 50px/2 );padding-left:calc( 50px/2 );margin-bottom:25px;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-form-fields-wrapper{margin-left:calc( -50px/2 );margin-right:calc( -50px/2 );margin-bottom:-25px;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group.recaptcha_v3-bottomleft, .elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group > label, .elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-subgroup label{color:#0B1220;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group > label{font-family:"Roboto", Sans-serif;font-size:14px;font-weight:600;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-type-html{color:#0F34DD;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group .elementor-field{color:#586A82;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group .elementor-field:not(.elementor-select-wrapper){border-radius:12px 12px 12px 12px;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-field-group .elementor-select-wrapper select{border-radius:12px 12px 12px 12px;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );border-radius:12px 12px 12px 12px;padding:16px 20px 16px 20px;}.elementor-10988 .elementor-element.elementor-element-00da47f .e-form__buttons__wrapper__button-next:hover{background-color:#D31722;color:#ffffff;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-button[type="submit"]:hover{background-color:#D31722;color:#ffffff;}.elementor-10988 .elementor-element.elementor-element-00da47f .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-10988 .elementor-element.elementor-element-00da47f .e-form__buttons__wrapper__button-previous:hover{background-color:#ED202B;color:#ffffff;}.elementor-10988 .elementor-element.elementor-element-00da47f .e-form__indicators__indicator, .elementor-10988 .elementor-element.elementor-element-00da47f .e-form__indicators__indicator__label{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-10988 .elementor-element.elementor-element-00da47f{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-primary-color:#98A2B3;--e-form-steps-indicator-inactive-secondary-color:#FFFFFF;--e-form-steps-indicator-active-primary-color:#FFFFFF;--e-form-steps-indicator-active-secondary-color:#E30613;--e-form-steps-indicator-completed-primary-color:#FFFFFF;--e-form-steps-indicator-completed-secondary-color:#E30613;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}@media(max-width:767px){.elementor-10988 .elementor-element.elementor-element-48553e4{--padding-top:50px;--padding-bottom:50px;--padding-left:15px;--padding-right:15px;}}@media(min-width:768px){.elementor-10988 .elementor-element.elementor-element-48553e4{--width:900px;}}/* Start custom CSS for form, class: .elementor-element-00da47f *//* ============================================================
   DACHDECKER KAMEN – Elementor Form | KOMPLETT FINAL
   Alles ersetzen mit diesem Block.
   
   WICHTIG in Elementor vorab:
   • Telefon-Feld → Erweitert → Mindestlänge: 6
   • Tage-Feld → Erweitert → CSS-Klassen: elementor-field-group-tage
   • Uhrzeit-Feld → Erweitert → CSS-Klassen: elementor-field-group-uhrzeit
   ============================================================ */

/* ----------------------------------------------------------
   STEP INDICATOR
   ---------------------------------------------------------- */
.e-form__indicators {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
}

.e-form__indicators__indicator {
  display: flex !important;
  align-items: center !important;
  flex-direction: column !important;
}

.e-form__indicators__indicator__number {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border: 1.5px solid rgba(15, 23, 42, 0.15) !important;
  background: #fff !important;
  color: rgba(15, 23, 42, 0.4) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.e-form__indicators__indicator--state-active .e-form__indicators__indicator__number {
  background: #E30613 !important;
  border-color: #E30613 !important;
  color: #fff !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.28) !important;
}

.e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
  background: rgba(227, 6, 19, 0.08) !important;
  border-color: rgba(227, 6, 19, 0.3) !important;
  color: #E30613 !important;
}

.e-form__indicators__indicator__separator {
  height: 1.5px !important;
  background: rgba(15, 23, 42, 0.1) !important;
  margin: 0 6px !important;
  flex: 1 !important;
  align-self: center !important;
}

.e-form__indicators__indicator--state-completed
+ .e-form__indicators__indicator__separator {
  background: rgba(227, 6, 19, 0.3) !important;
}

/* ----------------------------------------------------------
   HINT BOX
   ---------------------------------------------------------- */
.step-hint {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  margin: 0 0 20px;
  border: 1px solid rgba(17, 24, 39, 0.07);
  background: rgba(17, 24, 39, 0.025);
  border-radius: 12px;
}

.step-hint__icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(227, 6, 19, 0.07);
  color: #E30613;
  font-size: 15px;
}

.step-hint__content {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.step-hint__title {
  font-size: 13px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 2px;
  line-height: 1.3;
}

.step-hint__text {
  font-size: 12.5px;
  color: rgba(17, 24, 39, 0.65);
  margin: 0;
  line-height: 1.4;
}

.step-hint--trust {
  border-color: rgba(34, 197, 94, 0.15);
  background: rgba(34, 197, 94, 0.04);
}

.step-hint--trust .step-hint__icon {
  background: rgba(34, 197, 94, 0.1);
  color: #16A34A;
}

/* ----------------------------------------------------------
   LABELS
   ---------------------------------------------------------- */
.elementor-form .elementor-field-label {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: rgba(15, 23, 42, 0.75) !important;
  margin-bottom: 7px !important;
  transition: color 0.2s ease !important;
}

/* ----------------------------------------------------------
   SELECT
   ---------------------------------------------------------- */
.elementor-form .elementor-select-wrapper {
  position: relative !important;
}

.elementor-form select.elementor-field {
  height: 46px !important;
  padding: 0 40px 0 14px !important;
  border: 1.5px solid rgba(15, 23, 42, 0.14) !important;
  border-radius: 10px !important;
  background: #f9f9f9 !important;
  font-size: 14px !important;
  color: rgba(15, 23, 42, 0.85) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
}

.elementor-form .elementor-select-wrapper .select-caret-down-wrapper {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 14px !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  transform: none !important;
  pointer-events: none !important;
  color: rgba(15, 23, 42, 0.4) !important;
}

/* Select: leer + fokussiert → roter Strich unten */
.elementor-form .elementor-select-wrapper:focus-within:has(select option[value=""]:checked) select {
  border: 1.5px solid rgba(15, 23, 42, 0.18) !important;
  border-bottom: 2.5px solid #E30613 !important;
  background: #fff !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  outline: none !important;
}

/* Select: ausgefüllt → sofort grün */
.elementor-form .elementor-select-wrapper:has(select option[value=""]:not(:checked)) select {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background-color: rgba(34, 197, 94, 0.03) !important;
  box-shadow: none !important;
}

.elementor-form .elementor-field-group:has(select option[value=""]:not(:checked)) .elementor-field-label {
  color: #16a34a !important;
}

/* ----------------------------------------------------------
   TEXT INPUTS
   ---------------------------------------------------------- */
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="tel"],
.elementor-form input[type="number"] {
  height: 46px !important;
  padding: 0 14px !important;
  border: 1.5px solid rgba(15, 23, 42, 0.14) !important;
  border-radius: 10px !important;
  background: #f9f9f9 !important;
  font-size: 14px !important;
  color: rgba(15, 23, 42, 0.85) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

/* Fokus neutral – roter Strich unten */
.elementor-form input[type="text"]:focus,
.elementor-form input[type="number"]:focus {
  border: 1.5px solid rgba(15, 23, 42, 0.18) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
  outline: none !important;
}

/* Email: fokus leer → roter Strich */
.elementor-form input[type="email"]:focus {
  border: 1.5px solid rgba(15, 23, 42, 0.18) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
  outline: none !important;
}

/* Email: fokus mit invalider Eingabe → roter Strich */
.elementor-form input[type="email"]:invalid:not(:placeholder-shown):focus {
  border: 1.5px solid rgba(220, 38, 38, 0.3) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
}

/* Tel: fokus mit invalider Eingabe → roter Strich */
.elementor-form input[type="tel"]:invalid:not(:placeholder-shown):focus {
  border: 1.5px solid rgba(220, 38, 38, 0.3) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
}

/* Tel: fokus leer → roter Strich */
.elementor-form input[type="tel"]:focus {
  border: 1.5px solid rgba(15, 23, 42, 0.18) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
  outline: none !important;
}

/* ----------------------------------------------------------
   TEXTAREA
   ---------------------------------------------------------- */
.elementor-form textarea.elementor-field {
  min-height: 110px !important;
  padding: 12px 14px !important;
  border: 1.5px solid rgba(15, 23, 42, 0.14) !important;
  border-radius: 10px !important;
  background: #f9f9f9 !important;
  font-size: 14px !important;
  color: rgba(15, 23, 42, 0.85) !important;
  line-height: 1.55 !important;
  resize: vertical !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
}

.elementor-form textarea.elementor-field:focus {
  border: 1.5px solid rgba(15, 23, 42, 0.18) !important;
  border-bottom: 2.5px solid #E30613 !important;
  box-shadow: 0 2px 10px rgba(227, 6, 19, 0.07) !important;
  background: #fff !important;
  outline: none !important;
}

/* ----------------------------------------------------------
   FIELD STATES – GRÜN / ROT
   ---------------------------------------------------------- */

/* Häkchen SVG */
/* TEXT – grün wenn ausgefüllt */
.elementor-form input[type="text"]:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

.elementor-form .elementor-field-group:has(input[type="text"]:not(:placeholder-shown):not(:focus)) .elementor-field-label {
  color: #16a34a !important;
}

/* EMAIL – grün nur bei :valid */
.elementor-form input[type="email"]:valid:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

/* EMAIL – rot wenn invalid */
.elementor-form input[type="email"]:invalid:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(220, 38, 38, 0.6) !important;
  background: rgba(220, 38, 38, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

/* TEL – grün nur bei :valid (braucht minlength="6" in Elementor!) */
.elementor-form input[type="tel"]:valid:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

/* TEL – rot wenn invalid */
.elementor-form input[type="tel"]:invalid:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(220, 38, 38, 0.6) !important;
  background: rgba(220, 38, 38, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

/* NUMBER – grün bei :valid */
.elementor-form input[type="number"]:valid:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.03) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  padding-right: 40px !important;
  box-shadow: none !important;
}

/* TEXTAREA – grün wenn ausgefüllt */
.elementor-form textarea.elementor-field:not(:placeholder-shown):not(:focus) {
  border: 1.5px solid rgba(34, 197, 94, 0.55) !important;
  background: rgba(34, 197, 94, 0.03) !important;
  box-shadow: none !important;
}

.elementor-form .elementor-field-group:has(textarea:not(:placeholder-shown):not(:focus)) .elementor-field-label {
  color: #16a34a !important;
}

/* LABEL FARBEN */
.elementor-form .elementor-field-group:has(input[type="email"]:valid:not(:placeholder-shown):not(:focus)) .elementor-field-label,
.elementor-form .elementor-field-group:has(input[type="tel"]:valid:not(:placeholder-shown):not(:focus)) .elementor-field-label,
.elementor-form .elementor-field-group:has(input[type="number"]:valid:not(:placeholder-shown):not(:focus)) .elementor-field-label {
  color: #16a34a !important;
}

.elementor-form .elementor-field-group:has(input[type="email"]:invalid:not(:placeholder-shown):not(:focus)) .elementor-field-label,
.elementor-form .elementor-field-group:has(input[type="tel"]:invalid:not(:placeholder-shown):not(:focus)) .elementor-field-label {
  color: #dc2626 !important;
}

/* FILE – niemals grün */
.elementor-form input[type="file"] {
  border: 1.5px solid rgba(15, 23, 42, 0.12) !important;
  background: #f9f9f9 !important;
  box-shadow: none !important;
}

.elementor-form .elementor-field-group:has(input[type="file"]) .elementor-field-label {
  color: rgba(15, 23, 42, 0.75) !important;
}

/* ----------------------------------------------------------
   STEP 3 – CHECKBOX CARDS
   ---------------------------------------------------------- */

/* Tage: 3 Spalten */
.elementor-form .elementor-field-group-tage .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 7px !important;
}

/* Uhrzeit: 2 Spalten */
.elementor-form .elementor-field-group-uhrzeit .elementor-field-subgroup {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 7px !important;
}

/* Cards */
.elementor-form .elementor-field-group-tage .elementor-field-option,
.elementor-form .elementor-field-group-uhrzeit .elementor-field-option {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1.5px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 10px !important;
  background: #f5f5f5 !important;
  cursor: pointer !important;
  user-select: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease, background 0.15s ease !important;
}

.elementor-form .elementor-field-group-tage .elementor-field-option:hover,
.elementor-form .elementor-field-group-uhrzeit .elementor-field-option:hover {
  border-color: rgba(227, 6, 19, 0.25) !important;
  background: #fff !important;
}

.elementor-form .elementor-field-group-tage .elementor-field-option:has(input:checked),
.elementor-form .elementor-field-group-uhrzeit .elementor-field-option:has(input:checked) {
  border-color: #E30613 !important;
  background: rgba(227, 6, 19, 0.05) !important;
}

.elementor-form .elementor-field-group-tage .elementor-field-option input[type="checkbox"],
.elementor-form .elementor-field-group-uhrzeit .elementor-field-option input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  accent-color: #E30613 !important;
}

.elementor-form .elementor-field-group-tage .elementor-field-option > label,
.elementor-form .elementor-field-group-uhrzeit .elementor-field-option > label {
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: rgba(15, 23, 42, 0.85) !important;
  margin: 0 !important;
  cursor: pointer !important;
  line-height: 1.2 !important;
}

/* ----------------------------------------------------------
   DATENSCHUTZ
   ---------------------------------------------------------- */
.elementor-form .elementor-field-group-datenschutz {
  margin-top: 8px !important;
}

.elementor-form .elementor-field-group-datenschutz #form-field-datenschutz {
  width: 15px !important;
  height: 15px !important;
  margin-top: 2px !important;
  accent-color: #E30613 !important;
}

.elementor-form .elementor-field-group-datenschutz label[for="form-field-datenschutz"] {
  font-size: 13px !important;
  line-height: 1.4 !important;
  color: rgba(15, 23, 42, 0.7) !important;
}

.elementor-form .elementor-field-group-datenschutz label[for="form-field-datenschutz"] a {
  color: rgba(15, 23, 42, 0.7) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 1px !important;
}

/* ----------------------------------------------------------
   UPLOAD
   ---------------------------------------------------------- */
.elementor-form input#form-field-upload.elementor-upload-field {
  width: 100% !important;
  padding: 10px 12px !important;
  border: 1.5px solid rgba(15, 23, 42, 0.12) !important;
  border-radius: 10px !important;
  background: #f9f9f9 !important;
  font-size: 13px !important;
  color: rgba(15, 23, 42, 0.65) !important;
  cursor: pointer !important;
  outline: none !important;
  box-shadow: none !important;
}

.elementor-form input#form-field-upload::file-.elementor-10988 .elementor-element.elementor-element-00da47f-button,
.elementor-form input#form-field-upload::-webkit-file-upload-button {
  background: #fff !important;
  color: rgba(15, 23, 42, 0.8) !important;
  border: 1px solid rgba(15, 23, 42, 0.15) !important;
  padding: 6px 10px !important;
  border-radius: 7px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin-right: 10px !important;
  transition: all 0.18s ease !important;
}

.elementor-form input#form-field-upload::file-.elementor-10988 .elementor-element.elementor-element-00da47f-button:hover,
.elementor-form input#form-field-upload::-webkit-file-upload-button:hover {
  background: rgba(15, 23, 42, 0.04) !important;
  border-color: rgba(15, 23, 42, 0.25) !important;
}

/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */
.elementor-form .e-form__buttons__wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 8px !important;
}

/* Weiter / Submit */
.elementor-form .e-form__buttons__wrapper__button-next,
.elementor-form button[type="submit"] {
  flex: 1 1 auto !important;
  height: 50px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px !important;
  background: #E30613 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 14px rgba(227, 6, 19, 0.25) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  padding: 0 24px !important;
  transition: background 0.18s ease, box-shadow 0.18s ease !important;
}

.elementor-form .e-form__buttons__wrapper__button-next:hover,
.elementor-form button[type="submit"]:hover {
  background: #c8000d !important;
  box-shadow: 0 4px 20px rgba(227, 6, 19, 0.35) !important;
}

/* Zurück – dezenter Text-Link */
.elementor-form .e-form__buttons__wrapper__button-previous {
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: rgba(15, 23, 42, 0.45) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  padding: 8px 4px !important;
  cursor: pointer !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(15, 23, 42, 0.2) !important;
  white-space: nowrap !important;
  transition: color 0.15s ease !important;
}

.elementor-form .e-form__buttons__wrapper__button-previous:hover {
  color: rgba(15, 23, 42, 0.75) !important;
  background: transparent !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 767px) {

  .e-form__indicators__indicator__number {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 12px !important;
  }

  .step-hint {
    gap: 10px;
    padding: 10px 12px;
    margin-bottom: 14px;
  }

  .step-hint__icon { width: 24px; height: 24px; flex: 0 0 24px; font-size: 13px; }
  .step-hint__title { font-size: 12px; }
  .step-hint__text  { font-size: 11.5px; }

  /* Tage: 2 Spalten auf Mobile */
  .elementor-form .elementor-field-group-tage .elementor-field-subgroup {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Buttons */
  .elementor-form .e-form__buttons__wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .elementor-form .e-form__buttons__wrapper__button-next,
  .elementor-form button[type="submit"] {
    flex: 0 0 65% !important;
    width: 65% !important;
    height: 46px !important;
    font-size: 13.5px !important;
    padding: 0 18px !important;
  }

  .elementor-form .e-form__buttons__wrapper__button-previous {
    font-size: 13px !important;
  }

  /* Icon im Button auf Mobile ausblenden */
  .elementor-form button[type="submit"] i,
  .elementor-form button[type="submit"] svg,
  .elementor-form .e-form__buttons__wrapper__button-next i,
  .elementor-form .e-form__buttons__wrapper__button-next svg {
    display: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-48553e4 */.dk-form-card{

  background: rgba(255,255,255,0.92) !important;
  backdrop-filter: blur(6px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(6px) saturate(120%) !important;


  border: 1px solid rgba(255,255,255,0.40) !important;


  box-shadow:
    0 22px 60px rgba(0,0,0,0.18),
    0 6px 18px rgba(0,0,0,0.10) !important;


  border-radius: 20px !important;
}
.dk-form-card{
  box-shadow:
    0 22px 60px rgba(0,0,0,0.18),
    0 6px 18px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.55) !important;
}/* End custom CSS */