/* Temizlet custom picker viewport containment.
   Keeps calendar/time actions visible at browser 100% zoom and short desktop viewports. */

.booking-picker-panel {
  height: min(720px, calc(100vh - 32px)) !important;
  height: min(720px, calc(100dvh - 32px)) !important;
  max-height: calc(100vh - 32px) !important;
  max-height: calc(100dvh - 32px) !important;
}

.booking-picker-shell {
  height: 100% !important;
  max-height: none !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.booking-picker-header,
.booking-calendar-toolbar,
.booking-calendar-weekdays,
.booking-picker-footer,
.booking-time-selected {
  flex: 0 0 auto !important;
}

.booking-calendar-grid {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  grid-template-rows: repeat(6, minmax(0, 1fr)) !important;
  align-content: stretch !important;
  overflow: hidden !important;
}

.booking-calendar-day {
  aspect-ratio: auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
}

.booking-picker-footer {
  position: relative !important;
  z-index: 3 !important;
  margin-top: 0 !important;
}

.booking-time-columns {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.booking-time-columns section {
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.booking-time-list {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overscroll-behavior: contain;
}

@media (min-width: 769px) and (max-height: 820px) {
  .booking-picker-root {
    padding: 12px !important;
  }

  .booking-picker-panel {
    height: calc(100vh - 24px) !important;
    height: calc(100dvh - 24px) !important;
    max-height: calc(100vh - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
  }

  .booking-picker-header {
    padding: 16px 18px 12px !important;
  }

  .booking-picker-header h3 {
    font-size: 19px !important;
  }

  .booking-picker-header p {
    margin-top: 4px !important;
    font-size: 11px !important;
  }

  .booking-picker-close {
    width: 34px !important;
    height: 34px !important;
  }

  .booking-calendar-toolbar {
    padding: 10px 18px 7px !important;
  }

  .booking-calendar-nav {
    width: 34px !important;
    height: 34px !important;
  }

  .booking-calendar-weekdays {
    padding: 4px 18px 5px !important;
  }

  .booking-calendar-grid {
    gap: 4px !important;
    padding: 0 18px 10px !important;
  }

  .booking-calendar-day {
    border-radius: 10px !important;
    font-size: 12px !important;
  }

  .booking-picker-footer {
    padding: 10px 18px 12px !important;
  }

  .booking-picker-secondary,
  .booking-picker-primary {
    min-height: 36px !important;
    padding: 8px 12px !important;
  }

  .booking-time-selected {
    margin: 12px 18px 10px !important;
    padding: 13px 15px !important;
  }

  .booking-time-selected strong {
    font-size: 28px !important;
  }

  .booking-time-columns {
    padding: 0 18px 10px !important;
  }
}

@media (min-width: 769px) and (max-height: 680px) {
  .booking-picker-header {
    padding: 12px 16px 9px !important;
  }

  .booking-picker-header p {
    display: none !important;
  }

  .booking-picker-eyebrow {
    margin-bottom: 3px !important;
  }

  .booking-calendar-toolbar {
    padding: 7px 16px 4px !important;
  }

  .booking-calendar-weekdays {
    padding: 2px 16px 4px !important;
  }

  .booking-calendar-grid {
    gap: 3px !important;
    padding: 0 16px 7px !important;
  }

  .booking-picker-footer {
    padding: 8px 16px 9px !important;
  }

  .booking-time-selected {
    margin: 9px 16px 7px !important;
    padding: 10px 13px !important;
  }

  .booking-time-columns {
    padding: 0 16px 7px !important;
  }
}

@media (max-width: 768px) {
  .booking-picker-panel {
    height: min(86vh, 720px) !important;
    height: min(86dvh, 720px) !important;
    max-height: 86vh !important;
    max-height: 86dvh !important;
  }

  .booking-calendar-grid {
    overflow: hidden !important;
  }
}
