/* Calendar slot status styles */

/* Blocked slots - grayed out with diagonal stripes */
.slot-details.slot-blocked {
  background: repeating-linear-gradient(
    45deg,
    #f0f0f0,
    #f0f0f0 8px,
    #e0e0e0 8px,
    #e0e0e0 16px
  ) !important;
  color: #999 !important;
  opacity: 0.6;
  cursor: not-allowed !important;
  pointer-events: none;
}

.slot-details.slot-blocked:hover {
  background: repeating-linear-gradient(
    45deg,
    #f0f0f0,
    #f0f0f0 8px,
    #e0e0e0 8px,
    #e0e0e0 16px
  ) !important;
  transform: none !important;
}

/* Full slots (0 places) - red background */
.slot-details.slot-full {
  background-color: #ff4444 !important;
  color: white !important;
  cursor: not-allowed !important;
  pointer-events: none;
}

.slot-details.slot-full:hover {
  background-color: #ff4444 !important;
  transform: none !important;
}

/* Low availability slots (< 10%) - yellow background */
.slot-details.slot-low {
  background-color: #ffeb3b !important;
  color: #333 !important;
}

.slot-details.slot-low:hover {
  background-color: #ffc107 !important;
}

/* Ensure blocked and full slots don't show hover effects */
.slot-details.slot-blocked,
.slot-details.slot-full {
  transition: none !important;
}

/* Make sure the hour and slots text is visible */
.slot-details.slot-blocked .hour,
.slot-details.slot-blocked .slots {
  color: #999 !important;
}

.slot-details.slot-full .hour,
.slot-details.slot-full .slots {
  color: white !important;
}

.slot-details.slot-low .hour,
.slot-details.slot-low .slots {
  color: #333 !important;
}

/* Info icon styling */
.slot-info-icon {
  position: absolute;
  top: 5px;
  right: 5px;
  font-size: 14px;
  font-style: normal;
  color: #666;
  opacity: 0.7;
  transition: opacity 0.2s;
}

.slot-details {
  position: relative;
}

.slot-details:hover .slot-info-icon {
  opacity: 1;
}

.slot-details.slot-blocked .slot-info-icon {
  color: #666;
}

.slot-details.slot-full .slot-info-icon {
  color: rgba(255, 255, 255, 0.8);
}

/* Tooltip styling */
.calendar-tooltip {
  position: absolute;
  background: #333;
  color: white;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.4;
  max-width: 250px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10000;
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.2s, transform 0.2s;
  pointer-events: none;
}

.calendar-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}

.calendar-tooltip.visible {
  opacity: 1;
  transform: translateY(0);
}

.calendar-tooltip strong {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
}