/* <style id="wh-cls-fix"> */
.fusion-faqs-wrapper { display: block !important; }[data-wh-youtube] { display: block; width: 100%; aspect-ratio: 16 / 9; }@media only screen and (min-width: 1001px) and (hover: hover) and (pointer: fine) {.fusion-header-wrapper:has(~ #sliders-container .tfs-slider[data-parallax="1"]) { position: absolute; top: 0; left: 0; width: 100%; z-index: 5; }#sliders-container .fusion-slider-container:has(> .tfs-slider[data-parallax="1"][data-full_screen="1"]) { min-height: 100vh; }}
/* <style id="webhaus-sticky-mobile"> */
@media (max-width:640px){.fusion-header-wrapper{position:-webkit-sticky;position:sticky;top:0;z-index:20050;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.12)}html{scroll-padding-top:125px}}
/* <style id="webhaus-audit-2026-10-30"> */
@media only screen and (max-width:1000px){.fusion-header{padding-top:8px !important;padding-bottom:8px !important}.fusion-mobile-logo,.fusion-logo img.fusion-mobile-logo{max-height:52px !important;width:auto !important}.fusion-logo{margin-top:0 !important;margin-bottom:0 !important}.fusion-header-v1 .fusion-mobile-menu-icons{margin-top:11px !important}}
/* /webhaus/v15/v15.css */
/* missiongames.at v1.5 (24.10.2026) – eigene Ergänzungen zum Avada-Stil. Wird als LETZTES Stylesheet geladen.
   Quelle: overrides/webhaus/v15/v15.css → site/webhaus/v15/v15.css (tools/v15/build.sh). */

:root {
  --wh-blau: #1a6fa3;          /* Knöpfe: Weiß darauf 5,5:1 (vorher #228fcc 3,6:1 bzw. #52c3f8 2,0:1) */
  --wh-blau-dunkel: #13557d;
  --wh-blau-hell: #2390cd;     /* Markenblau (Akzente, nicht für Text auf Weiß) */
  --wh-text: #4f5862;          /* Fließtext: 7,2:1 auf Weiß (vorher #7b838b 3,8:1) */
  --wh-dunkel: #3a4149;
  --wh-nacht: #11161c;
  --wh-grau: #f4f6f8;
  --wh-gelb: #ffb400;
  --body_typography-color: #4f5862;
}
body { color: var(--wh-text); }

/* ---------- Knöpfe: einheitliches dunkleres Blau (Kontrast AA) ---------- */
.fusion-body .fusion-button.button-default,
.fusion-body .fusion-menu-item-button .menu-text.fusion-button,
.fusion-body a.fusion-button[style*="gradient_top_color:#228fcc"],
.fusion-body a.fusion-button[style*="gradient_top_color:#44b4e8"],
.fusion-body a.fusion-button[style*="gradient_top_color:#52c3f8"],
.fusion-body a.fusion-button[style*="gradient_top_color:#03a9f4"] {
  --button_gradient_top_color: var(--wh-blau) !important;
  --button_gradient_bottom_color: var(--wh-blau) !important;
  --button_gradient_top_color_hover: var(--wh-blau-dunkel) !important;
  --button_gradient_bottom_color_hover: var(--wh-blau-dunkel) !important;
  --button_accent_color: #fff !important;
  --button_accent_hover_color: #fff !important;
  --button_border_color: var(--wh-blau) !important;
  background: var(--wh-blau) !important;
  color: #fff !important;
}
.fusion-body .fusion-button.button-default:hover,
.fusion-body .fusion-menu-item-button .menu-text.fusion-button:hover,
.fusion-body a.fusion-button[style*="gradient_top_color:#228fcc"]:hover,
.fusion-body a.fusion-button[style*="gradient_top_color:#44b4e8"]:hover { background: var(--wh-blau-dunkel) !important; }
.fusion-body .fusion-button .fusion-button-text { color: #fff; }

/* Menü-Text dunkler (vorher #88929e = 3,2:1) */
.fusion-main-menu > ul > li > a { color: #4f5862 !important; }
.fusion-main-menu > ul > li > a:hover, .fusion-main-menu > ul > li.current-menu-item > a { color: var(--wh-blau) !important; }

/* Links im Fließtext unterstreichen (nicht nur Farbe) */
#main .fusion-text a:not(.fusion-button), #main .post-content p a:not(.fusion-button), .fusion-footer .textwidget a { text-decoration: underline; text-underline-offset: 2px; }

/* Lange zentrierte Absätze linksbündig + angenehme Zeilenlänge (Klasse setzt das Build-Skript) */
#main p.wh-lang { text-align: left !important; max-width: 46em; margin-left: auto; margin-right: auto; }

/* Frühere zweite H1 (jetzt h2, Build-Skript) behalten das Aussehen der H1 */
h2.wh-ex-h1, h2[data-wh-ex-h1] { font-family: var(--h1_typography-font-family); font-weight: var(--h1_typography-font-weight); line-height: var(--h1_typography-line-height);
  letter-spacing: var(--h1_typography-letter-spacing); text-transform: var(--h1_typography-text-transform); font-style: var(--h1_typography-font-style, normal); color: var(--h1_typography-color); }
h2.wh-ex-h1:not(.fusion-responsive-typography-calculated), h2[data-wh-ex-h1]:not(.fusion-responsive-typography-calculated) { font-size: var(--h1_typography-font-size); }

/* ---------- Layout-Sprünge ---------- */
.fusion-faqs-wrapper { display: block !important; }               /* FAQ-Liste sofort sichtbar (vorher erst per JS → CLS 0,68) */

/* ---------- Kopf am Handy schlanker ---------- */
@media only screen and (max-width: 1000px) {
  .fusion-header { padding-top: 8px !important; padding-bottom: 8px !important; }
  .fusion-mobile-logo, .fusion-logo img.fusion-mobile-logo { max-height: 52px !important; width: auto !important; }
  .fusion-logo { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* ---------- Hinweisleiste (Saison) ---------- */
.wh-hinweis { background: var(--wh-blau); color: #fff; text-align: center; font: 600 15px/1.35 Barlow, sans-serif; padding: 8px 14px; position: relative; z-index: 2; }
.wh-hinweis a { color: #fff; text-decoration: underline; text-underline-offset: 2px; font-weight: 700; white-space: nowrap; }
.wh-hinweis strong { font-weight: 800; }
@media (max-width: 640px) { .wh-hinweis { font-size: 14px; padding: 7px 10px; } }

/* ---------- Gemeinsame Bausteine ---------- */
.wh-wrap { max-width: 1180px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
/* eigene Abschnitte über die volle Breite wie Avadas Container (#main hat 30 px Innenabstand → sonst am Handy nur 282 von 390 px) */
#main .wh-seite, #main .wh-reviews, #main .wh-anlaesse { margin-left: calc(-1 * var(--hundredp_padding, 30px)); margin-right: calc(-1 * var(--hundredp_padding, 30px)); }
@media (max-width: 640px) { .wh-wrap { padding: 0 18px; } }
.wh-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 26px; border-radius: 4px;
  font: 700 17px/1.2 Barlow, sans-serif; letter-spacing: .06em; text-transform: uppercase; text-decoration: none !important; box-sizing: border-box; }
.wh-btn--primary { background: var(--wh-blau); color: #fff !important; }
.wh-btn--primary:hover { background: var(--wh-blau-dunkel); }
.wh-btn--ghost { border: 2px solid currentColor; color: inherit !important; }
.wh-btn--ghost:hover { background: rgba(255, 255, 255, .1); }
.wh-stars { color: var(--wh-gelb); letter-spacing: 2px; font-size: 18px; line-height: 1; }
.wh-h2 { font: 700 clamp(28px, 4vw, 40px)/1.1 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); text-transform: uppercase; margin: 0 0 14px; text-align: center; }
.wh-h2 span { color: var(--wh-blau-hell); }
.wh-sub { text-align: center; max-width: 44em; margin: 0 auto 28px; font-size: 17px; }

/* ---------- Startbereich (ersetzt den Avada-Slider: H1 + Text + Buchen + Bewertung, kein Layout-Sprung) ---------- */
.wh-hero { background: var(--wh-nacht); color: #e9eef3; }
.wh-hero__inner { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); align-items: center; gap: 40px; padding: 48px 32px; box-sizing: border-box; }
.wh-hero__eyebrow { color: #7cc4ee; font: 700 15px/1.3 Barlow, sans-serif; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 10px; }
.wh-hero h1 { font: 700 clamp(32px, 4.2vw, 54px)/1.04 "Barlow Condensed", sans-serif; color: #fff; text-transform: uppercase; margin: 0 0 16px; letter-spacing: .01em; }
.wh-hero h1 span { color: #7cc4ee; }
.wh-hero__lead { font-size: 18px; line-height: 1.55; margin: 0 0 18px; color: #d6dee6; }
.wh-hero__facts { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.wh-hero__facts li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; padding: 6px 14px; font-size: 15px; color: #fff; margin: 0; }
.wh-hero__facts strong { color: #fff; }
.wh-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 20px; }
.wh-hero__cta .wh-btn--ghost { color: #fff !important; }
.wh-rating { display: inline-flex; align-items: center; gap: 10px; color: inherit !important; text-decoration: none !important; font-size: 16px; }
.wh-rating:hover span:last-child { text-decoration: underline; }
.wh-hero__media img { display: block; width: 100%; height: auto; border-radius: 6px; }
@media (max-width: 900px) {
  .wh-hero__inner { grid-template-columns: 1fr; gap: 0; padding: 0; }
  .wh-hero__media { order: -1; }
  .wh-hero__media img { border-radius: 0; }
  .wh-hero__text { padding: 22px 20px 26px; }
  .wh-hero h1 { font-size: 32px; }
  .wh-hero__lead { font-size: 17px; }
  .wh-hero__cta .wh-btn { flex: 1 1 100%; }
}

/* ---------- Bewertungen (Google, Stand Oktober 2026) ---------- */
.wh-reviews { background: var(--wh-grau); padding: 56px 0; }
.wh-reviews__badge { display: flex; justify-content: center; margin: 0 0 26px; }
.wh-reviews__badge .wh-rating { background: #fff; border-radius: 999px; padding: 10px 18px; box-shadow: 0 1px 3px rgba(0, 0, 0, .08); color: var(--wh-dunkel) !important; }
.wh-reviews__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.wh-review { background: #fff; border-radius: 8px; padding: 22px 22px 18px; margin: 0; box-shadow: 0 1px 3px rgba(0, 0, 0, .07); display: flex; flex-direction: column; }
.wh-review blockquote { margin: 10px 0 14px; padding: 0; border: 0; font-size: 16.5px; line-height: 1.55; color: var(--wh-dunkel); flex: 1; quotes: "„" "“"; }
.wh-review blockquote p { margin: 0; }
.wh-review blockquote p::before { content: open-quote; } .wh-review blockquote p::after { content: close-quote; }
.wh-review__by { margin: 0; font-size: 14.5px; color: var(--wh-text); }
.wh-review__by strong { color: var(--wh-dunkel); }
.wh-reviews__more { text-align: center; margin: 22px 0 0; font-size: 15px; }
.wh-reviews__more a { color: var(--wh-blau) !important; font-weight: 600; }
.wh-reviews--kompakt { padding: 40px 0; }
.wh-reviews__list:has(> li:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 380px)); justify-content: center; }  /* nur 2 Karten → mittig */
@media (max-width: 900px) {
  .wh-reviews { padding: 40px 0; }
  .wh-reviews__list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding: 0 2px 10px; -webkit-overflow-scrolling: touch; }
  .wh-review { flex: 0 0 84%; scroll-snap-align: center; }
}

/* ---------- Anlässe ---------- */
.wh-anlaesse { padding: 56px 0; background: #fff; }
.wh-anlaesse__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wh-anlaesse__grid li { margin: 0; }
.wh-anlass { display: block; height: 100%; box-sizing: border-box; border: 1px solid #e3e8ed; border-radius: 8px; padding: 20px 22px; text-decoration: none !important; color: var(--wh-text) !important; background: #fff; transition: border-color .15s, box-shadow .15s; }
.wh-anlass:hover { border-color: var(--wh-blau-hell); box-shadow: 0 4px 14px rgba(26, 111, 163, .12); }
.wh-anlass strong { display: block; font: 700 23px/1.15 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); text-transform: uppercase; margin-bottom: 6px; }
.wh-anlass span { display: block; font-size: 15.5px; line-height: 1.5; }
.wh-anlass em { display: inline-block; margin-top: 10px; font-style: normal; font-weight: 700; color: var(--wh-blau); }
@media (max-width: 900px) { .wh-anlaesse { padding: 40px 0; } .wh-anlaesse__grid { grid-template-columns: 1fr; gap: 10px; } .wh-anlass { padding: 16px 18px; } }

/* ---------- Unterseiten-Bausteine (Anlässe, Kontakt) ---------- */
.wh-seite { padding: 8px 0 24px; }
.wh-seite h1 { font: 700 clamp(34px, 5vw, 52px)/1.05 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); text-transform: uppercase; margin: 10px 0 14px; }
.wh-seite h2 { font: 700 clamp(26px, 3.4vw, 34px)/1.1 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); text-transform: uppercase; margin: 34px 0 12px; }
.wh-seite h3 { font: 700 22px/1.2 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); margin: 22px 0 8px; }
.wh-seite p, .wh-seite li { font-size: 17px; line-height: 1.6; }
.wh-seite .wh-lead { font-size: 19px; color: var(--wh-dunkel); max-width: 46em; }
.wh-seite ul.wh-haken { list-style: none; padding: 0; margin: 0 0 10px; }
.wh-seite ul.wh-haken li { position: relative; padding-left: 30px; margin: 0 0 8px; }
.wh-seite ul.wh-haken li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--wh-blau); font-weight: 800; }
.wh-kacheln { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 18px 0; padding: 0; list-style: none; }
.wh-kacheln li { background: var(--wh-grau); border-radius: 8px; padding: 16px 18px; margin: 0; }
.wh-kacheln strong { display: block; font: 700 26px/1.1 "Barlow Condensed", sans-serif; color: var(--wh-blau); }
.wh-box { background: var(--wh-grau); border-left: 4px solid var(--wh-blau); border-radius: 6px; padding: 16px 20px; margin: 18px 0; }
.wh-cta-zeile { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 8px; }
.wh-cta-zeile .wh-btn--ghost { color: var(--wh-blau) !important; }
.wh-zwei { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.wh-bild { margin: 0; } .wh-bild img { display: block; width: 100%; height: auto; border-radius: 8px; }
.wh-bild figcaption { font-size: 13px; color: var(--wh-text); margin-top: 6px; }
.wh-faq details { border-bottom: 1px solid #e3e8ed; padding: 12px 0; }
.wh-faq summary { cursor: pointer; font: 700 19px/1.3 "Barlow Condensed", sans-serif; color: var(--wh-dunkel); list-style-position: outside; }
.wh-faq details p { margin: 8px 0 0; }
.wh-zeiten { border-collapse: collapse; width: 100%; max-width: 420px; margin: 8px 0 14px; }
.wh-zeiten th, .wh-zeiten td { text-align: left; padding: 6px 10px 6px 0; border-bottom: 1px solid #e3e8ed; font-size: 16.5px; }
.wh-zeiten th { font-weight: 600; color: var(--wh-dunkel); }
.wh-zeiten td { white-space: nowrap; }   /* Uhrzeit nie umbrechen (Handy: „14:00 –“ / „19:00“) */
@media (max-width: 900px) { .wh-kacheln { grid-template-columns: 1fr; } .wh-zwei { grid-template-columns: 1fr; gap: 18px; } .wh-cta-zeile .wh-btn { flex: 1 1 100%; } }

/* ---------- Footer ---------- */
.fusion-footer .wh-fz { list-style: none; margin: 4px 0 12px; padding: 0; line-height: 1.5; }
.fusion-footer .wh-fz li { margin: 0 0 6px; }
.fusion-footer .wh-fz b { display: block; color: var(--wh-dunkel); font-weight: 600; }
.fusion-footer .wh-recht { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 14px; margin-top: 10px; }
.fusion-footer .wh-recht a, .fusion-footer .wh-kontakt a { display: inline-block; padding: 6px 0; min-height: 24px; }
.fusion-footer .wh-kontakt p { margin: 0 0 4px; }
.fusion-footer .wh-karte { display: block; margin: 4px auto 8px; max-width: 320px; }
.fusion-footer .wh-karte img { display: block; width: 100%; height: auto; border-radius: 6px; border: 1px solid #e3e8ed; }
.fusion-footer .wh-osm { font-size: 12.5px; }
.wh-gkarte--gross { margin: 0 0 18px; }
.wh-gkarte--gross iframe { display: block; width: 100%; border-radius: 6px; }
.wh-footlinks { text-align: center; padding: 14px 20px 18px; font-size: 15px; line-height: 2; border-top: 1px solid #eceff2; }
.wh-footlinks a { margin: 0 6px; white-space: nowrap; }
.wh-footlinks strong { color: var(--wh-dunkel); margin-right: 4px; }

/* Blog: Kategorie-/„Weiterlesen“-Links größere Tippfläche, Seitenleisten-Icons */
.fusion-meta-info a, .fusion-read-more { display: inline-block; padding: 4px 0; min-height: 24px; }
.sidebar .fusion-social-network-icon { font-size: 22px !important; padding: 4px; }

/* ---------- Buchen-Leiste am Handy ---------- */
.wh-mbar { display: none; }
@media only screen and (max-width: 1000px) {
  .wh-mbar { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; gap: 8px; padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .97); box-shadow: 0 -2px 10px rgba(0, 0, 0, .12); }
  .wh-mbar a { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 46px; border-radius: 4px; font: 700 16px/1 Barlow, sans-serif; letter-spacing: .05em; text-transform: uppercase; text-decoration: none !important; }
  .wh-mbar__book { background: var(--wh-blau); color: #fff !important; flex: 1.6 !important; }
  .wh-mbar__route { border: 2px solid var(--wh-blau); color: var(--wh-blau) !important; }
  body { padding-bottom: 66px; }
  #toTop, .fusion-top-top-link { bottom: 74px !important; }
}

/* Spinner-Text des alten Sliders + Sliding-Bar-Reste nie zeigen */
.fusion-slider-loading { display: none !important; }

/* =====================================================================================================================
   v1.6 Feinschliff (28.10.2026, Mike: „auf mobil waren noch ein paar Abstände unregelmäßig … graue Boxen etwas kleiner“)
   ===================================================================================================================== */

/* Öffnungszeiten-Liste überall gleich (Blog-Seitenleiste hatte keine Regeln → „Dienstag – Donnerstag15:00 – 19:00 Uhr“) */
.wh-fz { list-style: none; margin: 4px 0 12px; padding: 0; line-height: 1.5; }
.wh-fz li { margin: 0 0 6px; }
.wh-fz b { display: block; color: var(--wh-dunkel); font-weight: 600; }

/* Häkchen-Listen: Text in Fließtext-Farbe (vorher #7b838b = 3,8:1) */
#main .fusion-checklist p { color: var(--wh-text); }

/* Leerer Kopf einer Preistabelle (Newsletter-Formular) → kein leerer blauer Balken */
.awb-pricing-table__heading:has(> .title-row:empty), .awb-pricing-table .panel-body.pricing-row:empty { display: none; }

/* Links in der Blog-Seitenleiste wie im Fließtext unterstreichen (nicht nur Farbe) */
.sidebar .textwidget a { text-decoration: underline; text-underline-offset: 2px; }

@media only screen and (max-width: 1024px) {
  /* „Wie funktioniert's?“-Kacheln (Start, Preise, So funktioniert's; Klasse wh-kachel setzt v16.py): 12 %/10 % Innenabstand + 81-px-Symbol → kompakt */
  #main .wh-kachel > .fusion-column-wrapper { padding: 22px 20px 20px !important; }
  #main .wh-kachel .fb-icon-element {
    --awb-width: 56px !important; --awb-height: 56px !important; --awb-line-height: 54px !important; --awb-font-size: 26px !important; --awb-margin-bottom: 10px !important; }
  #main .wh-kachel .fusion-text { --awb-font-size: 16.5px !important; }
  #main .wh-kachel .fusion-text p { margin-bottom: 0; line-height: 1.5; }
  #main .wh-kachel .fusion-text p:empty { display: none; }

  /* Kundenstimmen (Teambuilding): graue Kästen mit 13 %/10 % Innenabstand, gesperrter Kursivtext → kompakt, normal lesbar */
  /* „Noch weitere Fragen?“ (Start, Klasse wh-fragen): 20 % Innenabstand → feste Werte */
  #main .wh-fragen > .fusion-column-wrapper { padding-top: 32px !important; padding-bottom: 24px !important; }
  /* „Noch offene Fragen? [Zu den FAQ's]“: am Desktop nebeneinander (Überschrift rechtsbündig, Knopf linksbündig);
     untereinander (Tablet) versetzt → beide mittig */
  #main .fusion-builder-row-inner:has(.title-heading-right):has(.fusion-button) .title-heading-right { text-align: center !important; }
  #main .fusion-builder-row-inner:has(.title-heading-right):has(.fusion-button) div[style*="text-align:left"]:has(> .fusion-button) { text-align: center !important; }

  /* Gutschein-Band (Preise): blaue Kachel ragte rechts über den Rand → bündig unter der Überschrift, so breit wie der Knopf */
  #main .fusion-column-wrapper:has(> .fusion-builder-row-inner > .fusion-column-inner-bg-wrapper .fusion-button) { padding: 0 26px !important; }
  #main .fusion-builder-row-inner:has(> .fusion-column-inner-bg-wrapper .fusion-button) > .fusion-layout-column:not(.fusion-column-inner-bg-wrapper) { display: none !important; }
  #main .fusion-builder-row-inner:has(> .fusion-column-inner-bg-wrapper .fusion-button) > .fusion-column-inner-bg-wrapper { width: auto !important; flex: 0 0 auto !important; }

  #main .wh-stimme > .fusion-column-wrapper { padding: 24px 22px 20px !important; }
  #main .fusion-testimonials .testimonial-thumbnail .testimonial-image { width: 84px !important; height: 84px !important; }
  #main .fusion-testimonials blockquote, #main .fusion-testimonials blockquote p { letter-spacing: normal !important; font-size: 16.5px !important; line-height: 1.55 !important; color: var(--wh-text) !important; }
}

@media only screen and (max-width: 800px) {
  /* Textseiten (Kontakt, Blog, Impressum, AGB, Datenschutz, Highscores, Newsletter, 404): Avadas 90 px über/unter dem Inhalt
     → 36/48 px wie bei den übrigen Seiten; kleinere Seitenwerte (0, 30 px) bleiben */
  #main { padding-top: min(var(--main_padding-top, 90px), 36px) !important; padding-bottom: min(var(--main_padding-bottom, 90px), 48px) !important; }

  /* Häkchen-Listen (2 Spalten untereinander): gleiche Abstände innerhalb und zwischen den Listen, Fließtext-Größe */
  #main .fusion-checklist { --awb-size: 17px !important; --awb-line-height: 26px !important; --awb-icon-width: 26px !important; --awb-icon-height: 26px !important;
    --awb-icon-margin: 10px !important; --awb-content-margin: 36px !important; font-size: 17px !important; line-height: 26px !important; margin-top: 0 !important; margin-bottom: 0 !important; }
  #main .fusion-checklist .fusion-li-item { padding: 0 0 14px !important; }
  #main .fusion-checklist .fusion-li-item p { margin: 0 !important; font-size: 17px; line-height: 26px; }
  #main .fusion-layout-column:has(> .fusion-column-wrapper > .fusion-checklist) { margin-bottom: 0 !important; }
  #main .fusion-layout-column:has(> .fusion-column-wrapper > .fusion-checklist) + .fusion-layout-column:has(> .fusion-column-wrapper > .fusion-checklist) { margin-top: 0 !important; }

  /* Gemischte Ausrichtung in einem Textblock (lange Absätze schon linksbündig) → alles linksbündig */
  #main .fusion-text:has(> p.wh-lang) > p { text-align: left !important; }

  /* Lange Adressen/Links (Datenschutzerklärung) brechen um statt rechts abgeschnitten zu werden */
  #main .post-content p, #main .post-content li { overflow-wrap: break-word; }

  /* Blogbeiträge: Blocksatz reißt am Handy Lücken → linksbündig */
  #main .post-content [style*="text-align: justify"] { text-align: left !important; }
}

@media only screen and (max-width: 767px) {
  /* Fußbereich (bis 767 px einspaltig; 768–900 px dreispaltig = Avada wie bisher): ein Hintergrund, gleiche Innenabstände,
     Trennlinien statt 50-px-Lücken und wechselnder Kästen */
  .fusion-footer .fusion-footer-widget-area { background: #f7f7f7 !important; }
  .fusion-footer .fusion-footer-widget-column { padding: 26px 24px !important; margin: 0 !important; background-color: transparent !important;
    border: 0 !important; border-bottom: 1px solid #e3e7eb !important; }
  .fusion-footer .fusion-footer-widget-area .fusion-column { margin-bottom: 0 !important; }
  .fusion-footer .fusion-footer-widget-column .widget-title { margin-bottom: 12px !important; }
  .fusion-footer .fusion-footer-widget-column p:last-child, .fusion-footer .wh-fz:last-child { margin-bottom: 0; }
}

@media only screen and (max-width: 640px) {
  /* YouTube-Platzhalter (vor der Einwilligung): Text passt nicht in 16:9 → Kasten wächst mit, statt Text abzuschneiden */
  [data-wh-youtube]:has(.whc-blk-yt), .whc-yt-ph:has(.whc-blk-yt) { aspect-ratio: auto !important; }
  .whc-blk-yt { position: relative !important; inset: auto !important; padding: 22px 16px !important; }
}

/* ---------- v1.6 Nachtrag 28.10.2026 (Rückmeldung Simon: „Linksbündig/zentriert nicht einheitlich“, Partyraum-Kalender) ---------- */
/* Textblöcke, in denen v1.5 nur die langen Absätze linksbündig gesetzt hat (wh-lang): am Desktop alle Absätze mittig in gleicher
   Zeilenlänge (bis 800 px alle linksbündig, Regel oben). Ausnahme wh-links (v16.py, Preise): Absätze unter der Öffnungszeiten-Tabelle
   → linksbündig an deren Kante (Tabelle max. 860 px, mittig). */
@media only screen and (min-width: 801px) {
  #main .fusion-text:not(.wh-links):has(> p.wh-lang) > p { text-align: center !important; max-width: 46em; margin-left: auto; margin-right: auto; }
}
#main .fusion-text.wh-links > p { text-align: left !important; max-width: 860px; margin-left: auto; margin-right: auto; }
/* Kontakt: Hinweistext unter den zwei Spalten (v16.py holt ihn in den Seitenrahmen) → linksbündig an der linken Spalte */
.wh-kontakt-text { margin-top: 34px; max-width: 46em; }
.wh-kontakt-text p { margin: 0 0 12px; }

/* Partyraum-Kalender (/partyraum/#reservieren, Bookeo-Widget nach Einwilligung) – volle Breite wie die übrigen eigenen Abschnitte */
#main .wh-res { margin-left: calc(-1 * var(--hundredp_padding, 30px)); margin-right: calc(-1 * var(--hundredp_padding, 30px));
  padding: 24px 0 56px; }
#main .wh-res .wh-wrap { max-width: 900px; }
#main .wh-res .wh-sub { margin-bottom: 22px; }
.wh-res__kal { min-height: 200px; }
.wh-res__alt { text-align: center; font-size: 15px; margin: 18px 0 0; }
/* Sprungziel: Avadas Scrollen zieht am Desktop den Kopf ab, am Handy nicht (mitlaufender Kopf ist eigenes CSS) → Anker dort 100 px höher; Ziel: Überschrift ~25–35 px unter dem Kopf */
.wh-anker { display: block; position: relative; top: -24px; height: 0; scroll-margin-top: 86px; }
@media only screen and (max-width: 1000px) { #main .wh-res { padding-bottom: 40px; } .wh-anker { top: -100px; scroll-margin-top: 0; } }
/* Fußbereich: Mail-Adressen als Ganzes umbrechen, innen nur am <wbr> vor dem @ (v16.py), wenn die Spalte zu schmal ist */
.fusion-footer .textwidget a[href^="mailto:"] { display: inline-block; }

/* =====================================================================================================================
   v1.6 Abstands-Raster Handy (30.10.2026, Mike: „mobil die Abstände angleichen, optimieren, auf der ganzen Seite“)
   Bis 800 px gilt überall dasselbe Maß statt Avadas Einzelwerten (5 %, 15 px, leere 1/6-Spalten, unsichtbare Trenner):
     Seitenrand 20 px · Abschnitt ↔ Abschnitt 48 px · farbiges Band innen 40 px (auch Abstand eines Abschnitts zur Bandkante)
     Überschrift → Inhalt 20 px · Block → Block in einer Spalte 20 px · Spalte → Spalte 24 px · Karte innen 22/20 px · Karte ↔ Karte 16 px
   Was ein Block ist (wh-m-band/-flach/-grau/-kopf/-zacke, Spalten wh-m-leer/-karte), markiert tools/v15/abstaende.py.
   ===================================================================================================================== */
@media only screen and (max-width: 800px) {
  :root, body { --hundredp_padding: 20px !important; }
  #main { --wh-m-rand: 20px; --wh-m-abschnitt: 24px; --wh-m-band: 40px; --wh-m-block: 20px; --wh-m-spalte: 24px; --wh-m-karte: 16px;
    padding-left: var(--wh-m-rand) !important; padding-right: var(--wh-m-rand) !important; }
  .wh-wrap { padding-left: 20px; padding-right: 20px; }

  /* ---- Abschnitte (direkte Kinder von .post-content) ---- */
  #main .post-content > .fusion-fullwidth { padding: var(--wh-m-abschnitt) var(--wh-m-rand) !important; margin: 0 calc(-1 * var(--wh-m-rand)) !important; min-height: 0 !important; }
  #main .post-content > .fusion-fullwidth.wh-m-band { padding-top: var(--wh-m-band) !important; padding-bottom: var(--wh-m-band) !important; }
  #main .post-content > .wh-anlaesse, #main .post-content > .wh-seite { padding-top: var(--wh-m-abschnitt) !important; padding-bottom: var(--wh-m-abschnitt) !important; }
  #main .post-content > .wh-reviews { padding-top: var(--wh-m-band) !important; padding-bottom: var(--wh-m-band) !important; }
  /* erster Abschnitt unter Kopf/Startbild und letzter vor dem Fußbereich (grau): wie zu einer Bandkante */
  #main .post-content > :is(.wh-m-flach, .wh-anlaesse, .wh-seite):first-child { padding-top: var(--wh-m-band) !important; }
  #main .post-content > :is(.wh-m-flach, .wh-anlaesse, .wh-seite):last-child { padding-bottom: var(--wh-m-band) !important; }
  /* flacher Abschnitt neben einem Band: 40 px bis zur Kante */
  #main .post-content > :is(.wh-m-flach, .wh-anlaesse, .wh-seite):has(+ :is(.wh-m-band, .wh-reviews)) { padding-bottom: var(--wh-m-band) !important; }
  #main .post-content > :is(.wh-m-band, .wh-reviews) + :is(.wh-m-flach, .wh-anlaesse, .wh-seite) { padding-top: var(--wh-m-band) !important; }
  /* zwei graue Bänder hintereinander (auch Kundenstimmen + Reservierung) = ein Band in einer Farbe */
  #main .post-content > .wh-m-grau + .wh-m-grau, #main .post-content > .wh-m-grau + .wh-reviews, #main .post-content > .wh-reviews + .wh-m-grau { padding-top: 0 !important; }
  #main .post-content > .wh-reviews:is(.wh-m-grau + *, :has(+ .wh-m-grau)) { background: #f7f7f7; }
  /* Kundenstimmen: Überschrift → Bewertung → Karten → Link je 20/16 px, unten 40 px wie jedes Band */
  #main .wh-reviews__badge { margin-bottom: var(--wh-m-block); }
  #main .wh-reviews__list { padding-bottom: 4px; }
  #main .wh-review__by { margin-bottom: 0; }
  #main .wh-reviews__more { margin: 12px 0 0; }
  /* Anlässe: Karte ↔ Karte wie überall */
  #main .wh-anlaesse__grid { gap: var(--wh-m-karte); }
  /* Preistabelle (Start, Preise, Partyraum): Knopf → Kartenende wie Liste → Knopf; Avadas negative Außenabstände (Kasten ragt 10/20 px
     über die Spalte und schob am Partyraum die nächste Überschrift unter den Kasten) → bündig */
  #main .awb-pricing-table .panel-footer { padding-bottom: 12px !important; }
  #main .awb-pricing-table .panel-container { margin: 0 !important; }
  /* Textblöcke mit eigenem Seitenabstand aus dem alten Editor (Partyraum: 10,5 px) → bündig am Seitenrand */
  #main .post-content .fusion-column-wrapper > .fusion-text { margin-left: 0 !important; margin-right: 0 !important; }
  /* Eigene Seiten (Anlässe, Kontakt, English): Abschnitts-Überschrift 40 px unter dem Vorigen, zweispaltige Teile untereinander ohne Doppelabstand */
  #main .wh-seite h2 { margin-top: 40px; }
  #main .wh-seite :is(h1, h2, h3):first-child, #main .wh-seite .wh-zwei > * > :first-child { margin-top: 0; }
  #main .wh-seite .wh-zwei > * > :last-child { margin-bottom: 0; }
  #main .wh-seite .wh-zwei { gap: 40px; }
  #main .wh-kontakt-text { margin-top: 40px; }

  /* Abstand zu Kopf/Startbild und Fußbereich: 40 px von den Abschnitten selbst, nicht von #main (Avada je Seite 0, 30/45 oder 36/48 px) */
  #main { padding-top: 0 !important; padding-bottom: 0 !important; }
  #main .post-content > :not(.fusion-fullwidth, .wh-seite, .wh-anlaesse, .wh-reviews):first-child { margin-top: var(--wh-m-band) !important; }
  #main .post-content > :not(.fusion-fullwidth, .wh-seite, .wh-anlaesse, .wh-reviews):last-child { margin-bottom: var(--wh-m-band) !important; }
  #main #content:not(:has(> * > .post-content)) { padding-top: var(--wh-m-band); padding-bottom: var(--wh-m-band); }   /* Kategorie-Archive (Beitragskarten heißen dort auch post-content, aber tiefer) */
  #main .wh-seite .wh-wrap > :last-child, #main .wh-seite .wh-wrap > :last-child > :last-child { margin-bottom: 0; }
  #main .fusion-blog-archive .fusion-post-medium:last-child { margin-bottom: 0 !important; }
  /* Blogbeitrag: nach dem Text folgen „Ähnliche Beiträge“ und die Seitenleiste, die den Abstand zum Fuß trägt */
  #main .type-post .post-content > :last-child { padding-bottom: 0 !important; }
  #main .fusion-row > .sidebar:last-child { margin-bottom: var(--wh-m-band) !important; }
  /* Kontakt: Seitenüberschrift → erste Zwischenüberschrift wie Überschrift → Inhalt, nicht direkt darunter */
  #main .wh-seite h1 + .wh-zwei { margin-top: 28px; }
  /* Häufige Fragen (eigene Seiten): Pfeil steht im Seitenrand statt am Bildschirmrand */
  #main .wh-faq details { padding-left: 18px; }
  /* Blogbeitrag: Text → „Ähnliche Beiträge“ → Seitenleiste je 48 px, Kästen der Seitenleiste 40 px auseinander */
  #main #content { margin-bottom: 0 !important; }
  #main .single-related-posts { margin-top: 48px !important; }
  #main .sidebar { margin-top: 48px !important; padding-top: 0 !important; padding-bottom: 0 !important; }
  #main .sidebar .fusion-sidebar-inner-content { padding-top: 0 !important; padding-bottom: 0 !important; }
  #main .sidebar .widget { margin-bottom: 40px !important; }
  #main .sidebar .widget:last-child { margin-bottom: 0 !important; }
  #main .sidebar .widget .widget-title { margin-top: 0 !important; }
  #main .sidebar .widget > :last-child > :last-child, #main .sidebar .textwidget > :last-child { margin-bottom: 0 !important; }
  #main .sidebar + .sidebar { margin-top: 40px !important; }
  /* Blog-Übersicht: Beiträge 48 px auseinander, Text → Infozeile 20 px */
  #main .fusion-blog-archive .fusion-post-medium { margin-bottom: 48px !important; }
  #main .fusion-blog-archive .fusion-post-content-container > :last-child { margin-bottom: 0 !important; }

  /* Abschnitt, der nur eine Überschrift (oder nur das Logo) enthält, hängt am nächsten: Abstand wie Überschrift → Inhalt */
  #main .post-content > .fusion-fullwidth.wh-m-kopf.wh-m-kopf { padding-bottom: var(--wh-m-block) !important; }
  #main .post-content > .wh-m-kopf + .fusion-fullwidth.fusion-fullwidth { padding-top: 0 !important; }
  #main .post-content > .wh-m-kopf .fusion-image-element img { max-width: 300px; }   /* MISSION-Logo nicht randvoll */
  /* Band mit Avadas Dreiecks-Trenner oben (Hol dir dein Ticket): Dreieck sitzt an der Kante */
  #main .post-content > .fusion-fullwidth.wh-m-band.wh-m-zacke { padding-top: 0 !important; }

  /* ---- Zeilen und Spalten: volle Breite, kein Avada-Seitenabstand, gleiche Abstände untereinander ---- */
  #main .post-content .fusion-fullwidth .fusion-builder-row { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  #main .post-content .fusion-fullwidth .fusion-layout-column.fusion-layout-column { margin: 0 0 var(--wh-m-spalte) !important; padding-left: 0 !important; padding-right: 0 !important; }
  #main .post-content .fusion-fullwidth .fusion-layout-column > .fusion-column-wrapper { margin: 0 !important; padding: 0 !important; min-height: 0 !important; }
  #main .post-content .fusion-layout-column.wh-m-leer { display: none !important; }
  #main .post-content > .fusion-fullwidth.wh-m-leer { display: none !important; }
  /* Karten: fester Innenabstand, 16 px zur nächsten Karte */
  #main .post-content .fusion-fullwidth .fusion-layout-column.wh-m-karte > .fusion-column-wrapper { padding: 22px 20px 20px !important; }
  #main .post-content .fusion-fullwidth .fusion-layout-column.wh-m-karte:has(+ .wh-m-karte) { margin-bottom: var(--wh-m-karte) !important; }

  /* ---- Elemente in einer Spalte: oben nichts, darunter 20 px, am Ende nichts ---- */
  #main .post-content .fusion-column-wrapper > :is(.fusion-clearfix, .fusion-sep-clear, .wh-m-weg), #main .post-content .wh-m-weg { display: none !important; }
  /* Platzhalter vor der Einwilligung (Bookeo, Karten): dahinter steht nur das ausgeblendete Original + Skript → zählt als letztes Element */
  #main .post-content .fusion-column-wrapper > .whc-blk:not(:has(~ :not(script, style, link, [data-wh-consent], .fusion-clearfix, .fusion-sep-clear, .wh-m-weg))) { margin-bottom: 0 !important; }
  #main .post-content .wh-video-wrap > .wh-video { margin-bottom: 0; }
  #main .post-content .fusion-column-wrapper > * { margin-top: 0 !important; margin-bottom: var(--wh-m-block) !important; }
  #main .post-content .fusion-column-wrapper > .fb-icon-element.fb-icon-element { margin-bottom: 12px !important; }   /* Symbol über dem Kacheltext */
  /* Häkchen-Listen in zwei Spalten untereinander = eine Liste (gleicher Abstand wie zwischen den Punkten), letzter Punkt ohne Abstand */
  #main .post-content .fusion-fullwidth .fusion-layout-column.fusion-layout-column:has(> .fusion-column-wrapper > .fusion-checklist):has(+ .fusion-layout-column > .fusion-column-wrapper > .fusion-checklist) { margin-bottom: 0 !important; }
  #main .post-content .fusion-layout-column:not(:has(+ .fusion-layout-column > .fusion-column-wrapper > .fusion-checklist)) > .fusion-column-wrapper > .fusion-checklist > .fusion-li-item:last-child { padding-bottom: 0 !important; }
  #main .post-content .fusion-column-wrapper > .fusion-title { --awb-margin-top-small: 0px !important; --awb-margin-bottom-small: var(--wh-m-block) !important; }
  #main .post-content .fusion-column-wrapper > .fusion-text > :last-child, #main .post-content .fusion-column-wrapper > .fusion-text > :last-child > :last-child { margin-bottom: 0 !important; }
}
/* letzte sichtbare Spalte einer Zeile / letztes sichtbares Element einer Spalte: kein Abstand nach unten
   (Avada blendet …-small-visibility bis 640 px aus, …-medium-visibility von 641 bis 1024 px) */
@media only screen and (max-width: 640px) {
  #main .post-content .fusion-fullwidth .fusion-layout-column.fusion-layout-column:not(:has(~ .fusion-layout-column:not(.wh-m-leer, .fusion-no-small-visibility))) { margin-bottom: 0 !important; }
  #main .post-content .fusion-column-wrapper > :not(:has(~ :not(script, style, link, noscript, template, .fusion-clearfix, .fusion-sep-clear, .wh-m-weg, .fusion-no-small-visibility))) { margin-bottom: 0 !important; }
}
@media only screen and (min-width: 641px) and (max-width: 800px) {
  #main .post-content .fusion-fullwidth .fusion-layout-column.fusion-layout-column:not(:has(~ .fusion-layout-column:not(.wh-m-leer, .fusion-no-medium-visibility))) { margin-bottom: 0 !important; }
  #main .post-content .fusion-column-wrapper > :not(:has(~ :not(script, style, link, noscript, template, .fusion-clearfix, .fusion-sep-clear, .wh-m-weg, .fusion-no-medium-visibility))) { margin-bottom: 0 !important; }
}

/* Partyraum-Startbild (30.10.2026, Mike: „auf Desktop nur die Hälfte des Viewports“): ab 801 px höchstens halbe Fensterhöhe, nie höher als
   das Bild selbst (16:9 → 56,25 vw); Ausschnitt etwas über der Mitte, damit Hüte und Köpfe drin bleiben. Bis 800 px unverändert. */
@media only screen and (min-width: 801px) {
  .wh-banner img { display: block; width: 100%; height: min(50vh, 56.25vw); object-fit: cover; object-position: 50% 30%; }
}

