/* Единый визуальный контракт листингов портала:
   media → title → key meta (цена/суть) → location/trust (muted) */

.home-ad-card,
.ad-card,
.org-card,
.dating-card {
  border-radius: var(--home-radius-sm, 12px);
  border: 1px solid var(--home-border, #e2e6ea);
  background: var(--home-surface, #ffffff);
  box-shadow: var(--home-shadow-sm, 0 1px 2px 0 rgba(33, 37, 41, 0.04));
  transition:
    transform var(--motion-base, 200ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    box-shadow var(--motion-base, 200ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)),
    border-color var(--motion-base, 200ms) var(--ease-out, ease);
}

.home-ad-card:hover,
.ad-card:hover,
.org-card:hover,
.dating-card:hover {
  border-color: var(--home-primary-soft, #d4dde6);
  box-shadow: var(--home-shadow, 0 4px 20px -2px rgba(33, 37, 41, 0.06));
  transform: translateY(-3px);
}

.home-ad-card:active,
.ad-card:active,
.org-card:active,
.dating-card:active {
  transform: translateY(-1px);
  box-shadow: var(--home-shadow-sm, 0 1px 2px 0 rgba(33, 37, 41, 0.04));
}

.home-ad-card__title,
.ad-card__title,
.org-card__title,
.dating-card__title {
  color: var(--home-text, #212529);
  font-weight: 500;
}

.home-ad-card__price,
.ad-card__price {
  color: var(--home-text, #212529);
  font-weight: 600;
}

.home-ad-card__price-note,
.home-ad-card__location,
.ad-card__price-note,
.ad-card__location,
.ad-card__meta,
.ad-card__author-name,
.ad-card__time,
.ad-card__rating,
.org-card__desc,
.org-card__meta,
.dating-card__meta {
  color: var(--home-text-muted, #8a949b) !important;
}

.org-card__cat,
.dating-card__category {
  color: var(--home-text-secondary, #5f6b75);
}

/* Появление карточек */
@keyframes listing-card-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

.home-ad-card,
.ad-card,
.org-card,
.dating-card {
  animation: listing-card-in var(--motion-enter, 300ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

@media (prefers-reduced-motion: reduce) {
  .home-ad-card,
  .ad-card,
  .org-card,
  .dating-card {
    animation: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
  }

  .home-ad-card:hover,
  .ad-card:hover,
  .org-card:hover,
  .dating-card:hover,
  .home-ad-card:active,
  .ad-card:active,
  .org-card:active,
  .dating-card:active {
    transform: none;
  }
}
