/* Location guide extends the shared character-guide layout. */
.locations-page .cast-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.locations-page .cast-card > div { min-height: 166px; }
.location-jump { font-size: 16px; color: var(--pink); text-decoration: underline; text-underline-offset: 5px; }
.locations-page .cast-summary > .profile-sources { font-size: 11px; line-height: 1.9; color: var(--muted); }
.region-table-wrap { overflow-x: auto; border: 1px solid #c9c3cb; background: #fff; }
.region-table { width: 100%; min-width: 710px; border-collapse: collapse; text-align: left; font-size: 18px; line-height: 1.8; }
.region-table caption { text-align: left; padding: 18px 22px; font-weight: 700; }
.region-table th, .region-table td { padding: 17px 22px; border-top: 1px solid #ded9df; vertical-align: top; }
.region-table thead th { font-size: 16px; color: #625d68; background: #f5f3f6; }
.region-table tbody th { width: 25%; font-weight: 600; }
.region-table a { color: #6c527c; text-decoration: underline; text-underline-offset: 4px; }
.locations-page .source-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.location-detail-photo { margin-top: 32px; }
.locations-page .dossier-heading h2 { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .locations-page .cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .locations-page .cast-grid, .locations-page .source-grid { grid-template-columns: 1fr; }
  .locations-page .cast-card > div { min-height: 0; }
  .location-jump { font-size: 14px; }
  .region-table { font-size: 16px; min-width: 650px; }
  .region-table th, .region-table td { padding: 14px 16px; }
  .region-table thead th { font-size: 14px; }
}
