/* ==========================================================================
   Cards & Listings — Ultra Modern Dark
   ========================================================================== */

/* Base Card Style */
.card,
.listing-card,
.review-card,
.community-card,
.rws-post-item,
.rws-panel .panel,
.rws-client-location {
  background: var(--surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-soft) !important;
  transition: var(--transition) !important;
  overflow: hidden;
}

/* Hover Lift Effect */
.card:hover,
.listing-card:hover,
.review-card:hover,
.community-card:hover,
.rws-post-item:hover,
.rws-panel .panel:hover,
.rws-client-location:hover {
  transform: translateY(-4px) !important;
  border-color: var(--border-strong) !important;
  box-shadow: var(--shadow-elevated) !important;
}

/* Card Content / Body */
.card-body,
.listing-card-body,
.rws-post-item .post-item-body,
.rws-panel .panel-body {
  padding: 24px !important;
}

/* Card Titles */
.card-title,
.listing-card-title,
.rws-post-item .post-item-title a,
.rws-panel .panel-heading h4 {
  font-family: var(--font-display) !important;
  color: var(--text-primary) !important;
  font-size: 22px !important;
  margin-bottom: 12px !important;
  line-height: 1.3 !important;
  transition: var(--transition);
}

.rws-post-item .post-item-title a:hover,
.rws-panel .panel-heading h4 a:hover {
  color: var(--accent-red) !important;
}

/* Card Text / Meta */
.card-text,
.listing-card-meta,
.rws-post-item .post-item-meta,
.rws-post-item p {
  color: var(--text-muted) !important;
  font-family: var(--font-body);
  font-size: 15px !important;
}

/* Image Masks */
.card-img-top,
.listing-card-img,
.rws-post-item .post-item-img img {
  border-top-left-radius: var(--radius-md) !important;
  border-top-right-radius: var(--radius-md) !important;
  width: 100%;
  height: auto;
  object-fit: cover;
}
