/* Location index pages (card 72). Loaded after toilet-page.css, which supplies
   the panel, crumbs, chips, nearby list and install panel. */

.place-photos {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
  gap: 0.5rem;
  margin: 1rem 0;
}
.place-photos img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 8px;
}

.place-list { list-style: none; padding: 0; margin: 0.5rem 0 0; }
.place-item { padding: 0.75rem 0; border-top: 1px solid var(--color-border, #e5e0d8); }
.place-item h3 { font-size: 1.0625rem; margin: 0 0 0.125rem; }
.place-item h3 a { color: var(--color-primary-deep); }
.place-address,
.place-facts { margin: 0; font-size: 0.9375rem; color: var(--color-text-muted); }
.place-item .chips { margin-top: 0.375rem; }

.place-top { padding-left: 1.25rem; margin: 0.25rem 0 1rem; }
.place-top li { padding: 0.125rem 0; }

.place-jump { display: flex; flex-wrap: wrap; gap: 0.25rem; margin: 0.5rem 0 1rem; }
.place-jump a {
  min-width: 2.75rem;
  padding: 0.625rem 0.5rem;
  text-align: center;
  color: var(--color-primary-deep);
  border: 1px solid var(--color-border, #e5e0d8);
  border-radius: 8px;
}

.place-towns,
.place-states { list-style: none; padding: 0; margin: 0.25rem 0 1rem; }
.place-towns { columns: 2; }
@media (min-width: 768px) { .place-towns { columns: 3; } }
.place-towns li,
.place-states li { padding: 0.375rem 0; break-inside: avoid; }
.place-top a,
.place-towns a,
.place-states a { color: var(--color-primary-deep); }
.place-top span,
.place-towns span,
.place-states span { color: var(--color-text-muted); font-size: 0.85rem; }
