.elementor-kit-7{--e-global-color-primary:#30382EF5;--e-global-color-secondary:#30382E;--e-global-color-text:#30382E;--e-global-color-accent:#30382EF5;--e-global-color-05e4394:#F4F1EA;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-size:20px;--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-size:20px;--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-size:20px;--e-global-typography-accent-font-weight:500;font-family:"DM Sans", Sans-serif;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 a{color:#30382EF5;font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h1{font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h2{font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h3{font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h4{font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h5{font-family:"Newsreader", Sans-serif;}.elementor-kit-7 h6{font-family:"Newsreader", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --gruen-dunkel:#30382E; --gruen-hover:#3B463A; --creme:#F4F1EA; --creme-hell:#FAF8F4; --oliv-gedaempft:#A9A995; --schwarz-warm:#22221F; --linie-hell:rgba(56,53,47,0.14); --linie:rgba(56,53,47,0.16); --linie-kraeftig:rgba(56,53,47,0.45); --creme-90:rgba(244,241,234,0.9); --creme-85:rgba(244,241,234,0.85); --creme-60:rgba(244,241,234,0.6); --schrift-sans:DM Sans; --schrift-serif:Newsreader; --text-xs:14px; --text-s:15px; --text-m:16.5px; --text-l:17.5px; --text-xl:19px; --titel-s:24px; --titel-m:30px; --titel-l:clamp(30px, 3.4vw, 48px); --titel-xl:clamp(38px, 5.6vw, 76px); --abstand-3xs:8px; --abstand-2xs:10px; --abstand-xs:14px; --abstand-s:clamp(14px, 1.6vw, 24px); --abstand-m:clamp(20px, 2.6vw, 32px); --abstand-l:clamp(26px, 3.8vw, 46px); --abstand-xl:clamp(30px, 5.2vw, 70px); --abstand-2xl:clamp(36px, 6.4vw, 86px); --text-basis:16px; --abstand-zeile:13px; --abstand-karte:22px; --text-mini:14.5px; --text-2xl:20px; --titel-xs:clamp(20px, 1.7vw, 23px); --abstand-4xs:6px; --abstand-liste:24px; --linie-mittel:rgba(56,53,47,0.15); --linie-stark:rgba(56,53,47,0.3); --creme-75:rgba(244,241,234,0.75); --creme-72:rgba(244,241,234,0.72); --creme-50:rgba(244,241,234,0.5); --seitenabstand:20px; --hero-title-l:clamp(42px, 7.2vw, 88px); --abschnittsabstand:clamp(60px, 8vw, 130px); --abstand-anfragen-karte:clamp(20px, 3vw, 40px); }
/* Start custom CSS *//* custom */
body {
    text-wrap: pretty;
}

figure {
    margin: 0;
}

.pointer-none,
.pointer-none * {
    pointer-events: none;
}

.pointer-auto,
.pointer-auto * {
    pointer-events: auto;
}

div[data-elementor-type="wp-page"] p a,
.map a{
    text-decoration: underline !important;
    font-family: inherit !important;
    color: inherit !important;
}

/* ol-hero-slideshow: 4-image crossfade, matches original 6s hold + ~1.4s fade */
@keyframes olHeroFade { 0% { opacity: 1; } 20.8% { opacity: 1; } 25% { opacity: 0; } 100% { opacity: 0; } }
#ol-hero-slideshow img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; animation: olHeroFade 24s ease-in-out infinite; }
#ol-hero-slide-1 { animation-delay: 0s !important; }
#ol-hero-slide-2 { animation-delay: -6s !important; }
#ol-hero-slide-3 { animation-delay: -12s !important; }
#ol-hero-slide-4 { animation-delay: -18s !important; }

/* ol-header-scroll: shrink + darken header past 40px scroll */
.ol-a487ab9.is-scrolled { height: 72px !important; background: rgba(48,56,46,0.96) !important; }

@media (max-width: 767px) {
.ol-a487ab9 { height: 72px !important; background: rgba(48,56,46,0.96) !important; }
}

/* ol-header-scroll-transition: transition prop was dropped from atomic style (schema mismatch), set directly */
.ol-a487ab9 { transition: background 0.45s ease, height 0.45s ease !important; }

/* ol-nav-hover-transitions: transition props were dropped from atomic styles (schema mismatch), set directly */
.ol-7edc460, .ol-7b343bc, .ol-7f6ddc3, .ol-2c3f48d { transition: background 0.3s, color 0.3s, border-color 0.3s !important; }
.menue-link { transition: border-color 0.3s, color 0.3s !important; }

/* ol-mobile-nav-compact: hide Anfragen/Buchen/EN-DE on header + popup below 935px, keep logo + hamburger/close */
@media (max-width: 935px) {
  .ol-7edc460, .ol-7b343bc, .ol-ab212be, .ol-7f6ddc3, .ol-2c3f48d, .ol-91af8f0 { display: none !important; }
}

/* ol-mobile-menu-buttons: Anfragen/Buchen only inside mobile menu panel below 935px */
.ol-008c85f { display: none !important; }
@media (max-width: 935px) {
  .ol-008c85f { display: flex !important; }
}
.ol-8d2d4f1, .ol-de23c3b { transition: background 0.3s, color 0.3s, border-color 0.3s !important; }

/* ol-mobile-actions-shrink: actions-row wrapper must hug its content on mobile (only hamburger/close remains visible), not stay width:100% */
@media (max-width: 935px) {
  .ol-df53857, .ol-b4367ef { width: fit-content !important; flex-grow: 0 !important; }
}
/* ol-badge-restore: Sommerkarte-Badge, exakt nach Entwurf (fixiert unten links + Wiggle) */
@keyframes olWiggle {
  0%, 74%, 100% { transform: rotate(-8deg); }
  78% { transform: rotate(-15deg); }
  82% { transform: rotate(-1deg); }
  86% { transform: rotate(-12deg); }
  90% { transform: rotate(-4deg); }
  94% { transform: rotate(-9.5deg); }
  97% { transform: rotate(-7deg); }
}
#ol-sommerkarte-badge {
  position: fixed !important;
  left: clamp(14px, 2vw, 30px) !important;
  bottom: clamp(14px, 2vw, 30px) !important;
  top: auto !important;
  right: auto !important;
  z-index: 55 !important;
  display: block !important;
  width: clamp(120px, 12vw, 184px) !important;
  height: auto !important;
  filter: drop-shadow(rgba(18,18,16,0.45) 0 4px 8px) drop-shadow(rgba(18,18,16,0.6) 0 20px 38px);
  animation: olWiggle 3.6s ease-in-out infinite;
  transform-origin: 60% 90%;
}
#ol-sommerkarte-badge img { width: 100% !important; height: auto !important; display: block !important; }

