.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__list{justify-content:flex-start;}.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs{--ksw-ew-breadcrumbs-gap:8px;font-size:0.875rem;}.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__link{color:var( --e-global-color-text );}.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__link:hover, .elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__link:focus-visible{color:#3f4f34;}.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__current{color:var( --e-global-color-v4-brand-primary );font-weight:700;}.elementor-948 .elementor-element.elementor-element-2662c98 .ksw-ew-breadcrumbs__separator{color:#a3a39d;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery{--ksw-ew-main-thumb-gap:16px;--ksw-ew-thumb-gap:16px;--ksw-ew-thumb-height:120px;--ksw-ew-main-object-fit:cover;--ksw-ew-main-media-background:#f4f4f5;--ksw-ew-main-media-hover-opacity:1;--ksw-ew-main-image-hover-scale:1;--ksw-ew-main-media-active-opacity:1;--ksw-ew-main-image-active-scale:1;--ksw-ew-thumb-object-fit:cover;padding:0px 0px 0px 0px;--ksw-ew-thumb-hover-opacity:0.9;--ksw-ew-thumb-hover-scale:1;--ksw-ew-thumb-active-opacity:1;--ksw-ew-thumb-active-scale:1;--ksw-ew-pagination-top:24px;--ksw-ew-pagination-right:24px;--ksw-ew-pagination-bottom:24px;--ksw-ew-pagination-left:24px;--ksw-ew-pagination-min-width:58px;--ksw-ew-pagination-min-height:44px;--ksw-ew-nav-button-size:42px;--ksw-ew-nav-button-background:#F9F7F1;--ksw-ew-nav-button-color:var( --e-global-color-v4-brand-secondary );--ksw-ew-nav-button-hover-background:#F9F7F1CC;--ksw-ew-nav-button-hover-color:var( --e-global-color-v4-brand-secondary );--ksw-ew-nav-button-hover-border-color:#FFFFFF00;--ksw-ew-nav-button-hover-scale:1;--ksw-ew-nav-button-active-background:#F9F7F1;--ksw-ew-nav-button-active-color:var( --e-global-color-v4-brand-secondary );--ksw-ew-nav-button-active-scale:1;--ksw-ew-nav-button-disabled-opacity:0.42;--ksw-ew-focus-color:#FFFFFF00;--ksw-ew-focus-width:0px;--ksw-ew-focus-offset:0px;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__main-media{border-radius:24px 24px 24px 24px;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__thumb{border-radius:12px 12px 12px 12px;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__thumb.is-active{border-style:none;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__pagination{padding:10px 16px 10px 16px;border-radius:999px 999px 999px 999px;background-color:#F9F7F1;color:var( --e-global-color-v4-brand-secondary );}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__thumb-arrow, .elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__main-arrow{border-radius:999px 999px 999px 999px;}.elementor-948 .elementor-element.elementor-element-4afd592 .jet-listing-dynamic-repeater__items{flex-direction:flex-start;justify-content:flex-start;}.elementor-948 .elementor-element.elementor-element-4afd592 .jet-listing-dynamic-repeater__item > *{justify-content:flex-start;font-size:0.875rem;line-height:1.5;}.elementor-948 .elementor-element.elementor-element-3524b43{--grid-columns:2;}.elementor-948 .elementor-element.elementor-element-3524b43 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-948 .elementor-element.elementor-element-3524b43 .e-loop-item > .elementor-section, .elementor-948 .elementor-element.elementor-element-3524b43 .e-loop-item > .elementor-section > .elementor-container, .elementor-948 .elementor-element.elementor-element-3524b43 .e-loop-item > .e-con, .elementor-948 .elementor-element.elementor-element-3524b43 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(max-width:1024px){.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery{--ksw-ew-main-thumb-gap:18px;--ksw-ew-thumb-gap:16px;--ksw-ew-thumb-height:104px;--ksw-ew-pagination-top:18px;--ksw-ew-pagination-right:18px;--ksw-ew-pagination-bottom:18px;--ksw-ew-pagination-left:18px;--ksw-ew-pagination-min-width:54px;--ksw-ew-pagination-min-height:40px;--ksw-ew-nav-button-size:38px;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__pagination{padding:8px 14px 8px 14px;}.elementor-948 .elementor-element.elementor-element-3524b43{--grid-columns:1;}}@media(max-width:767px){.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery{--ksw-ew-main-thumb-gap:10px;--ksw-ew-thumb-gap:10px;--ksw-ew-thumb-height:96px;--ksw-ew-pagination-top:10px;--ksw-ew-pagination-right:10px;--ksw-ew-pagination-bottom:10px;--ksw-ew-pagination-left:10px;--ksw-ew-pagination-min-width:48px;--ksw-ew-pagination-min-height:34px;--ksw-ew-nav-button-size:34px;}.elementor-948 .elementor-element.elementor-element-fa1f4c3 .ksw-ew-gallery__pagination{padding:6px 10px 6px 10px;}.elementor-948 .elementor-element.elementor-element-3524b43{--grid-columns:1;}}/* Start custom CSS *//* HarzHold: Hotelfriend Buchungswidget auf Apartment-Single */
.single-apartments .ap-booking-wrap {
  --hh-green: #435334;
  --hh-green-hover: #354329;
  --hh-cream: #f9f7f1;
  --hh-border: #ded6c8;
  --hh-brown: #8b6845;
  --hh-text: #707070;

  gap: 10px;
}

/* Widget-Font und Grundlayout */
.single-apartments .ap-booking-wrap .hf-widget_container,
.single-apartments .ap-booking-wrap .hf-widget_wrap,
.single-apartments .ap-booking-wrap .hf-widget_wrap * {
  font-family: "Poppins", sans-serif !important;
  letter-spacing: 0;
}

.single-apartments .ap-booking-wrap .hf-widget_wrap {
  flex-direction: column;
  gap: 10px !important;
  max-width: none;
}

/* Eingabefelder */
.single-apartments .ap-booking-wrap .hf-widget {
  width: 100%;
  min-height: 56px;
  background: #fff !important;
  border: 1px solid var(--hh-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: var(--hh-green) !important;
}

.single-apartments .ap-booking-wrap .hf-widget_hover {
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.single-apartments .ap-booking-wrap .hf-widget_hover:hover {
  border-color: var(--hh-brown) !important;
  background-color: #fffdf8 !important;
}

/* Datumsfeld */
.single-apartments .ap-booking-wrap .hf-drp_wrap {
  height: 62px;
  min-width: 0;
}

.single-apartments .ap-booking-wrap .hf-drp {
  padding: 8px 18px;
  align-items: center;
}

.single-apartments .ap-booking-wrap .hf-drp__title {
  color: var(--hh-text) !important;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
}

.single-apartments .ap-booking-wrap .hf-drp__select,
.single-apartments .ap-booking-wrap .hf-drp__selected {
  color: var(--hh-green) !important;
}

.single-apartments .ap-booking-wrap .hf-drp__selected_number {
  color: var(--hh-green) !important;
  font-size: 32px;
  line-height: 1;
  font-weight: 600;
}

.single-apartments .ap-booking-wrap .hf-drp__selected_date {
  color: var(--hh-green) !important;
  font-size: 15px;
  line-height: 1.15;
}

.single-apartments .ap-booking-wrap .hf-drp__slash::before {
  background-color: var(--hh-border) !important;
}

/* Gaeste-Auswahl */
.single-apartments .ap-booking-wrap .hf-guest {
      min-height: 56px;
    padding: 17px 20px;
}

.single-apartments .ap-booking-wrap .hf-guest__quantity_selected {
  color: var(--hh-green) !important;
  font-size: 16px;
  font-weight: 500;
}

.single-apartments .ap-booking-wrap .hf-guest__quantity_selected_adults,
.single-apartments .ap-booking-wrap .hf-guest__quantity_selected_children {
  color: var(--hh-brown) !important;
  font-weight: 600;
}

/* Suchbutton: Orange entfernen */
.single-apartments .ap-booking-wrap button.hf-widget__button {
  height: 58px;
  width: 100%;
  padding: 14px 24px !important;
  background-color: var(--hh-green) !important;
  color: var(--hh-cream) !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.single-apartments .ap-booking-wrap button.hf-widget__button:hover {
  background-color: var(--hh-green-hover) !important;
  filter: none !important;
  box-shadow: none !important;
}

/* Mobile */
@media (max-width: 767px) {
  .single-apartments .ap-booking-wrap .hf-drp {
    padding-inline: 14px;
  }

  .single-apartments .ap-booking-wrap .hf-drp__selected_number {
    font-size: 28px;
  }

  .single-apartments .ap-booking-wrap .hf-drp__title,
  .single-apartments .ap-booking-wrap .hf-drp__selected_date {
    font-size: 13px;
  }
}

/* HarzHold: Datepicker Fix */
.single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker {
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: 760px !important;
  margin-top: 12px !important;
  padding: 22px !important;
  background: var(--hh-cream) !important;
  border: 1px solid var(--hh-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 45px rgba(67, 83, 52, 0.14) !important;
  font-family: "Poppins", sans-serif !important;
  color: var(--hh-green) !important;
  overflow: visible !important;
}

.single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker::before,
.single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker::after {
  display: none !important;
}

/* Wichtiger Fix: zwei Monate sauber nebeneinander */
.single-apartments .ap-booking-wrap .daterangepicker .drp-calendar {
  max-width: none !important;
  width: 340px !important;
  padding: 0 !important;
}

.single-apartments .ap-booking-wrap .daterangepicker .drp-calendar.left {
  margin-right: 28px !important;
}

.single-apartments .ap-booking-wrap .daterangepicker .drp-calendar.right {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* Tabellenlayout stabilisieren */
.single-apartments .ap-booking-wrap .daterangepicker .calendar-table {
  background: transparent !important;
  border: 0 !important;
}

.single-apartments .ap-booking-wrap .daterangepicker .calendar-table table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 4px !important;
  table-layout: fixed !important;
}

/* Kopfzeile: keine kaputten Linien/Arcs */
.single-apartments .ap-booking-wrap .daterangepicker th {
  background: transparent !important;
  border: 0 !important;
}

.single-apartments .ap-booking-wrap .daterangepicker th.month {
  color: var(--hh-brown) !important;
  font-family: "Roboto Slab", serif !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  padding-bottom: 16px !important;
}

/* Pfeile sauber neu zeichnen */
.single-apartments .ap-booking-wrap .daterangepicker th.prev,
.single-apartments .ap-booking-wrap .daterangepicker th.next {
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  cursor: pointer;
}

.single-apartments .ap-booking-wrap .daterangepicker th.prev span,
.single-apartments .ap-booking-wrap .daterangepicker th.next span {
  display: inline-block !important;
  width: 12px !important;
  height: 12px !important;
  padding: 0 !important;
  border-color: var(--hh-green) !important;
  border-width: 0 0 3px 3px !important;
}

.single-apartments .ap-booking-wrap .daterangepicker th.prev span {
  transform: rotate(45deg) !important;
}

.single-apartments .ap-booking-wrap .daterangepicker th.next span {
  transform: rotate(225deg) !important;
}

.single-apartments .ap-booking-wrap .daterangepicker th.prev:hover,
.single-apartments .ap-booking-wrap .daterangepicker th.next:hover {
  background: rgba(139, 104, 69, 0.12) !important;
}

/* Wochentage */
.single-apartments .ap-booking-wrap .daterangepicker .calendar-table th {
  color: var(--hh-brown) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  height: 34px !important;
}

/* Tage */
.single-apartments .ap-booking-wrap .daterangepicker td {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #333 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 38px !important;
}

.single-apartments .ap-booking-wrap .daterangepicker td.off,
.single-apartments .ap-booking-wrap .daterangepicker td.disabled {
  color: #b8b1a6 !important;
  background: transparent !important;
  text-decoration: none !important;
}

.single-apartments .ap-booking-wrap .daterangepicker td.available:hover {
  background: rgba(139, 104, 69, 0.14) !important;
  color: var(--hh-green) !important;
}

.single-apartments .ap-booking-wrap .daterangepicker td.in-range {
  background: rgba(67, 83, 52, 0.11) !important;
  color: var(--hh-green) !important;
  box-shadow: none !important;
}

.single-apartments .ap-booking-wrap .daterangepicker td.active,
.single-apartments .ap-booking-wrap .daterangepicker td.active:hover,
.single-apartments .ap-booking-wrap .daterangepicker td.start-date,
.single-apartments .ap-booking-wrap .daterangepicker td.end-date {
  background: var(--hh-green) !important;
  color: var(--hh-cream) !important;
  box-shadow: none !important;
}

/* Mobile: bewusst einspaltig */
@media (max-width: 767px) {
  .single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 32px) !important;
    max-width: 420px !important;
    padding: 16px !important;
  }

  .single-apartments .ap-booking-wrap .daterangepicker .drp-calendar {
    width: 100% !important;
  }

  .single-apartments .ap-booking-wrap .daterangepicker .drp-calendar.left {
    margin-right: 0 !important;
    margin-bottom: 18px !important;
  }

  .single-apartments .ap-booking-wrap .daterangepicker .drp-calendar.right {
    padding-top: 18px !important;
    border-top: 1px solid var(--hh-border) !important;
  }

  .single-apartments .ap-booking-wrap .daterangepicker td {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    font-size: 14px !important;
  }
}

/* Fix: Datepicker darf rechts nicht aus dem Viewport laufen */
.single-apartments .ap-booking-wrap .hf-drp_wrap {
  position: relative !important;
  overflow: visible !important;
}

.single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker {
  left: auto !important;
  right: 0 !important;
  transform: none !important;
  width: min(760px, calc(100vw - 32px)) !important;
  max-width: min(760px, calc(100vw - 32px)) !important;
  box-sizing: border-box !important;
}

/* Elementor-/Section-Overflow darf das Overlay nicht abschneiden */
.single-apartments .ap-booking-wrap,
.single-apartments .ap-booking-wrap .elementor-widget-html,
.single-apartments .ap-booking-wrap #calendar-widget,
.single-apartments .ap-booking-wrap .hf-widget_container,
.single-apartments .ap-booking-wrap .hf-widget_wrap {
  overflow: visible !important;
}

/* Mobile: Picker mittig im Viewport statt an der Sidebar ausrichten */
@media (max-width: 767px) {
  .single-apartments .ap-booking-wrap .hf-drp_wrap .daterangepicker {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: calc(100vw - 32px) !important;
    max-width: 420px !important;
  }
}/* End custom CSS */