.bg-gray {background:background:var(--polyluchs--gray-color) !important;}

.border-radius {border-radius: 8px !important;}

.hide,.desktop-hide {display: none !important;}


html, body {overflow-x: hidden;}
html {}
body {background-color: #fff !important;}
body.no-scroll {overflow: hidden!important;touch-action: none;overscroll-behavior: none;}



/* ------------------------------------------------------------------------------- Loipenhaus */

#loipenhaus-info-blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: stretch;
  margin-top: 20px;
}

#loipenhaus-info-blocks .info-block {
  flex: 1 1 200px;
  background: #f5f2ee;
  border-radius: 8px;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

#loipenhaus-info-blocks .info-block h2 {
  font-size: var(--polyluchs--font-size-text-desktop);
  font-weight: 700;
  padding-bottom: 0.75rem;
  border-bottom: 2px solid #000;
  margin: 0;
}

#loipenhaus-info-blocks .info-block p {
  margin: 0;
}

#loipenhaus-info-blocks .info-block img {
  width: 100%;
  object-fit: cover;
  object-position: top;
  border-radius: 6px;
  display: block;
}
#loipenhaus-info-blocks a {
  color: var(--polyluchs--primary-color) !important;
}

@media (max-width: 768px) {
  #loipenhaus-info-blocks .info-block {
    flex: 1 1 100%;
  }
}
/* ------------------------------------------------------------------------------- scrollToTop Button */
.scroll-to-top {position: fixed;right: 20px;width: 45px;height: 45px;border: none;border-radius: 50%;background: #000;color: #fff;cursor: pointer;z-index: 9998;transform: translateY(80px);opacity: 0;transition: transform 0.4s ease, opacity 0.4s ease;display: flex;align-items: center;justify-content: center;}
.scroll-to-top.is-visible {transform: translateY(0);opacity: 1;}
.scroll-to-top svg {width: 35px !important;height: 35px !important;}

.scroll-to-top.is-visible{bottom: 20px;transition: bottom 0.3s ease;}
.scroll-to-top.is-sticky-bottom.is-visible{bottom: 90px;}
/* ------------------------------------------------------------------------------- Preloader */
#pagePreloader {
    position: fixed;
    inset: 0;
    background: #fff; /* oder weiß / dein Branding */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999999;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}
#pagePreloader.hidden {
    opacity: 0;
    visibility: hidden;
}
/* Loader Animation */
.loader {
    width: 50px;
    height: 50px;
    border: 3px solid rgba(0,0,0,0.2);
    border-top-color: var(--polyluchs--primary-color) !important;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    to { transform: rotate(360deg); }
}
/* ------------------------------------------------------------------------------- Colors */
.color-one{color:var(--polyluchs--primary-color) !important;}