/* ol-popup-rise: Menue-Overlay faehrt ein wie im Entwurf */
@keyframes olRise { 0% { opacity: 0; transform: translateY(18px); } 100% { opacity: 1; transform: none; } }
.ol-baec6f5 { animation: olRise 0.35s ease both; }
/* ol-listrow-hover: Saison-Tabs + Listeneintraege (Entwurfs-Konvention: Rahmen kraeftiger, Pfeil rutscht 4px) */
.listen-zeile-gross, .ol-e7c393c, .ol-6d93054 { transition: border-color 0.3s !important; }
.ol-ae7439b, .ol-1b85ffe, .ol-80d7423, .ol-24fddbc { transition: color 0.3s, border-color 0.3s !important; }
.link-badge { display: inline-block !important; transition: transform 0.3s !important; }
.listen-zeile-gross:hover .link-badge, .ol-e7c393c:hover .link-badge, .ol-6d93054:hover .link-badge { transform: translateX(4px) !important; }

/* ol-fluid-header: Entwurf nutzt fluide clamp()-Werte statt fixer Pixel (Atomic-Props koennen kein clamp) */
.ol-bff410b, .ol-267ba9e { padding-inline: clamp(20px, 3.4vw, 52px) !important; }
.ol-0c73e26 { padding-inline: clamp(20px, 3.4vw, 52px) !important; }
.ol-e3e6c0a { height: clamp(30px, 3vw, 42px) !important; width: auto !important; }
.ol-df53857 { gap: clamp(14px, 1.6vw, 26px) !important; }
.ol-5c3cf34 { height: clamp(30px, 3vw, 42px) !important; width: auto !important; }

/* ol-baseline-rows: align-items:baseline ist im Atomic-Enum nicht erlaubt, daher hier gesetzt */
.ol-7fe4e96, .ol-ae172b4, .ol-f34b9fb { align-items: baseline !important; }

/* sommerkarte*/
@media (max-width: 767px) {
   #ol-sommerkarte-badge {
display: none !important;
}
}

/* sprachen */
.cpel-switcher__lang:not(.cpel-switcher__lang--active) a {
    opacity: 0.62;
}
.cpel-switcher__lang span {
    padding: 0;
}
.cpel-switcher__lang.cpel-switcher__lang--active a span {
    position: relative;
}

.cpel-switcher__lang.cpel-switcher__lang--active a span::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4px; /* entspricht deinem ursprünglichen padding-bottom */
    height: 1px;
    background: var(--creme);
}

@media (max-width: 767px) {
   .cpel-switcher__lang.cpel-switcher__lang--active {
display: none !important;
}

.cpel-switcher__lang {
    margin: 0 !important;
}
.cpel-switcher__lang a {
    font-weight: 500 !important;
    color: var(--creme) !important;
    opacity: 1 !important;
}


}

/* easybooking */
.eb-categories .ebcat-wrap .room-header .ebbuttons a {
    color: white !important;
}

@media (max-width: 767px) {
    .eb-categories .EBCTG2-slider {
        --height: 66.667vw !important;
    }
}

/* rechtliches */
.rechtliches p + h2 {
    margin-top: 40px !important;
}
.rechtliches p + h3 {
    margin-top: 30px !important;
}

.rechtliches h2, 
.rechtliches h3, 
.rechtliches h4 {
    margin-bottom: 5px !important;
}/* End custom CSS */