/* ==========================================================================
   schedule.css — styles used only on the Schedule page (enqueued via is_page('schedule'))
   Note: body font, .material-symbols-outlined, and .grain-texture are already
   defined globally in custom.css — not repeated here.
   ========================================================================== */

/* Custom scrollbar for the horizontally-scrolling desktop schedule grid */
.schedule-grid::-webkit-scrollbar {
    height: 6px;
}
.schedule-grid::-webkit-scrollbar-track {
    background: #f2ede8;
}
.schedule-grid::-webkit-scrollbar-thumb {
    background: #d6c4b0;
    border-radius: 3px;
}

/* Filter pill row scrolls horizontally on mobile without a visible scrollbar */
.filter-scroll::-webkit-scrollbar { display: none; }
.filter-scroll { -ms-overflow-style: none; scrollbar-width: none; }

/* Individual class session cards — clickable to open WhatsApp booking */
.session-card {
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.session-card:hover,
.session-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(29, 27, 25, 0.12);
}
.session-card:focus-visible {
    outline: 2px solid #43270a;
    outline-offset: 2px;
}

/* Private Consultation slots — also clickable */
.private-row {
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.private-row:hover,
.private-row:focus-visible {
    background-color: #f2ede8;
}

@media (prefers-reduced-motion: reduce) {
    .session-card,
    .private-row {
        transition: none;
    }
}
.schedule-booking-notice {
  margin: -12px 0 28px;
  padding: 14px 18px;
  border: 1px solid #d7b98f;
  border-radius: 16px;
  background: #fff7ea;
  color: #5c3d1e;
  text-align: center;
  font-weight: 700;
}

.session-card--disabled {
  cursor: not-allowed;
  opacity: 0.45;
  filter: grayscale(0.65);
  pointer-events: none;
  box-shadow: none;
  transform: none;
}
