/* Backend CSS Manager bundle (auto-generated). DO NOT EDIT. */

/* --- activities-gallery.css --- */
/* BCM: flattened @scope(.activities-gallery) for Firefox. */
.activities-gallery .blocks-gallery-item figcaption, .activities-gallery /* For newer image markup inside galleries */
		figure.wp-block-image figcaption{
				position: static !important;   /* remove absolute positioning */
				bottom: auto;
				left: auto;
				right: auto;
				background: transparent;      /* remove dark overlay background */
				padding: 0.5em 0 0;           /* space between image and caption */
				margin: 0;
				opacity: 1 !important;        /* make sure it’s visible */
				color: #333;                  /* adjust to fit your theme */
				text-align: center;
		}.activities-gallery .blocks-gallery-item img, .activities-gallery figure.wp-block-image img{
				display: block;
		}.activities-gallery figure.wp-block-image figcaption.wp-element-caption{
    		text-shadow: none;
    		background: none;
		}
/* End BCM @scope */

/* --- buttons.css --- */
.wp-block-button__link:hover {
		opacity: 0.8;
}

/* --- c2-boxy-plus.css --- */
.c2-boxy-mobile-bar {
		background: #005fab;
}

.c2-boxy-mobile-bar .c2-boxy-trigger-button,
.c2-boxy-mobile-bar .c2-boxy-trigger-link {
		background: var(--c2-boxy-trigger-bg, #1f2937);
}

/* --- c2-hero-switcher.css --- */
/* BCM: flattened @scope(.wp-block-c2-hero-switcher) for Firefox. */
.wp-block-c2-hero-switcher figure{
				width: 35%;
		}.wp-block-c2-hero-switcher img{
				width: 100%;
		}
/* End BCM @scope */

.c2hs .c2hs__frame {
		/* kill the ratio so height can drive layout */
		aspect-ratio: auto !important;

		/*
		IMPORTANT:
		Use a stable viewport height to avoid "shrinking/growing while scrolling"
		caused by dynamic browser UI on mobile (100dvh).
		*/
		height: 100vh;
		height: 100svh;

		/* keep your width behavior */
		width: min(100%, var(--c2hs-width));
}

/* base: smooth filter transition on images inside these panels */
.c2hs__inner img {
		transition: filter .25s ease;
}

/* Smooth overlay reveal on hover for selected panels */
.c2hs .c2hs__overlay {
		transition: opacity .25s ease;
}

/* hidden by default on these panels */
.c2hs .c2hs__overlay {
		opacity: 0;
}

.c2hs__panel:hover .c2hs__overlay {
		opacity: var(--c2hs-dim, .4);
}
.c2hs__panel:hover img {
		filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(23deg) brightness(112%) contrast(101%);
}

/* --- columns.css --- */
/* Stack up to 1023px when "Stack on mobile" is ON */
@media (max-width: 1024px) {
    /* Make each column 100% width */
    .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
        flex-basis: 100% !important;
    }

    /* Allow wrapping only for stack-enabled columns */
    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-wrap: wrap !important;
    }
}

/* --- contact-form.css --- */
.form-grid {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap:50px;
		width: 100%;
}

input{
		margin: 0;
		height: 4vh;
		width: calc(100% - 4px);
		display: block;
		border: none;
		font-size: clamp(1rem, 2.5vw, 1.5rem);
		border-bottom: solid 2px;
		-webkit-transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
		transition: all 0.3s cubic-bezier(0.64, 0.09, 0.08, 1);
		background-position: -200px 0;
		background-size: 200px 100%;
		background-repeat: no-repeat;

}

input, textarea {
		font-family: var(--cftm-default-font);
		background-color: transparent;
}

textarea.wpcf7-form-control.wpcf7-textarea {
		font-size: clamp(0.75rem, 0.649rem + 0.541vi, 2rem) !important;
		margin: 0;
		padding: 0;
		width: calc(100% - 4px);
		height: 4vh;

		box-sizing: border-box;
		border: none;
		border-bottom: 2px solid;
		outline: none;
		background: transparent;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		resize: vertical;
}


