/**
 * Desktop = Tailwind (#pb-tw-desktop-root), Mobile = Ionic (.home-mobile-shell).
 * html + body: .home-split-layout (Startseite index.php + alle Unterseiten mit pb_partybienchen_split_*).
 */
#pb-tw-desktop-root,
#pb-tw-desktop-root *,
#pb-tw-desktop-root *::before,
#pb-tw-desktop-root *::after {
  box-sizing: border-box;
}

#pb-tw-desktop-root {
  display: none;
}

/**
 * Typografie wie Desktop-Tailwind: Inter (Fließtext) + Poppins (Überschriften).
 * Überschreibt home-2026 :root --pb-font für alle Seiten mit .home-split-layout.
 */
body.home-split-layout {
  --pb-font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --pb-heading-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

body.home-split-layout #pb-tw-desktop-root {
  font-family: var(--pb-font);
}

body.home-split-layout #pb-tw-desktop-root .pb-desktop-subpage-inner,
body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner {
  font-family: var(--pb-font);
  font-size: 1rem;
  line-height: 1.65;
  color: #334155;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.home-split-layout #pb-tw-desktop-root .pb-desktop-subpage-inner h1,
body.home-split-layout #pb-tw-desktop-root .pb-desktop-subpage-inner h2,
body.home-split-layout #pb-tw-desktop-root .pb-desktop-subpage-inner h3,
body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner h1,
body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner h2,
body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner h3,
body.home-split-layout .home-mobile-shell ion-card-title,
body.home-split-layout .home-mobile-shell .faq-section h2 {
  font-family: var(--pb-heading-font);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0f172a;
}

body.home-split-layout .home-mobile-shell ion-content#main-content {
  font-family: var(--pb-font);
}

body.home-split-layout .home-mobile-shell ion-label,
body.home-split-layout .home-mobile-shell ion-item,
body.home-split-layout .home-mobile-shell ion-select,
body.home-split-layout .home-mobile-shell ion-select-option {
  font-family: var(--pb-font);
}