.color-white{color:#fff!important;}
/* ------------------------------------------------------------------------------- Typo */
body, button, input, select, textarea, .mapbox-popup-content {font-family:var(--polyluchs-font-primary-light) !important;font-size:var(--polyluchs--font-size-text-desktop) !important;}
.elementor-widget-text-editor a, .more-link {color:var(--polyluchs--primary-color) !important;cursor:pointer}

h1,h2,h3,h4{font-size:var(--polyluchs--font-size-text-desktop-xxl) !important;font-family:var(--polyluchs-font-primary) !important;font-weight:500 !important;}

b, strong {font-family:var(--polyluchs-font-primary) !important;font-weight: 500 !important;}

h1 small,h2 small,.small-text{font-size:var(--polyluchs--font-size-text-desktop-small) !important;font-weight:normal !important;letter-spacing: 2px;}

p {margin-bottom: 0!important;}

.uppercase {text-transform: uppercase!important;}

a {text-decoration: none!important;}

.details-anschrift-wrapper a {color: #000 !important;}
/* ------------------------------------------------------------------------------- Images */
.elementor img {border-radius: 8px!important;}
.page-header-image-single {display: none!important;}

.value-icon {width: 44px;height: 44px;border: 0.5px solid #3aafa9;border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1rem;color: #3aafa9;}
/* ------------------------------------------------------------------------------- Header */
.site-header {z-index: 9999;background-color: transparent !important;transition: transform 0.4s ease, opacity 0.4s ease;position: fixed!important;top: 0!important;left: 0!important;right: 0!important;}
/*.site-header .inside-header {padding: 10px 40px;transition: all 0.35s ease-in-out;box-sizing: border-box;}*/
.site-header .header-image {width: 80px!important;transition: all 0.35s ease-in-out;box-sizing: border-box;}
.site-branding{display:none !important;}

.site-header .main-navigation {background-color: transparent !important;}
.site-header.klassik-header {background-color: #fff !important;background:#fff!important;border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
.site-header.image-header {background-color: transparent !important;background:background:linear-gradient(to bottom,rgba(0, 0, 0, 0.5) 0%,rgba(0, 0, 0, 0) 100%) !important;border-bottom: 1px solid rgba(0, 0, 0, 0.1);}

/*.site-header,.site-header .inside-header {height:85px!important;}*/
/* ------------------------------------------------------------------------------- Header, Swiper, Logo */
#startseiteHeaderSwiperLogo img,.swiper-button-next, .swiper-button-prev,.site-header.image-header .main-navigation .main-nav ul li[class*="current-menu-"] > a,.site-header.image-header .main-navigation .main-nav ul li a, .site-header.image-header .main-navigation .menu-toggle, .site-header.image-header .main-navigation .menu-bar-items{filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.5));}
/* ------------------------------------------------------------------------------- Header Navigation */
header.image-header .main-navigation{background-color: transparent !important;}

.main-navigation ul ul {width: 240px !important;}
ul.sub-menu{background-color: #fff !important;background: #fff !important;box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1)!important;border-radius:8px!important;}

.site-header .main-navigation .main-nav ul li a{color: #000;font-size:var(--polyluchs--font-size-text-desktop) !important;filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0));}
.site-header .main-navigation .main-nav ul.sub-menu li a{color: #000 !important;}
.site-header.klassik-header .main-navigation .main-nav ul li a{color: #000 !important;}

.main-navigation .main-nav ul li[class*="current-menu-"] > a {color: var(--polyluchs--primary-color)!important;font-size:var(--polyluchs--font-size-text-desktop) !important;filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0));}
.site-header .main-navigation .main-nav ul li a:hover,.site-header.image-header .main-navigation .main-nav ul li a:hover{color: var(--polyluchs--primary-color) !important;}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a{color:var(--polyluchs--primary-color) !important;}

button.menu-toggle{border-width: 0 !important;}


.gp-icon {font-size: 30px;}
.gp-icon svg {top: .25em!important;}

.dropdown-menu-toggle[aria-expanded="true"] svg {transform: rotate(180deg);}
/* ------------------------------------------------------------------------------- Image Header */
.site-header.image-header {background-color:transparent !important;background: linear-gradient(to bottom,rgba(0, 0, 0, 0.35) 0%,rgba(0, 0, 0, 0) 100%);border-bottom: 0px solid rgba(0, 0, 0, 0);}
.site-header .main-navigation .main-nav ul li[class*="current-menu-"] > a {color: var(--polyluchs--primary-color) !important;}
.site-header.image-header .main-navigation .main-nav ul.sub-menu li a{filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0)) !important;}

.site-header.image-header .header-image {filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.5));}

.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav ul li a{color: #fff !important;fill:#fff;}
.site-header.image-header.has-inline-mobile-toggle.is-sticky .main-navigation .main-nav ul li a{color: #000 !important;fill:#000}
.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav .sub-menu li a {color: #000 !important;}
.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav .sub-menu li a svg,.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav .sub-menu li a .gp-icon {fill: #000;color: #000;}

.site-header .main-navigation .main-nav ul.sub-menu li a:hover,.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav ul li a:hover{color: var(--polyluchs--primary-color) !important;}

.menu-item-has-children .dropdown-menu-toggle {
    transform: translateY(5px);
}

.main-navigation ul ul.menu-item-has-children .dropdown-menu-toggle {
    transform: translateY(0px);
}

/* ------------------------------------------------------------------------------- Header Sticky */
.site-header.is-sticky {background-color: #fff !important;background: #fff !important;box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
.site-header.is-sticky .main-navigation .main-nav ul li[class*="current-menu-"] > a,
.site-header.is-sticky .main-navigation .main-nav ul li a, .site-header.is-sticky .main-navigation .menu-toggle, .main-navigation .menu-bar-items{filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0));}
.site-header.is-sticky .main-navigation .main-nav ul li a, .site-header.is-sticky .main-navigation .menu-toggle, .main-navigation .menu-bar-items{color:#000 !important;fill:#000;}
.site-header.is-sticky .main-navigation .main-nav ul li[class*="current-menu-"] > a{color:var(--polyluchs--primary-color) !important;}
.site-header.is-sticky .main-navigation .main-nav ul li a{font-size:var(--polyluchs--font-size-text-desktop) !important;}
@keyframes slideDown {
	from {
		transform: translateY(-100%);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
.site-header.is-sticky .inside-header {padding: 0px 40px!important;}
.site-header.is-sticky .inside-header .header-image {width: 50px!important;}

/* ------------------------------------------------------------------------------- Footer */
.footer-widgets,footer {background:var(--polyluchs--gray-color) !important;}
.footer-widgets a, footer a{color:var(--polyluchs--body-color) !important;text-decoration:none}
.footer-widgets a:hover, footer a:hover{color:var(--polyluchs--primary-color) !important;text-decoration:none}
.footer-widgets .widget ul {display: flex;gap: 40px;justify-content: center; align-items: center;}
.footer-widgets {text-align:center}
.footer-widgets .widget :last-child, .sidebar .widget :last-child {margin-bottom: 0.5em !important;}

.footer-widgets .widget .current-menu-item a{color: var(--polyluchs--primary-color) !important;}

.adress-desktop-hide {display: none;}
.adress-mobile-hide {display: inline-block;padding:0 10px;font-size:12px;position: relative;top: -1px;}

.footer-widgets-container {padding: 40px 0 0 0 !important; }
.site-footer .footer-widgets-container .inner-padding{padding: 0 0 0 0px !important;}
.footer-widgets .widget {margin-bottom: 0px !important;}
/* ------------------------------------------------------------------------------- Sidebar */

#fc-sidebar {
  position: fixed;
  right: 0;
  bottom: 155px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  opacity: 0;
  pointer-events: none;          /* Container fängt nie Events */
  transition: opacity 0.3s ease;
}
#fc-sidebar.is-visible { opacity: 1; }

#fc-sidebar .fc-item {
  pointer-events: auto;          /* nur die Items selbst */
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  text-decoration: none;
  color: #fff;
  width: 48px;                   /* statt transform */
  overflow: hidden;
  border-radius: 4px 0 0 4px;
  transition: width 0.35s ease;
}
#fc-sidebar .fc-item:hover,
#fc-sidebar .fc-item:focus-visible { width: 220px; }

#fc-sidebar .fc-icon {
  width: 48px; height: 48px;
  display: flex; align-items: center; justify-content: center;
  background-color: var(--polyluchs--primary-color) !important;
  flex-shrink: 0;
  border-radius: 4px 0 0 4px;
}
#fc-sidebar .fc-icon svg { width: 22px; height: 22px; }

#fc-sidebar .fc-label {
  background: #2a2a2a;
  padding: 0 14px; height: 48px;
  display: flex; align-items: center;
  font-size: 14px; white-space: nowrap;
}

#fc-sidebar .fc-social { display: flex; flex-direction: column; gap: 4px; align-items: flex-end; pointer-events: none; }
#fc-sidebar .fc-social a {
  pointer-events: auto;
  width: 48px; height: 48px;
  background-color: var(--polyluchs--primary-color) !important;
  display: flex; align-items: center; justify-content: center;
  border-radius: 4px 0 0 4px;
  transition: background 0.2s;
}
#fc-sidebar .fc-social a:hover { background: #333; }
#fc-sidebar .fc-social svg { width: 20px; height: 20px; fill: #fff; }

/* Touch-Geräte: kein Ausklappen, nur Icon – Slider bleibt bedienbar */
@media (hover: none) {
  #fc-sidebar .fc-item:hover { width: 48px; }
}

@media (max-width: 768px) {
  #fc-sidebar .fc-item { width: 44px; }
  #fc-sidebar .fc-item:hover { width: 180px; }
  #fc-sidebar .fc-icon,
  #fc-sidebar .fc-social a { width: 44px; height: 44px; }
  @media (hover: none) { #fc-sidebar .fc-item:hover { width: 44px; } }
}
/* ------------------------------------------------------------------------------- Button */
.elementor-button {
    font-size:var(--polyluchs--font-size-text-desktop) !important;
	text-decoration:none !important;
	border-radius: 5px 5px 5px 5px!important;
}
.elementor-button:hover {
    background-color: #000 !important;
	color: #fff !important;
}
.elementor-element.elementor-button-info .elementor-button {
    background-color: var(--polyluchs--primary-color) !important;
	color:#fff !important;
	border:1px solid var(--polyluchs--primary-color) !important;
	padding:12px 24px;
	
}
.elementor-element.elementor-button-info .elementor-button:hover {
    background-color: transparent !important;
	color:var(--polyluchs--primary-color) !important;
}

.elementor-element.elementor-button-success .elementor-button {
    background-color: var(--polyluchs--primary-color) !important;
	color:#fff !important;
	border:1px solid #fff !important;
	padding:12px 24px;
	
}
.elementor-element.elementor-button-success .elementor-button:hover {
    border:1px solid #000 !important;
	color:#000 !important;
}

.elementor-widget-button.whatsapp-btn {margin:20px 0!important;}
/* ------------------------------------------------------------------------------- Slider */
#appartmentHousesSlider, .jahreszeiten-slider {overflow: inherit!important}


#startseiteHeaderSwiper {
	height: 100vh!important;
	width: 100vw!important;
    margin-left: calc(50% - 50vw)!important;
}

#startseiteHeaderSwiper .swiper-slide {
	background-size: cover!important;
	background-position: center!important;
}
#startseiteHeaderSwiper .swiper-button-next,#startseiteHeaderSwiper .swiper-button-prev {top: calc(50% - 20px) !important;}




#startseiteHeaderSwiper .swiper-slide {position: relative;overflow: hidden;background-image: none !important; /* Bild jetzt auf ::before */}
#startseiteHeaderSwiper .swiper-slide:not(.swiper-slide-active)::before {animation: none;}
#startseiteHeaderSwiper .swiper-slide::before {content: '';position: absolute;inset: 0;background-position: center;background-repeat: no-repeat;background-size: cover;background-image: var(--slide-bg);will-change: transform;transform: scale(1);}
#startseiteHeaderSwiper .swiper-slide.zoom-active::before {animation: heroZoom 6s ease forwards;}

@keyframes heroZoom {from { transform: scale(1);} to { transform: scale(1.08); }}
/*@keyframes heroZoom {0% {transform: scale(1);} 50% {transform: scale(1.08);} 100% {transform: scale(1);}}*/

.jahreszeiten-slider {margin-top: 20px!important}
.jahreszeiten-slider a {color: #000!important}
.jahreszeiten-slider .image-wrapper {position: relative!important;border-radius: 8px;overflow: hidden;}
.jahreszeiten-slider .image-wrapper img {width: 100%;height: 100%;aspect-ratio: 4/3;object-fit: cover;display: block;}
.jahreszeiten-slider .title-wrapper {position: absolute!important;bottom: 20px;left: 20px;right: 20px;color: #fff;font-size: var(--polyluchs--font-size-text-desktop);filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.5));}

/* Slides verstecken bis Swiper initialisiert ist */
.swiper-wrapper {visibility: hidden;}
/* Swiper setzt diese Klasse automatisch wenn er fertig ist */
.swiper-initialized .swiper-wrapper {visibility: visible;}
/* ------------------------------------------------------------------------------- custom slider one */
.slider-section-custom-one {max-width: 1280px;margin: 0 auto;}
.slider-section-custom-one .eyebrow {margin-bottom: 0.5rem;}
.slider-section-custom-one .slider-track {display: grid;grid-template-columns: 1fr 1fr;gap: 5rem;align-items: center;}
.slider-section-custom-one .slider-img-wrap {position: relative;aspect-ratio: 4/3;max-height: none;border-radius: 6px;overflow: hidden;}
.slider-section-custom-one .slide-img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center center;opacity: 0;transition: opacity 0.55s ease;}
.slider-section-custom-one .slide-img.active {opacity: 1;}
.slider-section-custom-one .slider-text-wrap {position: relative;}
.slider-section-custom-one .slide-text {position: absolute;inset: 0;opacity: 0;transition: opacity 0.45s ease;pointer-events: none;}
.slider-section-custom-one .slide-text.active {position: relative;opacity: 1;pointer-events: auto;}
.slider-section-custom-one .slider-controls {display: flex;align-items: center;gap: 1rem;margin-top: 2.5rem;}
.slider-section-custom-one .slider-btn {width: 40px;height: 40px;border: 0.5px solid #ccc;border-radius: 50%;background: none;cursor: pointer;display: grid;align-items: center;justify-content: center;color: #1a1a1a;transition: border-color 0.2s, background 0.2s;}
.slider-section-custom-one .slider-btn:hover {border-color: #3aafa9;background: #e8f7f6;color: #3aafa9;}
.slider-section-custom-one .slider-btn svg {width: 20px !important;height: 20px !important;}
.slider-section-custom-one .slider-dots {display: flex;gap: 6px;align-items: center;}
.slider-section-custom-one .dot {width: 6px;height: 6px;border-radius: 50%!important;background: #ddd;border: none;cursor: pointer;padding: 0;transition: background 0.2s, transform 0.2s;}
.slider-section-custom-one .dot.active {background: #3aafa9;transform: scale(1.3);}
.slider-section-custom-one .slide-counter {font-size: 13px;color: #aaa;margin-left: auto;font-weight: 300;letter-spacing: 0.05em;}
.slider-section-custom-one .slide-counter span {color: #1a1a1a;font-weight: 400;}
.slider-section-custom-one .quote-stripe {background: #1d6b66;padding: 4.5rem 2.5rem;text-align: center;}
.slider-section-custom-one .quote-inner {max-width: 780px;margin: 0 auto;}
.slider-section-custom-one .quote-stripe blockquote {font-family: 'DM Serif Display', serif;font-size: clamp(20px, 2.5vw, 32px);font-weight: 400;font-style: italic;color: #fff;line-height: 1.55;}
.slider-section-custom-one .quote-stripe cite {display: block;margin-top: 1.25rem;font-family: 'DM Sans', sans-serif;font-style: normal;font-size: 12px;letter-spacing: 0.14em;text-transform: uppercase;color: rgba(255, 255, 255, 0.55);}
.slider-section-custom-one .values {background: #faf9f7;padding: 5rem 2.5rem;}
.slider-section-custom-one .values-inner {max-width: 1200px;margin: 0 auto;text-align: center;}
.slider-section-custom-one .values-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 3rem;max-width: 820px;margin: 0 auto;}
.slider-section-custom-one .value-icon {width: 44px;height: 44px;border: 0.5px solid #3aafa9;border-radius: 50%;display: flex;align-items: center;justify-content: center;margin: 0 auto 1rem;color: #3aafa9;}
.slider-section-custom-one .value-item h3 {font-size: 11px;font-weight: 500;margin-bottom: 0.6rem;letter-spacing: 0.12em;text-transform: uppercase;color: #1a1a1a;}
.slider-section-custom-one .value-item p {font-size: 15px;line-height: 1.7;color: #666;font-weight: 300;}

.slider-section-custom-one h3 {font-family: var(--polyluchs-font-seconary) !important;font-size: var(--polyluchs--font-size-text-desktop) !important;font-weight: 600 !important;margin-bottom: 0px;line-height: normal;padding: 0 0 20px 0;}
/* ------------------------------------------------------------------------------- Language */
.site-header .language-wrapper .gtranslate_wrapper,.site-header.klassik-header .language-wrapper .gtranslate_wrapper,.site-header.is-sticky .language-wrapper .gtranslate_wrapper {padding-left:15px;}

.site-header .language-wrapper .gtranslate_wrapper {border-left:1px solid #fff!important;line-height: normal;}
.site-header.klassik-header .language-wrapper .gtranslate_wrapper {border-left:1px solid #000!important;}
.site-header.is-sticky .language-wrapper .gtranslate_wrapper {border-left:1px solid #000!important;}

.gtranslate_wrapper a {display:inline-block!important;padding-left: 0px!important;padding-right: 0px!important;line-height:normal!important;margin-left:5px;}
.site-header .main-navigation .main-nav ul li.language-wrapper .gtranslate_wrapper a.glink.gt-current-lang {font-weight:normal!important;color:var(--polyluchs--primary-color)!important;}

.site-header .main-navigation .main-nav ul li.language-wrapper .gtranslate_wrapper a.glink.gt-current-lang,.site-header .main-navigation .main-nav ul li.language-wrapper .gtranslate_wrapper a.glink {font-size: 18px !important;}

.language-wrapper{width: 75.38px!important;}

.has-inline-mobile-toggle #site-navigation.toggled .gtranslate_wrapper a {margin-left:0px;font-size: var(--polyluchs--font-size-text-desktop) !important;}
.has-inline-mobile-toggle #site-navigation.toggled .gtranslate_wrapper a:first-child {border-right:1px solid #000!important;padding-right:10px!important;margin-right:5px!important}
.has-inline-mobile-toggle #site-navigation.toggled .gtranslate_wrapper a.glink.gt-current-lang {font-weight:normal!important;color:var(--polyluchs--primary-color)!important;}
/* ------------------------------------------------------------------------------- Datepicker */
.booking-dates {
    display: flex;
    gap: 20px;
}
.date-field {
    width: 240px;
}

.date-field label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
}

.date-field input {
    width: 100%;
    height: 50px;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 0 16px;
    font-size: 16px;
}
.flatpickr-calendar {width: 270px !important;border-radius: 8px !important;}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {background: var(--polyluchs--primary-color) !important;-webkit-box-shadow: none;box-shadow: none;color: #fff;border-color: var(--polyluchs--primary-color) !important;}
.flatpickr-day.today{border-color: var(--polyluchs--primary-color) !important;}

#unterkunftBuchen .flatpickr-calendar.static {position: absolute;bottom: calc(100% + 10px);top: auto !important;}
.details-booking-check-wrapper .flatpickr-wrapper{position: relative;display: block !important;}
/* ------------------------------------------------------------------------------- Content */
.entry-content:not(:first-child), .entry-summary:not(:first-child), .page-content:not(:first-child) {margin-top: 0px!important;}
.one-container .site-content {padding: 130px 40px 0px 40px!important;}
/* ------------------------------------------------------------------------------- Unterkunft Buchen */
#unterkunftBuchen {width: 100%;text-align:center;color:#000;padding:0px;background:var(--polyluchs--primary-color2) !important;position:fixed;z-index:9;bottom: -270px;left: 0;right: 0;transition: bottom 0.4s ease-in-out;}
#unterkunftBuchen.is-sticky-bottom {bottom: 0;}

#unterkunftBuchen input[type=number]::-webkit-outer-spin-button,#unterkunftBuchen input[type=number]::-webkit-inner-spin-button,#.details-booking-check-wrapper input[type=number]::-webkit-outer-spin-button,.details-booking-check-wrapper input[type=number]::-webkit-inner-spin-button {-webkit-appearance: none !important;margin: 0 !important;}
#unterkunftBuchen input[type=number], .details-booking-check-wrapper input[type=number] {-moz-appearance: textfield !important;}

#unterkunftBuchen input::placeholder, .details-booking-check-wrapper input::placeholder {color: #000 !important;}

#unterkunftBuchen .elementor-button,
.details-buchen-wrapper .elementor-button {
    background-color: #02010100;
    color: #000000;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #000000;
    border-radius: 5px 5px 5px 5px;
	padding: 12px 24px;
}

/* Sticky Bottom Zustand */
#unterkunftBuchen.is-sticky-bottom {
  position: fixed;
  bottom: 0;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
  opacity: 0;
  animation: slideUp 0.4s forwards;
}

/* Animation von unten rein */
@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideDown {
  from {
    transform: translateY(0%);
    opacity: 1;
  }
  to {
    transform: translateY(100);
    opacity: 0;
  }
}

#bookingCheckSend {background-color: transparent;color: #000000;border-style: solid;border-width: 1px 1px 1px 1px;border-color: #000000;border-radius: 5px 5px 5px 5px;padding: 12px 24px;line-height:normal!important;}
#bookingCheckSend:hover {background-color: #000;color: #fff;}
#bookingRoomCheckSend {background-color: var(--polyluchs--primary-color)!important;color: #fff;border-style: solid;border-width: 1px 1px 1px 1px;border-color: var(--polyluchs--primary-color);border-radius: 5px 5px 5px 5px;padding: 12px 24px;line-height:normal!important;margin-top:20px;width: -webkit-fill-available;}
#bookingRoomCheckSend:hover {background-color: transparent!important;color: var(--polyluchs--primary-color)!important;}

.booking-widget-one input[type=number], .booking-widget-one input[type=text] {border: 0px solid;border-radius: 5px;padding: 0px 10px;max-width: 100%;width: -webkit-fill-available;background:#fff!important;}
.booking-widget-one label {font-size: 14px;color: #666;}

/* Container */
.booking-widget {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border-radius: 12px;
  background: rgba(0,0,0,0.03);
  justify-content: center;
	margin: 0 auto;
}
/* Felder */
.booking-widget .booking-field {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  color: #666;
}
.booking-widget .booking-field input {
  border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 16px !important;
    color: #111 !important;
    padding: 4px 0px !important;
}
/* Trennlinien */
.booking-widget .booking-field {
  border-right: 1px solid rgba(0,0,0,0.1);
  padding-right: 12px;
}
.booking-widget .booking-field:last-child {
  border-right: none;
}
/* Button */
.booking-widget .booking-button {
  background: #111;
  color: #fff;
  border: none;
  padding: 12px 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: 0.2s;
}
.booking-widget .booking-button:hover {
  background: #333;
}
/* Date Icon leicht */
.booking-widget input[type="date"]::-webkit-calendar-picker-indicator {
  opacity: 0.6;
  cursor: pointer;
}
#adults,#children {width:60px!important;text-align: center;padding-left: 10px !important;}
#arrivalDate,#departureDate {width:100px!important;}
/* ------------------------------------------------------------------------------- Swiper */
#appartmentHousesSlider a{color:#000 !important}

.mySwiper {
  width: 100%;
  overflow: hidden !important;
}

.mySwiper .swiper-slide {
  border-radius: 0px;
  overflow: hidden;
}

.mySwiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}



/* Pfeile Styling */
.swiper-button-next,
.swiper-button-prev {
	color: #fff !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}
.swiper-button-next,.swiper-button-prev,.swiper-button-next svg,.swiper-button-prev svg {
	width:80px !important;
	height:80px !important;
}
/* größere Bullets */
.swiper-pagination.black-pagination .swiper-pagination-bullet {background: #000 !important;}
.swiper-pagination.black-pagination .swiper-pagination-bullet::after {border: 1px solid #000!important;}

.swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background: white;
  opacity: 0.6;
  position: relative;
  border-radius: 50%;
}

/* Ring (standardmäßig unsichtbar) */
.swiper-pagination-bullet::after {
  content: "";
  position: absolute;
  
  /* 2px Abstand nach außen */
  top: -4px;
  left: -4px;
  right: -4px;
  bottom: -4px;

  border: 1px solid white;
  border-radius: 50%;
  opacity: 0;
}

/* aktiver Zustand */
.swiper-pagination-bullet-active {
  opacity: 1;
}

.swiper-pagination-bullet-active::after {
  opacity: 1;
}
.swiper-pagination-bullet, .swiper-pagination-bullet-active {
    background: #fff !important;
    opacity: 1 !important;
}

#startseiteHeaderSwiperLogo{position:absolute;z-index:2;transform: translateX(-50%);top: 50%;transform: translateY(-50%);display: flex;align-items: center;justify-content: center;left: calc(50% - 150px);}
#startseiteHeaderSwiperLogo svg,#logo-fallback{width:300px}
#swiperLogo path {fill: white;fill-opacity: 0;stroke: none;transition: none;}
.logo-shadow {filter: drop-shadow(0 3px 5px rgba(0,0,0,0.5));}
/* ------------------------------------------------------------------------------- Custom Accordion - FAQ */
.custom-accordion {padding-bottom: 0 !important;}
.custom-accordion .custom-accordion-item {border-bottom: 0px solid #ddd;}
.custom-accordion-button {display: flex;justify-content: space-between;align-items: center;cursor: pointer;padding: 0;border-bottom: 2px solid #fff;}

.custom-accordion .custom-accordion-item.active .custom-accordion-button {font-weight:900;}

.custom-accordion-collapse {display: none;}
.custom-accordion-body {padding: 0 0 25px 0;}
.custom-accordion-icon svg {position: relative;top: 4px;transition: transform 0.3s ease;width: 25px;transform: rotate(-90deg);}
.custom-accordion-item.active .custom-accordion-icon svg {transform: rotate(90deg);}

/* ------------------------------------------------------------------------------- Custom Accordion Horizontal */
#philosophieAccordion.horizontal-accordion {border-radius: 8px;display: flex;width: 100%;height: 580px;overflow: hidden;position: relative;}
#philosophieAccordion .accordion-item {background-size: cover;background-position: 50% 20%;position: relative;height: 100%;overflow: hidden;cursor: pointer;transition: flex 0.75s cubic-bezier(0.77, 0, 0.175, 1);flex: 0 0 54px;}
#philosophieAccordion .accordion-item.active {flex: 1 1 auto;cursor: default;}
#philosophieAccordion .tab-strip {background: rgba(255,255,255,0.2);backdrop-filter: blur(10px);-webkit-backdrop-filter: blur(10px);position: absolute;top: 0; left: 0;width: 54px;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;z-index: 5;border-left: 1px solid #fff;transition: background 0.25s;}

#philosophieAccordion .tab-strip.first-item {border-left: 0px solid #fff;}


/*#philosophieAccordion .accordion-item:not(.active):hover .tab-strip {background: #4a8f88;}*/
/*#philosophieAccordion .accordion-item.active .tab-strip {background: #4a8f88;}*/
#philosophieAccordion .tab-number {font-size: 9px;font-weight: 300;letter-spacing: 0.1em;color: rgba(255,255,255,0.5);margin-bottom: 16px;}
#philosophieAccordion .tab-label {filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.5));font-size: 20px;font-weight: 500;letter-spacing: 0.24em;text-transform: uppercase;color: rgba(255,255,255,0.9);writing-mode: vertical-rl;transform: rotate(180deg);white-space: nowrap;line-height: 1;}
#philosophieAccordion .accordion-body {position: absolute;top: 0;left: 54px;right: 0;height: 100%;overflow: hidden;opacity: 0;pointer-events: none;transition: opacity 0.45s ease 0.2s;display: flex;flex-direction: column;background: rgba(0, 0, 0, 0.5);}
#philosophieAccordion .accordion-item.active .accordion-body {opacity: 1;pointer-events: all;}
#philosophieAccordion .panel-inner {filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0.9));padding: 48px 3rem 0;flex-shrink: 0;}
#philosophieAccordion .panel-tag {font-size: 10px;font-weight: 500;letter-spacing: 0.2em;text-transform: uppercase;color: #5ba8a0;margin-bottom: 0.5rem;}
#philosophieAccordion .panel-sep {width: 40px;height: 2px;background: #5ba8a0;margin-bottom: 1.4rem;margin-top: 0.8rem;}
#philosophieAccordion .panel-title {font-size: clamp(20px, 2.2vw, 30px);font-weight: 400;line-height: 1.3;color: #1e1e1e;margin-bottom: 1.1rem;max-width: 440px;}
#philosophieAccordion .panel-desc {font-size: 14px;line-height: 1.85;color: #555;font-weight: 300;max-width: 420px;}
#philosophieAccordion .panel-desc b {font-weight: 500;color: #1e1e1e;}
#philosophieAccordion .panel-image {flex: 1;overflow: hidden;margin: 2.5rem 3rem 0;border-radius: 2px;}
#philosophieAccordion .panel-image img {width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.8s ease;}
#philosophieAccordion .accordion-item.active .panel-image img {transform: scale(1.02);}
#philosophieAccordion .accordion-item:not(.active) .panel-image img {transform: scale(1.08);}

@media (max-width: 768px) {
  #philosophieAccordion.horizontal-accordion {flex-direction: column;height: auto;}
  #philosophieAccordion .accordion-item {flex: 0 0 48px;width: 100%;}
  #philosophieAccordion .accordion-item.active {flex: 0 0 500px;}
  #philosophieAccordion .tab-strip {flex-direction: row;width: 100%;height: 48px;border-left: none;border-right: none;border-bottom: 1px solid #fff;justify-content: flex-start;padding: 0 1.5rem;gap: 12px;}
  #philosophieAccordion .tab-label {writing-mode: horizontal-tb;transform: none;}
  #philosophieAccordion .tab-number { margin-bottom: 0; }
  #philosophieAccordion .accordion-body {top: 48px;left: 0;}
  #philosophieAccordion .panel-inner { padding: 32px 1.5rem 0; }
  #philosophieAccordion .panel-image { margin: 2rem 1.5rem 0; }
}

/* -------------------------------------------------------------------------------  */
.ort-marker {
	display:inline-block;
	margin-right:20px;
  background-image: url("https://fourelements-harz.de/wp-content/uploads/map-marker.svg");
  background-repeat: no-repeat;
  padding-left: 20px;
  background-position: left center;
  background-size: contain;
	background-size: 15px 15px;
	    font-size: 16px;
}
.personen {
	display:inline-block;
	margin-right:20px;
  background-image: url("https://fourelements-harz.de/wp-content/uploads/icon-personen.png");
  background-repeat: no-repeat;
  padding-left: 20px;
  background-position: left center;
  background-size: contain;
	background-size: 14px 14px;
	    font-size: 16px;
}
.ah-content-info .personen {
  padding-left: 20px;
	background-size: 14px 14px;
}

/* ------------------------------------------------------------------------------- Mapbox Maps */
.mapboxgl-popup-content {
    position: relative;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 0.75rem 2.5rem rgba(0, 0, 0, 0.1) !important;
    padding: 0px 0px 0px !important;
    pointer-events: auto;
}
.mapboxgl-popup-content,.mapbox-popup,.mapboxgl-popup {
	width:280px !important;
	max-width: 280px !important;
}
.mapboxgl-popup-close-button{
    background-color: #000 !important;
    color: #fff !important;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #000000 !important;
    border-radius: 0px 8px 0px 8px !important;
	padding: 0px 10px 0 5px !important;
}
.mapboxgl-popup-close-button span {
	font-family:var(--polyluchs-font-primary-light) !important;
    font-size: 36px;
    line-height: normal;
	position:relative;
	top: -2px;
    left: 2px;
}
.mapbox-popup-content {padding: 10px 15px 15px 15px !important;}
.mapbox-popup a,.mapbox-popup-content a,.mapbox-popup a:hover,.mapbox-popup-content a:hover{color: #000 !important;text-decoration:none !important}
.mapbox-popup img{width:100%;height:120px;object-fit:cover;border-radius:8px 8px 0 0 !important;margin-bottom:0px !important;}

#mapStartseite { width: 100%; height: 600px;background:#ccc; }
.marker {
	width: 50px;
  height: 50px;
  background-image: url("../../../../wp-content/uploads/wohnmanufaktur-logo-gray.png");
  background-repeat: no-repeat;
  background-position: center bottom; /* 🔥 wichtig */
  background-size: contain;

  transform: translate(-50%, -100%);
}

.mapboxgl-ctrl-top-right .mapboxgl-ctrl {margin: 20px 20px 0 0 !important;}

.mapboxgl-ctrl-group {border-radius: 15px !important;background: rgba(255,255,255,1) !important;-webkit-box-shadow: 0px 0px 22px rgb(0 0 0 / 20%)!important;-moz-box-shadow: 0px 0px 22px rgba(0, 0, 0, 0.2)!important;box-shadow: 0px 0px 22px rgb(0 0 0 / 20%)!important;}
.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen,.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate {-webkit-box-shadow: 0px 0px 22px rgb(0 0 0 / 20%) !important;-moz-box-shadow: 0px 0px 22px rgba(0, 0, 0, 0.2) !important;box-shadow: 0px 0px 22px rgb(0 0 0 / 20%) !important;border-radius: 7px !important;background: rgba(255,255,255,1) !important}
.mapboxgl-ctrl-group:not(:empty) {-webkit-box-shadow: 0px 0px 22px rgb(0 0 0 / 20%)!important;-moz-box-shadow: 0px 0px 22px rgba(0, 0, 0, 0.2)!important;box-shadow: 0px 0px 22px rgb(0 0 0 / 20%)!important;}
.mapboxgl-ctrl-group button {width: auto !important;height: auto !important;padding: 0 !important;border-radius: 0px !important;background: rgba(255,255,255,1) !important;border:0px !important;}

.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{display:none !important}

.mapboxgl-ctrl-group button.mapboxgl-ctrl-zoom-in{border-top-left-radius: 7px!important;border-top-right-radius: 7px!important;}
.mapboxgl-ctrl-group button.mapboxgl-ctrl-zoom-out{border-bottom-left-radius: 7px!important;border-bottom-right-radius: 7px!important;}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon {background-image: url('../../../../wp-content/uploads/plus-icon-1.svg') !important;border-bottom:1px solid #dfdedc;}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon {background-image: url('../../../../wp-content/uploads/minus-icon-1.svg') !important;}
.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon {background-image: url('../../../../wp-content/uploads/icon-fullscreen-3.svg') !important;}
.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image: url('../../../../wp-content/uploads/icon-crosshairs-3.svg') !important;}
.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{width: 40px !important;height: 40px !important;background-position: center center;background-size: 18px 18px;background-repeat: no-repeat;}
/* ------------------------------------------------------------------------------- Appartment Gid */
.ah-filter-bar {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}

.ah-filter-bar .filter {
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 500;
    opacity: 1;
}

.ah-filter-bar .filter.active {
    opacity: 1;
    text-decoration: none;
	color: var(--polyluchs--primary-color) !important;
}

/* GRID */
.ah-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.ah-item {
    display: block;
}

.ah-image {
    width: 100%;
    padding-bottom: 70%;
    background-size: cover;
    background-position: center;
	aspect-ratio: 1.0;
    border-radius: 12px;
    margin-bottom: 10px;
}

.ah-content h2 {
    margin: 0;
	font-size:var(--polyluchs--font-size-text-desktop) !important;
}

.ah-content .ah-content-info,.ah-content-info {
    font-size: 16px;
    opacity: 0.6;
}
.ah-item a {color:#000 !important;text-decoration:none!important}
.ah-content .ah-content-info .ort-marker {background-size: 15px 15px;padding-left: 20px;}

/* responsive */
@media (max-width: 900px) {
    .ah-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width: 600px) {
    .ah-grid {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------------------------------------------- Appartments Haus Details */
.featured-wrapper img {border-radius: 8px;}

.gallery-wrapper,.gallery-content-wrapper {position:relative}

.gallery-grid,.gallery-content-grid {
    display: grid;
    border-radius: 8px;
    overflow: hidden;
}
.gallery-grid {grid-template-columns: 2fr 1fr;gap: 10px;}
.gallery-content-grid {grid-template-columns: minmax(0, 1fr) 310px;gap: 40px;}

.gallery-main,.gallery-content-main {
    background-size: 100%;
    background-position: center;
    overflow: hidden;
}

.gallery-content-side {
    display: block;
}

.gallery-side {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 10px;
}
.gallery-side div {
    background-size: cover;
    background-position: center;
    width: 100%;
    aspect-ratio: 1 / 1; /* macht perfekte Quadrate */
}
.gallery-main,.gallery-side .gallery-thumb,.gallery-modal-grid .gallery-thumb {position: relative;cursor:pointer}

.gallery-open-btn {
    position: absolute;
    right: 20px;
    bottom: 20px;
    background: #000;
    border: none;
    padding: 6px 12px;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 6px 20px rgba(0,0,0,0.15);
	font-size: 16px!important;
}
.gallery-slider-modal-inner {text-align:center!important}
.gallery-modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.9);
    z-index: 9999;
    overflow-y: auto;
}

.gallery-modal-inner,.gallery-slider-modal-inner {padding: 100px 0px 40px 0px;height:100%;max-height: calc(100vh - 20px); overflow-y: auto;}
.gallery-slider-modal-inner .swiper {height:100%!important;}
.gallery-slider-modal-inner .swiper-slide {display: flex;align-items: center;justify-content: center;}

.gallery-modal-grid {
    column-count: 6;
    column-gap: 20px;
    padding: 0 30px;
}

.gallery-modal-grid .gallery-thumb {
    break-inside: avoid;
    margin-bottom: 20px;
    display: block;
}

.gallery-modal-grid img {
    width: 100%;
    height: auto;
    display: block;
	border-radius:8px;
}

#gallerySliderModalGrid .swiper-slide img {border-radius: 8px !important;}

.close-btn {
    position: absolute;
	z-index: 9998;
    top: 20px;
    right: 20px;
    font-size: 30px;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
	padding:0 !important;
}
.close-btn svg{width:40px;height:40px;}
.close-btn:hover{background:transparent!important;}

.grundriss-modal-grid {
    display: block;
	padding:40px 20px 20px 20px;
}

.details-title h1{display:inline-block !important;line-height: normal !important;margin-bottom: 0px !important;}
.details-desc{border-top:1px solid #DFDEDC !important;margin-top: 40px !important;padding-top: 20px !important;padding-bottom: 40px !important;}

.details-grundriss-wrapper,.details-merkmale-wrapper{padding-bottom: 40px !important;}

.details-grundriss-title{margin-bottom: 20px !important;}
.details-grundriss-title h2,.details-buchen-title h2,.aktivitaeten-title h2{font-family:var(--polyluchs-font-seconary) !important;font-size:var(--polyluchs--font-size-text-desktop) !important;font-weight:600!important;margin-bottom: 0px;line-height: normal;}
.details-grundriss {display: grid;grid-template-columns: repeat(6, 1fr);gap: 20px;border-bottom:1px solid #DFDEDC !important;padding-bottom: 30px !important;}
.details-grundriss-item {position:relative;width: 100%;aspect-ratio: 1 / 1;background-size: cover;background-position: bottom;border-radius: 8px;}
.details-grundriss-item:hover {cursor: pointer;}
.details-grundriss-item-lupe,.details-image-lupe {position: absolute;top: 0;right: 0;bottom: 0;left: 0;display: flex;justify-content: center;align-items: center;background: rgba(255,255,255,0.08);backdrop-filter: blur(0px);-webkit-backdrop-filter: blur(0px);opacity: 0;pointer-events: none;transition:opacity 0.3s ease,backdrop-filter 0.3s ease,-webkit-backdrop-filter 0.3s ease;border-radius:8px;}
.details-grundriss-item:hover .details-grundriss-item-lupe,.gallery-main:hover .details-image-lupe,.gallery-thumb:hover .details-image-lupe {opacity: 1;backdrop-filter: blur(2px);-webkit-backdrop-filter: blur(2px);}
.details-grundriss-item-lupe svg,.details-image-lupe svg{background:#fff;border-radius:50%;padding:10px;}

.details-merkmale {display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px;}
.details-merkmale-item {width: 100%;display: flex;align-items: flex-start;}
.details-merkmale-item i {margin-right: 8px;flex-shrink: 0;}

.details-zugehoerige-wrapper{margin-top: 120px !important;}
.details-zugehoerige-title h2{font-size:var(--polyluchs--font-size-text-desktop-xl) !important;}
.details-zugehoerige {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
.details-zugehoerige a {color:#000 !important;text-decoration:none!important}
.details-zugehoerige-item {width: 100%;}
.details-zugehoerige-item-inner {width: 100%;aspect-ratio: 1 / 1;background-size: cover;background-position: center;border-radius: 8px;margin-bottom:10px;}

.details-buchen-wrapper{margin-top: 40px !important;padding:0px;border-radius:0px;background:#fff}
.details-buchen-title{margin-bottom: 0px !important;}

.details-anschrift-wrapper{margin-top: 40px !important;}
.details-anschrift-wrapper.fixed {margin-top: 399px !important;}

.details-booking-check-outer-wrapper {padding-top: 40px !important;background:#fff;}
.details-booking-check-wrapper {padding: 20px; background: #e6e6e6!important;border-radius:8px;position: relative;}
.details-booking-check-wrapper .elementor-button {display: block;text-align: center;}
.details-booking-check-outer-wrapper.fixed {position: fixed;top: 57px;}
.booking-field.half-left {width: 50%;display: inline-block;padding-right: 5px;}
.booking-field.half-right {width: 50%;display: inline-block;padding-left: 5px;}

.details-apartment-nav {position: fixed;left: 0;right: 0;bottom: 0;z-index: 9;background: #fff;padding: 10px 40px;box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);border-top: 1px solid rgba(0, 0, 0, 0.1);transform: translateY(100%);opacity: 0;pointer-events: none;}
.details-apartment-nav.is-sticky-bottom {animation: slideUp 0.4s forwards;pointer-events: auto;}
.details-apartment-nav.is-hiding {animation: slideDown 0.4s forwards;pointer-events: none;}

.details-apartment-nav {display: grid;grid-template-columns: 1fr auto 1fr;align-items: center;width: 100%;gap: 20px;}
.apartment-prev-wrapper {justify-self: start;}
.apartment-prev-wrapper .desktop,.apartment-next-wrapper .desktop {display: block;}
.apartment-prev-wrapper .mobile,.apartment-next-wrapper .mobile {display: none;width: 20px!important;height: 20px!important;}
.apartment-title-next-wrapper {justify-self: center;text-align: center;}
.apartment-next-wrapper {justify-self: end;}
.apartment-prev,.apartment-next {text-decoration: none;display: inline-flex;align-items: center;gap: 6px;}
.details-apartment-nav a{color: var(--polyluchs--primary-color) !important;font-size:var(--polyluchs--font-size-text-desktop) !important;}

.details-title-info{font-family:var(--polyluchs-font-primary-light) !important;font-size:var(--polyluchs--font-size-text-desktop) !important;display: flex;align-items: center;gap: 20px;margin-top:10px;}
.details-title-info > div {display: flex;align-items: center;gap: 5px;line-height: 1;white-space: nowrap;}
.details-title-info img {display: block;object-fit: contain;}

.apartment-prev-wrapper .mobile svg,.apartment-next-wrapper .mobile svg {width: 20px!important;position: absolute;top: 4px;}

.details-zugehoerige-wrapper {margin-top: 80px !important;}
/* ------------------------------------------------------------------------------- Aktivitäten Details */
#mehrAktivitaetenHeader {margin: 20px 0 0px 0;}
#aktivitaetenDetailsContent .details-desc h2 {font-family: var(--polyluchs-font-seconary) !important;font-size: var(--polyluchs--font-size-text-desktop) !important;font-weight: 600 !important;margin-top: 20px;margin-bottom: 0px;line-height: normal;}

.back-to-first {position:relative;left:22px;margin-top:40px;margin-bottom:120px;}
.back-to-first a,.aktivitaeten-anschrift-wrapper a {color:var(--polyluchs--primary-color) !important;}
.back-to-first svg{position:absolute;top: 6px;left: -22px;stroke:var(--polyluchs--primary-color) !important;}

.icon-desktop-view {display: block !important;}
.icon-mobile-view {display: none !important;}




@media (max-width: 1400px) {
.gallery-modal-grid {column-count: 5;}
}
@media (max-width: 1280px) {
	#startseiteHeaderSwiperLogo{left: calc(50% - 125px);}
	#startseiteHeaderSwiperLogo svg, #logo-fallback {width: 250px;}
}
@media (max-width: 1200px) {
	.gallery-content-grid {grid-template-columns: minmax(0, 1fr) 280px !important;}
	.details-grundriss {grid-template-columns: repeat(4, 1fr) !important;}
	.gallery-modal-grid {column-count: 4;}
	/* ------------------------------------------------------------------------------- Datepicker */
	.flatpickr-calendar {width: 260px !important;}
}
@media (max-width: 1024) {
	.gallery-modal-grid {column-count: 3;}
}
@media (max-width: 768px) {
	.desktop-hide{display:block !important;}
	
	#philosophieAccordion .tab-label {font-size: 16px!important;}
	
	.back-to-first {margin-bottom:80px;}
	
	.small-text{font-size:14px!important;}
	
	.mobile-hide{display: none!important;}
	
	body, button, input, select, textarea, .mapbox-popup-content,.elementor-button{font-size: var(--polyluchs--font-size-text-mobil) !important;}
	.gallery-open-btn{font-size: 14px !important;}
	/* ------------------------------------------------------------------------------- Typo */
	h1,.details-zugehoerige-title h2,h2{font-size:var(--polyluchs--font-size-text-mobil-xxl) !important;}
	/* ------------------------------------------------------------------------------- Header */
	.site-header {border-bottom: 0px solid rgba(0, 0, 0, 0.1) !important;background-color:transparent!important;background:transparent!important;}
	.site-header .inside-header {padding: 0px 20px !important;}
	.site-header.is-sticky .inside-header {padding: 0px 20px !important;}
	
	.site-header .header-image{width: 50px !important;filter: drop-shadow(0 3px 5px rgba(0, 0, 0, 0));}
	/*
	.site-header.image-header {background-color: #fff !important;border-bottom: 0px solid rgba(0, 0, 0, 0.1) !important;background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 100%);}
	.site-header.image-header .header-image,.site-header.image-header .main-navigation .main-nav ul li[class*="current-menu-"] > a, .site-header.image-header .main-navigation .main-nav ul li a, .site-header.image-header .main-navigation .menu-toggle, .site-header.image-header .main-navigation .menu-bar-items {filter: drop-shadow(0 0px 0px rgba(0, 0, 0, 0)) !important;}
	.site-header.image-header .main-navigation .main-nav ul li a {color: #000 !important;}
	*/
	
	.site-header:has(.main-navigation.toggled) {background-color: #fff !important;}
	
	.has-inline-mobile-toggle #site-navigation .gtranslate_wrapper {display:none!important;}
	.has-inline-mobile-toggle #site-navigation.toggled .gtranslate_wrapper {display:block!important;position: fixed;bottom: 20px;}
	/* ------------------------------------------------------------------------------- Footer */
	.footer-widgets .widget ul {display: inline !important;}
	.adress-desktop-hide {display: inline-block;}
	.adress-mobile-hide {display: none;}
	
	.footer-widgets-container {padding: 20px 0 0 0 !important; }
	.site-footer .footer-widgets-container .inner-padding:last-child {padding: 20px 0 0 0px !important;}
	/* ------------------------------------------------------------------------------- Navigation */
	.has-inline-mobile-toggle .inside-header {box-shadow: 0 4px 20px rgba(0, 0, 0, 0) !important;border-bottom: 0px solid rgba(0, 0, 0, 0.1) !important;}
	.has-inline-mobile-toggle.is-sticky .inside-header {box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;border-bottom: 0px solid rgba(0, 0, 0, 0.1) !important;}
	
	.menu-toggle {padding: 0 0 0 20px!important;}
	.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, .mobile-menu-control-wrapper .menu-toggle:focus, .has-inline-mobile-toggle #site-navigation.toggled{background-color: rgba(0, 0, 0, 0)!important;}
	.main-navigation .main-nav ul li a {padding-left: 0px !important;line-height: 40px !important;}
	.main-navigation ul ul {width: auto !important;box-shadow: 0px 0px 0 rgba(0, 0, 0, 0) !important;padding-left: 10px !important;border-radius:0!important;}
	.main-navigation .main-nav ul ul li a{padding: 0px 0 !important;}
	.main-navigation .main-nav ul ul li a:before{content: "+ "!important;}
	.menu-item-has-children .dropdown-menu-toggle {padding-right: 0px !important;}
	.main-navigation.toggled .main-nav ul ul {border-bottom: 0px solid rgba(0, 0, 0, .2) !important;}
	.main-navigation ul ul ul {width: auto !important;padding-left: 10px !important;}
	.main-navigation.toggled .main-nav ul ul ul {border-bottom: 0px solid rgba(0, 0, 0, .2) !important;}
	
	.has-inline-mobile-toggle #site-navigation.toggled {margin-top: 1.5em;height: 100vh !important;}
	
	.site-header:has(.main-navigation.toggled .main-nav ul li) a,.site-header.image-header.has-inline-mobile-toggle .main-navigation .main-nav ul li a {color: #000!important;fill: #000;filter: drop-shadow(0 0px 0px rgba(0, 0, 0, 0));}
	.site-header:has(.main-navigation.toggled .main-nav ul li) a:hover {color: var(--polyluchs--primary-color) !important;}
	
	.site-header.image-header .main-navigation.toggled .menu-toggle {filter: drop-shadow(0 0px 0px rgba(0, 0, 0, 0))!important;}
	
	.site-header.image-header .gp-icon svg {stroke: #fff;}
	.site-header.klassik-header .gp-icon svg,.site-header.is-sticky .gp-icon svg,.site-header:has(.main-navigation.toggled) .gp-icon svg {stroke: #000;}
	/* ------------------------------------------------------------------------------- Content */
	.one-container .site-content {padding: 100px 20px 0px 20px !important;}
	/* ------------------------------------------------------------------------------- Mapbox */
	.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button {display: none !important;}
	/* ------------------------------------------------------------------------------- Modals */
	.gallery-modal-inner, .gallery-slider-modal-inner {padding: 100px 20px 20px 20px !important;}
	
	/* ------------------------------------------------------------------------------- Swiper Slider */
	#gallerySliderModalGrid .swiper-button-prev {left: -10px;}
	#gallerySliderModalGrid .swiper-button-next {right: -10px;}
	#startseiteHeaderSwiper .swiper-button-next, #startseiteHeaderSwiper .swiper-button-prev, #gallerySliderModalGrid .swiper-button-next, #gallerySliderModalGrid .swiper-button-prev, #gallerySliderModalGrid .swiper-button-next svg, #gallerySliderModalGrid .swiper-button-prev svg {width: 60px !important;height: 60px !important;}
	
	/* ------------------------------------------------------------------------------- Booking */
	.booking-widget .booking-field.booking-field-mobile-hide {display: none !important;}
	#arrivalDate, #departureDate {width: 80px !important;}
	#bookingCheckSend{padding: 12px 12px !important;}
	/* ------------------------------------------------------------------------------- Startseite */
	#startseiteHeaderSwiperLogo {top:calc(50% - 6px)!important;left: calc(50% - 100px);}
	#startseiteHeaderSwiperLogo svg,#logo-fallback {width: 200px !important;}
	#startseiteHeaderSwiper .swiper-button-prev {left: 0px !important;}
	#startseiteHeaderSwiper .swiper-button-next{right: 0px !important;}
	/* ------------------------------------------------------------------------------- Appartments */
    .gallery-grid, .gallery-content-grid,.details-merkmale {display: block !important;}
	.gallery-main {height: 30vh !important;margin-bottom: 10px !important;}
	.details-booking-check-outer-wrapper.fixed {position: relative;top:0 !important;}
	.gallery-modal-grid {column-count: 2;}
	.gallery-side{grid-template-columns: repeat(4, 1fr) !important;grid-template-rows: repeat(1, 1fr) !important;}
	.details-grundriss{grid-template-columns: repeat(3, 1fr) !important;}
	.details-anschrift-wrapper.fixed {margin-top: 40px !important;}
	
	.details-apartment-nav {padding: 10px 20px !important;}
	.apartment-prev-wrapper .desktop,.apartment-next-wrapper .desktop {display: none !important;}
	.apartment-prev-wrapper .mobile,.apartment-next-wrapper .mobile {display: block !important; position: relative !important;}
	
	.details-title-info {font-family: var(--polyluchs-font-primary-light) !important;font-size: var(--polyluchs--font-size-text-mobil) !important;}
	.details-zugehoerige {grid-template-columns: repeat(2, 1fr) !important;}
	
	.details-zugehoerige-title h2 {font-size: var(--polyluchs--font-size-text-mobil-xl) !important;}
	
	.icon-desktop-view {display: none !important;}
	.icon-mobile-view {display: block !important;}
	
	.gallery-modal-grid {padding: 0 0;}
	
	.gallery-open-btn{left: calc(75% - 70px);right: auto;}
	/* ------------------------------------------------------------------------------- Appartment Gid */
	.ah-item a {display: block;height: 100%;}
	.ah-image {width: 100%;background-size: cover;background-position: center;border-radius: 12px;margin-bottom: 10px;padding-bottom: 0;height:300px;}
	/* ------------------------------------------------------------------------------- Über uns */
	.slider-section-custom-one .slider-track {display: block;}
	.slider-section-custom-one h3 {padding: 20px 0 10px 0;}
	/* ------------------------------------------------------------------------------- Aktivitäten Details */
	#mehrAktivitaetenHeader {margin: 40px 0 0px 0;}

}