input.wpcf7-form-control.wpcf7-submit.has-spinner {
		font-size: clamp(0.75rem, 0.417rem + 1.111vi, 2.5rem);
		font-weight: 300;
		border: 2px solid;
		width: auto;
		height: auto;
		float: right;
		padding-top: 1rem;
		padding-right: 2.25rem;
		padding-bottom: 1rem;
		padding-left: 2.25rem;
		border-radius: 10px;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
		cursor: pointer;
}

span.captcha-image {
		border: 2px solid;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
		float: right;
}

.captcha-image {
		border: 0px !important;
		padding-left: 0;
		padding-right: 0;
}

.captcha-image label>input:checked+svg, .captcha-image label>input:focus+svg {
		border-color: #008d36;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
		color: #fff;
		background-color: #005FAB;
		border-color: #005FAB;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner:hover {
		color: #fff;
		background-color: #008d36;
		border-color: #008d36;
}

.wpcf7 form .wpcf7-response-output {
		margin: 5em 0 0 0;
}

/* --- general.css --- */
strong {
		font-weight: 600;
}

.wp-block-template-part {
		margin: 0;
}

/* --- header.css --- */
/* BCM: flattened @scope(header) for Firefox. */
header .wp-block-cover__inner-container{
				padding: 0;
		}
/* End BCM @scope */

/* --- ihre-vorteile-column.css --- */
/* BCM: flattened @scope(.ihre-vorteile-column) for Firefox. */
.ihre-vorteile-column img{
				filter: brightness(0) saturate(100%) invert(98%) sepia(1%) saturate(128%) hue-rotate(134deg) brightness(118%) contrast(100%);
				height: clamp(1.5rem, 1.421rem + 0.632vi, 3rem);
				aspect-ratio: 1;
		}
/* End BCM @scope */

.ihre-vorteile-column {

		/* create the chevron shape on the right side */
		clip-path: polygon(
				0 0,
				85% 0,
				100% 50%,
				85% 100%,
				0 100%,
				0 50%
		);
}

@media (max-width: 1024px) {
		.ihre-vorteile-column {

				/* create the chevron shape on the bottom */
				clip-path: polygon(
						0 0,
						100% 0,
						100% 85%,
						50% 100%,
						0 85%,
						0 50%
				);
		}

		.ihre-vorteile-column>.wp-block-group {
				padding-right: var(--wp--preset--spacing--40) !important;
				padding-bottom: calc(15% + 30px) !important;
		}
}

/* --- jetzt-buchen-button.css --- */
/* BCM: flattened @scope(.jetzt-buchen-button) for Firefox. */
.jetzt-buchen-button .wp-block-button__link{
				font-size: clamp(1.5rem, 1.318rem + 0.973vi, 3.75rem);
				letter-spacing: 1px;
		}
/* End BCM @scope */

/* --- navigation.css --- */
/* ---------- Mobile nav: visibility + stacking ---------- */
.mobile-navigation-group {
  display: none;
}

@media (max-width: 781px) {
  .mobile-navigation-group {
    display: block;
    /* make the whole group sit ABOVE the content below (z-axis) */
    position: fixed;              /* overlays page content instead of taking layout space */
    top: 0;
    left: 0;
    right: 0;
    z-index: 99990;
    margin: 0 !important;
    padding: 0 !important;
  }
}

/* ---------- Your custom burger button (open) positioning ---------- */
@media (max-width: 781px) {
  .mobile-navigation-group .c2-burger-toggler {
    position: fixed;
    top: calc(16px + var(--wp-admin--admin-bar--height, 0px));
    z-index: 99995;               /* below overlay + close button */
    margin: 0 !important;
  }
}

/* ---------- Fullscreen overlay (expanded menu) ---------- */
.mobile-navigation-group .wp-block-navigation__responsive-container.has-modal-open,
.mobile-navigation-group .wp-block-navigation__responsive-container.is-menu-open {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;                 /* better on mobile browser UI */
  background: rgba(255, 255, 255, 0.9) !important;
  overflow: hidden;
  padding: 0 !important;
  margin: 0;
  z-index: 99999;
}