/* Mobile: Ionic – Scroll im Shadow-Teil von ion-content */
@media (max-width: 1023px) {
  html.home-split-layout,
  body.home-split-layout {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    height: 100%;
    max-height: 100%;
    margin: 0;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }

  body.home-split-layout #pb-tw-desktop-root {
    display: none !important;
  }

  /* Mobile-Shell fehlt (z. B. nach Breitenwechsel): Desktop-Spalte wieder sichtbar, sonst leerer/weißer Screen */
  html.home-split-layout.pb-mobile-shell-missing,
  html.home-split-layout.pb-mobile-shell-missing body.home-split-layout {
    overflow: auto !important;
    max-height: none !important;
    height: auto !important;
    min-height: 100dvh !important;
  }

  html.home-split-layout.pb-mobile-shell-missing body.home-split-layout #pb-tw-desktop-root {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: 0 !important;
    min-height: 100dvh !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  /**
   * Shell: keine min-height:0 — das überschrieb die kritische Inline-Regel und ließ bei Ionic
   * (body oft position:fixed, %-Höhen) die Kette auf 0×0 kollabieren (weißer Screen, siehe Layout-Probe).
   */
  body.home-split-layout .home-mobile-shell {
    display: flex !important;
    flex-direction: column;
    box-sizing: border-box !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 100dvh !important;
    min-height: 100svh !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden;
  }

  body.home-split-layout .home-mobile-shell ion-app {
    display: flex !important;
    flex: 1 1 0;
    flex-direction: column;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    overflow: hidden;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.home-split-layout .home-mobile-shell ion-app > ion-header.pb-app-header {
    flex-shrink: 0;
  }

  /**
   * ion-content scroll-y="false": kein Ionic-Shadow-Scroll (scrollbar ohne Wirkung).
   * Stattdessen scrollt .pb-mobile-native-scroll (normales overflow-y:auto).
   */
  body.home-split-layout ion-content#main-content {
    flex: 1 1 0;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    --overflow: hidden;
    display: flex !important;
    flex-direction: column !important;
  }

  body.home-split-layout ion-content#main-content::part(scroll) {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    -webkit-overflow-scrolling: auto;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-native-scroll {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    /* Flex-Kette kann vor Ionic-Messung 0px liefern → nur Fläche/Hintergrund sichtbar; Mindesthöhe entschärft das. */
    min-height: min(42vh, 520px) !important;
    max-height: none !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior-y: contain !important;
    touch-action: pan-y !important;
    pointer-events: auto !important;
    position: relative;
    z-index: 1;
  }

  /**
   * Menü-Backdrop (Shadow ::part): darf nicht die Hauptfläche blockieren, wenn das Menü zu ist.
   * Losgelöste body-ion-backdrop-Elemente beseitigt pb_mobile_native_scroll.js (Watchdog).
   */
  body.home-split-layout ion-menu::part(backdrop) {
    pointer-events: none !important;
    opacity: 0 !important;
  }

  /**
   * Mobile-Shell: einheitliches helles Theme (kein Vollbild-Gelb, keine hellen Schriften auf Gold).
   * Überschreibt styles.css / home-2026.css für .home-split-layout.
   */
  body.home-split-layout .home-mobile-shell ion-content#main-content {
    --background: #f1f5f9 !important;
    --color: #0f172a !important;
    color: #0f172a !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Ionic kann ion-app / main-content vor Hydration visibility:hidden setzen — bei korrekter Shell-Geometrie sichtbar halten */
  body.home-split-layout #pb-home-mobile-shell ion-app,
  body.home-split-layout #pb-home-mobile-shell ion-content#main-content {
    visibility: visible !important;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner {
    color: #0f172a;
  }

  /* Split: Mobil-Hero liegt vor .huepfburg-details / .partyzubehoer-details — sicher sichtbar halten */
  body.home-split-layout #pb-home-mobile-shell .pb-mobile-subpage-inner > .pb-home-wrap {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative;
    z-index: 2;
    flex-shrink: 0;
  }

  body.home-split-layout .home-mobile-shell ion-app > ion-header.pb-app-header ion-toolbar.pb-app-toolbar {
    --background: linear-gradient(180deg, #ffffff 0%, #f8fafc 42%, #f1f5f9 78%, #eef2ff 100%) !important;
    --ion-background-color: #ffffff !important;
    --border-width: 0 0 1px 0 !important;
    --border-color: rgba(148, 163, 184, 0.45) !important;
    --min-height: 56px;
    --padding-top: 6px;
    --padding-bottom: 6px;
    box-shadow: 0 1px 0 rgba(148, 163, 184, 0.45), 0 10px 28px -14px rgba(15, 23, 42, 0.1);
  }

  /* Zwei Zeilen (Marke + Kontext) — wie Desktop-Topbar, kompakt für Mobil */
  body.home-split-layout .home-mobile-shell ion-title.pb-header-title-simple {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    padding-inline: 10px !important;
    margin-inline: auto;
    max-width: min(100%, calc(100vw - 132px));
    text-align: center;
    pointer-events: auto !important;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.2;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-stack {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    pointer-events: auto;
    max-width: 100%;
  }

  /* Mobil-Kopf: Grafik statt Zwei-Zeilen-Text (Partybienchen + Kontext) */
  body.home-split-layout .home-mobile-shell .pb-mobile-header-stack--logo-home {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: min(220px, calc(100vw - 140px));
    text-decoration: none !important;
    line-height: 0;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-logo-img {
    display: block;
    max-height: 42px;
    width: auto;
    max-width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center center;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-brand {
    font-family: var(--pb-heading-font), Poppins, system-ui, sans-serif;
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #6d28d9 !important;
    text-decoration: none !important;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-brand:hover,
  body.home-split-layout .home-mobile-shell .pb-mobile-header-brand:focus-visible {
    color: #5b21b6 !important;
    text-decoration: none !important;
  }

  body.home-split-layout .home-mobile-shell .pb-mobile-header-ctx {
    display: block;
    font-family: var(--pb-font), Inter, system-ui, sans-serif;
    font-size: 0.68rem;
    font-weight: 600;
    color: #64748b !important;
    letter-spacing: 0.01em;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.2;
  }

  body.home-split-layout .home-mobile-shell ion-title.pb-header-title-simple .pb-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  body.home-split-layout .home-mobile-shell ion-title.pb-header-title-simple,
  body.home-split-layout .home-mobile-shell .pb-header-title-link {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .pb-menu-toggle-btn {
    --color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell ion-footer {
    --background: #ffffff !important;
    --ion-background-color: #ffffff !important;
    border-top: 1px solid #e2e8f0;
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content a:not(.yellow-button):not(.pb-hero-cta):not(.pb-header-title-link) {
    color: #6d28d9;
    font-weight: 600;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content ion-item {
    --background: #ffffff;
    --color: #0f172a;
    --border-color: #e2e8f0;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content ion-label,
  body.home-split-layout .home-mobile-shell ion-content#main-content .native-input,
  body.home-split-layout .home-mobile-shell ion-content#main-content .native-textarea {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content .yellow-button {
    --background: #fbbf24 !important;
    --color: #0f172a !important;
    font-weight: 800;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content ion-card {
    --background: #ffffff;
    color: #0f172a;
  }

  body.home-split-layout .home-mobile-shell ion-content#main-content ion-card-title,
  body.home-split-layout .home-mobile-shell ion-content#main-content ion-card-header {
    color: #0f172a !important;
  }

  /* Eingebundene helle Info-Kästen (Partyzubehör-Filter, Kontakt-Header, …) */
  body.home-split-layout .home-mobile-shell .filter-container,
  body.home-split-layout .home-mobile-shell .kontakt-header,
  body.home-split-layout .home-mobile-shell .downloads-header,
  body.home-split-layout .home-mobile-shell .impressum-header {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container .page-h1,
  body.home-split-layout .home-mobile-shell .filter-container .page-intro,
  body.home-split-layout .home-mobile-shell .kontakt-header h2,
  body.home-split-layout .home-mobile-shell .downloads-header h2,
  body.home-split-layout .home-mobile-shell .impressum-header h2 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container .page-intro,
  body.home-split-layout .home-mobile-shell .kontakt-header p,
  body.home-split-layout .home-mobile-shell .downloads-header p,
  body.home-split-layout .home-mobile-shell .impressum-header p {
    color: #475569 !important;
  }

  body.home-split-layout .home-mobile-shell .anchor-nav a {
    background: #f5f3ff !important;
    color: #5b21b6 !important;
    border: 1px solid #ddd6fe;
  }

  body.home-split-layout .home-mobile-shell .header-mail-native-btn {
    --background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
  }

  body.home-split-layout .home-mobile-shell .header-mail-native-btn ion-icon {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .header-mail-native-btn--whatsapp ion-icon {
    color: #128c7e !important;
  }

  /**
   * Buchungsformular: Flatpickr blendet das echte #desktop-mietdatum aus und zeigt .flatpickr-alt-input.
   * Ohne diese Regeln kann die Datumszeile auf dem Handy fehlen (0×0 oder hinter Schichten).
   */
  body.home-split-layout .home-mobile-shell #calendar-wrapper {
    position: relative;
    z-index: 4;
    width: 100%;
    box-sizing: border-box;
  }

  /* Vor Flatpickr-Init: direktes #desktop-mietdatum im Wrapper */
  body.home-split-layout .home-mobile-shell #calendar-wrapper > input#desktop-mietdatum {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    box-sizing: border-box;
    min-height: 48px;
    font-size: 16px !important;
    color: #0f172a !important;
    background: #fff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
  }

  body.home-split-layout .home-mobile-shell #calendar-wrapper .flatpickr-wrapper {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.home-split-layout .home-mobile-shell #calendar-wrapper .flatpickr-alt-input {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 48px;
    padding: 12px 14px !important;
    font-size: 16px !important;
    line-height: 1.4;
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #0f172a !important;
    margin-bottom: 0.5rem;
  }

  body.home-split-layout .home-mobile-shell #calendar-wrapper .flatpickr-calendar.inline {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 0.35rem;
  }

  /**
   * Fallback ohne .home-mobile-shell-Prefix + Hauptfeld, wenn Flatpickr ohne altInput (≤1023px in JS).
   * Erzwingt sichtbare Zeile gegen flatpickr.min.css (position/opacity).
   */
  body.home-split-layout #desktop-booking-form #calendar-wrapper {
    position: relative;
    z-index: 4;
    width: 100%;
    box-sizing: border-box;
  }

  body.home-split-layout #desktop-booking-form #calendar-wrapper .flatpickr-calendar.inline {
    visibility: visible !important;
    opacity: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    box-sizing: border-box;
    margin-top: 0.35rem;
  }

  body.home-split-layout #desktop-booking-form #calendar-wrapper input.flatpickr-input,
  body.home-split-layout #desktop-booking-form #calendar-wrapper input#desktop-mietdatum {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 14px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    color: #0f172a !important;
    background: #fff !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 10px !important;
    margin-bottom: 0.5rem !important;
    -webkit-appearance: none;
    appearance: none;
  }
}

/**
 * Flatpickr (Produktdetails): Monats-Dropdown/Tage müssen über Karten/Schatten klickbar sein.
 * Ohne globale Regel gilt die hohe z-index-Regel nur in @media (min-width: 1024px) — dann z. B. 1023px + Scrollbar: Kalender „reagiert nicht“.
 */
body.home-split-layout .flatpickr-calendar {
  z-index: 2147482000 !important;
  pointer-events: auto !important;
}

/* Produktdetails: WhatsApp wie Startseiten-Hero (home-2026 .pb-hero-cta--wa), unter Galerie */
body.home-split-layout .pb-product-wa-consult {
  width: 100%;
  box-sizing: border-box;
  margin: 1rem 0 1.25rem;
  padding: 0;
}

body.home-split-layout .pb-product-wa-consult .pb-hero-cta--wa {
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 769px) {
  body.home-split-layout .huepfburg-details .huepfburg-content .pb-product-wa-consult,
  body.home-split-layout .partyzubehoer-details .partyzubehoer-content .pb-product-wa-consult {
    max-width: 100%;
  }
}

/* Mobil: gleicher Hero wie Startseite – doppelte Überschrift/Einleitung im Filter-Kasten ausblenden */
@media (max-width: 1023px) {
  body.home-split-layout .pb-mobile-subpage-inner:has(> .pb-home-wrap .pb-hero--mobile2026-subpage) .pb-subpage-mobile-intro .page-h1,
  body.home-split-layout .pb-mobile-subpage-inner:has(> .pb-home-wrap .pb-hero--mobile2026-subpage) .pb-subpage-mobile-intro .page-intro {
    display: none !important;
  }

  /* Sonst bleibt die äußere .filter-container + innere .pb-subpage-mobile-intro-Karte als leere „Pille“ sichtbar */
  body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner:has(> .pb-home-wrap .pb-hero--mobile2026-subpage) .filter-container.filter-container--after-desktop-hero {
    display: none !important;
  }
}

/**
 * Desktop: Dokument nicht scrollen – nur #pb-tw-desktop-root (umgeht Ionic-Backdrop /
 * body-scroll-lock). 100dvh = sichtbarer Bereich inkl. mobiler Browserleiste.
 */
@media (min-width: 1024px) {
  html.home-split-layout,
  body.home-split-layout {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none;
  }

  /**
   * Kein Scroll auf #pb-tw-desktop-root – scrollt nur die innere Spalte (split_layout / Tailwind-Hauptbereich).
   * Vermeidet Konflikte mit Hero + Kopfzeile und doppelte Scrollbars.
   */
  body.home-split-layout #pb-tw-desktop-root {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    max-height: 100vh !important;
    max-height: 100dvh !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow: hidden !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-shell {
    flex: 1 1 0%;
    height: auto !important;
    min-height: 0;
    max-height: 100dvh;
  }

  /**
   * Rechte Spalte: fester Kopf (.pb-desktop-rail-header) + darunter .pb-desktop-scroll (Hero + Inhalt).
   * Breadcrumb liegt nicht im Scroll-Container → kein Überdecken durch Grid/Buchungsbox.
   */
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-main-pane {
    flex: 1 1 0%;
    height: 100%;
    min-height: 0;
    min-width: 0;
    max-height: 100dvh;
    overflow: hidden;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-rail-header {
    flex-shrink: 0;
    position: relative;
    z-index: 5;
    background: #ffffff;
    isolation: isolate;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-scroll {
    position: relative;
    z-index: 0;
    flex: 1 1 0%;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    display: flow-root;
    touch-action: pan-y;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-subpage-inner {
    position: relative;
    min-width: 0;
    background: #f8fafc;
    display: flow-root;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  /**
   * Legacy-Ionic: main-content in der MOBIL-Shell darf auf Desktop-Split nicht als fixed Layer über
   * #pb-tw-desktop-root liegen. Seiten wie partyzubehoer_details.php setzen ion-content#main-content per
   * Inline-CSS auf position:fixed + pointer-events:auto (höhere Spezifität als :has(...) allein) —
   * daher Geschwister-Selektor (#pb-tw-desktop-root liegt im Split immer VOR .home-mobile-shell).
   */
  body.home-split-layout #pb-tw-desktop-root ~ .home-mobile-shell ion-content#main-content {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: fixed !important;
    left: -9999px !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    z-index: -1 !important;
    --overflow: hidden !important;
  }

  /**
   * Ionic kann ion-content#main-content aus der Shell projizieren / nach Hydration wieder „aufblasen“.
   * Zusätzlich zum Shell-Selektor: jede #main-content auf Desktop-Split neutralisieren (Modals nutzen andere ion-content ohne diese id).
   */
  body.home-split-layout ion-content#main-content {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: fixed !important;
    left: -9999px !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    z-index: -1 !important;
    --overflow: hidden !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-split-topbar {
    position: relative;
    z-index: 10;
    background-image: linear-gradient(180deg, #ffffff 0%, #f8fafc 42%, #f1f5f9 78%, #eef2ff 100%);
    box-shadow:
      0 1px 0 rgba(148, 163, 184, 0.45),
      0 10px 28px -14px rgba(15, 23, 42, 0.12);
  }

  body.home-split-layout .home-mobile-shell,
  body.home-split-layout .home-mobile-shell ion-app {
    display: none !important;
    pointer-events: none !important;
    height: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  /* Ionic-Seitenmenü: auf Desktop aus (auch wenn Ionic es auf document.body projiziert). */
  html.home-split-layout ion-menu.pb-skin,
  html.home-split-layout ion-menu,
  body.home-split-layout ion-menu.pb-skin,
  body.home-split-layout ion-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    position: fixed !important;
    left: -9999px !important;
    top: 0 !important;
    z-index: -1 !important;
  }

  html.home-split-layout ion-menu::part(backdrop),
  body.home-split-layout ion-menu::part(backdrop) {
    pointer-events: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* Startseite: Hauptspalte ohne flex-col scrollt hier (Split-Unterseiten: flex-col + inneres overflow-y-auto). */
  body.home-split-layout #pb-tw-desktop-root > div.flex > div.ml-72:not(.flex-col) {
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
  }

  body.home-split-layout .whatsapp-button {
    display: none !important;
  }

  /* Doppelte Mobile-Kopfzeile ausblenden, wenn Desktop-Hero ($GLOBALS['pb_desktop_hero']) darüber gerendert wird */
  #pb-tw-desktop-root .pb-subpage-mobile-intro {
    display: none !important;
  }

  /**
   * Hüpfburgen-/Partyzubehör-Übersicht: .filter-container--after-desktop-hero umschließt nur .pb-subpage-mobile-intro
   * (oben ausgeblendet) → sonst leere weiße Karte unter dem Hero.
   */
  #pb-tw-desktop-root .filter-container.filter-container--after-desktop-hero {
    display: none !important;
  }

  /* Hero: Weiß-Verlauf von links ins Foto + leichter Verlauf oben (Kopfzeile / Motiv) */
  #pb-tw-desktop-root .pb-hero-photo-fade {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 2;
    background-image:
      linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.72) 0%,
        rgba(255, 255, 255, 0.22) 14%,
        rgba(255, 255, 255, 0) 32%
      ),
      linear-gradient(
        to right,
        #ffffff 0%,
        rgba(255, 255, 255, 0.96) 10%,
        rgba(255, 255, 255, 0.78) 26%,
        rgba(255, 255, 255, 0.48) 44%,
        rgba(255, 255, 255, 0.2) 64%,
        rgba(255, 255, 255, 0.05) 80%,
        rgba(255, 255, 255, 0) 92%
      );
  }

  /* Hüpfburg-Stack-Hero: Foto + Scrim hinter dem Text (volle Fläche), nicht darunter */
  #pb-tw-desktop-root .pb-desktop-hero-stack .pb-hero-photo-fade-stack {
    pointer-events: none;
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
      linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.93) 0%,
        rgba(255, 255, 255, 0.82) 14%,
        rgba(255, 255, 255, 0.5) 32%,
        rgba(255, 255, 255, 0.18) 52%,
        rgba(255, 255, 255, 0) 78%
      ),
      linear-gradient(
        to right,
        rgba(255, 255, 255, 0.75) 0%,
        rgba(255, 255, 255, 0.35) 28%,
        rgba(255, 255, 255, 0.08) 55%,
        rgba(255, 255, 255, 0) 85%
      );
  }

  /**
   * Produktdetail (Hero-Stack + Buchung rechts): Text liegt direkt auf dem Foto.
   * Dunkler Scrim + leichter Blur + helle Typo + Text-Schatten (statt hellem Verlauf).
   */
  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack .pb-hero-photo-fade-stack {
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    background-image:
      linear-gradient(
        to bottom,
        rgba(15, 23, 42, 0.82) 0%,
        rgba(15, 23, 42, 0.52) 20%,
        rgba(15, 23, 42, 0.22) 42%,
        rgba(15, 23, 42, 0) 74%
      ),
      linear-gradient(
        to right,
        rgba(15, 23, 42, 0.9) 0%,
        rgba(15, 23, 42, 0.48) 32%,
        rgba(15, 23, 42, 0.14) 56%,
        rgba(15, 23, 42, 0) 88%
      );
  }

  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack h1 {
    color: #f8fafc !important;
    text-shadow:
      0 1px 2px rgba(0, 0, 0, 0.9),
      0 2px 14px rgba(0, 0, 0, 0.55);
  }

  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack .pb-desktop-hero-tagline,
  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack .text-slate-600 {
    color: #e2e8f0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.75);
  }

  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack .text-slate-700 {
    color: #cbd5e1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
  }

  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack a {
    color: #e9d5ff !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
  }

  #pb-tw-desktop-root .pb-desktop-huepf-2col .pb-desktop-hero-stack a strong {
    color: #ffffff !important;
  }

  /* Partyzubehör- & Hüpfburgen-Übersicht: 3 Spalten + volle Breite wie Startseiten-Grid (grid-cols-3, gap-6, px-8) */
  #pb-tw-desktop-root #produkte {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    --ion-grid-padding: 0 !important;
  }

  #pb-tw-desktop-root #produkte ion-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
    margin: 0 !important;
    padding: 0 2rem 1.5rem !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  #pb-tw-desktop-root #produkte ion-col {
    width: 100% !important;
    flex: unset !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Gleiche Außenränder wie Startseiten-Bereich (#produkte mit px-8) */
  #pb-tw-desktop-root .filter-container.filter-container--after-desktop-hero {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card,
  #pb-tw-desktop-root ion-card.huepfburg-card {
    margin: 0 !important;
    border-radius: 1.5rem !important;
    background: #ffffff !important;
    border: 1px solid rgb(241 245 249) !important;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05) !important;
    overflow: hidden !important;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card:hover,
  #pb-tw-desktop-root ion-card.huepfburg-card:hover {
    transform: translateY(-0.5rem) !important;
    box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1) !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .pb-pz-card-media,
  #pb-tw-desktop-root ion-card.huepfburg-card .pb-pz-card-media {
    position: relative;
    display: block;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .pb-pz-card-badge,
  #pb-tw-desktop-root ion-card.huepfburg-card .pb-pz-card-badge {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 2;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 0.25rem 0.6rem;
    border-radius: 9999px;
    background: #9333ea;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    line-height: 1.2;
    pointer-events: none;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card a img,
  #pb-tw-desktop-root ion-card.huepfburg-card a img {
    height: 215px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .pb-pz-card-noimg,
  #pb-tw-desktop-root ion-card.huepfburg-card .pb-pz-card-noimg {
    border-radius: 0 !important;
    min-height: 215px !important;
    padding-bottom: 0 !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card ion-card-header,
  #pb-tw-desktop-root ion-card.huepfburg-card ion-card-header {
    padding: 0 1.25rem !important;
    padding-top: 0.75rem !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card ion-card-title,
  #pb-tw-desktop-root ion-card.huepfburg-card ion-card-title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card ion-card-content,
  #pb-tw-desktop-root ion-card.huepfburg-card ion-card-content {
    padding: 1.25rem !important;
    padding-top: 0.5rem !important;
    gap: 0.75rem !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .card-top,
  #pb-tw-desktop-root ion-card.huepfburg-card .card-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.35rem !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .card-tag,
  #pb-tw-desktop-root ion-card.huepfburg-card .card-tag {
    display: none !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .card-price,
  #pb-tw-desktop-root ion-card.huepfburg-card .card-price {
    color: #b45309 !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .icon-with-text,
  #pb-tw-desktop-root ion-card.huepfburg-card .icon-with-text {
    color: #047857 !important;
    font-size: 0.875rem !important;
    font-weight: 500 !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card .icon-with-text ion-icon,
  #pb-tw-desktop-root ion-card.huepfburg-card .icon-with-text ion-icon {
    color: #059669 !important;
  }

  #pb-tw-desktop-root ion-card.partyzubehoer-card ion-button.yellow-button,
  #pb-tw-desktop-root ion-card.huepfburg-card ion-button.yellow-button {
    --background: #fbbf24 !important;
    --color: #0f172a !important;
    --box-shadow: 0 6px 20px -4px rgba(245, 158, 11, 0.55) !important;
    --border-radius: 1.5rem !important;
    width: 100% !important;
    margin: 1.25rem 0 0 0 !important;
    font-weight: 800 !important;
    min-height: 3rem !important;
  }

  /* --- Unterseiten: Filter-/Intro-Karte, FAQ, Produktkarten (Desktop wie Referenz) --- */
  #pb-tw-desktop-root .filter-container.filter-container--after-desktop-hero {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 40px -12px rgba(15, 23, 42, 0.12) !important;
    border-radius: 1.5rem !important;
    margin: 0 2rem 1.75rem !important;
    padding: 2rem 2rem 1.5rem !important;
    text-align: center !important;
  }

  #pb-tw-desktop-root .filter-container .page-h1 {
    color: #0f172a !important;
    font-family: Poppins, system-ui, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
  }

  #pb-tw-desktop-root .filter-container .page-intro {
    color: #64748b !important;
  }

  #pb-tw-desktop-root .filter-container .anchor-nav a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    text-decoration: none !important;
    background: #f5f3ff !important;
    color: #5b21b6 !important;
    border: 1px solid #ddd6fe !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  }

  #pb-tw-desktop-root .filter-container .anchor-nav a:hover {
    background: #ede9fe !important;
    color: #4c1d95 !important;
  }

  #pb-tw-desktop-root .filter-container ion-item {
    --background: #f8fafc !important;
    --color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #pb-tw-desktop-root .faq-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 40px -12px rgba(15, 23, 42, 0.1) !important;
    border-radius: 1.5rem !important;
    margin: 0 2rem 2.5rem !important;
    padding: 2rem !important;
  }

  #pb-tw-desktop-root .faq-section h2 {
    color: #0f172a !important;
    font-family: Poppins, system-ui, sans-serif !important;
    font-weight: 800 !important;
  }

  #pb-tw-desktop-root .faq-item h3 {
    color: #334155 !important;
  }

  #pb-tw-desktop-root .faq-item p {
    color: #64748b !important;
  }

  #pb-tw-desktop-root .huepfburg-details .info-section,
  #pb-tw-desktop-root .partyzubehoer-details .info-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 4px 24px -8px rgba(15, 23, 42, 0.08) !important;
    padding: 1.5rem !important;
    margin: 0 0 1.25rem !important;
  }

  #pb-tw-desktop-root .huepfburg-details .gallery-container,
  #pb-tw-desktop-root .partyzubehoer-details .gallery-container {
    border-radius: 1.5rem !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 30px -10px rgba(15, 23, 42, 0.12) !important;
  }

  #pb-tw-desktop-root .pb-kontakt-main,
  #pb-tw-desktop-root .pb-downloads-main,
  #pb-tw-desktop-root .pb-impressum-main {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
  }
}

