/* GTGF v15.32 — booking calendar interaction hardening */
body.page-slug-performance-week .trip-booking__panel,
body.page-slug-performance-week .trip-booking-form,
body.page-slug-performance-week .booking-calendar-wrap,
body.page-slug-performance-week .booking-calendar,
body.page-slug-performance-week .booking-calendar__header {
  position: relative;
  z-index: 2;
}

.booking-calendar-wrap,
.booking-calendar,
.booking-calendar button,
.booking-calendar__header button {
  pointer-events: auto !important;
}

.booking-calendar button.is-requestable {
  position: relative;
  z-index: 3;
  cursor: pointer !important;
  touch-action: manipulation;
  border: 1px solid rgba(255,90,0,.55) !important;
  background: rgba(255,90,0,.13) !important;
  color: #050505 !important;
}

.booking-calendar button.is-requestable:hover,
.booking-calendar button.is-requestable:focus-visible,
.booking-calendar button.is-selected {
  background: #ff5a00 !important;
  color: #050505 !important;
  outline: none;
}

.booking-calendar button.is-requestable:focus-visible {
  box-shadow: 0 0 0 3px rgba(255,90,0,.28);
}

.booking-calendar button:disabled:not(.is-requestable) {
  cursor: default !important;
  pointer-events: none !important;
}

@media (max-width: 680px) {
  .booking-calendar-wrap { padding: 18px 14px; }
  .booking-calendar__weekdays,
  .booking-calendar { gap: 4px; }
  .booking-calendar button,
  .booking-calendar__blank { min-height: 44px; }
}
