/* Small layer over Bootstrap: bigger touch targets, softer cards */
:root {
  --bs-primary: #5b7553;
}

.card.item-card {
  transition: transform .12s ease, box-shadow .12s ease;
  border: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
.card.item-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
}
.item-card .card-img-top {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #eee;
}
.item-card a { text-decoration: none; color: inherit; }

.status-badge { font-size: .75rem; }

.claim-btn { min-height: 3rem; font-size: 1.05rem; }

.carousel-photo {
  max-height: 65vh;
  object-fit: contain;
  background: #111;
}

.filter-bar .form-select, .filter-bar .form-control { min-height: 2.75rem; }

@media (pointer: coarse) {
  .nav-link, .btn { min-height: 2.75rem; display: inline-flex; align-items: center; }
}