/* Dialog fills overlay and becomes positioning context */
.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .wp-block-navigation__responsive-dialog,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-dialog {
  position: relative;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

/* Content becomes full-canvas (so close button never pushes it) */
.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .wp-block-navigation__responsive-container-content,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-content {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* ---------- Close button overlayed on top (z-axis) ---------- */
.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .wp-block-navigation__responsive-container-close,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-container-close {
  position: fixed !important;
  top: calc(16px + var(--wp-admin--admin-bar--height, 0px));
  right: 16px;
  z-index: 100000 !important;
  margin: 0 !important;

  /* optional readability */
  background: rgba(255, 255, 255, 0.75);
  border-radius: 999px;
  padding: 8px;
  line-height: 0;
}

/* ---------- Hero-switcher: true full-screen layout ---------- */
.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .wp-block-c2-hero-switcher,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-c2-hero-switcher {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  max-width: none;
  margin: 0 !important;
  padding: 0 !important;
  aspect-ratio: auto !important; /* override the --c2hs-ar behavior */
}

.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .c2hs__frame,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .c2hs__frame {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.mobile-navigation-group
  .wp-block-navigation__responsive-container.has-modal-open
  .c2hs__panel,
.mobile-navigation-group
  .wp-block-navigation__responsive-container.is-menu-open
  .c2hs__panel {
  flex: 1 1 0;
  min-height: 0;
}

/* ---------- Prevent page scroll while overlay is open ---------- */
html.has-modal-open,
body.has-modal-open {
  overflow: hidden !important;
}

/* Your existing tweak */
.c2-burger-toggler #box_t_capt_left {
  display: none;
}

/* BCM: flattened @scope(nav) for Firefox. */
nav .ham8{
				filter: brightness(0) saturate(100%) invert(18%) sepia(0%) saturate(42%) hue-rotate(200deg) brightness(107%) contrast(91%);
		}
/* End BCM @scope */

/* --- page-changes/Camping.css --- */
/* ===========================
   PAGE: Camping (80)
   Fixed panel: .camping-panel
   Shrinking panels: .wohnwagen-panel + .ferienwohnung-panel
   IMPORTANT: shrink behavior ONLY inside header
   =========================== */

body.page-id-80 .footer-group,
body.page-id-80 .c2-boxy-mobile-bar, 
body.page-id-80 .c2-boxy-trigger-button,
body.page-id-80 .c2-boxy-trigger-link,
body.page-id-80 #c2-to-top-button {
  background-color: #008d36 !important;
}

body.page-id-80 .camping-panel img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(23deg) brightness(112%) contrast(101%) !important;
}

body.page-id-80 .camping-panel .c2hs__overlay {
		opacity: var(--c2hs-dim, .4);
}

/* ===========================
   MOBILE STACK / SCROLL SHRINK
   (HEADER ONLY)
   =========================== */
