.elementor-380 .elementor-element.elementor-element-0f97ebf{--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;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-380 .elementor-element.elementor-element-0f97ebf:not(.elementor-motion-effects-element-type-background), .elementor-380 .elementor-element.elementor-element-0f97ebf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FBFAF7;}.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-380 .elementor-element.elementor-element-ab92e58 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-type-html{padding-bottom:0px;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-button[type="submit"]{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-380 .elementor-element.elementor-element-ab92e58{--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;}@media(min-width:768px){.elementor-380 .elementor-element.elementor-element-0f97ebf{--width:100%;}}/* Start custom CSS for html, class: .elementor-element-dc72c11 */.elementor-380 .elementor-element.elementor-element-dc72c11 .km-food-status{transition:none!important}
.elementor-380 .elementor-element.elementor-element-dc72c11 .km-food-status[data-km-limit="1"]{display:none!important}/* End custom CSS */
/* Start custom CSS for form, class: .elementor-element-ab92e58 */.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option{
  position:relative!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}
.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option label{
  display:block!important;
  width:100%!important;
  cursor:pointer!important;
}
.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option input[type="checkbox"]{
  pointer-events:auto!important;
}
.elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option.km-choice-unavailable{
  opacity:.48!important;
}
@media(max-width:900px){
  .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option,
  .elementor-380 .elementor-element.elementor-element-ab92e58 .elementor-field-option label{
    touch-action:manipulation!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   K&M – Essen & Drinks
   Eine autoritative Seitenregel für aktuellen .km-food-v3 Generator
   ========================================================= */

/* Backend-Elementor-Form bleibt nur als unsichtbarer Speicher-Transport erhalten. */
body.page-id-380 .elementor-element.elementor-element-ab92e58.elementor-widget-form{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  z-index:-1!important;
  scroll-snap-align:none!important;
}
body.page-id-380 .elementor-element.elementor-element-ab92e58.elementor-widget-form>.elementor-widget-container,
body.page-id-380 .elementor-element.elementor-element-ab92e58.elementor-widget-form form.elementor-form{
  width:1px!important;
  height:1px!important;
  min-height:0!important;
  max-height:1px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  display:block!important;
}

/* Keine fremden Häkchen/Pseudo-Icons im neuen Generator. */
body.page-id-380 .km-food-options label::before,
body.page-id-380 .km-food-options label::after,
body.page-id-380 .km-food-options span::before,
body.page-id-380 .km-food-options span::after,
body.page-id-380 .km-food-options input[type="checkbox"]::before{
  content:none!important;
  display:none!important;
}
body.page-id-380 .km-food-options input[type="checkbox"]:checked::after{
  content:"✓"!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  color:#fff!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1!important;
}
body.page-id-380 .km-food-status:empty,
body.page-id-380 .km-food-status[data-limit-msg],
body.page-id-380 .km-food-status[data-km-limit="1"]{
  display:none!important;
  min-height:0!important;
  padding-top:0!important;
}

/* ========================= DESKTOP ========================= */
@media(min-width:901px){
  html:has(body.page-id-380),
  body.page-id-380{
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    scroll-snap-type:none!important;
  }
  body.page-id-380 .elementor.elementor-380{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
  }

  /* Exakt zwei sichtbare Spalten: Intro links, Generator rechts. */
  body.page-id-380 .elementor-element-0f97ebf{
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:clamp(104px,12vh,132px) max(28px,calc((100vw - 1220px)/2)) clamp(34px,5vh,54px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,.88fr) minmax(520px,1.12fr)!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    column-gap:clamp(42px,5vw,76px)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body.page-id-380 .elementor-element-82ea4ad{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.page-id-380 .elementor-element-82ea4ad>.elementor-widget-container,
  body.page-id-380 .elementor-element-82ea4ad .km-site,
  body.page-id-380 .elementor-element-82ea4ad #km-main{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  body.page-id-380 .elementor-element-82ea4ad #km-main{
    display:block!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-page-hero{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }

  /* Überschrift darf nicht durch alte Reveal-/Motion-Regeln verschwinden. */
  body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal],
  body.page-id-380 .elementor-element-82ea4ad .km-choice-intro[data-reveal]{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-page-hero h1{
    display:block!important;
    margin:14px 0 0!important;
    font-size:clamp(60px,5.7vw,90px)!important;
    line-height:.84!important;
    letter-spacing:-.075em!important;
    color:#26231F!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-page-hero p{
    max-width:510px!important;
    margin:25px 0 0!important;
    font-size:clamp(15px,1.25vw,18px)!important;
    line-height:1.58!important;
    color:#756E66!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-form-intro-note{
    margin-top:18px!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-choice-intro{
    display:block!important;
    width:100%!important;
    margin:28px 0 0!important;
    padding:25px 0 0!important;
    border-top:1px solid rgba(103,91,79,.10)!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-choice-intro .km-section-title{
    margin:8px 0 0!important;
    font-size:clamp(31px,2.8vw,44px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
  }
  body.page-id-380 .elementor-element-82ea4ad .km-choice-intro p{
    max-width:510px!important;
    margin:12px 0 0!important;
    font-size:13px!important;
    line-height:1.52!important;
    color:#756E66!important;
  }

  body.page-id-380 .elementor-element-dc72c11{
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.page-id-380 .elementor-element-dc72c11>.elementor-widget-container{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.page-id-380 .elementor-element-dc72c11 .km-food-v3{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    display:block!important;
    scroll-snap-align:none!important;
  }
  body.page-id-380 .elementor-element-dc72c11 .km-food-card{
    width:100%!important;
    max-width:760px!important;
    height:clamp(520px,64dvh,640px)!important;
    min-height:0!important;
    max-height:calc(100dvh - 160px)!important;
    margin:0 0 0 auto!important;
    padding:16px!important;
    border-radius:26px!important;
  }
  body.page-id-380 .km-food-copy{padding-bottom:8px!important;}
  body.page-id-380 .km-food-copy h2{font-size:clamp(27px,2.8vw,40px)!important;}
  body.page-id-380 .km-food-options{gap:7px!important;}
  body.page-id-380 .km-food-options label{min-height:41px!important;padding:7px 10px!important;}
  body.page-id-380 .km-food-nav{padding-top:8px!important;}

  /* Footer + reines Helper-Script erzeugen keine zusätzlichen Grid-Zeilen. */
  body.page-id-380 .elementor-element-26f5797,
  body.page-id-380 .elementor-element-f10ffd5{
    display:none!important;
  }
}

/* ========================== MOBILE ========================= */
@media(max-width:900px){
  html,
  body.page-id-380{
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    scroll-snap-type:none!important;
  }
  body.page-id-380 .elementor.elementor-380{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:clip!important;
    scroll-snap-type:y mandatory!important;
    scroll-behavior:smooth!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  body.page-id-380 .elementor.elementor-380:has(input:focus,textarea:focus,select:focus){
    scroll-snap-type:none!important;
  }
  body.page-id-380 .elementor-element-dc72c11{
    width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  body.page-id-380 .elementor-element-dc72c11>.elementor-widget-container{
    width:100%!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
  }
}

/* Mobile 04 – erste Seite exakt im Display zentrieren */
@media(max-width:900px){
  body.page-id-380 .km-site .km-page-hero{
    width:calc(100% - 34px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0 auto!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:24px!important;
    text-align:center!important;
    box-sizing:border-box!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  body.page-id-380 .km-page-hero > [data-reveal]{width:100%!important;max-width:620px!important;margin:0 auto!important;text-align:center!important;}
  body.page-id-380 .km-page-hero h1,
  body.page-id-380 .km-page-hero p,
  body.page-id-380 .km-page-kicker{margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
}
body.page-id-380 .km-page-hero [data-reveal].km-extra-reveal{transform:none!important}
body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal].km-extra-reveal{opacity:0!important;filter:blur(5px)!important;transform:none!important}
body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal].km-extra-reveal.km-extra-in{opacity:1!important;filter:none!important}

@media(max-width:900px){body.page-id-380,body.page-id-380 .elementor,body.page-id-380 .km-invite-gate,body.page-id-380 .km-qr-welcome,body.page-id-380 .km-code-gate{background:#F6F0E8!important;background-color:#F6F0E8!important;background-image:none!important;}}
@media(max-width:900px){html:has(body.page-id-380),body.page-id-380,body.page-id-380 #page,body.page-id-380 #content,body.page-id-380 .site-main,body.page-id-380 .elementor.elementor-380,body.page-id-380 .elementor-element-0f97ebf,body.page-id-380 .km-site,body.page-id-380 #km-main,body.page-id-380 .km-invite-gate,body.page-id-380 .km-code-gate,body.page-id-380 .km-qr-welcome{background:#F6F0E8!important;background-color:#F6F0E8!important;background-image:none!important;}}
/* 04 · Lade-Einstieg exakt wie 03 */
body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal]{
  opacity:0!important;
  transform:translateY(18px)!important;
  filter:blur(5px)!important;
  transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease!important;
}
body.page-id-380.km-intro-like-03 .elementor-element-82ea4ad .km-page-hero>[data-reveal]{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}
/* 04: vorhandene Extra-Reveal-Klassen dürfen den 03-Ladeeffekt nicht überschreiben */
body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal].km-extra-reveal,
body.page-id-380 .elementor-element-82ea4ad .km-page-hero>[data-reveal].km-extra-reveal.km-extra-in{
  transition-delay:0s!important;
}/* End custom CSS */