.elementor-34 .elementor-element.elementor-element-3fc8b85{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-67a9dcf */.cal-outer{
  max-width:1100px;
  margin:0 auto;
  padding:10px 0;
}

.cal-wrap{
  background:#fff;
  border-radius:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:20px 20px 24px;
}

/* Input verstecken */
#priceCalendar{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}

/* Kalender volle Breite */
.cal-wrap .flatpickr-calendar{
  width:100%!important;
  max-width:100%!important;
  box-shadow:none!important;
  border:0!important;
}

.cal-wrap .flatpickr-innerContainer,
.cal-wrap .flatpickr-rContainer,
.cal-wrap .flatpickr-days,
.cal-wrap .dayContainer{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}

/* Tageszellen */
.cal-wrap .flatpickr-day{
  flex-basis:calc(100%/7)!important;
  max-width:calc(100%/7)!important;
  width:calc(100%/7)!important;

  height:85px;
  line-height:20px;
  border-radius:12px;

  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;

  padding-top:12px;
  margin:0;

  pointer-events:none!important;
  cursor:default!important;
}

/* Auswahl-Optik entfernen */
.cal-wrap .flatpickr-day.selected,
.cal-wrap .flatpickr-day.startRange,
.cal-wrap .flatpickr-day.endRange,
.cal-wrap .flatpickr-day.inRange{
  background:transparent!important;
  box-shadow:none!important;
}

/* Fokus ohne Browser-Rahmen */
.cal-wrap .flatpickr-day:focus{
  outline:none!important;
}

/* Monatstitel */
.cal-wrap .flatpickr-months{
  margin-bottom:12px;
}

.cal-wrap .flatpickr-current-month{
  font-size:20px;
  font-weight:700;
}

/* Wochentage */
.cal-wrap span.flatpickr-weekday{
  font-weight:700;
  opacity:.75;
}

/* Inhalt im Tag */
.cal-wrap .flatpickr-day .daynum{
  font-size:17px;
  font-weight:700;
}

.cal-wrap .flatpickr-day .day-price{
  font-size:13px;
  margin-top:8px;
  opacity:.9;
  white-space:nowrap;
}

.cal-wrap .flatpickr-day .day-minstay{
  font-size:11px;
  margin-top:4px;
  opacity:.7;
  white-space:nowrap;
}

/* ===== VERFÜGBAR ===== */
.cal-wrap .flatpickr-day.is-available{
  background:#e4f4e8!important;
  border:1px solid #8fd19e!important;
}

/* ===== BELEGT ===== */
.cal-wrap .flatpickr-day.booked{
  background:
    repeating-linear-gradient(
      45deg,
      #ececec,
      #ececec 6px,
      #f5f5f5 6px,
      #f5f5f5 12px
    )!important;
  border:1px solid #d5d5d5!important;
  color:#8c8c8c!important;
}

.cal-wrap .flatpickr-day.booked .day-price,
.cal-wrap .flatpickr-day.booked .day-minstay{
  opacity:.45;
}

/* ===== LEGENDE ===== */
.calendar-legend{
  display:flex;
  justify-content:center;
  gap:40px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #eee;
  font-size:14px;
  color:#555;
}

.legend-item{
  display:flex;
  align-items:center;
  gap:8px;
}

.legend-box{
  width:18px;
  height:18px;
  border-radius:6px;
  border:1px solid #ccc;
  display:inline-block;
  position:relative;
  overflow:hidden;  /* wichtig für Streifen */
}

/* Verfügbar */
.legend-available{
  background:#e4f4e8 !important;
  border-color:#8fd19e !important;
}

/* Belegt: Grundfläche */
.legend-booked{
  background:#ececec !important;
  border-color:#d5d5d5 !important;
}

/* Belegt: Streifen als Overlay (funktioniert auch wenn background überschrieben wird) */
.legend-booked::after{
  content:"";
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(
    45deg,
    rgba(0,0,0,.08),
    rgba(0,0,0,.08) 3px,
    rgba(255,255,255,.30) 3px,
    rgba(255,255,255,.30) 6px
  );
  pointer-events:none;
}


/* Responsive */
@media (max-width:700px){
  .cal-wrap{padding:16px}
  .cal-wrap .flatpickr-day{height:72px;padding-top:10px}
  .cal-wrap .flatpickr-day .day-minstay{display:none;}
}/* End custom CSS */