.elementor-4603 .elementor-element.elementor-element-1b004c5{--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:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:15px;--padding-right:15px;}.elementor-4603 .elementor-element.elementor-element-548c7bf{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:20px 20px 00px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4603 .elementor-element.elementor-element-3997f52{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 0px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:0px;--border-left-width:1px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4603 .elementor-element.elementor-element-f71fd59{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4603 .elementor-element.elementor-element-36008a2 > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-4603 .elementor-element.elementor-element-7f05624{--display:flex;--padding-top:10px;--padding-bottom:0px;--padding-left:10px;--padding-right:10px;}.elementor-widget-form .elementor-field-group > label, .elementor-widget-form .elementor-field-subgroup label{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group > label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-type-html{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-field-group .elementor-field{color:var( --e-global-color-text );}.elementor-widget-form .elementor-field-group .elementor-field, .elementor-widget-form .elementor-field-subgroup label{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-form .e-form__buttons__wrapper__button-next{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-button[type="submit"]{background-color:var( --e-global-color-accent );}.elementor-widget-form .e-form__buttons__wrapper__button-previous{background-color:var( --e-global-color-accent );}.elementor-widget-form .elementor-message{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-form .e-form__indicators__indicator, .elementor-widget-form .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-widget-form{--e-form-steps-indicator-inactive-primary-color:var( --e-global-color-text );--e-form-steps-indicator-active-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-completed-primary-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-color:var( --e-global-color-accent );--e-form-steps-indicator-progress-background-color:var( --e-global-color-text );--e-form-steps-indicator-progress-meter-color:var( --e-global-color-text );}.elementor-widget-form .e-form__indicators__indicator__progress__meter{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group.recaptcha_v3-bottomleft, .elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-4603 .elementor-element.elementor-element-f733dca .elementor-labels-inline .elementor-field-group > label{padding-left:5px;}body:not(.rtl) .elementor-4603 .elementor-element.elementor-element-f733dca .elementor-labels-inline .elementor-field-group > label{padding-right:5px;}body .elementor-4603 .elementor-element.elementor-element-f733dca .elementor-labels-above .elementor-field-group > label{padding-bottom:5px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group > label{font-family:"Karla", Sans-serif;font-weight:700;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-type-html{padding-bottom:0px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-color:var( --e-global-color-def8383 );border-radius:8px 8px 8px 8px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-color:var( --e-global-color-def8383 );border-radius:8px 8px 8px 8px;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-field-group .elementor-select-wrapper::before{color:var( --e-global-color-def8383 );}.elementor-4603 .elementor-element.elementor-element-f733dca .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-button[type="submit"]{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-4603 .elementor-element.elementor-element-f733dca{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-4603 .elementor-element.elementor-element-9e8a381{--display:flex;--min-height:378px;}.elementor-4603 .elementor-element.elementor-element-9e8a381:not(.elementor-motion-effects-element-type-background), .elementor-4603 .elementor-element.elementor-element-9e8a381 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.kl-mre.com/wp-content/uploads/2026/02/timo_hofmann_hotelwert_berechnen.png");background-position:center center;background-repeat:no-repeat;}.elementor-4603 .elementor-element.elementor-element-1f581ac{--display:flex;--min-height:100px;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-primary );--border-color:var( --e-global-color-primary );--border-radius:0px 0px 20px 20px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4603 .elementor-element.elementor-element-1f581ac:not(.elementor-motion-effects-element-type-background), .elementor-4603 .elementor-element.elementor-element-1f581ac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}/* Start custom CSS for html, class: .elementor-element-db9f2a4 */.wizard-line::before{
  width: var(--wizard-progress, 0%);
}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-f733dca *//* 1) Das Radio-Listen-Layout zu einem Grid machen */
.hotel-wizard-form .elementor-field-type-radio .elementor-field-subgroup {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

/* Responsive */
@media (max-width: 860px) {
  .hotel-wizard-form .elementor-field-type-radio .elementor-field-subgroup {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 2) Native Radio-Inputs verstecken */
.hotel-wizard-form .elementor-field-type-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* 3) Labels als Card stylen */
.hotel-wizard-form .elementor-field-type-radio .elementor-field-subgroup label {
  border: 1px solid #e6e6e6;
  border-radius: 14px;
  padding: 14px 12px;
  background: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 56px;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

/* Hover */
.hotel-wizard-form .elementor-field-type-radio .elementor-field-subgroup label:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.08);
}

/* 4) Selected State (ohne JS!): input:checked + label */
.hotel-wizard-form .elementor-field-type-radio input[type="radio"]:checked + label {
  border-color: var(--brand, #006532);
  box-shadow: 0 10px 24px rgba(208,0,0,0.12);
  background: rgba(208,0,0,0.04);
}/* End custom CSS */
/* Start custom CSS */:root{
  --brand-color:#006532;
  --brand:#006532;
  --wizard-header-h:80px;
  --wizard-footer-h:60px;
}

/* =========================================================
   WIZARD SHELL
   ========================================================= */
.wizard-shell{
  background:#fff;
  border-radius:18px;
  box-shadow:0 18px 50px rgba(0,0,0,.10);
  overflow:hidden;

  display:flex;
  flex-direction:column;

  height:calc(100vh - var(--wizard-header-h) - var(--wizard-footer-h));
  max-height:calc(100vh - var(--wizard-header-h) - var(--wizard-footer-h));
}

/* =========================================================
   HEADER
   ========================================================= */
.wizard-header{
  background:var(--brand);
  padding:18px 24px;
  color:#fff;
}

/* =========================================================
   BODY LAYOUT
   ========================================================= */
.wizard-body{
  flex:1 1 auto;
  min-height:500px;
  background-color: #fff;
  display:grid;
  grid-template-columns:1.2fr 0.8fr;
  gap:28px;
  padding:28px 28px 10px;

  align-items:start;

}

/* Linke Spalte: Form/Copy */
.hotel-wizard-form{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;

  min-height:0;
  overflow:hidden;
}

/* Desktop: Elementor Wrapper scrollt innen */
.hotel-wizard-form .elementor-form-fields-wrapper{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding-right:6px;
  margin-top:0 !important;
}

/* Rechte Spalte: Bild */
.hotel-wizard-picture{
  display:flex;
  align-items:flex-start;
  justify-content:center;

  min-height:0;
  overflow:hidden;
  position:relative;
}

/* =========================================================
   OPTION CARDS / GRID
   ========================================================= */
.option-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:12px;
}
@media (max-width:860px){
  .option-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}

.option-card{
  border:1px solid #e6e6e6;
  border-radius:14px;
  padding:14px 12px;

  display:flex;
  flex-direction:column;
  gap:10px;

  cursor:pointer;
  background:#fff;

  transition:box-shadow .15s ease, border-color .15s ease, transform .15s ease;

  /* safety gegen Overflow */
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.option-card:hover{
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  transform:translateY(-1px);
}
.option-card.is-selected{
  border-color:var(--brand);
  box-shadow:0 10px 24px rgba(0,101,50,.18);
}

/* Text/Media in Cards robust */
.option-card *{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.option-card img,
.option-card svg{
  max-width:28px;
  max-height:28px;
  width:auto;
  height:auto;
}

/* =========================================================
   STEPPER (HEADER)
   ========================================================= */
.wizard-stepper{
  display:flex;
  align-items:center;
  gap:16px;
  padding:10px 0 20px;
}

.wizard-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:2px solid rgba(255,255,255,.55);
  background:rgba(255,255,255,.12);
  color:#fff;
  border-radius:999px;
  padding:8px 14px;
  font-weight:600;
  white-space:nowrap;
}

.wizard-line{
  flex:1;
  height:3px;
  background:rgba(255,255,255,.35);
  border-radius:99px;
  position:relative;
  overflow:hidden;
}
.wizard-line::before{
  content:"";
  position:absolute;
  inset:0;
  width:var(--wizard-progress, 0%);
  background:#fff;
  border-radius:99px;
  transition:width .25s ease;
}

.wizard-dots{
  display:flex;
  gap:10px;
  align-items:center;
}
.wizard-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:rgba(255,255,255,.35);
  border:2px solid rgba(255,255,255,.25);
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.wizard-dot.is-active{
  background:#fff;
  border-color:#fff;
  transform:scale(1.08);
}

/* =========================================================
   ELEMENTOR: interne Indikatoren + Buttons ausblenden
   ========================================================= */
.elementor .hotel-wizard-form .e-form__indicators{ display:none !important; }
.hotel-wizard-form .e-form__buttons{ display:none !important; }

/* =========================================================
   FOOTER (Sticky)
   ========================================================= */
.wizard-footer{
  position:sticky;
  bottom:0;
  width:100%;
  z-index:999;

  background: red;
  border-top:1px solid #e6e6e6;
  padding:14px 18px;
}

.wizard-footer .wizard-footer-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.wizard-footer button{
  font-family:inherit;
  appearance:none;
  -webkit-appearance:none;
  border:none;
  background:none;
  text-decoration:none;
  outline:none;
}

/* Footer Buttons */
.wizard-footer .wizard-btn-back,
.wizard-footer .wizard-btn-next,
#wizard-start-btn,
.wizard-start-btn{
  border-radius:999px;
  min-height:48px;
  line-height:1;
  font-size:15px;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  cursor:pointer;
  box-sizing:border-box;

  /* robust gegen Text/Icons */
  max-width:100%;
  overflow:hidden;
}

.wizard-footer .wizard-btn-back{
  background:#fff;
  color:#4a4a4a;
  border:1px solid #d5d5d5;
  padding:12px 18px;
  font-weight:500;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.wizard-footer .wizard-btn-back:hover{
  background:#f6f6f6;
  border-color:#c9c9c9;
}
.wizard-footer .wizard-btn-back:active{ transform:translateY(1px); }

.wizard-footer .wizard-btn-next,
#wizard-start-btn,
.wizard-start-btn{
  background:var(--brand-color);
  color:#fff;
  padding:12px 26px;
  font-weight:600;
  box-shadow:0 10px 24px rgba(0,101,50,.28);
  transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.wizard-footer .wizard-btn-next:hover,
#wizard-start-btn:hover,
.wizard-start-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(0,101,50,.35);
}
.wizard-footer .wizard-btn-next:active,
#wizard-start-btn:active,
.wizard-start-btn:active{
  transform:translateY(1px);
  box-shadow:0 8px 18px rgba(0,101,50,.22);
}

.wizard-footer .wizard-btn-next[disabled],
.wizard-footer .wizard-btn-back[disabled]{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
  transform:none;
}

/* Button-Text sauber (ellipsis wenn nötig) */
.wizard-footer .wizard-btn-back span,
.wizard-footer .wizard-btn-next span,
#wizard-start-btn span,
.wizard-start-btn span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Button-Icons normalisieren */
.wizard-footer .wizard-btn-back svg,
.wizard-footer .wizard-btn-next svg,
.wizard-footer .wizard-btn-back img,
.wizard-footer .wizard-btn-next img,
#wizard-start-btn svg,
.wizard-start-btn svg,
#wizard-start-btn img,
.wizard-start-btn img{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:block;
}

/* =========================================================
   COPY (Überschrift + Erklärung pro Step)
   ========================================================= */
.wizard-copy .step-copy{ display:none; margin-bottom:14px; }
.wizard-copy .step-copy.active{ display:block; }

.wizard-h{
  margin:0 0 6px;
  font-size:24px;
  font-weight:800;
  line-height:1.2;
  color:var(--brand-color);
}
.wizard-p{
  margin:0;
  color:#6b6b6b;
  font-size:14px;
  line-height:1.5;
}

/* =========================================================
   STARTSCREEN
   ========================================================= */
#wizard-start-left{ display:none !important; }
.wizard-shell.is-start #wizard-start-left{ display:block !important; }

/* Step 1 Überschrift/Info ausblenden */
.wizard-shell.is-start .step-text.step-1{ display:none !important; }

/* sichtbaren Elementor-Step ausblenden */
.wizard-shell.is-start form.elementor-form .e-form__step:not(.elementor-hidden){
  display:none !important;
}

/* Footer Buttons ausblenden (Container bleibt) */
.wizard-shell.is-start .wizard-footer .wizard-footer-inner{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Optional: Footer Höhe behalten */
.wizard-shell.is-start .wizard-footer{ min-height:100px; }

/* Elementor Wrapper kollabieren */
.wizard-start-widget{ display:none !important; }
.wizard-shell.is-start .wizard-start-widget{ display:block !important; }

/* =========================================================
   STARTSCREEN BULLETS
   ========================================================= */
.wizard-bullets{
  list-style:none;
  padding:0;
  margin:12px 0 0 12px;
}
.wizard-bullets li{
  position:relative;
  padding-left:26px;
  margin-bottom:8px;
  color:#6b6b6b;
  font-size:14px;
  line-height:1.5;
}
.wizard-bullets li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--brand-color);
  font-weight:700;
  font-size:16px;
}

/* =========================================================
   MOBILE (≤768px): Full-Width, Bild aus, Footer Buttons untereinander
   ========================================================= */
@media (max-width: 768px){

  /* iOS/Android Viewport-Fix */
  .wizard-shell{
    height:auto;
    max-height:none;
    min-height:calc(100dvh - var(--wizard-header-h) - var(--wizard-footer-h));
  }

  .wizard-header{ padding:16px 16px; }

  .wizard-body{
    grid-template-columns:1fr;
    gap:0;
    padding:16px 14px 10px;
  }

  /* Bild weg */
  .hotel-wizard-picture{ display:none !important; }

  /* Mobile: lieber Seite scrollen lassen */
  .hotel-wizard-form{ overflow:visible; }
  .hotel-wizard-form .elementor-form-fields-wrapper{
    overflow-y:visible !important;
    padding-right:0 !important;
    max-height:none !important;
  }

  /* Optionen: 1 pro Zeile + volle Breite */
  .option-grid{
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:10px !important;
  }
  .option-card{
    width:100% !important;
    max-width:100% !important;
  }

  /* Elementor Radio/Checkbox: volle Breite */
  .elementor-field-type-radio .elementor-field-subgroup,
  .elementor-field-type-checkbox .elementor-field-subgroup{
    display:flex !important;
    flex-direction:column !important;
    gap:10px;
    width:100% !important;
  }
  .elementor-field-type-radio .elementor-field-option,
  .elementor-field-type-checkbox .elementor-field-option{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    align-items:center;
    box-sizing:border-box;
  }
  .elementor-field-type-radio .elementor-field-option label,
  .elementor-field-type-checkbox .elementor-field-option label{
    width:100% !important;
    display:flex !important;
    align-items:center;
    gap:12px;
    box-sizing:border-box;

    /* Texte nicht rauslaufen lassen */
    min-width:0;
    overflow-wrap:anywhere;
  }

  /* =========================================================
   MOBILE: ZURÜCK + WEITER NEBENEINANDER (50% / 50%)
   ========================================================= */
@media (max-width: 768px){

  /* Footer-Container: 2 Spalten */
  .wizard-footer .wizard-footer-inner{
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
  }

  /* Nur Zurück & Weiter */
  .wizard-footer .wizard-btn-back,
  .wizard-footer .wizard-btn-next{
    width: 100% !important;
    max-width: 100%;

    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    box-sizing: border-box;

    /* Schutz vor Überlauf */
    overflow: hidden;
  }

  /* Text sauber umbrechen */
  .wizard-footer .wizard-btn-back span,
  .wizard-footer .wizard-btn-next span{
    min-width: 0;
    white-space: normal;
    text-align: center;
  }

  /* Icons / Pfeile skalieren */
  .wizard-footer .wizard-btn-back svg,
  .wizard-footer .wizard-btn-next svg,
  .wizard-footer .wizard-btn-back img,
  .wizard-footer .wizard-btn-next img{
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    display: block;
  }
}

/* Elementor Form Erfolgsmeldung ausblenden */
.elementor-message.elementor-message-success {
  display: none !important;
}/* End custom CSS */