/* FullCalendar dark theme overrides — scoped to .fc-dark-wrapper */

.fc-dark-wrapper {
  /* Calendar container */
  background-color: #1f2937; /* gray-800 */
  border-radius: 0.75rem;
  overflow: hidden;
}

/* ---- Toolbar ---- */
.fc-dark-wrapper .fc-toolbar {
  padding: 0.75rem 1rem;
  background-color: #111827; /* gray-900 */
  border-bottom: 1px solid #374151; /* gray-700 */
  flex-wrap: wrap;
  gap: 0.5rem;
}

.fc-dark-wrapper .fc-toolbar-title {
  color: #f9fafb; /* gray-50 */
  font-size: 1rem;
  font-weight: 600;
}

/* ---- Toolbar buttons ---- */
.fc-dark-wrapper .fc-button {
  background-color: #374151 !important; /* gray-700 */
  border-color: #4b5563 !important; /* gray-600 */
  color: #d1d5db !important; /* gray-300 */
  font-size: 0.75rem !important;
  font-weight: 500 !important;
  padding: 0.375rem 0.625rem !important;
  border-radius: 0.5rem !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.fc-dark-wrapper .fc-button:hover {
  background-color: #4b5563 !important; /* gray-600 */
  color: #ffffff !important;
}

.fc-dark-wrapper .fc-button:focus {
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(253, 95, 0, 0.4) !important;
}

.fc-dark-wrapper .fc-button-active,
.fc-dark-wrapper .fc-button:not(:disabled).fc-button-active {
  background-color: #FD5F00 !important;
  border-color: #FD5F00 !important;
  color: #ffffff !important;
}

/* ---- Column headers (day names) ---- */
.fc-dark-wrapper .fc-col-header {
  background-color: #111827; /* gray-900 */
}

.fc-dark-wrapper .fc-col-header-cell {
  border-color: #374151 !important; /* gray-700 */
  padding: 0.5rem 0;
}

.fc-dark-wrapper .fc-col-header-cell-cushion {
  color: #9ca3af; /* gray-400 */
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.fc-dark-wrapper .fc-col-header-cell-cushion:hover {
  color: #f9fafb;
}

/* ---- Grid / time slots ---- */
.fc-dark-wrapper .fc-timegrid-slot,
.fc-dark-wrapper .fc-timegrid-slot-lane {
  border-color: #374151 !important; /* gray-700 */
}

.fc-dark-wrapper .fc-timegrid-slot-label {
  color: #6b7280; /* gray-500 */
  font-size: 0.7rem;
}

.fc-dark-wrapper .fc-timegrid-slot-label-cushion {
  color: #6b7280;
}

.fc-dark-wrapper .fc-scrollgrid {
  border-color: #374151 !important;
}

.fc-dark-wrapper .fc-scrollgrid-section > td,
.fc-dark-wrapper .fc-scrollgrid td,
.fc-dark-wrapper .fc-scrollgrid th {
  border-color: #374151 !important;
}

/* Daygrid cells */
.fc-dark-wrapper .fc-daygrid-day {
  background-color: #1f2937;
  border-color: #374151 !important;
}

.fc-dark-wrapper .fc-daygrid-day-number {
  color: #9ca3af;
  font-size: 0.75rem;
  text-decoration: none !important;
}

.fc-dark-wrapper .fc-daygrid-day-number:hover {
  color: #f9fafb;
}

/* ---- Today highlight ---- */
.fc-dark-wrapper .fc-day-today {
  background-color: rgba(253, 95, 0, 0.06) !important;
}

.fc-dark-wrapper .fc-timegrid-col.fc-day-today {
  background-color: rgba(253, 95, 0, 0.06) !important;
}

/* ---- Non-business hours ---- */
.fc-dark-wrapper .fc-non-business {
  background-color: rgba(0, 0, 0, 0.25) !important;
}

/* ---- Now indicator ---- */
.fc-dark-wrapper .fc-timegrid-now-indicator-line {
  border-color: #ef4444 !important; /* red-500 */
  border-width: 2px !important;
}

.fc-dark-wrapper .fc-timegrid-now-indicator-arrow {
  border-top-color: #ef4444 !important;
  border-bottom-color: #ef4444 !important;
}

/* ---- Events ---- */
.fc-dark-wrapper .fc-event {
  border-radius: 4px !important;
  border-width: 0 0 0 3px !important;
  border-style: solid !important;
  padding: 2px 4px !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

.fc-dark-wrapper .fc-event:hover {
  filter: brightness(1.1);
}

.fc-dark-wrapper .fc-event-title {
  font-size: 0.7rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ffffff;
}

.fc-dark-wrapper .fc-event-time {
  font-size: 0.65rem;
  color: rgba(255, 255, 255, 0.75);
}

/* Dragging ghost */
.fc-dark-wrapper .fc-event-dragging {
  opacity: 0.75;
}

/* ---- Daygrid more link ---- */
.fc-dark-wrapper .fc-daygrid-more-link {
  color: #9ca3af;
  font-size: 0.7rem;
}

.fc-dark-wrapper .fc-daygrid-more-link:hover {
  color: #FD5F00;
}

/* ---- Popover (more events) ---- */
.fc-dark-wrapper .fc-popover {
  background-color: #1f2937 !important;
  border: 1px solid #374151 !important;
  border-radius: 0.5rem !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5) !important;
}

.fc-dark-wrapper .fc-popover-header {
  background-color: #111827 !important;
  color: #f9fafb !important;
  font-size: 0.75rem !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 0.5rem 0.5rem 0 0 !important;
}

.fc-dark-wrapper .fc-popover-close {
  color: #9ca3af !important;
}

/* ---- Empty slot hover — indicates clickability ---- */
.fc-dark-wrapper .fc-timegrid-slot-lane:hover {
  background-color: rgba(253, 95, 0, 0.08) !important;
  cursor: pointer !important;
}

.fc-dark-wrapper .fc-daygrid-day-frame:hover {
  background-color: rgba(253, 95, 0, 0.06) !important;
  cursor: pointer !important;
}

/* Selection mirror (drag-to-select range highlight) */
.fc-dark-wrapper .fc-highlight {
  background-color: rgba(253, 95, 0, 0.15) !important;
  border: 1px dashed rgba(253, 95, 0, 0.5) !important;
  border-radius: 4px !important;
}

/* ---- Scrollbar styling ---- */
.fc-dark-wrapper .fc-scroller::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.fc-dark-wrapper .fc-scroller::-webkit-scrollbar-track {
  background: #111827;
}

.fc-dark-wrapper .fc-scroller::-webkit-scrollbar-thumb {
  background-color: #4b5563;
  border-radius: 2px;
}

.fc-dark-wrapper .fc-scroller::-webkit-scrollbar-thumb:hover {
  background-color: #6b7280;
}
