/* Booking Form Styles */
.booking-form-wrapper {
  background: #f9f9f9;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 6px;
  max-width: 600px;
    margin:auto;
}

.booking-form-wrapper h3 {
  margin-top: 0;
  font-size: 1.1em;
  color: #333;
  background-color: #f0f4f8; /* same as .calendar-nav-bar */
  padding: 8px 12px;
  border-radius: 6px;
  margin-bottom: 10px;
  text-align:center;
  font-weight:bold;
}

.booking-form-date {
   margin-top: 0;
  font-size: 0.8em;
  color: #fff;
  background-color: #333; /* same as .calendar-nav-bar */
  padding: 4px 12px;
  border-radius: 6px;
  margin-bottom: 10px;
  text-align:center;
  border: solid 1px #ccc;
}

.booking-form-disabled{
   margin-top: 0;
  font-size: 0.8em;
  color: red;
  background-color: #ddd; /* same as .calendar-nav-bar */
  padding: 4px 12px;
  border-radius: 6px;
  margin-bottom: 10px;
  text-align:center;
  border: solid 1px #ccc;
}

.booking-form-wrapper label {
  display: block;
  margin-bottom: 10px;
  font-weight: bold;
  color: #444;
}

.booking-form-wrapper input[type="text"],
.booking-form-wrapper input[type="email"],
.booking-form-wrapper input[type="date"],
.booking-form-wrapper input[type="time"],
.booking-form-wrapper select,
.booking-form-wrapper textarea {
  width: 100%;
  padding: 8px;
  margin-top: 4px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
}

.booking-form-wrapper textarea {
  resize: vertical;
  min-height: 80px;
}

.booking-form-wrapper input[type="submit"] {
  background-color: #0073aa;
  color: #fff;
  border: none;
  padding: 10px 20px;
  font-size: 1em;
  border-radius: 4px;
  cursor: pointer;
}

.booking-form-wrapper input[type="submit"]:hover {
  background-color: #005f8d;
}

.booking-form-wrapper p {
  margin-bottom: 15px;
}

.booking-form-wrapper .confirmation {
  background-color: #e0f7e9;
  border-left: 4px solid #46b450;
  padding: 10px;
  margin-bottom: 20px;
}


/* listings */
/* Event List Styles */
.event-list {
  list-style: none;
  padding: 0;
  margin: 20px 0;
}

.event-list li {
  padding: 10px 15px;
  margin-bottom: 8px;
  background-color: #f5f5f5;
  border-left: 4px solid #0073aa;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}

.event-list li:hover {
  background-color: #e9f5ff;
}

.event-list a {
  font-weight: bold;
  color: #0073aa;
  text-decoration: none;
}

.event-list a:hover {
  text-decoration: underline;
}

.event-range-selector {
  margin: 0 auto 15px auto;
  font-size: 0.9em;
  max-width:300px;
}

.event-range-selector a {
  text-decoration: none;
  padding: 4px 8px;
  border-radius: 4px; 
  background-color: #f0f4f8;
  color: #0073aa;
  margin-right: 5px;
}

.event-range-selector a.active {
  background-color: #0073aa;
  color: #fff;
  font-weight: bold;
}

.event-list-view {
  list-style: none;
  padding: 0;
  margin:auto;
  max-width: 500px;
}

.event-list-view li {
  background: #f9f9f9;
  margin-bottom: 8px;
  padding: 10px;
  border-left: 4px solid #0073aa;
  border-radius: 4px;
}

.booking-intro {
  margin-bottom: 20px;
  font-size: 0.9em;
  color: red;
}


#e_conf {
  position: fixed;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 400px;
  width: calc(100% - 20px);
  margin: 0 auto;
  padding: 1em 1.5em;
  background-color: #e0ffe0;
  border: 2px solid #4CAF50;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  font-family: sans-serif;
  font-size: 1rem;
  z-index: 9999;
  text-align: center;
}

input.booking_amount {
  padding:5px!important;
  max-width:80px;
  float:left;
  margin:0 10px 0 0;
}

p.max_book{
  margin:-11px 0 25px 0;
  font-size:0.8em;
  padding:5px;

}


/* slots layout */
.multi_slots {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  background: transparent !important;
  margin-bottom: 10px;
  padding: 10px 0;
  justify-content: flex-start;
}

/* Slot-Label-Styling */
.multi_slots label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: #ddd;
  color: #333;
  padding: 10px 14px;
  border-radius: 6px;
  cursor: pointer;
  flex: 0 1 calc(33.333% - 10px); /* drei pro Reihe */
  box-sizing: border-box;
  font-weight: bold;
  transition: background 0.2s ease;
}

/* Hover- und Aktiv-Effekt */
.multi_slots label:hover {
  background: #555;
  color:#ddd;
}
.multi_slots input[type="checkbox"]:checked + span {
  color: #00ff88;
}

/* Checkbox etwas größer */
.multi_slots input[type="checkbox"] {
  transform: scale(1.2);
}

/* Mobile: Slots untereinander */
@media (max-width: 767px) {
  .multi_slots {
    display: block;
  }

  .multi_slots label {
    display: block;
    width: 100%;
    margin-bottom: 6px;
  }
}

#eop_price_display{
  margin-bottom: 20px;
}

#eop_submit {
    display: inline-block;
    padding: 12px 28px;
    font-size: 16px;
    font-weight: 600;
    background: #808080;          /* dunkles Grau */
    color: #f5f5f5;               /* helles Grau/Weiß */
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Hover */
#eop_submit:hover {
    background: #6a6a6a;          /* etwas helleres Grau */
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}

/* Active (Klick) */
#eop_submit:active {
    transform: translateY(0);
    box-shadow: 0 3px 10px rgba(0,0,0,0.18);
}

/* Focus (Accessibility) */
#eop_submit:focus {
    outline: 3px solid #bfbfbf;
    outline-offset: 3px;
}

.map_font {
  font-size: 0.8em;
}

.map_font a:hover {
  text-decoration: underline;
}

.eop-featured-fallback {
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    margin-bottom: 25px;
}

.eop-featured-fallback img,
.wp-post-image {
    width: 100%;
    max-height: 500px;
    object-fit: contain;   /* zeigt das ganze Bild, ohne Zuschnitt */
    display: block;
    margin: 0 auto;
}