/**
 * Unterseiten Mobile: gleiche Tokens wie Desktop (weiße Karten, Violett-Pills, Slate-Fläche).
 */
@media (max-width: 1023px) {
  body.home-split-layout .home-mobile-shell .pb-mobile-subpage-inner {
    padding-bottom: 1.5rem;
  }

  body.home-split-layout .home-mobile-shell .filter-container.filter-container--after-desktop-hero {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.12) !important;
    border-radius: 1.25rem !important;
    margin: 0 1rem 1.25rem !important;
    padding: 1.5rem 1.25rem 1.25rem !important;
    text-align: center !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container .page-h1 {
    color: #0f172a !important;
    font-family: Poppins, system-ui, sans-serif !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
    line-height: 1.15 !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container .page-intro {
    color: #64748b !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container .anchor-nav a {
    background: #f5f3ff !important;
    color: #5b21b6 !important;
    border: 1px solid #ddd6fe !important;
    font-weight: 700 !important;
    border-radius: 9999px !important;
    padding: 0.5rem 1rem !important;
    text-decoration: none !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  }

  body.home-split-layout .home-mobile-shell .filter-container ion-item {
    --background: #f8fafc !important;
    --color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    margin: 0.5rem auto 0 !important;
    max-width: 22rem !important;
  }

  body.home-split-layout .home-mobile-shell .pb-subpage-mobile-intro {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.25rem !important;
    padding: 1.25rem 1rem !important;
    margin: 0 0 1rem !important;
    box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.1) !important;
    text-align: center !important;
  }

  body.home-split-layout .home-mobile-shell .pb-subpage-mobile-intro h1 {
    margin: 0 !important;
    font-size: clamp(1.35rem, 4.5vw, 1.85rem) !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.2 !important;
    font-family: Poppins, system-ui, sans-serif !important;
    letter-spacing: -0.03em !important;
  }

  body.home-split-layout .home-mobile-shell .faq-section {
    margin: 0 1rem 1.5rem !important;
    padding: 1.5rem 1.25rem !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.08) !important;
  }

  body.home-split-layout .home-mobile-shell .faq-section h2 {
    color: #0f172a !important;
    font-weight: 800 !important;
  }

  body.home-split-layout .home-mobile-shell #produkte ion-row {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    gap: 1rem !important;
  }

  body.home-split-layout .home-mobile-shell ion-card.huepfburg-card,
  body.home-split-layout .home-mobile-shell ion-card.partyzubehoer-card {
    border-radius: 1.25rem !important;
    box-shadow: 0 8px 28px -12px rgba(15, 23, 42, 0.15) !important;
    border: 1px solid #e2e8f0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    --background: #ffffff !important;
  }

  body.home-split-layout .home-mobile-shell ion-card.huepfburg-card ion-button.yellow-button,
  body.home-split-layout .home-mobile-shell ion-card.partyzubehoer-card ion-button.yellow-button {
    --background: #fbbf24 !important;
    --color: #0f172a !important;
    --border-radius: 1.5rem !important;
    --box-shadow: 0 6px 20px -4px rgba(245, 158, 11, 0.55) !important;
    font-weight: 800 !important;
    width: 100% !important;
  }

  body.home-split-layout .home-mobile-shell ion-card .card-price {
    color: #b45309 !important;
    font-weight: 800 !important;
  }

  body.home-split-layout .home-mobile-shell .huepfburg-details .info-section,
  body.home-split-layout .home-mobile-shell .partyzubehoer-details .info-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.25rem !important;
    padding: 1.25rem 1rem !important;
    margin: 0 0 1rem !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;
  }

  body.home-split-layout .home-mobile-shell .huepfburg-details .gallery-container,
  body.home-split-layout .home-mobile-shell .partyzubehoer-details .gallery-container {
    border-radius: 1.25rem !important;
    overflow: hidden !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 1rem !important;
    box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout .home-mobile-shell .huepfburg-details,
  body.home-split-layout .home-mobile-shell .partyzubehoer-details {
    padding: 0 0.75rem 1rem !important;
    box-sizing: border-box !important;
  }

  body.home-split-layout .home-mobile-shell .pb-kontakt-main,
  body.home-split-layout .home-mobile-shell .pb-downloads-main,
  body.home-split-layout .home-mobile-shell .pb-impressum-main {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.home-split-layout .home-mobile-shell .downloads-header,
  body.home-split-layout .home-mobile-shell .impressum-header,
  body.home-split-layout .home-mobile-shell .kontakt-header {
    border-radius: 1.25rem !important;
    box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.1) !important;
  }
}

