/* === ClubProperty custom overrides === */
#cpb-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
}

#cpb-calendar {
  flex: 1 1 65%;
  max-width: 1200px;
  min-width: 180px;
  background: #fff;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,.1);
}

#cpb-panel {
  flex: 0 0 250px;
  max-width: 280px;
  background: #fff;
  border: 1px solid #ccc;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.fc-daygrid-day-frame {
  pointer-events: auto !important;
  cursor: pointer;
}

/* Event colours */
.fc-event.booked {
  background: #dc3545 !important; /* red */
  color: #fff !important;
}
.fc-event.maintenance {
  background: #ffc107 !important; /* yellow */
  color: #000 !important;
}
.fc-event.available {
  background: #28a745 !important; /* green */
  color: #fff !important;
}

/* Make calendar smaller & responsive */
.fc {
  font-size: 13px;
}
.fc-toolbar-title {
  font-size: 1.1em;
}

/* Responsive stacking */
@media (max-width: 900px) {
  #cpb-wrapper {
    flex-direction: column;
  }
  #cpb-calendar,
  #cpb-panel {
    max-width: 100%;
    width: 100%;
  }
  .fc {
    font-size: 12px;
  }
}

/* === Dashboard Layout === */
#cpb-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 20px;
  align-items: flex-start;
  justify-content: flex-start;
  width: 100%;
}

/* Calendar: flexible width */
#cpb-calendar {
  flex: 1 1 auto;              /* grow and shrink freely */
  min-width: 320px;            /* never get too small */
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Availability panel: fixed width */
#cpb-panel {
  flex: 0 0 250px;             /* fixed 250px width */
  background: #fff;
  border: 1px solid #ccc;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Smaller font so calendar fits comfortably */
.fc {
  font-size: 13px;
}

/* Responsive behavior: stack on small screens */
@media (max-width: 900px) {
  #cpb-wrapper {
    flex-direction: column;
  }
  #cpb-panel {
    flex: 1 1 100%;
    max-width: 100%;
  }
}



/* ClubProperty – align Check-in / Check-out in one row */
.es-search__availability-fields{
  display:flex;
  flex-wrap:nowrap;   /* no wrapping */
  gap:6px;
  align-items:flex-end;
}
.es-field--availability{
  flex:1 1 120px;     /* small flexible width */
  min-width:100px;
}
.es-field--availability input[type=date]{
  width:100%;
  padding:3px 5px;
  font-size:12px;
}
@media(max-width:600px){
  .es-search__availability-fields{flex-wrap:wrap;} /* stack on small screens */
}

.es-field--availability{max-width:110px;}
