/* Time Slot Selection - Card Layout */
:root {
  --archeus-primary-color: #54b335;
  --archeus-primary-hover: #629e40;
  --archeus-secondary-color: #edfbe2;
}

.time-slots-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

/* Ensure 3-per-row inside booking flow regardless of other admin styles */
.booking-flow-container .time-slots-container {
  grid-template-columns: repeat(3, 1fr) !important;
}

.time-slot-card {
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  padding: 20px; /* Matched to service-card */
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
}

.time-slot-card:hover {
  border-color: var(--archeus-primary-color); /* Primary color */
  transform: translateY(-3px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.07);
}

.time-slot-card.selected {
  border-color: #54b335; /* Use primary color to match service selection */
  box-shadow: 0 0 0 3px #edfbe2; /* Use primary color shadow */
  transform: translateY(-3px);
  background-color: #edfbe2;
}

.time-slot-card h5 {
  margin: 0;
  font-size: 1.1em;
  color: #1f2937;
}

.visually-hidden {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* Placeholder Message */
.time-slots-container p {
  grid-column: 1 / -1; /* Span all columns */
  text-align: center;
  color: #6b7280;
  font-style: italic;
}

/* Responsive */
@media (max-width: 992px) {
  .time-slots-container {
    grid-template-columns: repeat(2, 1fr);
  }
  .booking-flow-container .time-slots-container {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 576px) {
  .time-slots-container {
    grid-template-columns: 1fr;
  }
  .booking-flow-container .time-slots-container {
    grid-template-columns: 1fr !important;
  }
}

/* Elementor-specific fixes to ensure color consistency */
.elementor-editor-active .time-slot-card.selected,
.elementor-editor-preview .time-slot-card.selected,
.elementor .time-slot-card.selected {
  border-color: #54b335 !important;
  box-shadow: 0 0 0 3px #edfbe2 !important;
  background-color: #edfbe2 !important;
}