/**
 * Produktdetail (partyzubehoer_details.php, huepfburg_details.php): Buchung, Preise,
 * Reviews & Empfehlungen im gleichen Stil wie Übersicht / Desktop-Tailwind.
 */
@media (min-width: 1024px) {
  /**
   * Produkt-Split (Hero + Inhalt | Buchung): Tailwind-CDN wird erst async geladen (split_layout).
   * Ohne diese Regeln fehlen lg:grid / lg:sticky — der Wrapper ist ein Block, die Aside rutscht unter den langen Inhalt.
   */
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-huepf-2col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) min(420px, 38vw) !important;
    column-gap: 1.5rem !important;
    align-items: stretch !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-huepf-2col > .pb-desktop-huepf-left {
    grid-column: 1 !important;
    min-width: 0 !important;
  }

  /**
   * Geschwister-Selektor (>) verfeinert – kaputter Parse kann <aside> IN .pb-desktop-huepf-left schieben.
   * Ohne direktes Kind greifen die Grid-Regeln nicht; pb_partybienchen_split_emit verschiebt Aside per Script nach.
   */
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-huepf-2col aside.pb-desktop-hero-booking-aside {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 420px !important;
    /* stretch: Spalte optisch füllen (justify-self:end ließ bei „leerer“ Buchung einen toten Streifen wirken) */
    justify-self: stretch !important;
    align-self: stretch !important;
    position: sticky !important;
    top: 1rem !important;
    max-height: min(calc(100dvh - 6rem), 100%) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
    /* Absetzung vom Slate-Scrollbereich: sonst wirkt die Buchungsspalte bei fehlendem Ionic-Paint wie „leer“ */
    background: #ffffff !important;
    isolation: isolate !important;
    z-index: 2 !important;
  }

  /**
   * Feste zweite Spalte (420/480px) + overflow-x:hidden auf dem Scroll-Container
   * schneidet die Buchungsbox auf schmalen Desktop-Fenstern ab → minmax + display:grid.
   */
  body.home-split-layout #pb-tw-desktop-root .huepfburg-details {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2rem 1.25rem 3rem !important;
    gap: 2rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
  }

  /* Buchung: .pb-desktop-hero-booking-aside (ehemals im Hero, bei Hüpfburg neben .pb-desktop-huepf-left); Kopie in .huepfburg-details ausgeblendet */
  body.home-split-layout #pb-tw-desktop-root .huepfburg-details > .desktop-booking-form {
    display: none !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-desktop-hero-booking-aside .desktop-booking-form {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    max-height: none !important;
    overflow-y: visible !important;
    background: #ffffff !important;
    border-radius: 1rem !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 8px 28px -10px rgba(15, 23, 42, 0.12) !important;
    padding: 1.25rem !important;
    min-height: 10rem !important;
  }

  /* Ionic lädt async: undefinierte Custom Elements haben oft 0×0 → „leere“ rechte Spalte */
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-hero-booking-aside ion-button:not(:defined),
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-hero-booking-aside ion-item:not(:defined),
  body.home-split-layout #pb-tw-desktop-root .pb-desktop-hero-booking-aside ion-input:not(:defined) {
    display: block !important;
    min-height: 2.75rem !important;
    box-sizing: border-box !important;
  }

  /* Buchung sitzt in .pb-desktop-hero-booking-aside (Split); Kopie in .partyzubehoer-details ausgeblendet */
  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details > .desktop-booking-form {
    display: none !important;
  }

  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 2rem 1.25rem 3rem !important;
    gap: 2rem !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row !important;
    min-height: 0 !important;
    box-sizing: border-box !important;
  }

  /* Inline-CSS (grid-column: 2, order, 2-Spalten) aus partyzubehoer_details.php neutralisieren */
  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details > * {
    grid-column: 1 / -1 !important;
    order: 0 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details > .footer-wrapper {
    order: 99 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 10px 40px -12px rgba(15, 23, 42, 0.12) !important;
    padding: 1.75rem !important;
    font-family: var(--pb-font) !important;
    max-height: none !important;
    overflow-y: visible !important;
    position: relative;
    z-index: 0;
  }

  /* Google Places: Vorschlagsliste (.pac-container) liegt am body – sonst unter Rail/ionic-Schichten unsichtbar */
  body.home-split-layout .pac-container {
    z-index: 2147483000 !important;
    pointer-events: auto !important;
  }

  /* Desktop-Buchung: neues PlaceAutocompleteElement (gmp-place-autocomplete) sichtbar und volle Breite */
  body.home-split-layout #pb-tw-desktop-root #desktop-step-3-5.step.visible {
    position: relative;
    z-index: 10;
  }

  body.home-split-layout #pb-tw-desktop-root .pb-lieferadresse-host {
    position: relative;
    z-index: 11;
    pointer-events: auto !important;
  }

  body.home-split-layout #pb-tw-desktop-root #desktop-lieferadresse-autocomplete-host {
    display: block;
    width: 100%;
  }

  body.home-split-layout #pb-tw-desktop-root #desktop-lieferadresse-autocomplete-host gmp-place-autocomplete {
    display: block;
    width: 100%;
    min-height: 44px;
    color: #0f172a;
    --gmp-mat-color-surface: #ffffff;
  }

  body.home-split-layout #quick-nachricht-root:not(.is-open) {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body.home-split-layout ion-backdrop {
    display: none !important;
    pointer-events: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form h2 {
    color: #0f172a !important;
    font-family: var(--pb-heading-font) !important;
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    margin: 0 0 1rem !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form .step-question {
    color: #334155 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form .progress-dot {
    background: #e2e8f0 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form .progress-dot.active,
  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form .progress-dot.completed {
    background: #7c3aed !important;
  }

  body.home-split-layout #pb-tw-desktop-root #desktop-progress-bar {
    background: linear-gradient(90deg, #7c3aed, #a78bfa) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .price-highlight {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
    color: #78350f !important;
    font-size: 1.15rem !important;
    padding: 0.65rem 1rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .delivery-costs {
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: 0.75rem !important;
    border: 1px solid #e2e8f0 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pz-product-specs {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .pz-product-specs .pz-spec-heading ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout #pb-tw-desktop-root .infobox {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #334155 !important;
    border-radius: 1rem !important;
  }

  body.home-split-layout #pb-tw-desktop-root .details-section h3 {
    color: #0f172a !important;
    font-family: var(--pb-heading-font) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .details-section ul li ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout #pb-tw-desktop-root .review-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .review-header h2 {
    color: #0f172a !important;
  }

  body.home-split-layout #pb-tw-desktop-root .reco-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.5rem !important;
    box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout #pb-tw-desktop-root .reco-section h3 {
    color: #0f172a !important;
  }

  body.home-split-layout #pb-tw-desktop-root .reco-hint {
    color: #64748b !important;
  }

  body.home-split-layout #pb-tw-desktop-root .reco-card {
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.25rem !important;
    overflow: hidden !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form .yellow-button,
  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form ion-button.yellow-button {
    --background: #fbbf24 !important;
    --color: #0f172a !important;
    --border-radius: 1.25rem !important;
    --box-shadow: 0 6px 20px -4px rgba(245, 158, 11, 0.5) !important;
    --padding-top: 14px !important;
    --padding-bottom: 14px !important;
    --min-height: 52px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  /* Ionic Shadow: CSS-Variablen greifen manchmal nicht zuverlässig auf dem Host → Native-Button explizit füllen */
  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form ion-button.yellow-button::part(native) {
    background: #fbbf24 !important;
    color: #0f172a !important;
    border-radius: 1.25rem !important;
    box-shadow: 0 6px 20px -4px rgba(245, 158, 11, 0.5) !important;
    font-weight: 800 !important;
    min-height: 52px !important;
  }

  body.home-split-layout #pb-tw-desktop-root .desktop-booking-form ion-button.yellow-button[disabled]::part(native) {
    background: #cbd5e1 !important;
    color: #475569 !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .icon-with-text ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout #pb-tw-desktop-root .faq-detail-section {
    border-top-color: #e2e8f0 !important;
  }

  body.home-split-layout #pb-tw-desktop-root .faq-detail-item a {
    color: #6d28d9 !important;
  }

  /* Produktdetail: Sektionsüberschriften klar unterhalb der Hero-H1 (kein zweites „Plakat“) */
  body.home-split-layout #pb-tw-desktop-root .huepfburg-details .info-section > h2,
  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details .info-section > h2 {
    font-size: 1.125rem !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: #475569 !important;
    margin: 0 0 0.75rem !important;
  }

  body.home-split-layout #pb-tw-desktop-root .huepfburg-details .faq-detail-section > h2,
  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details .faq-detail-section > h2 {
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin: 0 0 1rem !important;
  }

  body.home-split-layout #pb-tw-desktop-root .huepfburg-details .review-header h2,
  body.home-split-layout #pb-tw-desktop-root .partyzubehoer-details .review-header h2 {
    font-size: 1.35rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
  }
}

