/* KKG Eventplaner 1.0.26 – Emergency Freeze Fix */
.kkg-eventplaner,
.kkg-eventplaner *{box-sizing:border-box}

/* Vertikale Divi-Abstände neutralisieren – Breite/Layout bewusst unangetastet.
   Der sichtbare Abstand zum Hero kommt ausschliesslich vom 20px-Abstand des Headers. */
body .et_pb_section:has(.kkg-eventplaner){padding-top:0!important;margin-top:0!important}
body .et_pb_row:has(.kkg-eventplaner){padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important}
body .et_pb_column:has(.kkg-eventplaner),
body .et_pb_module:has(.kkg-eventplaner),
body .et_pb_code:has(.kkg-eventplaner),
body .et_pb_code_inner:has(.kkg-eventplaner),
body .et_pb_text:has(.kkg-eventplaner),
body .et_pb_text_inner:has(.kkg-eventplaner){padding-top:0!important;margin-top:0!important}
.kkg-eventplaner{margin-top:0!important;padding-top:0!important}
.kkg-eventplaner .kep-head{margin-top:0!important;padding-top:0!important}
.kkg-eventplaner .kep-head-inner{padding-top:0!important;margin-top:0!important}
.kkg-eventplaner{--kep-navy:#172F40;--kep-blue:#40B4E5;--kep-green:#B7D52A;--kep-text:#4B5C68;--kep-muted:#697781;--kep-line:#D9DDE0;--kep-soft:#F4F6F7;--kep-softblue:#EEF7FB;--kep-white:#fff;--kep-radius:7px;font-family:'Montserrat',Arial,sans-serif;color:var(--kep-navy);width:100%;padding-bottom:20px;background:#fff}
.kep-admin-warning{padding:18px;border:1px solid #d9dde0;border-radius:7px;background:#fff;font-family:Montserrat,Arial,sans-serif}
.kkg-eventplaner .kep-head{background:var(--kep-white);padding:0 0 22px}
.kkg-eventplaner .kep-head-inner{width:94%;max-width:1800px;margin:0 auto}
.kkg-eventplaner .kep-eyebrow{margin-bottom:7px;color:var(--kep-blue);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.kkg-eventplaner .kep-title{margin:0 0 9px!important;padding:0!important;font-size:clamp(30px,3vw,48px)!important;line-height:1.12!important;font-weight:650!important;color:var(--kep-navy)!important}
.kkg-eventplaner .kep-lead{max-width:850px;margin:0;color:var(--kep-text);font-size:16px;line-height:1.65}
.kkg-eventplaner .kep-progress-wrap{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--kep-line);border-bottom:1px solid var(--kep-line)}
.kkg-eventplaner .kep-progress{width:94%;max-width:1800px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}
.kkg-eventplaner .kep-step{position:relative;min-height:64px;border:0;background:transparent;color:var(--kep-muted);display:flex;align-items:center;justify-content:center;gap:10px;font:600 13px/1.2 'Montserrat',Arial,sans-serif;cursor:pointer}
.kkg-eventplaner .kep-step span{width:27px;height:27px;border:1px solid var(--kep-line);border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;font-size:12px}
.kkg-eventplaner .kep-step.is-active{color:var(--kep-navy)}
.kkg-eventplaner .kep-step.is-active:after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:3px;background:var(--kep-blue)}
.kkg-eventplaner .kep-step.is-active span,.kkg-eventplaner .kep-step.is-done span{border-color:var(--kep-blue);background:var(--kep-blue);color:#fff}

/* Original calculator becomes a data/function engine inside the new shell */
.kkg-eventplaner .kep-source>.kkg-seminar-test{--kkg-max:1800px;--kkg-seitenabstand:0;--kkg-abstand-oben:0;--kkg-abstand-unten:0;width:100%;background:#fff}
.kkg-eventplaner .kkg-seminar-test .kst-wrap{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}
.kkg-eventplaner .kkg-seminar-test .kst-intro{display:none!important}
.kkg-eventplaner .kep-layout{width:94%;max-width:1800px;margin:24px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px;align-items:start}
.kkg-eventplaner .kep-main{min-width:0;background:#fff}
.kkg-eventplaner .kep-panel{display:none;animation:kepFade .18s ease}
.kkg-eventplaner .kep-panel.is-active{display:block}
@keyframes kepFade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
.kkg-eventplaner .kep-panel-head{margin:0 0 18px}
.kkg-eventplaner .kep-panel-kicker{color:var(--kep-blue);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.kkg-eventplaner .kep-panel-title{margin:0 0 7px!important;padding:0!important;font-size:28px!important;line-height:1.2!important;font-weight:600!important;color:var(--kep-navy)!important}
.kkg-eventplaner .kep-panel-copy{margin:0;max-width:760px;color:var(--kep-text);font-size:14px;line-height:1.6}
.kkg-eventplaner .kep-panel-body{min-width:0}
.kkg-eventplaner .kep-nav{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--kep-line)}
.kkg-eventplaner .kep-nav-right{margin-left:auto;display:flex;gap:14px}
.kkg-eventplaner .kep-next,.kkg-eventplaner .kep-back{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:10px;border:0!important;border-bottom:2px solid var(--kep-blue)!important;border-radius:0!important;background:transparent!important;padding:0 0 5px!important;color:var(--kep-navy)!important;font:600 14px/1.2 'Montserrat',Arial,sans-serif!important;cursor:pointer;box-shadow:none!important;text-decoration:none!important;transition:color .2s ease,border-color .2s ease}
.kkg-eventplaner .kep-next:after{content:"→";color:var(--kep-blue);font-size:18px;line-height:1;transition:transform .2s ease}.kkg-eventplaner .kep-back:before{content:"←";color:var(--kep-blue);font-size:18px;line-height:1;transition:transform .2s ease}
.kkg-eventplaner .kep-next:hover,.kkg-eventplaner .kep-back:hover{color:var(--kep-blue)!important}
.kkg-eventplaner .kep-next:hover:after{transform:translateX(4px)}.kkg-eventplaner .kep-back:hover:before{transform:translateX(-4px)}
.kkg-eventplaner .kep-validation{display:none;margin-top:12px;padding:12px 14px;border-radius:7px;background:#fff4ee;color:#8a3d36;font-size:13px;font-weight:600}.kkg-eventplaner .kep-validation.is-visible{display:block}

/* Category cards – gleiche Icon-Sprache wie die Eventarten-Auswahl */
.kkg-eventplaner .kkg-seminar-test .kst-tabs{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin:0 0 18px!important;padding:0!important;background:transparent!important;border:0!important;align-items:stretch!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab{position:relative!important;width:100%!important;min-width:0!important;margin:0!important;aspect-ratio:1/1!important;min-height:102px!important;padding:8px 7px!important;border:1px solid var(--kep-line)!important;border-radius:var(--kep-radius)!important;background:#fff!important;color:var(--kep-navy)!important;font-size:10.5px!important;font-weight:600!important;white-space:normal!important;line-height:1.12!important;transition:background .18s ease,border-color .18s ease,color .18s ease!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;text-align:center!important;box-shadow:none!important;overflow:hidden!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab:before{display:none!important;content:none!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab:hover{border-color:#b8c3ca!important;background:var(--kep-soft)!important;color:var(--kep-navy)!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon{display:flex;width:24px;height:24px;align-items:center;justify-content:center;color:var(--kep-navy);flex:0 0 24px;transition:color .18s ease}
.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon svg{display:block;width:24px;height:24px;overflow:visible;stroke-width:1.45px!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-label{display:block;max-width:94%;color:inherit;padding:0;margin:0 auto;word-break:normal;overflow-wrap:break-word}
.kkg-eventplaner .kkg-seminar-test .kst-tab.is-active{border-color:var(--kep-navy)!important;box-shadow:none!important;background:var(--kep-navy)!important;color:#fff!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab.is-active:hover{background:var(--kep-navy)!important;color:#fff!important}
.kkg-eventplaner .kkg-seminar-test .kst-tab.is-active .kep-cat-icon{color:#fff}
.kkg-eventplaner .kep-next:focus-visible,.kkg-eventplaner .kep-back:focus-visible,.kkg-eventplaner .kkg-seminar-test .kst-room-preview-link:focus-visible,.kkg-eventplaner .kep-mobile-total button:focus-visible{outline:2px solid var(--kep-blue)!important;outline-offset:4px!important}
.kkg-eventplaner .kkg-seminar-test .kst-request:focus-visible{outline:2px solid var(--kep-blue)!important;outline-offset:3px!important}

/* Forms */
.kkg-eventplaner .kkg-seminar-test .kst-section-title{display:none!important}
.kkg-eventplaner .kkg-seminar-test .kst-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;padding:18px!important;margin:0!important;border:1px solid var(--kep-line)!important;background:var(--kep-soft)!important;border-radius:7px!important}
.kkg-eventplaner .kkg-seminar-test .kst-field label{font-size:13px!important;margin-bottom:6px!important}.kkg-eventplaner .kkg-seminar-test .kst-field input,.kkg-eventplaner .kkg-seminar-test .kst-field select{min-height:48px!important;background:#fff!important;border:1px solid var(--kep-line)!important;border-radius:7px!important;font-size:14px!important}
.kkg-eventplaner .kkg-seminar-test .kst-room-choice-layout{display:block!important}.kkg-eventplaner .kkg-seminar-test .kst-room-choice-main{min-width:0}.kkg-eventplaner .kkg-seminar-test .kst-room-preview{margin-top:14px!important}
.kkg-eventplaner .kkg-seminar-test .kst-room-preview-actions{display:flex!important;align-items:center!important;gap:14px!important;flex-wrap:wrap!important}
.kkg-eventplaner .kkg-seminar-test .kst-room-preview-link{appearance:none!important;display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:0!important;padding:0 0 5px!important;border:0!important;border-bottom:2px solid var(--kep-blue)!important;border-radius:0!important;background:transparent!important;color:var(--kep-navy)!important;text-decoration:none!important;font:600 14px/1.2 'Montserrat',Arial,sans-serif!important;box-shadow:none!important;transition:color .2s ease!important}
.kkg-eventplaner .kkg-seminar-test .kst-room-preview-link:after{content:"→";color:var(--kep-blue);font-size:18px;line-height:1;transition:transform .2s ease}
.kkg-eventplaner .kkg-seminar-test .kst-room-preview-link:hover{background:transparent!important;border-color:var(--kep-blue)!important;color:var(--kep-blue)!important}.kkg-eventplaner .kkg-seminar-test .kst-room-preview-link:hover:after{transform:translateX(4px)}
.kkg-eventplaner .kep-roomcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.kkg-eventplaner .kep-roomcard{min-height:92px;padding:14px;border:1px solid var(--kep-line);border-radius:7px;background:#fff;text-align:left;color:var(--kep-navy);cursor:pointer;font-family:inherit}.kkg-eventplaner .kep-roomcard strong{display:block;font-size:14px;margin-bottom:5px}.kkg-eventplaner .kep-roomcard small{display:block;color:var(--kep-muted);font-size:11px;line-height:1.45}.kkg-eventplaner .kep-roomcard.is-selected{border-color:var(--kep-blue);box-shadow:0 0 0 1px var(--kep-blue);background:var(--kep-softblue)}

/* Packages */
.kkg-eventplaner .kkg-seminar-test .kst-package-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.kkg-eventplaner .kkg-seminar-test .kst-package{border:1px solid var(--kep-line)!important;border-radius:7px!important;padding:20px!important;min-height:235px!important;box-shadow:none!important;background:#fff!important}.kkg-eventplaner .kkg-seminar-test .kst-package.is-selected{border-color:var(--kep-blue)!important;box-shadow:0 0 0 1px var(--kep-blue)!important;background:var(--kep-softblue)!important}.kkg-eventplaner .kkg-seminar-test .kst-package-tag{color:var(--kep-blue)!important}.kkg-eventplaner .kkg-seminar-test .kst-price{font-size:23px!important}

/* Options */
.kkg-eventplaner .kkg-seminar-test .kst-options{margin:0!important}.kkg-eventplaner .kkg-seminar-test .kst-options-head{padding:0 0 14px!important}.kkg-eventplaner .kkg-seminar-test .kst-options-head h3{font-size:22px!important;margin:0 0 5px!important}.kkg-eventplaner .kkg-seminar-test .kst-accordion{border:1px solid var(--kep-line)!important;border-radius:7px!important;margin-bottom:10px!important;overflow:hidden!important}.kkg-eventplaner .kkg-seminar-test .kst-acc-btn{min-height:54px!important;padding:0 16px!important;background:#fff!important}.kkg-eventplaner .kkg-seminar-test .kst-panel{padding:0 16px 16px!important}.kkg-eventplaner .kkg-seminar-test .kst-item{grid-template-columns:24px minmax(0,1fr) minmax(105px,150px) minmax(105px,150px)!important}


/* Berechnung erst ab Schritt 2 nach bewusster Raumauswahl */
.kkg-eventplaner.kep-calculation-pending .kep-sidebar{visibility:hidden!important;pointer-events:none!important}
.kkg-eventplaner.kep-calculation-pending .kep-mobile-total{display:none!important}
.kkg-eventplaner.kep-calculation-active .kep-sidebar{visibility:visible!important;pointer-events:auto!important}

/* Sticky summary */
.kkg-eventplaner .kep-sidebar{position:sticky;top:88px}.kkg-eventplaner .kep-sidebar-label{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--kep-blue);font-weight:700;margin:0 0 8px 2px}.kkg-eventplaner .kkg-seminar-test .kst-summary{display:block!important;margin:0!important}.kkg-eventplaner .kkg-seminar-test .kst-summary-info{display:none!important}.kkg-eventplaner .kkg-seminar-test .kst-total{padding:22px!important;border-radius:7px!important;background:var(--kep-navy)!important;color:#fff!important}.kkg-eventplaner .kkg-seminar-test .kst-total-row{font-size:12px!important;padding:7px 0!important}.kkg-eventplaner .kkg-seminar-test .kst-total-final{padding-top:16px!important}.kkg-eventplaner .kkg-seminar-test .kst-grand-total{font-size:26px!important}
.kkg-eventplaner:not(.kep-final-step) .kkg-seminar-test .kst-agb,.kkg-eventplaner:not(.kep-final-step) .kkg-seminar-test .kst-request{display:none!important}
.kkg-eventplaner .kkg-seminar-test .kst-request{appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:48px!important;margin-top:18px!important;padding:0 22px!important;border:2px solid var(--kep-blue)!important;border-radius:var(--kep-radius)!important;background:var(--kep-blue)!important;color:#fff!important;font:700 14px/1.2 'Montserrat',Arial,sans-serif!important;box-shadow:none!important;transition:background .2s ease,border-color .2s ease!important}
.kkg-eventplaner .kkg-seminar-test .kst-request:after{display:none!important;content:none!important}
.kkg-eventplaner .kkg-seminar-test .kst-request:hover:not(:disabled){background:#2fa8da!important;border-color:#2fa8da!important;color:#fff!important}
.kkg-eventplaner .kkg-seminar-test .kst-request:disabled{opacity:.45!important;cursor:not-allowed!important}
.kkg-eventplaner .kep-mobile-total{display:none}
.kkg-eventplaner .kep-final-info{padding:22px;border:1px solid var(--kep-line);border-radius:7px;background:var(--kep-soft)}.kkg-eventplaner .kep-final-info h3{margin:0 0 8px!important;font-size:22px!important}.kkg-eventplaner .kep-final-info p{margin:0 0 10px;color:var(--kep-text);font-size:14px;line-height:1.6}.kkg-eventplaner .kep-final-info p:last-child{margin-bottom:0}

/* Hide original structural whitespace */
.kkg-eventplaner .kep-source>.kkg-seminar-test>.kst-wrap>.kst-summary{margin:0!important}

@media(max-width:1450px){.kkg-eventplaner .kkg-seminar-test .kst-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:1100px){.kkg-eventplaner .kep-layout{grid-template-columns:minmax(0,1fr) 330px}.kkg-eventplaner .kep-roomcards{grid-template-columns:repeat(2,1fr)}.kkg-eventplaner .kkg-seminar-test .kst-item{grid-template-columns:24px minmax(0,1fr) 110px!important}.kkg-eventplaner .kkg-seminar-test .kst-item-price{grid-column:2/4;text-align:left!important}}
@media(max-width:900px){.kkg-eventplaner .kep-progress-wrap{position:relative;top:auto}.kkg-eventplaner .kep-progress{width:100%;overflow-x:auto;display:flex;padding:0 14px}.kkg-eventplaner .kep-step{flex:0 0 auto;min-width:118px}.kkg-eventplaner .kep-layout{display:block;width:calc(100% - 28px);margin-top:16px}.kkg-eventplaner .kep-sidebar{position:static;margin-top:18px}.kkg-eventplaner .kep-sidebar .kst-total{display:none}.kkg-eventplaner .kep-mobile-total{display:flex;position:sticky;bottom:0;z-index:35;margin:18px -14px 0;padding:13px 16px;background:var(--kep-navy);color:#fff;align-items:center;justify-content:space-between;gap:14px}.kkg-eventplaner .kep-mobile-total strong{font-size:18px}.kkg-eventplaner .kep-mobile-total button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;gap:8px;border:0!important;border-bottom:2px solid var(--kep-blue)!important;border-radius:0!important;background:transparent!important;color:#fff!important;font:600 13px/1.2 Montserrat,Arial,sans-serif!important;padding:0 0 5px!important;box-shadow:none!important}.kkg-eventplaner .kep-mobile-total button:after{content:"↑";color:var(--kep-blue);font-size:16px;line-height:1;transition:transform .2s ease}.kkg-eventplaner .kep-mobile-total button:hover:after{transform:translateY(-3px)}.kkg-eventplaner .kep-final-step .kep-sidebar-copy{display:block}}
@media(max-width:767px){.kkg-eventplaner .kep-head{padding:0 0 18px}.kkg-eventplaner .kep-head-inner{width:calc(100% - 28px)}.kkg-eventplaner .kep-title{font-size:29px!important}.kkg-eventplaner .kep-lead{font-size:14px}.kkg-eventplaner .kep-panel-title{font-size:24px!important}.kkg-eventplaner .kkg-seminar-test .kst-tabs{grid-template-columns:1fr 1fr!important;gap:7px!important}.kkg-eventplaner .kkg-seminar-test .kst-tab{width:100%!important;min-width:0!important;aspect-ratio:1/1!important;min-height:94px!important;padding:8px 6px!important;font-size:10px!important;line-height:1.1!important;gap:5px!important}.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon,.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon svg{width:20px;height:20px}.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon{flex-basis:20px}.kkg-eventplaner .kkg-seminar-test .kst-tab .kep-cat-icon svg{stroke-width:1.4px!important}.kkg-eventplaner .kkg-seminar-test .kst-controls{grid-template-columns:1fr!important;padding:14px!important}.kkg-eventplaner .kep-roomcards{grid-template-columns:1fr 1fr}.kkg-eventplaner .kkg-seminar-test .kst-package-grid{grid-template-columns:1fr!important}.kkg-eventplaner .kkg-seminar-test .kst-package{min-height:0!important}.kkg-eventplaner .kkg-seminar-test .kst-item{grid-template-columns:24px minmax(0,1fr)!important;gap:8px!important}.kkg-eventplaner .kkg-seminar-test .kst-item-qty,.kkg-eventplaner .kkg-seminar-test .kst-item-price{grid-column:2!important;text-align:left!important}.kkg-eventplaner .kep-nav{margin-top:18px}.kkg-eventplaner .kep-step b{font-size:12px}}


/* =========================================================
   1.0.19 – RESPONSIVE FORMULAR-FIX
   Desktop-Breite und Desktop-Layout bleiben unverändert.
   ========================================================= */

@media(max-width:900px){

  /* Kein horizontales Überlaufen innerhalb des Wizards */
  .kkg-eventplaner,
  .kkg-eventplaner .kep-source,
  .kkg-eventplaner .kkg-seminar-test,
  .kkg-eventplaner .kkg-seminar-test .kst-wrap,
  .kkg-eventplaner .kep-main,
  .kkg-eventplaner .kep-panel,
  .kkg-eventplaner .kep-panel-body,
  .kkg-eventplaner .kep-sidebar{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Formfelder müssen auf Tablet/Mobile vollständig bedienbar bleiben */
  .kkg-eventplaner .kkg-seminar-test input,
  .kkg-eventplaner .kkg-seminar-test select,
  .kkg-eventplaner .kkg-seminar-test textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  /* Letzter Schritt: vollständige Zusammenfassung + AGB + Anfragebutton
     wieder sichtbar. Die mobile Totalleiste wird dort ausgeblendet. */
  .kkg-eventplaner.kep-final-step .kep-sidebar{
    display:block!important;
    width:100%!important;
    margin-top:18px!important;
  }

  .kkg-eventplaner.kep-final-step .kep-sidebar .kst-total{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }

  .kkg-eventplaner.kep-final-step .kep-mobile-total{
    display:none!important;
  }

  /* Bilder / Raumvorschau dürfen den Viewport nie verbreitern */
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview,
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-body,
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview img{
    max-width:100%!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  /* Pakete / Accordions / Total nie breiter als der Screen */
  .kkg-eventplaner .kkg-seminar-test .kst-package,
  .kkg-eventplaner .kkg-seminar-test .kst-accordion,
  .kkg-eventplaner .kkg-seminar-test .kst-total,
  .kkg-eventplaner .kep-final-info{
    min-width:0!important;
    max-width:100%!important;
  }
}

@media(max-width:767px){

  /* iPhone: 16px verhindert automatisches Browser-Zoom beim Ausfüllen */
  .kkg-eventplaner .kkg-seminar-test .kst-field input,
  .kkg-eventplaner .kkg-seminar-test .kst-field select,
  .kkg-eventplaner .kkg-seminar-test textarea{
    min-height:46px!important;
    font-size:16px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-controls{
    gap:12px!important;
  }

  /* Raumkarten und Raumdetails lesbar statt gequetscht */
  .kkg-eventplaner .kep-roomcards{
    gap:8px!important;
  }

  .kkg-eventplaner .kep-roomcard{
    min-width:0!important;
    padding:11px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-body{
    padding:14px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-facts{
    grid-template-columns:1fr 1fr!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-capacities{
    grid-template-columns:1fr!important;
  }

  /* Zusatzleistungen: Preis / Menge sauber unter dem Text */
  .kkg-eventplaner .kkg-seminar-test .kst-item{
    min-width:0!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-item-qty,
  .kkg-eventplaner .kkg-seminar-test .kst-item-price{
    min-width:0!important;
    max-width:100%!important;
  }

  /* Weiter/Zurück bleiben zuverlässig klickbar */
  .kkg-eventplaner .kep-next,
  .kkg-eventplaner .kep-back{
    min-height:40px!important;
    touch-action:manipulation;
  }

  /* Sticky Mobile-Total etwas sicherer, aber nur bis zum Anfrage-Step */
  .kkg-eventplaner:not(.kep-final-step) .kep-mobile-total{
    padding-bottom:calc(13px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:520px){

  /* Auf kleinen Smartphones Raumkarten nicht mehr nebeneinander quetschen */
  .kkg-eventplaner .kep-roomcards{
    grid-template-columns:1fr!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-facts{
    grid-template-columns:1fr!important;
  }

  /* Navigation darf umbrechen, ohne Felder zu überdecken */
  .kkg-eventplaner .kep-nav{
    flex-wrap:wrap!important;
  }

  .kkg-eventplaner .kep-nav-right{
    margin-left:auto!important;
  }
}


/* =========================================================
   1.0.22 – RESPONSIVE NEU STABILISIERT
   WICHTIG: Desktop > 900px bleibt exakt wie 1.0.21.
   ========================================================= */

@media(max-width:900px){

  /* Grundbreite ohne Full-Width-Effekt */
  .kkg-eventplaner .kep-layout{
    display:block!important;
    width:calc(100% - 32px)!important;
    max-width:none!important;
    margin:18px auto 0!important;
  }

  .kkg-eventplaner .kep-main,
  .kkg-eventplaner .kep-panel,
  .kkg-eventplaner .kep-panel-body,
  .kkg-eventplaner .kep-source,
  .kkg-eventplaner .kkg-seminar-test,
  .kkg-eventplaner .kkg-seminar-test .kst-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  /* Steps: kein horizontales Scroll-Karussell mehr */
  .kkg-eventplaner .kep-progress{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    overflow:visible!important;
  }

  .kkg-eventplaner .kep-step{
    min-width:0!important;
    min-height:58px!important;
    padding:7px 3px!important;
    gap:5px!important;
    flex-direction:column!important;
    font-size:10.5px!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:normal!important;
  }

  .kkg-eventplaner .kep-step span{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    font-size:11px!important;
  }

  .kkg-eventplaner .kep-step.is-active:after{
    left:12%!important;
    right:12%!important;
    height:2px!important;
  }

  /* Formfelder: NUR echte Text-/Zahl-/Datumfelder auf 100%.
     Checkboxes/Radios werden bewusst nicht verändert. */
  .kkg-eventplaner .kkg-seminar-test .kst-field input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]),
  .kkg-eventplaner .kkg-seminar-test .kst-field select,
  .kkg-eventplaner .kkg-seminar-test .kst-field textarea{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  .kkg-eventplaner .kkg-seminar-test input[type="checkbox"],
  .kkg-eventplaner .kkg-seminar-test input[type="radio"]{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:0 0 auto!important;
  }

  /* Mengenfelder separat */
  .kkg-eventplaner .kkg-seminar-test .kst-item-qty input,
  .kkg-eventplaner .kkg-seminar-test .kst-item-qty select{
    width:100%!important;
    max-width:140px!important;
    min-width:0!important;
  }

  /* Mobile-Zusammenfassung nicht mehr sticky:
     sie kann damit keine Formularfelder oder Navigation überdecken. */
  .kkg-eventplaner .kep-mobile-total{
    position:static!important;
    width:auto!important;
    margin:18px 16px 0!important;
    padding:14px 16px!important;
    border-radius:var(--kep-radius)!important;
    z-index:auto!important;
  }

  .kkg-eventplaner.kep-calculation-pending .kep-mobile-total{
    display:none!important;
  }

  .kkg-eventplaner.kep-calculation-active:not(.kep-final-step) .kep-mobile-total{
    display:flex!important;
  }

  /* Sidebar nur im letzten Step als vollständige Zusammenfassung */
  .kkg-eventplaner .kep-sidebar{
    position:static!important;
    width:100%!important;
    max-width:100%!important;
    margin:18px 0 0!important;
  }

  .kkg-eventplaner:not(.kep-final-step) .kep-sidebar .kst-total{
    display:none!important;
  }

  .kkg-eventplaner.kep-final-step .kep-sidebar .kst-total{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }

  .kkg-eventplaner.kep-final-step .kep-mobile-total{
    display:none!important;
  }

  /* Alle grossen Blöcke gegen Überlauf absichern */
  .kkg-eventplaner .kkg-seminar-test .kst-controls,
  .kkg-eventplaner .kkg-seminar-test .kst-package-grid,
  .kkg-eventplaner .kkg-seminar-test .kst-options,
  .kkg-eventplaner .kkg-seminar-test .kst-accordion,
  .kkg-eventplaner .kkg-seminar-test .kst-panel,
  .kkg-eventplaner .kkg-seminar-test .kst-room-choice-layout,
  .kkg-eventplaner .kkg-seminar-test .kst-room-choice-main,
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview,
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-body,
  .kkg-eventplaner .kkg-seminar-test .kst-total,
  .kkg-eventplaner .kep-final-info{
    min-width:0!important;
    max-width:100%!important;
  }

  .kkg-eventplaner .kkg-seminar-test img{
    max-width:100%!important;
    height:auto!important;
  }
}

@media(max-width:767px){

  .kkg-eventplaner .kep-layout{
    width:calc(100% - 28px)!important;
    margin-top:16px!important;
  }

  .kkg-eventplaner .kep-progress{
    width:calc(100% - 12px)!important;
  }

  .kkg-eventplaner .kep-step{
    min-height:54px!important;
    padding:6px 2px!important;
    font-size:9px!important;
    gap:4px!important;
  }

  .kkg-eventplaner .kep-step span{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
    font-size:10px!important;
  }

  .kkg-eventplaner .kep-panel-head{
    margin-bottom:15px!important;
  }

  .kkg-eventplaner .kep-panel-title{
    font-size:23px!important;
    line-height:1.18!important;
  }

  .kkg-eventplaner .kep-panel-copy{
    font-size:13px!important;
    line-height:1.5!important;
  }

  /* Eventart-Kacheln kompakt und sauber */
  .kkg-eventplaner .kkg-seminar-test .kst-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-tab{
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:1/1!important;
    padding:10px 8px!important;
  }

  /* Formular Step 1 / Step 2 strikt einspaltig */
  .kkg-eventplaner .kkg-seminar-test .kst-controls{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:14px!important;
  }

  /* 16px verhindert iOS Auto-Zoom und bleibt vollständig bedienbar */
  .kkg-eventplaner .kkg-seminar-test .kst-field input:not([type="checkbox"]):not([type="radio"]),
  .kkg-eventplaner .kkg-seminar-test .kst-field select,
  .kkg-eventplaner .kkg-seminar-test .kst-field textarea{
    min-height:46px!important;
    font-size:16px!important;
  }

  /* Raumkarten nicht gequetscht */
  .kkg-eventplaner .kep-roomcards{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .kkg-eventplaner .kep-roomcard{
    min-height:74px!important;
    padding:12px!important;
  }

  /* Raumvorschau */
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-body{
    padding:14px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-facts,
  .kkg-eventplaner .kkg-seminar-test .kst-room-preview-capacities{
    grid-template-columns:1fr!important;
  }

  /* Paket Step */
  .kkg-eventplaner .kkg-seminar-test .kst-package-grid{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-package{
    min-height:0!important;
    padding:16px!important;
  }

  /* Zusatzleistungen: Checkbox + Inhalt, Preis/Menge darunter */
  .kkg-eventplaner .kkg-seminar-test .kst-item{
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-item-qty,
  .kkg-eventplaner .kkg-seminar-test .kst-item-price{
    grid-column:2!important;
    width:100%!important;
    max-width:100%!important;
    text-align:left!important;
  }

  .kkg-eventplaner .kkg-seminar-test .kst-item-qty input,
  .kkg-eventplaner .kkg-seminar-test .kst-item-qty select{
    max-width:120px!important;
  }

  /* Navigation bleibt frei und klickbar */
  .kkg-eventplaner .kep-nav{
    min-width:0!important;
    gap:12px!important;
    margin-top:18px!important;
    padding-top:16px!important;
  }

  .kkg-eventplaner .kep-next,
  .kkg-eventplaner .kep-back{
    min-height:38px!important;
    touch-action:manipulation!important;
  }

  /* Mobile Total nicht über den Inhalt legen */
  .kkg-eventplaner .kep-mobile-total{
    margin-left:14px!important;
    margin-right:14px!important;
    padding-bottom:calc(14px + env(safe-area-inset-bottom))!important;
  }
}

@media(max-width:420px){

  /* Labels in der Step-Leiste bleiben lesbar, ohne zu überlaufen */
  .kkg-eventplaner .kep-step b{
    font-size:8.5px!important;
    line-height:1.1!important;
  }

  .kkg-eventplaner .kep-panel-title{
    font-size:21px!important;
  }

  .kkg-eventplaner .kep-mobile-total{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
  }
}
