.workout-gym-find { display: inline-flex; margin-top: 8px; }
.client-workouts-find-gym { display: block; width: 100%; margin: 18px 0 10px; }
.gym-directory-dialog {
  width: min(680px, calc(100vw - 24px));
  max-height: min(90dvh, 900px);
  padding: 22px;
  overflow: auto;
  color: var(--text-primary, #f5f5f5);
  background: var(--card-bg, #22252a);
  border: 1px solid var(--border-color, #53565b);
  border-radius: 20px;
}
.gym-directory-dialog::backdrop { background: rgb(0 0 0 / 74%); }
.gym-directory-dialog[hidden], .gym-directory-detail[hidden] { display: none; }
.gym-directory-header, .gym-directory-actions, .gym-directory-place {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
}
.gym-directory-header h2 { margin: 0; }
.gym-directory-actions { align-items: center; flex-wrap: wrap; margin: 18px 0; }
.gym-directory-results { display: grid; gap: 10px; margin: 14px 0 20px; }
.gym-directory-place, .gym-directory-review, .gym-directory-detail, .gym-directory-add {
  padding: 14px; border: 1px solid var(--border-color, #53565b); border-radius: 12px;
}
.gym-directory-place small { display: block; margin-top: 4px; }
.gym-directory-place a { display: inline-block; margin-top: 8px; }
.gym-directory-review { margin-top: 10px; }
.gym-directory-review span { color: #ffd400; }
.gym-directory-review p { white-space: pre-wrap; overflow-wrap: anywhere; }
.gym-directory-review-photos { display: flex; flex-wrap: wrap; gap: 8px; }
.gym-directory-review-photos img { width: 110px; height: 110px; object-fit: cover; border-radius: 8px; }
.gym-directory-detail form, .gym-directory-add form { display: grid; gap: 12px; margin-top: 14px; }
.gym-directory-detail label, .gym-directory-add label { display: grid; gap: 5px; }
.gym-directory-detail textarea { min-height: 100px; resize: vertical; }
.gym-directory-detail input, .gym-directory-detail select, .gym-directory-detail textarea,
.gym-directory-add input, .gym-directory-add select { width: 100%; }
.gym-directory-add { margin: 16px 0; }
.gym-directory-dialog > small { display: block; line-height: 1.5; }
@media (max-width: 520px) {
  .gym-directory-dialog { padding: 16px; }
  .gym-directory-place { display: block; }
}
