/* Therapists list + profile template. Only what Bootstrap and site.css lack. */
.pro-photo { aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1); }
.pro-name { font-size: 26px; line-height: 1.1; }
.pro-avatar { width: 72px; height: 72px; border-radius: 999px; object-fit: cover; filter: grayscale(1); flex-shrink: 0; }
.ph-portrait { aspect-ratio: 4 / 5; }
.chip-static { cursor: default; }
.pull-quote { line-height: 1.35; }
.stars { color: var(--star); letter-spacing: 3px; }
.pro-hero-name { font-size: clamp(56px, 7vw, 96px); line-height: 1; }

/* Profile: open times (assets/js/therapist-times.js). Day buttons reuse .day-btn from site.css. */
.pt-card { border-color: rgba(11,10,8,.13); }
.pt-rule { border-color: rgba(11,10,8,.1) !important; }
.pt-days { scrollbar-width: none; }
.pt-days::-webkit-scrollbar { display: none; }
.pt-day { flex: none; }
.pt-wk-break { flex: none; width: 1px; margin: 6px 4px; background: rgba(11,10,8,.16); }
.pt-group { padding-top: 20px; }
.pt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)); gap: 8px; }
.pt-time { font-family: inherit; text-align: left; cursor: pointer; display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(11,10,8,.14); background: #fff; color: var(--ink); }
.pt-time:hover, .pt-time:focus-visible { border-color: var(--ink); }
.pt-clock { font-family: var(--serif); font-size: 22px; line-height: 1; white-space: nowrap; }
.pt-clock small { font-size: 13px; opacity: .55; }
.pt-lens { font-size: 12px; opacity: .6; white-space: nowrap; }
.pt-empty { margin-top: 24px; padding: 28px 20px; border-radius: 18px; border: 1px dashed rgba(11,10,8,.28); text-align: center; }
@media (max-width: 575.98px) {
  .pt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pt-time { padding: 10px; }
  .pt-clock { font-size: 18px; }
  .pt-clock small { font-size: 12px; }
}