@media (max-width: 1024px) {

  body.page-id-80 header.wp-block-template-part .c2hs.c2hs--count-1 { --c2hs-count: 1; }
  body.page-id-80 header.wp-block-template-part .c2hs.c2hs--count-2 { --c2hs-count: 2; }
  body.page-id-80 header.wp-block-template-part .c2hs.c2hs--count-3 { --c2hs-count: 3; }
  body.page-id-80 header.wp-block-template-part .c2hs.c2hs--count-4 { --c2hs-count: 4; }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) {
    --c2hs-stack-h: 100svh;
    --c2hs-hold: 120px;
    position: relative;
    z-index: 0;

    --row0: calc(var(--c2hs-stack-h) / var(--c2hs-count, 3));
  }

  body.page-id-80 header.wp-block-template-part .wp-block-cover:has(.c2hs:has(.wohnwagen-panel, .ferienwohnung-panel)) {
    min-height: 0 !important;
  }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__frame {
    position: sticky;
    top: 0;
    z-index: 10;
    aspect-ratio: auto !important;
    height: var(--c2hs-stack-h);
    display: block !important;
    overflow: hidden;
  }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__panel {
    position: relative;
    height: var(--row0);
    min-height: 0;
    flex: none !important;
  }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__panel {
    clip-path: none !important;
  }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__bgbox {
    left: 0; top: 0; width: 100%; height: 100%;
  }

  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel)::after {
    content: none !important;
    height: 0 !important;
  }

  /* FIXED panel: camping stays unchanged */
  body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .camping-panel {
    height: var(--row0);
    animation: none !important;
  }

  @supports (animation-timeline: scroll(root block)) {

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel):has(.ferienwohnung-panel) {
      --shrinkers: 2;
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrink {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrink {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLift {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__frame {
      animation-name: c2hsFrameShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    /* shrink ONLY targets */
    body.page-id-80 header.wp-block-template-part .c2hs .wohnwagen-panel,
    body.page-id-80 header.wp-block-template-part .c2hs .ferienwohnung-panel {
      animation-name: c2hsRowShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-80 header.wp-block-template-part:has(.c2hs:has(.wohnwagen-panel, .ferienwohnung-panel)) + * {
      animation-name: c2hsNextLift;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }

  @supports (animation-timeline: scroll()) and not (animation-timeline: scroll(root block)) {

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel):has(.ferienwohnung-panel) {
      --shrinkers: 2;
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrinkWK {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrinkWK {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLiftWK {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-80 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .ferienwohnung-panel) .c2hs__frame {
      animation-name: c2hsFrameShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-80 header.wp-block-template-part .c2hs .wohnwagen-panel,
    body.page-id-80 header.wp-block-template-part .c2hs .ferienwohnung-panel {
      animation-name: c2hsRowShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-80 header.wp-block-template-part:has(.c2hs:has(.wohnwagen-panel, .ferienwohnung-panel)) + * {
      animation-name: c2hsNextLiftWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }
}


/* --- page-changes/Ferienwohnungen.css --- */
/* ===========================
   PAGE: Ferienwohnungen (78)
   Fixed panel: .ferienwohnung-panel
   Shrinking panels: .wohnwagen-panel + .camping-panel
   IMPORTANT: shrink behavior ONLY inside header
   =========================== */

body.page-id-78 .footer-group,
body.page-id-78 .c2-boxy-mobile-bar, 
body.page-id-78 .c2-boxy-trigger-button,
body.page-id-78 .c2-boxy-trigger-link,
body.page-id-78 #c2-to-top-button {
  background-color: #383838 !important;
}

body.page-id-78 .ferienwohnung-panel img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(23deg) brightness(112%) contrast(101%);
}

body.page-id-78 .ferienwohnung-panel .c2hs__overlay {
		opacity: var(--c2hs-dim, .4);
}

/* ===========================
   MOBILE STACK / SCROLL SHRINK
   (HEADER ONLY)
   =========================== */
@media (max-width: 1024px) {

  /* count var (from plugin’s count classes) - header only */
  body.page-id-78 header.wp-block-template-part .c2hs.c2hs--count-1 { --c2hs-count: 1; }
  body.page-id-78 header.wp-block-template-part .c2hs.c2hs--count-2 { --c2hs-count: 2; }
  body.page-id-78 header.wp-block-template-part .c2hs.c2hs--count-3 { --c2hs-count: 3; }
  body.page-id-78 header.wp-block-template-part .c2hs.c2hs--count-4 { --c2hs-count: 4; }

  /* Activate only for the header hero that contains target panels */
  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) {
    --c2hs-stack-h: 100svh;
    --c2hs-hold: 120px;
    position: relative;
    z-index: 0;

    --row0: calc(var(--c2hs-stack-h) / var(--c2hs-count, 3));
  }

  /* Allow the HEADER cover to shrink */
  body.page-id-78 header.wp-block-template-part .wp-block-cover:has(.c2hs:has(.wohnwagen-panel, .camping-panel)) {
    min-height: 0 !important;
  }

  /* Sticky frame (header only) */
  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__frame {
    position: sticky;
    top: 0;
    z-index: 10;
    aspect-ratio: auto !important;
    height: var(--c2hs-stack-h);
    display: block !important;
    overflow: hidden;
  }

  /* Rows baseline */
  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__panel {
    position: relative;
    height: var(--row0);
    min-height: 0;
    flex: none !important;
  }

  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__panel {
    clip-path: none !important;
  }

  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__bgbox {
    left: 0; top: 0; width: 100%; height: 100%;
  }

  /* Kill any internal spacer */
  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel)::after {
    content: none !important;
    height: 0 !important;
  }

  /* FIXED panel: ferienwohnung stays unchanged */
  body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .ferienwohnung-panel {
    height: var(--row0);
    animation: none !important;
  }

  /* =========================================
     Chrome/Edge/Firefox (scroll(root block))
     ========================================= */
  @supports (animation-timeline: scroll(root block)) {

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel):has(.camping-panel) {
      --shrinkers: 2;
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrink {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrink {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLift {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__frame {
      animation-name: c2hsFrameShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    /* shrink ONLY targets */
    body.page-id-78 header.wp-block-template-part .c2hs .wohnwagen-panel,
    body.page-id-78 header.wp-block-template-part .c2hs .camping-panel {
      animation-name: c2hsRowShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    /* lift the element after the header */
    body.page-id-78 header.wp-block-template-part:has(.c2hs:has(.wohnwagen-panel, .camping-panel)) + * {
      animation-name: c2hsNextLift;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }

  /* =========================================
     Safari fallback (scroll())
     ========================================= */
  @supports (animation-timeline: scroll()) and not (animation-timeline: scroll(root block)) {

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel):has(.camping-panel) {
      --shrinkers: 2;
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrinkWK {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrinkWK {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLiftWK {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-78 header.wp-block-template-part .c2hs:has(.wohnwagen-panel, .camping-panel) .c2hs__frame {
      animation-name: c2hsFrameShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-78 header.wp-block-template-part .c2hs .wohnwagen-panel,
    body.page-id-78 header.wp-block-template-part .c2hs .camping-panel {
      animation-name: c2hsRowShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-78 header.wp-block-template-part:has(.c2hs:has(.wohnwagen-panel, .camping-panel)) + * {
      animation-name: c2hsNextLiftWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }
}


/* --- page-changes/Wohnmobile-und-Wohnwagen.css --- */
/* ===========================
   PAGE: Wohnwagen (34)
   Fixed panel: .wohnwagen-panel
   Shrinking panels: .camping-panel + .ferienwohnung-panel
   IMPORTANT: shrink behavior ONLY inside header
   =========================== */

body.page-id-34 .wohnwagen-panel img {
  filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(23deg) brightness(112%) contrast(101%);
}

body.page-id-34 .wohnwagen-panel .c2hs__overlay {
		opacity: var(--c2hs-dim, .4);
}

/* ===========================
   MOBILE STACK / SCROLL SHRINK
   (HEADER ONLY)
   =========================== */
@media (max-width: 1024px) {

  body.page-id-34 header.wp-block-template-part .c2hs.c2hs--count-1 { --c2hs-count: 1; }
  body.page-id-34 header.wp-block-template-part .c2hs.c2hs--count-2 { --c2hs-count: 2; }
  body.page-id-34 header.wp-block-template-part .c2hs.c2hs--count-3 { --c2hs-count: 3; }
  body.page-id-34 header.wp-block-template-part .c2hs.c2hs--count-4 { --c2hs-count: 4; }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) {
    --c2hs-stack-h: 100svh;
    --c2hs-hold: 120px;
    position: relative;
    z-index: 0;

    --row0: calc(var(--c2hs-stack-h) / var(--c2hs-count, 3));
  }

  body.page-id-34 header.wp-block-template-part .wp-block-cover:has(.c2hs:has(.camping-panel, .ferienwohnung-panel)) {
    min-height: 0 !important;
  }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__frame {
    position: sticky;
    top: 0;
    z-index: 10;
    aspect-ratio: auto !important;
    height: var(--c2hs-stack-h);
    display: block !important;
    overflow: hidden;
  }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__panel {
    position: relative;
    height: var(--row0);
    min-height: 0;
    flex: none !important;
  }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__panel {
    clip-path: none !important;
  }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__bgbox {
    left: 0; top: 0; width: 100%; height: 100%;
  }

  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel)::after {
    content: none !important;
    height: 0 !important;
  }

  /* FIXED panel: wohnwagen stays unchanged */
  body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .wohnwagen-panel {
    height: var(--row0);
    animation: none !important;
  }

  @supports (animation-timeline: scroll(root block)) {

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel):has(.ferienwohnung-panel) {
      --shrinkers: 2;
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrink {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrink {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLift {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__frame {
      animation-name: c2hsFrameShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    /* shrink ONLY targets */
    body.page-id-34 header.wp-block-template-part .c2hs .camping-panel,
    body.page-id-34 header.wp-block-template-part .c2hs .ferienwohnung-panel {
      animation-name: c2hsRowShrink;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-34 header.wp-block-template-part:has(.c2hs:has(.camping-panel, .ferienwohnung-panel)) + * {
      animation-name: c2hsNextLift;
      animation-timeline: scroll(root block);
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }

  @supports (animation-timeline: scroll()) and not (animation-timeline: scroll(root block)) {

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) {
      --rowF: calc(var(--row0) * .5);
      --rowΔ: calc(var(--row0) - var(--rowF));
      --shrinkers: 1;
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel):has(.ferienwohnung-panel) {
      --shrinkers: 2;
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) {
      --stackF: calc(var(--c2hs-stack-h) - (var(--rowΔ) * var(--shrinkers)));
    }

    @keyframes c2hsFrameShrinkWK {
      from { height: var(--c2hs-stack-h); }
      to   { height: var(--stackF); }
    }
    @keyframes c2hsRowShrinkWK {
      from { height: var(--row0); }
      to   { height: var(--rowF); }
    }
    @keyframes c2hsNextLiftWK {
      from { margin-top: var(--c2hs-hold); }
      to   { margin-top: 0; }
    }

    body.page-id-34 header.wp-block-template-part .c2hs:has(.camping-panel, .ferienwohnung-panel) .c2hs__frame {
      animation-name: c2hsFrameShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-34 header.wp-block-template-part .c2hs .camping-panel,
    body.page-id-34 header.wp-block-template-part .c2hs .ferienwohnung-panel {
      animation-name: c2hsRowShrinkWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }

    body.page-id-34 header.wp-block-template-part:has(.c2hs:has(.camping-panel, .ferienwohnung-panel)) + * {
      animation-name: c2hsNextLiftWK;
      animation-timeline: scroll();
      animation-range: 0 var(--c2hs-hold);
      animation-fill-mode: both;
      animation-timing-function: linear;
      animation-duration: 1s;
    }
  }
}


/* --- platzplan.css --- */
.c2-umap-btn-title {
		font-size: clamp(0.75rem, 0.684rem + 0.526vi, 2rem);
		font-weight: unset;
}

/* --- preisliste.css --- */
.preisliste-mobil {
		display: none !important;
}

.preisliste-mobil summary {
		font-size: clamp(1.5rem, 1.318rem + 0.973vi, 3.75rem);
}

@media (max-width: 1024px) {
		.preisliste-mobil {
				display: flex !important;
		}
		
		.preisliste-desktop {
				display: none !important;
		}
}

/* --- so-funktionierts-group.css --- */
.so-funktionierts-group{
  position: relative;       /* helps establish a containing context */
  overflow-x: clip;         /* prevents horizontal scrollbar */
  overflow-y: visible;      /* keeps normal vertical behavior */
}

/* --- zu-platzeindruecke-column.css --- */
@media (max-width: 1024px) {
		/* BCM: flattened @scope(.zu-platzeindruecken-column) for Firefox. */
.zu-platzeindruecken-column .wp-block-cover{
						aspect-ratio: 3/2 !important;
				}
/* End BCM @scope */
		
		.zu-platzeindruecken-group>* {
				max-width: 100%;
		}
		
		/* BCM: flattened @scope(.zu-platzeindruecken-group) for Firefox. */
.zu-platzeindruecken-group .so-funktionierts-column>.wp-block-group{
						max-width: 80%;
				}
/* End BCM @scope */
}

