/* Wischleisten: nur waagerecht scrollen, senkrechtes Ziehen gehört der Seite */
[style*="overflow-x: auto"], [style*="overflow-x:auto"] { overflow-y: hidden !important; overscroll-behavior-x: contain; touch-action: pan-x pan-y; }
[style*="overflow-x: auto"], [style*="overflow-x:auto"] { scrollbar-width: none; -ms-overflow-style: none; }
[style*="overflow-x: auto"]::-webkit-scrollbar, [style*="overflow-x:auto"]::-webkit-scrollbar { display: none; width: 0; height: 0; }

/* =====================================================================
   Aquapark Bayern · Desktop-Ebene ab 1024 Pixeln
   Alles hier greift nur unter html.dk (gesetzt von desktop.js). Das Handy
   bleibt unberührt. Angesprochen wird über IDs, data-dk und Klassen aus
   desktop.js, nie über die Position im DOM.

   Raster: Inhalt 1240 px (ab 1680 px 1360 px), seitlich mindestens 48 px.
   Innerhalb einer Sektion 12 Spalten mit 32 px Abstand.
   Sektionen 112 px oben und unten, hell auf hell 96 px.
   ===================================================================== */
.dk-nav { display: none; }
@media (min-width: 1024px) {
  html.dk { --gut: max(48px, calc((100vw - 1240px) / 2)); --nav: 76px; --sand: #F3EEE6; --ink: #1F1B17; --card: #FBF8F3; --line: #D9D0C3; --muted: #6F665C; --spalte: 32px; --sek: 112px; scroll-padding-top: 96px; }
  html.dk body { background: var(--sand) !important; }
  html.dk .dk-mhead { display: none !important; }
  html.dk .dk-stickybar { display: none !important; }

  /* ---------- Navigation ---------- */
  html.dk .dk-nav { display: block; position: sticky; top: 0; z-index: 100; background: rgba(243,238,230,0.86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); border-bottom: 1px solid rgba(31,27,23,0.08); color: var(--ink); font-family: 'Archivo', system-ui, sans-serif; }
  html.dk .dk-nav.dk-nav-dark { background: rgba(20,17,14,0.82); color: #F3EEE6; border-bottom-color: rgba(243,238,230,0.08); }
  html.dk .dk-nav-in { height: var(--nav); padding: 0 var(--gut); display: flex; align-items: center; gap: 40px !important; }
  html.dk .dk-logo { font-weight: 800; letter-spacing: 0.16em; font-size: 14px; text-decoration: none; color: inherit; white-space: nowrap; }
  html.dk .dk-logo span { font-weight: 400; }
  html.dk .dk-links { display: flex; gap: 4px !important; flex: 1; justify-content: center; }
  html.dk .dk-item { position: relative; }
  html.dk .dk-top { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px !important; height: 40px; padding: 0 14px; border-radius: 20px; font-size: 14px; font-weight: 600; color: inherit; text-decoration: none; transition: background .15s; }
  html.dk .dk-top:hover, html.dk .dk-item:focus-within .dk-top { background: rgba(31,27,23,0.06); color: inherit; }
  html.dk .dk-nav-dark .dk-top:hover, html.dk .dk-nav-dark .dk-item:focus-within .dk-top { background: rgba(243,238,230,0.08); }
  html.dk .dk-top.on { box-shadow: inset 0 -2px 0 currentColor; border-radius: 0; }
  html.dk .dk-drop { position: absolute; top: 100%; left: 0; min-width: 250px; padding: 10px; margin-top: 8px; background: var(--card); color: var(--ink); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 24px 60px rgba(31,27,23,0.16); display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .15s, transform .15s, visibility .15s; }
  html.dk .dk-drop::before { content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px; }
  html.dk .dk-item:hover .dk-drop, html.dk .dk-item:focus-within .dk-drop { opacity: 1; visibility: visible; transform: none; }
  html.dk .dk-drop a { padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--ink); text-decoration: none; }
  html.dk .dk-drop a:hover, html.dk .dk-drop a.on { background: var(--sand); }
  html.dk .dk-links .dk-item:nth-last-child(-n+2) .dk-drop { left: auto; right: 0; }
  html.dk .dk-cta { display: flex; align-items: center; gap: 20px !important; }
  html.dk .dk-tel { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: inherit; text-decoration: none; line-height: 1.2; white-space: nowrap; }
  html.dk .dk-tel span { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.6; }
  html.dk .dk-btn { height: 44px; padding: 0 22px; border-radius: 22px; background: var(--ink); color: var(--sand) !important; display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; text-decoration: none; white-space: nowrap; }
  html.dk .dk-nav-dark .dk-btn { background: var(--sand); color: var(--ink) !important; }

  /* ---------- Fokus: sichtbar auf hellem und dunklem Grund ---------- */
  html.dk a:focus-visible, html.dk button:focus-visible, html.dk input:focus-visible, html.dk select:focus-visible, html.dk textarea:focus-visible, html.dk summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
  html.dk input:focus-visible, html.dk select:focus-visible, html.dk textarea:focus-visible { outline-color: var(--ink); }
  html.dk #winter a:focus-visible, html.dk #winter button:focus-visible, html.dk .dk-foot a:focus-visible, html.dk [data-dk="a-box"] :focus-visible { outline-color: #F3EEE6; }

  /* ---------- Grundraster der Seite ---------- */
  html.dk .dk-root { max-width: none !important; width: 100% !important; box-shadow: none !important; min-height: 0 !important; display: grid !important; grid-template-columns: [full-start] var(--gut) [c-start] minmax(0, 1fr) [mid-l] 72px [mid-r] minmax(0, 1fr) [c-end] var(--gut) [full-end]; align-items: start; font-size: 16px !important; }
  html.dk .dk-root > * { grid-column: c-start / c-end; min-width: 0; }
  html.dk .dk-root > .dk-hero, html.dk .dk-root > .dk-bleed, html.dk .dk-root > .dk-foot, html.dk .dk-root > .dk-subnav { grid-column: full-start / full-end; padding-left: var(--gut) !important; padding-right: var(--gut) !important; }
  html.dk .dk-root > .dk-full, html.dk .dk-root > .dk-l, html.dk .dk-root > .dk-r, html.dk .dk-root > .dk-half, html.dk .dk-root > .dk-crumb { padding-left: 0 !important; padding-right: 0 !important; }
  html.dk .dk-root > .dk-l { grid-column: c-start / mid-l; }
  html.dk .dk-root > .dk-r { grid-column: mid-r / c-end; }
  html.dk .dk-root > .dk-full, html.dk .dk-root > .dk-l, html.dk .dk-root > .dk-r { padding-top: 72px !important; padding-bottom: 8px !important; }
  html.dk .dk-root > .dk-bleed { padding-top: 96px !important; padding-bottom: 96px !important; margin-top: 72px; }
  html.dk .dk-root > .dk-crumb { padding-top: 28px !important; font-size: 13px !important; }
  html.dk .dk-subnav { position: sticky; top: var(--nav); z-index: 50; }

  /* ---------- Schrift ---------- */
  html.dk .dk-root h1 { font-size: clamp(72px, 7vw, 120px) !important; line-height: 0.92 !important; letter-spacing: -0.01em; text-wrap: balance; }
  html.dk .dk-root h2 { font-size: clamp(44px, 3.6vw, 64px) !important; line-height: 1 !important; text-wrap: balance; }
  html.dk .dk-root h3 { font-size: 32px !important; }
  html.dk .dk-root p { font-size: 17px !important; line-height: 1.55 !important; max-width: 62ch; }

  /* ---------- Allgemeiner Hero ---------- */
  html.dk .dk-hero > [style*="position: absolute"] { height: 100% !important; bottom: 0; box-sizing: border-box; }
  html.dk .dk-hero { overflow: hidden; }
  html.dk body.tpl-std .dk-root > .dk-foot { margin-top: var(--sek); }
  html.dk body.pg-winterzauber .dk-root > .dk-foot { margin-top: 0; }
  html.dk .dk-hero { height: auto !important; min-height: min(86vh, 900px); justify-content: flex-end !important; }
  html.dk .dk-hero > .dk-herotext { padding: 0 0 72px !important; max-width: 980px; gap: 18px !important; }
  html.dk .dk-hero p { font-size: 20px !important; max-width: 560px; }
  html.dk .dk-hero h1 { margin-top: 10px !important; }
  html.dk .dk-hero .dk-herotext a[style*="height"], html.dk .dk-hero .dk-herotext button[style*="height"] { align-self: flex-start; width: auto !important; flex: 0 0 auto !important; padding: 0 36px !important; height: 56px !important; font-size: 16px !important; }
  html.dk .dk-hero .dk-herotext > div[style*="display: flex"]:has(> a) { flex-direction: row !important; gap: 12px !important; }
  html.dk .dk-root section a[style*="height: 52px"], html.dk .dk-root section a[style*="height: 48px; border-radius: 24px"] { justify-content: center; }

  /* ---------- Kartenreihen werden Raster ---------- */
  html.dk .dk-cards { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; gap: 24px !important; overflow: visible !important; padding-left: 0 !important; padding-right: 0 !important; padding-bottom: 0 !important; }
  html.dk .dk-cards > * { width: auto !important; min-width: 0 !important; }
  html.dk .dk-root > .dk-l .dk-cards, html.dk .dk-root > .dk-r .dk-cards { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; }
  html.dk .dk-chips { flex-wrap: wrap; overflow: visible !important; }
  html.dk .dk-root > .dk-strip { padding-top: 32px !important; padding-bottom: 0 !important; }
  html.dk .dk-root > .dk-strip [style*="grid-template-columns: repeat(3"] { gap: 16px !important; }
  html.dk .dk-root [style*="grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 6px"] > *, html.dk .dk-root [style*="grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px"] > * { padding: 18px 10px !important; }

  /* ---------- Klickbare Karten: heben sich leicht ---------- */
  html.dk .dk-root .dk-karte { transition: translate .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, opacity .7s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: 0s, 0s, var(--an-verzug, 0ms), var(--an-verzug, 0ms); }
  html.dk.an .dk-root .an-karte:hover { transform: none; }
  html.dk .dk-root .dk-karte:hover { box-shadow: 0 18px 40px rgba(31,27,23,.14) !important; }
  html.dk .dk-root a[href="#"] { cursor: default; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  html.dk .dk-root .dk-karte:hover { translate: 0 -4px; }
}
@media (min-width: 1680px) {
  html.dk { --gut: calc((100vw - 1360px) / 2); }
}

/* =====================================================================
   Fußbereich (alle Seiten)
   Vorbau links Team und Überschrift, rechts Kontaktkarten. Darunter
   Logo, Adresse und Social links, die Linkgruppen in drei Spalten rechts.
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk .dk-root > .dk-foot { margin-top: 0; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 0 !important; align-items: start; padding-top: 96px !important; padding-bottom: 56px !important;
    grid-template-areas:
      "team team team team team hot hot hot hot mail mail mail"
      "h2 h2 h2 h2 h2 hot hot hot hot mail mail mail"
      "prule prule prule prule prule prule prule prule prule prule prule prule"
      "logo logo logo logo . links links links links links links links"
      "addr addr addr addr . links links links links links links links"
      "soc soc soc soc . links links links links links links links"
      "rule rule rule rule rule rule rule rule rule rule rule rule"
      "partner partner partner partner partner partner partner . legal legal legal legal"
      "copy copy copy copy copy copy copy copy copy copy copy copy"; }
  html.dk .dk-root > .dk-foot:not(.f-haspre) { padding-top: 80px !important; }
  html.dk .dk-foot > .f-misc { grid-column: 1 / -1; }
  html.dk .dk-foot > .f-team { grid-area: team; align-self: end; }
  html.dk .dk-foot > .f-h2 { grid-area: h2; margin-top: 20px !important; font-size: clamp(44px, 3.6vw, 64px) !important; }
  html.dk .dk-foot > .f-back { grid-area: h2; justify-self: start; margin-top: 24px; }
  html.dk .dk-foot > .f-hot { grid-area: hot; align-self: stretch; padding: 24px !important; border-radius: 20px !important; }
  html.dk .dk-foot:not(:has(> .f-team)):not(:has(> .f-h2)) > .f-hot { grid-area: auto; grid-column: 1 / span 5; grid-row: 1; }
  html.dk .dk-foot > .f-kontakt { display: contents !important; }
  html.dk .dk-foot > .f-kontakt > a[href="#"] { display: none !important; }
  html.dk .dk-foot > .f-kontakt > a { grid-area: mail; align-self: stretch; padding: 24px !important; border-radius: 20px !important; justify-content: center; }
  html.dk .dk-foot > .f-rule.f-pre { grid-area: prule; margin: 80px 0 72px !important; }
  html.dk .dk-root > .dk-foot:not(.f-haspre) > .f-rule.f-pre { display: none; }
  html.dk .dk-foot > .f-logo { grid-area: logo; font-size: 18px !important; }
  html.dk .dk-foot > .f-addr { grid-area: addr; margin-top: 20px; font-size: 14px !important; line-height: 1.6; }
  html.dk .dk-foot > .f-social { grid-area: soc; margin-top: 24px; }
  html.dk .dk-foot > .f-links { grid-area: links; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: var(--spalte) !important; row-gap: 36px !important; align-content: start; }
  html.dk .dk-foot > .f-links > :nth-child(1) { grid-column: 1; grid-row: 1; }
  html.dk .dk-foot > .f-links > :nth-child(2) { grid-column: 2; grid-row: 1 / span 2; }
  html.dk .dk-foot > .f-links > :nth-child(3) { grid-column: 1; grid-row: 2; }
  html.dk .dk-foot > .f-links > :nth-child(4) { grid-column: 3; grid-row: 1 / span 2; }
  html.dk .dk-foot > .f-links a:hover { text-decoration: underline; text-underline-offset: 3px; }
  html.dk .dk-foot > .f-rule:not(.f-pre) { grid-area: rule; margin: 64px 0 28px !important; }
  html.dk .dk-foot > .f-partner { grid-area: partner; flex-direction: row !important; align-items: baseline; gap: 14px !important; }
  html.dk .dk-foot > .f-legal { grid-area: legal; justify-self: end; font-size: 13px !important; gap: 6px 24px !important; }
  html.dk .dk-foot > .f-copy { grid-area: copy; margin-top: 20px; color: #9A8F82 !important; }
}

/* =====================================================================
   Startseite
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.tpl-home .dk-root > section { padding-left: 0 !important; padding-right: 0 !important; }
  html.dk body.tpl-home [data-dk="kopf"] { padding: 0 !important; }
  html.dk body.tpl-home [data-dk="wischen"] { display: none !important; }

  /* S0 Hero: Text links über einem Schleier, Infoleiste unten über die volle Breite */
  html.dk #hero { grid-column: full-start / full-end; height: auto !important; min-height: max(640px, min(calc(100svh - var(--nav)), 860px)) !important; justify-content: flex-start !important; padding-left: var(--gut) !important; padding-right: var(--gut) !important; }
  html.dk #hero > [data-dc-tpl="7"] { background: linear-gradient(90deg, rgba(243,238,230,.94) 0%, rgba(243,238,230,.82) 26%, rgba(243,238,230,.35) 45%, rgba(243,238,230,0) 60%), linear-gradient(180deg, rgba(243,238,230,.35) 0%, rgba(243,238,230,0) 30%, rgba(243,238,230,0) 62%, rgba(243,238,230,.55) 100%) !important; }
  html.dk #hero > .dk-herotext { flex: 1 1 auto; margin: 0 !important; max-width: none; padding: 48px 0 40px !important; gap: 18px !important; display: flex !important; flex-direction: column; }
  html.dk #hero > .dk-herotext > * { max-width: calc((100% - 11 * var(--spalte)) * 7 / 12 + 6 * var(--spalte)); }
  html.dk #hero > .dk-herotext > .aqp-status { margin-top: auto; margin-bottom: 4px; }
  html.dk #hero [data-dc-tpl="16"] { font-size: 12px !important; letter-spacing: 0.16em !important; color: #3D362F !important; }
  html.dk #hero h1 { font-size: clamp(64px, 6vw, 104px) !important; margin-top: 0 !important; }
  html.dk #hero p { font-size: 20px !important; max-width: 520px !important; color: #2E2823 !important; }
  html.dk #hero [data-dc-tpl="19"] { padding-top: 10px !important; }
  html.dk #hero [data-dc-tpl="19"] > a { flex: 0 0 auto !important; height: 56px !important; padding: 0 34px !important; font-size: 16px !important; }
  html.dk #hero .hero-info { margin-top: auto !important; max-width: none !important; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px !important; padding: 14px !important; border-radius: 22px; align-items: stretch; }
  html.dk #hero .hero-info [data-dc-tpl="26"] { display: contents !important; }
  html.dk #hero .hero-info [data-dc-tpl="23"] { flex-direction: column !important; justify-content: center; align-items: flex-start !important; gap: 4px !important; padding: 6px 12px; }
  html.dk #hero .hero-info [data-dc-tpl="24"] { font-size: 34px !important; }
  html.dk #hero .hero-info [data-dc-tpl="25"] { font-size: 13px !important; color: #5E554B !important; }
  html.dk #hero .hero-info [data-dc-tpl="27"], html.dk #hero .hero-info [data-dc-tpl="30"], html.dk #hero .hero-info [data-dc-tpl="33"] { padding: 16px 18px !important; border-radius: 14px !important; display: flex; flex-direction: column; justify-content: center; gap: 2px !important; }
  html.dk #hero .hero-info [data-dc-tpl="28"], html.dk #hero .hero-info [data-dc-tpl="31"], html.dk #hero .hero-info [data-dc-tpl="34"] { font-size: 17px !important; }
  html.dk #hero .hero-info [data-dc-tpl="29"], html.dk #hero .hero-info [data-dc-tpl="32"], html.dk #hero .hero-info [data-dc-tpl="35"] { font-size: 13px !important; color: #5E554B !important; }

  /* S1 Wir machen weiter: Text links, Pressekarte rechts */
  html.dk #weiter { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 0 !important; padding: var(--sek) 0 96px !important; align-items: start; }
  html.dk #weiter > * { grid-column: 1 / 7; }
  html.dk #weiter > :nth-child(1) { font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk #weiter > h2 { margin-top: 16px !important; }
  html.dk #weiter > div:nth-child(3) { margin-top: 32px; gap: 16px !important; }
  html.dk #weiter > div:nth-child(3) > p { max-width: 62ch; }
  html.dk #weiter > div:nth-child(4) { margin-top: 28px; }
  html.dk #weiter > [data-dk="presse"] { grid-column: 8 / 13; grid-row: 1 / span 4; align-self: center; margin-top: 0 !important; max-width: none !important; padding: 14px 14px 22px !important; border-radius: 22px !important; }
  html.dk #weiter > [data-dk="presse"] img { aspect-ratio: 4 / 3 !important; border-radius: 14px !important; }

  /* S2 Weihnachtszauber: oben Text und Merkmale neben dem Bild, darunter Programm und Kinderkino */
  html.dk #winter { grid-column: full-start / full-end; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 0 !important; padding: var(--sek) var(--gut) !important; align-items: start; }
  html.dk #winter > * { grid-column: 1 / 7; min-width: 0; }
  html.dk #winter > [data-dk="w-zeit"] { grid-row: 1; }
  html.dk #winter > [data-dk="w-h2"] { grid-row: 2; margin-top: 28px !important; font-size: clamp(56px, 4.6vw, 80px) !important; line-height: 0.95 !important; }
  html.dk #winter > [data-dk="w-p"] { grid-row: 3; margin-top: 20px !important; }
  html.dk #winter > [data-dk="w-feat"] { grid-row: 4; margin-top: 36px; gap: 16px !important; }
  html.dk #winter > [data-dk="w-feat"] > div { position: relative; padding: 14px 14px 18px !important; min-height: 0 !important; }
  html.dk #winter > [data-dk="w-feat"] > div > img { height: 120px !important; }
  html.dk #winter > [data-dk="w-feat"] > div > div:nth-of-type(1) { font-size: 16px !important; }
  html.dk #winter > [data-dk="w-feat"] > div > div:nth-of-type(2) { font-size: 13px !important; }
  html.dk #winter > [data-dk="w-cta"] { grid-row: 5; margin-top: 36px; flex-direction: row !important; }
  html.dk #winter > [data-dk="w-cta"] > a { padding: 0 32px; height: 56px !important; }
  html.dk #winter > [data-dk="w-img"] { grid-column: 7 / 13; grid-row: 1 / 6; height: 100% !important; min-height: 560px; width: 100% !important; border-radius: 24px !important; align-self: stretch; }
  html.dk #winter > [data-dk="w-evhead"] { grid-column: 1 / 13; grid-row: 6; margin-top: 96px; padding-top: 0 !important; }
  html.dk #winter > [data-dk="w-evhead"] > div { font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk #winter > [data-dk="w-evhead"] > h3 { font-size: clamp(40px, 3.2vw, 52px) !important; margin-top: 8px !important; }
  html.dk #winter > [data-dk="w-days"] { grid-column: 1 / 8; grid-row: 7; margin-top: 32px; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="53"] { padding: 18px 0 !important; gap: 20px !important; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="58"] { gap: 9px !important; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="60"] { gap: 16px !important; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="60"][href]:hover [data-dc-tpl="62"] { text-decoration: underline; text-underline-offset: 3px; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="61"] { width: 48px !important; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="62"] { font-size: 16px !important; }
  html.dk #winter > [data-dk="w-days"] [data-dc-tpl="63"] { font-size: 13px !important; }
  html.dk #winter > [data-dk="w-more"] { grid-column: 1 / 8; grid-row: 8; justify-self: start; margin-top: 24px; padding: 0 28px; }
  html.dk #winter > [data-dk="w-kino"] { grid-column: 8 / 13; grid-row: 7 / span 2; margin-top: 32px; padding: 18px !important; border-radius: 20px !important; }
  html.dk #winter > [data-dk="w-kino"] > div:first-child > img { height: 220px !important; }
  /* Die Merkmalskarten tragen jetzt jeweils ihr eigenes KI-Etikett */
  html.dk body.tpl-home > .ki-etikett { display: none !important; }

  /* S3 Direkt buchen: 4er-Raster, Knopf in der Karte, ganze Karte klickbar */
  html.dk #buchen { padding: var(--sek) 0 0 !important; gap: 40px !important; }
  html.dk #buchen .dk-cards { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 24px !important; }
  html.dk #buchen .dk-cards > div { padding: 12px 12px 16px !important; gap: 10px !important; border-radius: 22px !important; }
  html.dk #buchen .dk-cards > div > [data-dc-tpl="80"] { height: auto !important; aspect-ratio: 4 / 3; border-radius: 14px !important; }
  html.dk #buchen .dk-cards > div > [data-dc-tpl="83"] { gap: 4px !important; }
  html.dk #buchen .dk-cards > div > [data-dc-tpl="83"] > span:first-child { font-size: 17px !important; }
  html.dk #buchen .dk-cards > div > [data-dc-tpl="83"] > span:last-child { font-size: 13px !important; }
  html.dk #buchen .dk-cards > div > [data-dc-tpl="86"] { font-size: 26px !important; margin-top: auto; }
  html.dk #buchen .dk-cards > div > a { position: static !important; transform: none !important; margin-top: 4px; width: auto !important; justify-content: center; box-shadow: none !important; height: 46px !important; }
  html.dk #buchen .dk-cards > div > a::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] { grid-column: span 2; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: 1fr auto auto auto; column-gap: 24px !important; row-gap: 10px !important; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > [data-dc-tpl="80"] { grid-column: 1; grid-row: 1 / -1; aspect-ratio: auto; height: 100% !important; min-height: 220px; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > :not([data-dc-tpl="80"]) { grid-column: 2; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > [data-dc-tpl="83"] { grid-row: 2; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > [data-dc-tpl="86"] { grid-row: 3; margin-top: 0; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > a { grid-row: 4; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] > [data-dc-tpl="83"] > span:first-child { font-family: 'Instrument Serif', serif; font-weight: 400 !important; font-size: 34px !important; line-height: 1; }

  /* S4 mydays direkt unter dem Raster */
  html.dk .dk-root > [data-dk="mydays"] { padding: 24px 0 0 !important; }
  html.dk .dk-root > [data-dk="mydays"] > a { padding: 18px 28px !important; gap: 24px !important; border-radius: 20px !important; }
  html.dk .dk-root > [data-dk="mydays"] > a > span { flex-direction: row !important; align-items: baseline; gap: 16px !important; flex-wrap: wrap; }
  html.dk .dk-root > [data-dk="mydays"] > a > span > span:nth-child(2) { font-size: 16px !important; }
  html.dk .dk-root > [data-dk="mydays"] > a > span > span:nth-child(3) { font-size: 14px !important; }

  /* S5 Events */
  html.dk .dk-root > [data-dk="events"] { padding: var(--sek) 0 0 !important; gap: 40px !important; }
  html.dk .dk-root > [data-dk="events"] .dk-cards { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; gap: 20px !important; }
  html.dk .dk-root > [data-dk="events"] .dk-cards > a { padding: 18px !important; border-radius: 20px !important; }
  html.dk .dk-root > [data-dk="events"] [data-dc-tpl="103"] { font-size: 48px !important; }
  html.dk .dk-root > [data-dk="events"] [data-dc-tpl="106"] { font-size: 15px !important; }
  html.dk .dk-root > [data-dk="events"] [data-dc-tpl="107"] { font-size: 13px !important; }

  /* S6 Das ist erst der Anfang: Überschrift links, Text rechts */
  html.dk #reise { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 16px !important; padding: var(--sek) 0 80px !important; }
  html.dk #reise > :nth-child(1) { grid-column: 1 / 6; grid-row: 1; font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk #reise > h2 { grid-column: 1 / 6; grid-row: 2; font-size: clamp(52px, 4.4vw, 72px) !important; }
  html.dk #reise > div:last-child { grid-column: 7 / 13; grid-row: 2; align-self: end; gap: 16px !important; }

  /* S7 Nächsten Sommer: Überschrift unten links, Zitat unten rechts */
  html.dk .dk-root > [data-dk="vision"] { padding: 0 !important; }
  html.dk .dk-root > [data-dk="vision"] > div { height: 600px !important; border-radius: 28px !important; overflow: hidden; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; align-content: end; align-items: end; padding: 56px !important; box-sizing: border-box; }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="111"] { background: linear-gradient(180deg, rgba(243,238,230,0) 38%, rgba(243,238,230,.78) 74%, rgba(243,238,230,.96) 100%) !important; }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="112"] { grid-column: 1 / 8; grid-row: 1; font-size: clamp(56px, 4.8vw, 76px) !important; line-height: 0.95 !important; text-wrap: balance; }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="113"] { grid-column: 8 / 13; grid-row: 1; padding: 22px 24px !important; border-radius: 18px !important; gap: 14px !important; box-shadow: 0 16px 40px rgba(31,27,23,.12); }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="114"] { font-size: 24px !important; }

  /* S8 Countdown: Kacheln links, Text mittig daneben */
  html.dk .dk-root > [data-dk="count"] { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto 1fr auto auto 1fr; column-gap: var(--spalte) !important; row-gap: 0 !important; padding: 96px 0 0 !important; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-label"] { grid-column: 1 / 8; grid-row: 1; font-size: 12px !important; letter-spacing: 0.16em !important; margin-bottom: 20px; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] { grid-column: 1 / 8; grid-row: 2 / 6; gap: 12px !important; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] > div { height: 150px; box-sizing: border-box; justify-content: center; padding: 0 12px !important; border-radius: 18px !important; gap: 6px !important; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] > div > div:first-child { font-size: 64px !important; font-variant-numeric: tabular-nums; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] > div > div:last-child { font-size: 11px !important; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-p"] { grid-column: 9 / 13; grid-row: 3; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-soc"] { grid-column: 9 / 13; grid-row: 4; margin-top: 20px; }

  /* S9 Neun Welten: 3 × 3, Text liegt auf dem Bild */
  html.dk #welten { padding: var(--sek) 0 0 !important; gap: 40px !important; }
  html.dk #welten > [data-dk="kopf"] { gap: 12px !important; }
  html.dk #welten > [data-dk="kopf"] > div { font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk #welten .dk-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 24px !important; }
  html.dk #welten .dk-cards > a { height: auto !important; aspect-ratio: 4 / 3; padding: 18px !important; border-radius: 22px !important; overflow: hidden; }
  html.dk #welten .dk-cards > a::after { content: ""; position: absolute; inset: 0; border-radius: 22px; background: linear-gradient(180deg, rgba(20,17,14,0) 38%, rgba(20,17,14,.55) 64%, rgba(20,17,14,.86) 100%); pointer-events: none; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="140"], html.dk #welten .dk-cards > a > [data-dc-tpl="144"] { z-index: 1; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="144"] { background: transparent !important; padding: 0 !important; gap: 6px !important; color: #F3EEE6; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="144"] > div:first-child { font-size: 30px !important; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="144"] > div:last-child { font-size: 14px !important; color: #EFE9E0 !important; line-height: 1.45; max-width: 44ch; }
  html.dk #welten .ki-etikett { z-index: 2; }

  /* S10 Lageplan: Kopf über die Breite, Legende links neben der Karte */
  html.dk #lageplan { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 0 !important; padding: var(--sek) 0 0 !important; align-items: stretch; }
  html.dk #lageplan > [data-dk="m-head"] { grid-column: 1 / 13; grid-row: 1; margin-bottom: 40px; gap: 12px !important; }
  html.dk #lageplan > [data-dk="m-head"] > div { font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk #lageplan > [data-dk="m-legend"] { grid-column: 1 / 5; grid-row: 2; grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: minmax(0, 1fr); border-bottom: 1px solid var(--line); }
  html.dk #lageplan > [data-dk="m-legend"] > a { padding: 0 !important; min-height: 28px; font-size: 14px !important; gap: 12px !important; }
  html.dk #lageplan > [data-dk="m-map"] { grid-column: 5 / 13; grid-row: 2; align-self: start; border-radius: 24px !important; }
  html.dk #lageplan > [data-dk="m-cap"] { grid-column: 5 / 13; grid-row: 3; margin-top: 12px !important; font-size: 12px !important; }

  /* S11 App */
  html.dk .dk-root > [data-dk="app"] { padding: var(--sek) 0 var(--sek) !important; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 20px !important; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] { grid-column: 1 / -1; padding: 64px !important; border-radius: 32px !important; display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 72px !important; row-gap: 14px !important; align-items: start; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > * { grid-column: 1; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > [data-dc-tpl="7"] { font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > [data-dc-tpl="8"] { font-size: clamp(48px, 4.2vw, 64px) !important; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > [data-dc-tpl="9"] { font-size: 16px !important; line-height: 1.55; max-width: 56ch; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > div.aqp-app.aqp-app { grid-column: 2; grid-row: 1 / span 8; align-self: center; transform: scale(1.2) !important; transform-origin: center; padding: 0 !important; height: 480px !important; margin: 48px 0 !important; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > button { max-width: 420px; }
  html.dk .dk-root > [data-dk="app"] > a { grid-column: span 1; padding: 20px 22px !important; border-radius: 20px !important; }
}

/* =====================================================================
   Erlebnisseiten
   Links 7/12 Galerie und Inhalt, rechts 5/12 Titel und Buchungsbox.
   Die Box läuft beim Scrollen mit, wenn das Fenster hoch genug ist.
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.tpl-erl .dk-root { grid-template-columns: [full-start] var(--gut) [c-start main-start] minmax(0, 7fr) [main-end] 64px [side-start] minmax(400px, 5fr) [side-end c-end] var(--gut) [full-end]; }
  html.dk body.tpl-erl .dk-root > .dk-crumb { grid-row: 1; padding: 28px 0 0 !important; }
  html.dk body.tpl-erl [data-dk="gal"] { grid-column: main-start / main-end; grid-row: 2; padding: 24px 0 0 !important; gap: 12px !important; }
  html.dk body.tpl-erl [data-dk="gal"] > div:first-child { height: auto !important; aspect-ratio: 4 / 3; border-radius: 24px !important; }
  html.dk body.tpl-erl [data-dk="gal"] > div:first-child > img { border-radius: 24px !important; }
  html.dk body.tpl-erl [data-dk="gal"] > div:nth-child(2):not(:has(img)) { display: none !important; }
  html.dk body.tpl-erl [data-dk="gal"] > div[data-thumbs] { gap: 12px !important; }
  html.dk body.tpl-erl [data-dk="gal"] > div[data-thumbs] > button { height: auto !important; aspect-ratio: 4 / 3; border-radius: 14px !important; }
  html.dk body.tpl-erl [data-dk="titel"] { grid-column: side-start / side-end; grid-row: 2; padding: 24px 0 0 !important; gap: 16px !important; }
  html.dk body.tpl-erl [data-dk="titel"] h1 { font-size: clamp(52px, 4.4vw, 68px) !important; line-height: 0.95 !important; }
  html.dk body.tpl-erl [data-dk="titel"] > div { gap: 8px !important; }
  html.dk body.tpl-erl [data-dk="titel"] p { font-size: 17px !important; }
  html.dk body.tpl-erl [data-dk="kauf"] { grid-column: side-start / side-end; grid-row: 2 / span var(--dk-bookspan, 6); align-self: start; margin-top: calc(var(--dk-titleh, 360px) + 8px); padding: 24px 0 0 !important; }
  html.dk body.tpl-erl [data-dk="kauf"] > div { padding: 24px !important; border-radius: 26px !important; box-shadow: 0 24px 60px rgba(31,27,23,0.10); gap: 18px !important; }
  /* Datum: als Raster, das senkrecht scrollt, mit Maus und Tastatur bedienbar */
  html.dk body.tpl-erl [data-dk="daten"] { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px !important; max-height: 164px; overflow-x: hidden !important; overflow-y: auto !important; scrollbar-width: thin; scrollbar-color: #B9AFA3 transparent; padding: 2px 6px 2px 2px; overscroll-behavior: contain; touch-action: auto; }
  html.dk body.tpl-erl [data-dk="daten"]::-webkit-scrollbar { display: block; width: 6px; }
  html.dk body.tpl-erl [data-dk="daten"]::-webkit-scrollbar-thumb { background: #B9AFA3; border-radius: 3px; }
  html.dk body.tpl-erl [data-dk="daten"] > button { min-width: 0 !important; padding: 0 4px !important; }
  html.dk body.tpl-erl [data-dk="haupt"] { grid-column: main-start / main-end; padding: 72px 0 0 !important; }
  html.dk body.tpl-erl [data-dk="haupt"] > h2 { font-size: clamp(40px, 3.2vw, 52px) !important; }
  html.dk body.tpl-erl [data-dk="haupt"] > div[style*="border-radius: 24px"] { padding: 40px !important; border-radius: 28px !important; }
  html.dk body.tpl-erl [data-dk="haupt"][style*="background: #1F1B17"], html.dk body.tpl-erl [data-dk="haupt"][style*="background: rgb(31, 27, 23)"] { padding: 48px !important; border-radius: 28px; margin-top: 72px; gap: 18px !important; }
  html.dk body.tpl-erl [data-dk="haupt"] > div[style*="height: 240px"] { height: auto !important; aspect-ratio: 16 / 9; margin-top: 8px; }
  html.dk body.tpl-erl [data-teil="enthalten"] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px !important; row-gap: 0 !important; align-items: stretch; }
  html.dk body.tpl-erl [data-teil="enthalten"] > h2 { grid-column: 1 / -1; margin-bottom: 20px !important; }
  html.dk body.tpl-erl [data-teil="enthalten"] > div:last-child { grid-column: 1 / -1; margin-top: 16px; }
  html.dk body.tpl-erl [data-teil="enthalten"] > div:not(:last-child) { padding: 14px 0 !important; align-items: flex-start !important; }
  html.dk body.tpl-erl [data-teil="enthalten"] > div:not(:last-child) > span:last-child { padding-top: 3px; }
  html.dk body.tpl-erl [data-dk="haupt"][data-wissen] { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px !important; align-items: start; }
  html.dk body.tpl-erl [data-dk="haupt"][data-wissen] > h2 { grid-column: 1 / -1; margin-bottom: 20px !important; }
  html.dk body.tpl-erl [data-dk="quer"] { grid-column: c-start / c-end; padding: 112px 0 0 !important; gap: 40px !important; }
  html.dk body.tpl-erl [data-dk="quer"] > h2 { padding: 0 !important; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a { padding: 12px 12px 18px !important; gap: 10px !important; border-radius: 22px !important; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a > span:first-child { height: auto !important; aspect-ratio: 4 / 3; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a > span:nth-child(2) { font-size: 17px !important; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a > span:nth-child(3) { font-size: 26px !important; margin-top: auto; }
  html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a > span:nth-child(4):empty { display: none; }
  html.dk body.tpl-erl [data-dk="mydays"] { grid-column: main-start / main-end; padding: 40px 0 112px !important; align-self: stretch; }
  html.dk body.tpl-erl [data-dk="hotline"] { grid-column: side-start / side-end; padding: 40px 0 112px !important; align-self: stretch; }
  html.dk body.tpl-erl .dk-root:not(:has(> [data-dk="mydays"])) > [data-dk="hotline"] { grid-column: c-start / c-end; }
  html.dk body.tpl-erl [data-dk="mydays"] > a, html.dk body.tpl-erl [data-dk="hotline"] > a { height: 100%; box-sizing: border-box; padding: 22px 28px !important; border-radius: 22px !important; }
  html.dk body.tpl-erl .dk-foot { padding-bottom: 56px !important; }
}
@media (min-width: 1024px) and (min-height: 820px) {
  html.dk body.tpl-erl [data-dk="kauf"] { position: sticky; top: calc(var(--nav) + 24px); }
}

/* =====================================================================
   Weihnachtszauber
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.pg-winterzauber [data-dk="hero"] { min-height: max(640px, min(calc(100svh - var(--nav)), 820px)); padding-bottom: 0 !important; }
  html.dk body.pg-winterzauber [data-dk="hero"] > div[style*="position: absolute"] { background: linear-gradient(90deg, rgba(20,17,14,.78) 0%, rgba(20,17,14,.55) 32%, rgba(20,17,14,0) 58%), linear-gradient(180deg, rgba(31,27,23,.45) 0%, rgba(31,27,23,0) 24%, rgba(31,27,23,0) 52%, rgba(31,27,23,.95) 100%) !important; }
  html.dk body.pg-winterzauber [data-dk="hero"] > .dk-herotext { padding: 48px 0 168px !important; max-width: calc((100% - 11 * var(--spalte)) * 7 / 12 + 6 * var(--spalte)); }
  html.dk body.pg-winterzauber [data-dk="hero"] h1 { font-size: clamp(64px, 6vw, 104px) !important; }
  html.dk body.pg-winterzauber .dk-root > [data-dk="fakten"] { grid-column: c-start / c-end; position: relative; z-index: 2; margin-top: -128px; padding: 0 !important; border-bottom: 0 !important; gap: 16px !important; }
  html.dk body.pg-winterzauber [data-dk="fakten"] > div { padding: 22px 26px !important; border-radius: 18px !important; background: rgba(42,36,31,.82) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border: 1px solid rgba(243,238,230,.10); display: flex; flex-direction: column; gap: 6px; }
  html.dk body.pg-winterzauber [data-dk="fakten"] > div > div:first-child { font-size: 34px !important; }
  html.dk body.pg-winterzauber [data-dk="fakten"] > div > div:last-child { font-size: 13px !important; }
  html.dk body.pg-winterzauber .dk-root > [data-dk="erwartet"] { grid-column: c-start / c-end; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px !important; padding: var(--sek) 0 0 !important; align-items: stretch; }
  html.dk body.pg-winterzauber [data-dk="erwartet"] > :first-child { grid-column: 1 / -1; font-size: 12px !important; letter-spacing: 0.16em !important; margin-bottom: 8px; }
  html.dk body.pg-winterzauber [data-dk="erwartet"] > div + div > div:first-child { height: auto !important; aspect-ratio: 4 / 3; }
  html.dk body.pg-winterzauber [data-dk="erwartet"] > div + div > div:last-child { padding: 20px !important; gap: 8px !important; }
  html.dk body.pg-winterzauber [data-dk="erwartet"] > div + div > div:last-child > div:last-child { font-size: 15px !important; line-height: 1.5; }
  html.dk body.pg-winterzauber .dk-root > #huette { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px !important; align-items: stretch; margin-top: var(--sek); padding-top: var(--sek) !important; padding-bottom: var(--sek) !important; }
  html.dk body.pg-winterzauber #huette > :nth-child(1) { grid-column: 1 / -1; font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk body.pg-winterzauber #huette > h2 { grid-column: 1 / -1; margin: -8px 0 16px !important; }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3) { grid-column: span 2; padding: 26px !important; border-radius: 22px !important; gap: 12px !important; }
  html.dk body.pg-winterzauber #huette > div:nth-last-child(-n+2) { grid-column: span 3; }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3) > div:first-child > span:first-child { font-size: 34px !important; }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3) > div:nth-child(3) { font-size: 14px !important; line-height: 1.5; }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3) > a { margin-top: auto; }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3) > div:nth-child(4) { margin-bottom: 8px; }
  html.dk body.pg-winterzauber .dk-root > [data-dk="eisstock"] { grid-column: c-start / c-end; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: 1fr auto auto auto 1fr; column-gap: var(--spalte) !important; row-gap: 0 !important; padding: var(--sek) 0 0 !important; }
  html.dk body.pg-winterzauber [data-dk="eisstock"] > div:first-child { grid-column: 1 / 7; grid-row: 1 / -1; height: auto !important; aspect-ratio: 4 / 3; border-radius: 24px !important; }
  html.dk body.pg-winterzauber [data-dk="eisstock"] > h2 { grid-column: 8 / 13; grid-row: 2; }
  html.dk body.pg-winterzauber [data-dk="eisstock"] > p { grid-column: 8 / 13; grid-row: 3; margin-top: 16px !important; }
  html.dk body.pg-winterzauber [data-dk="eisstock"] > div:last-child { grid-column: 8 / 13; grid-row: 4; margin-top: 28px; padding: 20px 20px 20px 24px !important; }
  html.dk body.pg-winterzauber .dk-root > [data-dk="anfahrt"] { grid-column: c-start / c-end; display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 6px !important; align-items: center; margin: 72px 0 0; padding: 32px 0 0 !important; border-top: 1px solid #3A332C; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > div { grid-column: 1 / 4; grid-row: 1; font-size: 12px !important; letter-spacing: 0.16em !important; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > p { grid-column: 4 / 10; grid-row: 1; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > a { grid-column: 10 / 13; grid-row: 1; }
  html.dk body.pg-winterzauber .dk-foot > .f-team > div:nth-child(1) { background: #CFC5B6 url(img/team-andre.jpg) center / cover !important; }
  html.dk body.pg-winterzauber .dk-foot > .f-team > div:nth-child(2) { background: #BFB4A4 url(img/team-1.jpg) center / cover !important; }
  html.dk body.pg-winterzauber .dk-foot > .f-team > div:last-child { font-size: 15px; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  html.dk body.pg-winterzauber .dk-root > [data-dk="erwartet"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.dk body.pg-winterzauber #huette > div:nth-child(n+3), html.dk body.pg-winterzauber #huette > div:nth-last-child(-n+2) { grid-column: span 3; }
  html.dk body.pg-winterzauber #huette > div:nth-child(7) { grid-column: 1 / -1; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > div { grid-column: 1 / -1; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > p { grid-column: 1 / 9; grid-row: 2; }
  html.dk body.pg-winterzauber [data-dk="anfahrt"] > a { grid-column: 9 / 13; grid-row: 2; }
}

/* =====================================================================
   Gutscheine
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.pg-gutscheine .dk-root > section:first-of-type { align-self: center; padding-top: 72px !important; }
  html.dk body.pg-gutscheine .dk-root > [data-dk="erlebnis"] { grid-column: c-start / mid-l; padding-top: 96px !important; padding-bottom: 0 !important; gap: 24px !important; }
  html.dk body.pg-gutscheine .dk-root > [data-dk="faq"] { grid-column: mid-r / c-end; padding-top: 96px !important; padding-bottom: 0 !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] > div { padding-left: 0 !important; padding-right: 0 !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] > div:last-child { gap: 14px !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] a { padding: 12px 20px 12px 12px !important; gap: 20px !important; border-radius: 20px !important; }
  html.dk body.pg-gutscheine [data-dk="bildbox"] { position: relative; width: 132px !important; height: 104px !important; overflow: hidden; }
  html.dk body.pg-gutscheine [data-dk="bild"] { display: block !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] a > span:nth-child(2) > span:nth-child(2) { font-size: 17px !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] a > span:nth-child(2) > span:nth-child(3) { font-size: 24px !important; }
  html.dk body.pg-gutscheine [data-dk="erlebnis"] a > span:nth-child(2) > span:nth-child(4) { font-size: 13px !important; }
}

/* =====================================================================
   Karriere
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.pg-karriere .dk-root > [data-dk="gruende"] { position: sticky; top: calc(var(--nav) + 24px); padding-top: 96px !important; gap: 14px !important; }
  html.dk body.pg-karriere [data-dk="gruende"] > div { padding: 24px !important; border-radius: 20px !important; gap: 8px !important; }
  html.dk body.pg-karriere [data-dk="gruende"] > div > span:first-child { font-size: 30px !important; }
  html.dk body.pg-karriere [data-dk="gruende"] > div > span:last-child { font-size: 15px !important; line-height: 1.5; }
  html.dk body.pg-karriere .dk-root > #jobs { padding-top: 96px !important; }
  html.dk body.pg-karriere .dk-root > [data-dk="ablauf"] { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 32px !important; margin-top: var(--sek); padding-top: var(--sek) !important; padding-bottom: var(--sek) !important; }
  html.dk body.pg-karriere [data-dk="ablauf"] > h2 { grid-column: 1 / -1; }
  html.dk body.pg-karriere [data-dk="ablauf"] > div { flex-direction: column; gap: 18px !important; padding-top: 24px; border-top: 1px solid #3A332C; }
  html.dk body.pg-karriere [data-dk="ablauf"] > div > span:first-child { width: 44px !important; height: 44px !important; border-radius: 22px !important; font-size: 16px !important; }
  html.dk body.pg-karriere [data-dk="ablauf"] > div > span:last-child > span:first-child { font-size: 20px !important; }
  html.dk body.pg-karriere [data-dk="ablauf"] > div > span:last-child > span:last-child { font-size: 15px !important; line-height: 1.5; }
  html.dk body.pg-karriere .dk-root > #bewerben { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 16px !important; align-content: start; padding-top: var(--sek) !important; }
  html.dk body.pg-karriere #bewerben > * { grid-column: 7 / 13; max-width: 560px; width: 100%; }
  html.dk body.pg-karriere #bewerben > h2 { grid-column: 1 / 6; grid-row: 1; }
  html.dk body.pg-karriere #bewerben > p { grid-column: 1 / 6; grid-row: 2; }
  html.dk body.pg-karriere #bewerben > div:last-child { grid-column: 1 / 6; grid-row: 3 / span 8; align-self: start; font-size: 15px !important; margin-top: 8px; }
  html.dk body.pg-karriere #bewerben > button { height: 56px !important; }
}

/* =====================================================================
   Für Marken
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.pg-partner .dk-root > [data-dk="ablauf"] { grid-column: c-start / c-end; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 32px !important; padding-top: var(--sek) !important; }
  html.dk body.pg-partner [data-dk="ablauf"] > h2 { grid-column: 1 / -1; }
  html.dk body.pg-partner [data-dk="ablauf"] > div { flex-direction: column; gap: 18px !important; padding: 24px 0 0 !important; }
  html.dk body.pg-partner [data-dk="ablauf"] > div > span:first-child { width: 44px !important; height: 44px !important; border-radius: 22px !important; font-size: 16px !important; }
  html.dk body.pg-partner [data-dk="ablauf"] > div > span:last-child > span:first-child { font-size: 20px !important; }
  html.dk body.pg-partner [data-dk="ablauf"] > div > span:last-child > span:last-child { font-size: 15px !important; line-height: 1.5; }
  html.dk body.pg-partner .dk-root > [data-dk="formate"] { grid-column: c-start / c-end; padding-top: var(--sek) !important; gap: 40px !important; }
  html.dk body.pg-partner [data-dk="formate"] > h2 { padding: 0 !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div { border-radius: 22px !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div > div:first-child { height: auto !important; aspect-ratio: 4 / 3; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div > div:last-child { padding: 18px !important; gap: 8px !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div > div:last-child > span:first-child { font-size: 26px !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div > div:last-child > span:last-child { font-size: 14px !important; line-height: 1.5; }
  html.dk body.pg-partner .dk-root > [data-dk="partner"] { grid-column: c-start / mid-l; align-self: stretch; padding-top: var(--sek) !important; gap: 24px !important; }
  html.dk body.pg-partner .dk-root > #kontakt { grid-column: mid-r / c-end; padding-top: var(--sek) !important; }
  html.dk body.pg-partner [data-dk="partner"] > div { flex: 1; padding: 28px !important; border-radius: 24px !important; gap: 16px !important; }
  html.dk body.pg-partner [data-dk="partner"] > div > div { flex: 1; min-height: 160px; height: auto !important; border-radius: 18px !important; }
  html.dk body.pg-partner [data-dk="partner"] > div > div > img { max-height: 72px; width: auto !important; height: auto !important; }
  html.dk body.pg-partner [data-dk="partner"] > div > span:nth-child(3) { font-size: 32px !important; }
  html.dk body.pg-partner [data-dk="partner"] > div > span:nth-child(4) { font-size: 16px !important; line-height: 1.55; }
  html.dk body.pg-partner #kontakt > div { padding: 40px !important; border-radius: 28px !important; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  html.dk body.pg-partner [data-dk="ablauf"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div { grid-column: span 2; }
  html.dk body.pg-partner [data-dk="formate"] .dk-cards > div:nth-child(4) { grid-column: 2 / span 2; }
}

/* =====================================================================
   Fundbüro (normales HTML ohne x-dc)
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk body.pg-fundbuero .dk-root > #liste { padding-top: 72px !important; }
  html.dk body.pg-fundbuero .dk-root > [data-dk="ablauf"] { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 24px !important; margin-top: var(--sek); padding-top: var(--sek) !important; padding-bottom: var(--sek) !important; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > .fb-kicker, html.dk body.pg-fundbuero [data-dk="ablauf"] > h2 { grid-column: 1 / -1; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > h2 { margin-bottom: 16px !important; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > div:not(:last-child) { flex-direction: column; gap: 18px !important; padding-top: 24px; border-top: 1px solid #3A332C; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > div:not(:last-child) > span:first-child { width: 44px !important; height: 44px !important; border-radius: 22px !important; font-size: 16px !important; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > div:not(:last-child) > span:last-child > span:first-child { font-size: 20px !important; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > div:not(:last-child) > span:last-child > span:last-child { font-size: 15px !important; line-height: 1.5; }
  html.dk body.pg-fundbuero [data-dk="ablauf"] > div:last-child { grid-column: 1 / -1; margin-top: 16px; padding: 18px 22px !important; border-radius: 16px !important; font-size: 14px !important; line-height: 1.55; }
  html.dk body.pg-fundbuero .dk-root > #melden { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--spalte) !important; row-gap: 16px !important; align-content: start; padding-top: var(--sek) !important; }
  html.dk body.pg-fundbuero .dk-root > #melden > * { grid-column: 1 / 6; max-width: none; width: auto; }
  html.dk body.pg-fundbuero .dk-root > #melden > .fb-kicker { grid-row: 1; }
  html.dk body.pg-fundbuero .dk-root > #melden > h2 { grid-row: 2; }
  html.dk body.pg-fundbuero .dk-root > #melden > p { grid-row: 3; }
  html.dk body.pg-fundbuero .dk-root > #melden > #fbFormBereich { grid-column: 7 / 13; grid-row: 1 / span 12; max-width: 560px; width: 100%; }
  html.dk body.pg-fundbuero #fbFormBereich .fb-knopf { max-width: none; width: 100%; }
}

/* =====================================================================
   Klickbare Karten (Hover und ganze Fläche)
   ===================================================================== */
@media (min-width: 1024px) {
  html.dk #buchen .dk-cards > div, html.dk .dk-root > [data-dk="mydays"] > a, html.dk [data-dk="presse"], html.dk .dk-root > [data-dk="app"] > a:not([href="#"]), html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a, html.dk body.tpl-erl [data-dk="hotline"] > a { transition: translate .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, opacity .7s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
  html.dk #buchen .dk-cards > div:hover, html.dk .dk-root > [data-dk="mydays"] > a:hover, html.dk [data-dk="presse"]:hover, html.dk .dk-root > [data-dk="app"] > a:not([href="#"]):hover, html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a:hover, html.dk body.tpl-erl [data-dk="hotline"] > a:hover { box-shadow: 0 18px 40px rgba(31,27,23,.14) !important; }
  html.dk #buchen .dk-cards > div:focus-within { box-shadow: 0 0 0 2px var(--ink), 0 18px 40px rgba(31,27,23,.14) !important; }
  html.dk #buchen .dk-cards > div > a:focus-visible { outline-offset: 2px; }
  html.dk.an .dk-root .an-karte:hover, html.dk.an #buchen .dk-cards > div:hover { transform: none; }
}
@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
  html.dk #buchen .dk-cards > div:hover, html.dk .dk-root > [data-dk="mydays"] > a:hover, html.dk [data-dk="presse"]:hover, html.dk .dk-root > [data-dk="app"] > a:not([href="#"]):hover, html.dk body.tpl-erl [data-dk="quer"] .dk-cards > a:hover, html.dk body.tpl-erl [data-dk="hotline"] > a:hover { translate: 0 -4px; }
}

/* =====================================================================
   1024 bis 1279 Pixel
   ===================================================================== */
@media (min-width: 1024px) and (max-width: 1279px) {
  html.dk { --spalte: 24px; --sek: 96px; }
  html.dk #hero > .dk-herotext > * { max-width: calc((100% - 11 * var(--spalte)) * 8 / 12 + 7 * var(--spalte)); }
  html.dk #weiter > * { grid-column: 1 / 8; }
  html.dk #weiter > [data-dk="presse"] { grid-column: 8 / 13; }
  html.dk #winter > [data-dk="w-feat"] > div > img { height: 96px !important; }
  html.dk #winter > [data-dk="w-days"], html.dk #winter > [data-dk="w-more"] { grid-column: 1 / 7; }
  html.dk #winter > [data-dk="w-kino"] { grid-column: 7 / 13; }
  html.dk #buchen .dk-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html.dk #buchen .dk-cards > [data-dk="gutschein"] { grid-column: 1 / -1; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
  html.dk .dk-root > [data-dk="events"] .dk-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  html.dk .dk-root > [data-dk="vision"] > div { padding: 40px !important; }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="112"] { grid-column: 1 / 7; }
  html.dk .dk-root > [data-dk="vision"] [data-dc-tpl="113"] { grid-column: 7 / 13; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-label"], html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] { grid-column: 1 / 8; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-p"], html.dk .dk-root > [data-dk="count"] > [data-dk="c-soc"] { grid-column: 8 / 13; }
  html.dk .dk-root > [data-dk="count"] > [data-dk="c-grid"] > div > div:first-child { font-size: 52px !important; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="144"] > div:first-child { font-size: 26px !important; }
  html.dk #welten .dk-cards > a > [data-dc-tpl="144"] > div:last-child { font-size: 13px !important; }
  html.dk #lageplan > [data-dk="m-legend"] > a { font-size: 13px !important; min-height: 24px; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] { padding: 48px !important; column-gap: 40px !important; }
  html.dk .dk-root > [data-dk="app"] > [data-dk="a-box"] > div.aqp-app.aqp-app { transform: scale(1) !important; }
  html.dk .dk-root > [data-dk="app"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.dk .dk-foot > .f-links { column-gap: 20px !important; }
  html.dk body.tpl-erl .dk-root { grid-template-columns: [full-start] var(--gut) [c-start main-start] minmax(0, 7fr) [main-end] 40px [side-start] minmax(400px, 5fr) [side-end c-end] var(--gut) [full-end]; }
}

/* Kopfleiste bis 1600 px schmaler, damit „Jetzt buchen“ nicht aus dem Fenster läuft */
@media (min-width: 1024px) and (max-width: 1599px) {
  html.dk .dk-nav-in { gap: 18px !important; }
  html.dk .dk-links { gap: 0; }
  html.dk .dk-top { padding: 0 10px; font-size: 13px; }
  html.dk .dk-cta { gap: 14px !important; }
  html.dk .dk-tel { display: none; }
}
@media (min-width: 1024px) and (max-width: 1199px) {
  html.dk .dk-nav-in { gap: 12px !important; }
  html.dk .dk-logo { letter-spacing: 0.08em; font-size: 13px; }
  html.dk .dk-top { padding: 0 6px; font-size: 12px; }
  html.dk .dk-btn { padding: 0 16px; }
}

/* Für Marken: Hero ohne Bild, Knopf in natürlicher Breite */
html.dk [data-dk="partner-cta"] { align-self: flex-start; padding: 0 40px; }
