/* All-photos page extras */

.m-hero--compact { padding: 1.8rem 1rem 1.2rem; }

.ap-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: .5rem 1rem 3rem;
}

.ap-filters {
  margin-bottom: 1.2rem;
  background: rgba(20, 32, 26, 0.55);
  border: 1px solid rgba(140, 200, 170, 0.15);
  border-radius: 14px;
  padding: .85rem 1rem;
}
.ap-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin: .3rem 0;
}
.ap-filter-label {
  font-size: .82rem;
  color: #9eb09e;
  margin-right: .3rem;
  min-width: 56px;
}
.ap-chip {
  padding: .35rem .8rem;
  font: inherit;
  font-size: .82rem;
  background: rgba(8, 16, 12, 0.55);
  color: #c4cfba;
  border: 1px solid rgba(140, 200, 170, 0.2);
  border-radius: 999px;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
}
.ap-chip:hover { color: #f4eedd; border-color: #6ab896; }
.ap-chip--on {
  background: #6ab896;
  color: #0a1812;
  border-color: #6ab896;
  font-weight: 600;
}

.ap-grid {
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
}

.ap-no-gps {
  position: absolute;
  bottom: .35rem; left: .4rem;
  background: rgba(180, 70, 70, 0.85);
  color: #fff;
  font-size: .68rem;
  padding: .12rem .42rem;
  border-radius: 4px;
  pointer-events: none;
}

.ap-empty {
  text-align: center;
  padding: 2.5rem 1rem;
  color: #889a89;
  font-style: italic;
}