@media (max-width: 1023px) {
  body.home-split-layout .home-mobile-shell .mobile-details-section {
    outline: none !important;
    border: 1px solid #e2e8f0 !important;
  }

  body.home-split-layout .home-mobile-shell .mobile-details-section h3 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .mobile-details-section ul li ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell .price-highlight {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%) !important;
    color: #78350f !important;
    font-size: 1.05rem !important;
    padding: 0.6rem 0.85rem !important;
    border-radius: 1rem !important;
    border: 1px solid rgba(245, 158, 11, 0.35) !important;
  }

  body.home-split-layout .home-mobile-shell .delivery-costs {
    background: #f8fafc !important;
    color: #0f172a !important;
    font-size: 0.95rem !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0.75rem !important;
  }

  body.home-split-layout .home-mobile-shell .pz-product-specs {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06) !important;
  }

  body.home-split-layout .home-mobile-shell .pz-product-specs .pz-spec-heading ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell .infobox {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #334155 !important;
  }

  body.home-split-layout .home-mobile-shell .details-section h3 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .details-section ul li ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell .review-section,
  body.home-split-layout .home-mobile-shell .reco-section {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px -8px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout .home-mobile-shell .review-header h2 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .reco-section h3 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .reco-hint {
    color: #64748b !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .yellow-button,
  body.home-split-layout .home-mobile-shell .desktop-booking-form ion-button.yellow-button {
    --background: #fbbf24 !important;
    --color: #0f172a !important;
    --border-radius: 1.25rem !important;
    --padding-top: 14px !important;
    --padding-bottom: 14px !important;
    --min-height: 52px !important;
    font-weight: 800 !important;
    opacity: 1 !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form ion-button.yellow-button::part(native) {
    background: #fbbf24 !important;
    color: #0f172a !important;
    border-radius: 1.25rem !important;
    font-weight: 800 !important;
    min-height: 52px !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form ion-button.yellow-button[disabled]::part(native) {
    background: #cbd5e1 !important;
    color: #475569 !important;
    opacity: 1 !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form h2 {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .price-display {
    background: linear-gradient(135deg, #ede9fe 0%, #f8fafc 100%) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06) !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .price-display .price-label {
    color: #475569 !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .price-display .price-total {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .current-price {
    background: #ffffff !important;
    background-image: none !important;
    color: #0f172a !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: 0 -8px 28px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout .home-mobile-shell .current-price .price-total,
  body.home-split-layout .home-mobile-shell .current-price .price-item,
  body.home-split-layout .home-mobile-shell .current-price .price-breakdown {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .icon-with-text ion-icon {
    color: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell .partyzubehoer-details > .desktop-booking-form,
  body.home-split-layout .home-mobile-shell .huepfburg-details > .desktop-booking-form {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 1.25rem !important;
    padding: 1.25rem !important;
    box-shadow: 0 8px 28px -8px rgba(15, 23, 42, 0.1) !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .progress-dot.active {
    background: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell .desktop-booking-form .progress-dot.completed {
    background: #22c55e !important;
  }

  body.home-split-layout .home-mobile-shell .progress-bar div {
    background-color: #a78bfa !important;
    background-image: linear-gradient(90deg, #7c3aed 0%, #a78bfa 100%) !important;
  }

  body.home-split-layout .home-mobile-shell #desktop-progress-bar.progress-bar-fill,
  body.home-split-layout .home-mobile-shell .progress-bar-fill {
    background: linear-gradient(90deg, #7c3aed 0%, #a78bfa 100%) !important;
  }

  body.home-split-layout .home-mobile-shell #desktop-progress-bar {
    background: linear-gradient(90deg, #7c3aed, #a78bfa) !important;
  }

  body.home-split-layout .home-mobile-shell .delivery-costs-table-section thead tr {
    background: linear-gradient(135deg, #ede9fe 0%, #f8fafc 100%) !important;
  }

  body.home-split-layout .home-mobile-shell .delivery-costs-table-section thead th {
    border-bottom-color: #e2e8f0 !important;
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .delivery-costs-table-section h4 {
    color: #334155 !important;
  }

  body.home-split-layout .home-mobile-shell #delivery-calculator-section {
    border-color: #e2e8f0 !important;
  }

  body.home-split-layout .home-mobile-shell #delivery-calculator-section h3 {
    color: #334155 !important;
  }

  body.home-split-layout .home-mobile-shell [style*="background: #fff3cd"] {
    background: #f8fafc !important;
    border-left-color: #7c3aed !important;
  }

  body.home-split-layout .home-mobile-shell [style*="background: #fff3cd"] p {
    color: #475569 !important;
  }

  /* Buchungs-Modals: styles.css setzt ion-toolbar global auf Gelb */
  body.home-split-layout ion-modal ion-header:not(ion-menu ion-header),
  body.home-split-layout ion-modal ion-toolbar {
    --background: #ffffff !important;
    --ion-background-color: #ffffff !important;
    --color: #0f172a !important;
  }

  body.home-split-layout ion-modal ion-title {
    color: #0f172a !important;
  }

  body.home-split-layout .home-mobile-shell .faq-detail-item a {
    color: #6d28d9 !important;
  }
}

/**
 * Desktop-Buchungskalender (Flatpickr) + ion-icons: Hüpfburg- & Partyzubehör-Details, beide Shell-Kopien.
 * Ohne #pb-tw-desktop-root im Selektor — gleiche Optik in Tailwind-Spalte und .home-mobile-shell (doppeltes Markup).
 * Tailwind-CDN (Preflight): svg max-width/height:auto in Flex-Zeilen → riesige Pfeile / zerstörtes Raster.
 */
body.home-split-layout #desktop-booking-form ion-button ion-icon {
  width: 1.25rem !important;
  height: 1.25rem !important;
  max-width: 1.5rem !important;
  max-height: 1.5rem !important;
  min-width: 1.25rem !important;
  min-height: 1.25rem !important;
  flex-shrink: 0 !important;
}

body.home-split-layout #desktop-booking-form .availability-check-content ion-icon.availability-icon {
  width: 2.25rem !important;
  height: 2.25rem !important;
  max-width: 2.5rem !important;
  max-height: 2.5rem !important;
  flex-shrink: 0 !important;
}

body.home-split-layout ion-modal ion-button ion-icon {
  width: 1.25rem !important;
  height: 1.25rem !important;
  max-width: 1.5rem !important;
  max-height: 1.5rem !important;
  min-width: 1.25rem !important;
  min-height: 1.25rem !important;
  flex-shrink: 0 !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-calendar,
body.home-split-layout #desktop-booking-form .flatpickr-calendar.inline {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-calendar svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  min-width: 10px !important;
  min-height: 10px !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-prev-month,
body.home-split-layout #desktop-booking-form .flatpickr-next-month {
  width: 2rem !important;
  height: 2rem !important;
  max-width: 2.5rem !important;
  max-height: 2.5rem !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-months {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0.35rem 0 !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-current-month {
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.25rem !important;
  min-width: 0 !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-weekdays {
  display: flex !important;
  width: 100% !important;
  padding: 0.25rem 0 !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-weekdaycontainer {
  display: flex !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}

body.home-split-layout #desktop-booking-form span.flatpickr-weekday {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: 14.285% !important;
  text-align: center !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-days {
  width: 100% !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .dayContainer {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day {
  flex: 0 0 14.2857143% !important;
  max-width: 14.2857143% !important;
  width: 14.2857143% !important;
  height: 2.25rem !important;
  min-height: 2.25rem !important;
  line-height: 2.25rem !important;
  margin: 2px 0 !important;
  box-sizing: border-box !important;
}

/* Ausgewähltes Datum im Raster + Lesetext (Flatpickr-Default wird oft von Theme/Ionic überdeckt) */
body.home-split-layout #desktop-booking-form .flatpickr-day.today {
  border-color: #7c3aed !important;
  color: #0f172a !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day.today:not(.selected) {
  background: rgba(124, 58, 237, 0.08) !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day:hover:not(.flatpickr-disabled):not(.selected) {
  background: rgba(255, 195, 0, 0.35) !important;
  border-color: #f59e0b !important;
  color: #0f172a !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day.selected,
body.home-split-layout #desktop-booking-form .flatpickr-day.startRange,
body.home-split-layout #desktop-booking-form .flatpickr-day.endRange {
  background: linear-gradient(180deg, #ffd54f, #ffc300) !important;
  border-color: #d97706 !important;
  color: #111827 !important;
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.12) !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day.selected:hover,
body.home-split-layout #desktop-booking-form .flatpickr-day.startRange:hover,
body.home-split-layout #desktop-booking-form .flatpickr-day.endRange:hover {
  background: linear-gradient(180deg, #ffe082, #ffd54f) !important;
  color: #0f172a !important;
}

body.home-split-layout #desktop-booking-form .flatpickr-day.selected.today,
body.home-split-layout #desktop-booking-form .flatpickr-day.today.startRange {
  border-color: #b45309 !important;
}

body.home-split-layout #desktop-booking-form #calendar-wrapper .flatpickr-alt-input {
  border-color: #d97706 !important;
  box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.35) !important;
}
