/* =========================================
   FullCalendar Tailwind – Mobile Friendly
   ========================================= */

/* Toolbar */
.fc .fc-toolbar {
  @apply flex flex-wrap items-center justify-between px-3 py-2 bg-white border-b border-gray-200;
}

/* Title */
.fc .fc-toolbar-title {
  @apply text-base sm:text-lg font-semibold text-gray-800 tracking-tight text-center;
}

/* Buttons */
.fc .fc-button {
  @apply bg-gray-600 text-white border border-gray-800 font-medium rounded px-3 py-1 text-sm shadow-sm;
  @apply transition-colors duration-150;
  -webkit-tap-highlight-color: transparent;
  box-shadow: none !important;
  outline: none !important;
}

.fc .fc-button:hover {
  @apply bg-gray-700;
}

.fc .fc-button:active,
.fc .fc-button-active {
  @apply bg-gray-800 text-white border-gray-900;
}

.fc .fc-button:focus {
  @apply outline-none ring-2 ring-gray-400 ring-offset-1;
}

/* Grouped buttons */
.fc .fc-button-group .fc-button {
  @apply rounded-none first:rounded-l-md last:rounded-r-md;
}

/* Grid text */
.fc {
  @apply text-sm sm:text-base text-gray-700;
}

.fc .fc-col-header-cell {
  @apply bg-gray-50 text-gray-600 font-medium text-xs sm:text-sm;
}

/* Today's background */
.fc-day-today {
  background-color: rgb(224 242 254 / 1) !important; /* sky-100 */
}

/* Events */
.fc .fc-event {
  border-left-width: 5px !important;
  border-top-width: 0 !important;
  border-right-width: 0 !important;
  border-bottom-width: 0 !important;
  border-radius: 0.5rem !important;
  @apply overflow-hidden shadow-sm;
}

.fc .fc-event-main {
  @apply pl-2 text-xs sm:text-sm font-medium;
}

/* Confirmed / Unconfirmed colors */
.fc-event.confirmed {
  background-color: #7dd3fc !important; /* sky-300 */
  border-left-color: #0284c7 !important; /* sky-600 */
  color: #0c4a6e !important; /* sky-900 */
}

.fc-event.unconfirmed {
  background-color: #fef08a !important; /* yellow-200 */
  border-left-color: #ca8a04 !important; /* yellow-600 */
  color: #713f12 !important; /* yellow-900 */
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .fc .fc-toolbar {
    flex-direction: column;
    gap: 0.5rem;
  }

  .fc .fc-toolbar-title {
    font-size: 0.9rem;
    order: -1;
  }

  .fc .fc-button {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
  }

  .fc-event {
    font-size: 0.7rem !important;
    padding: 1px 3px !important;
  }

  .fc-timegrid-slot {
    height: 2rem !important;
  }

  .fc-scrollgrid {
    border: none !important;
  }
}
/* Prevent iOS from interpreting vertical swipes as view changes */
.fc-scroller,
.fc-timegrid-body,
.fc-timegrid-container {
  touch-action: pan-y !important;  /* vertical scroll only */
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch !important;
}
