/* Booking page: slot grid only. Everything else comes from site.css. */
.mono-accent { font-family: var(--font-mono); color: var(--accent-2); }

.slot-day { margin-bottom: var(--s-5); }
.slot-day__head {
  display: flex; align-items: baseline; gap: 10px;
  font-family: var(--font-display); font-size: 1rem; font-weight: 600;
  padding-bottom: var(--s-2); margin-bottom: var(--s-3);
  border-bottom: 1px solid var(--hairline);
}
.slot-day__count { font-family: var(--font-mono); font-size: 0.74rem; color: var(--ink-faint); }

.slot-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(158px, 1fr)); gap: var(--s-3); }

.slot {
  display: flex; flex-direction: column; align-items: flex-start; gap: 3px;
  background: var(--surface-1); border: 1px solid var(--hairline-2); border-radius: var(--r-sm);
  color: var(--ink); font: inherit; text-align: left; padding: 11px 14px; cursor: pointer;
  transition: border-color 0.2s var(--ease), background 0.2s var(--ease), transform 0.2s var(--ease);
}
.slot:hover { border-color: var(--accent); background: var(--surface-2); transform: translateY(-2px); }
.slot:focus-visible { outline: 2px solid var(--accent-ring); outline-offset: 2px; }
.slot__time { font-family: var(--font-mono); font-size: 0.94rem; font-weight: 500; }
.slot__ct { font-size: 0.74rem; color: var(--ink-faint); }

.book-actions { display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap; margin-top: var(--s-5); }

@media (max-width: 520px) {
  .slot-grid { grid-template-columns: repeat(auto-fill, minmax(136px, 1fr)); }
}
