/**
 * Shared hub card grammar — Shop / Roles / Services / Business.
 * Soft-aligns existing card families without rewriting markup.
 */
:root {
  --um-card-radius: 14px;
  --um-card-border: 1px solid rgba(44, 62, 80, 0.1);
  --um-card-shadow: 0 1px 2px rgba(16, 22, 30, 0.04);
  --um-card-shadow-hover: 0 4px 14px rgba(44, 62, 80, 0.08);
  --um-card-title-size: 0.95rem;
  --um-card-meta-size: 0.8rem;
}

/* Commerce product cards */
.cv-card-minimal.product-card,
.um-hub-body .product-card {
  border-radius: var(--um-card-radius);
  border: var(--um-card-border);
  box-shadow: var(--um-card-shadow);
  overflow: hidden;
  background: #fff;
}

.cv-card-minimal .product-title,
.um-hub-body .product-title {
  font-size: var(--um-card-title-size);
  font-weight: 600;
  line-height: 1.3;
  color: var(--unimart-slate, #2c3e50);
}

.cv-card-minimal .product-card__seller,
.um-hub-body .product-card__seller {
  font-size: var(--um-card-meta-size);
}

/* Services */
.sd-card {
  border-radius: var(--um-card-radius) !important;
  border: var(--um-card-border) !important;
  box-shadow: var(--um-card-shadow) !important;
  overflow: hidden;
  background: #fff;
}

.sd-card:hover {
  box-shadow: var(--um-card-shadow-hover) !important;
  border-color: rgba(246, 139, 30, 0.35) !important;
}

.sd-card__title {
  font-size: var(--um-card-title-size) !important;
  font-weight: 600 !important;
  color: var(--unimart-slate, #2c3e50) !important;
}

.sd-card__provider,
.sd-card__meta {
  font-size: var(--um-card-meta-size) !important;
}

.sd-provider-card {
  border-radius: var(--um-card-radius);
  border: var(--um-card-border);
  box-shadow: var(--um-card-shadow);
  background: #fff;
}

/* Roles / opportunities */
.opp-moment {
  border-radius: var(--um-card-radius);
  overflow: hidden;
  box-shadow: var(--um-card-shadow);
}

.opp-moment__title {
  font-size: var(--um-card-title-size);
  font-weight: 600;
}

.opp-moment__org,
.opp-moment__why,
.opp-moment__deadline {
  font-size: var(--um-card-meta-size);
}

/* Business moments — keep rich media, align chrome */
.biz-moment {
  border-radius: var(--um-card-radius);
  border: var(--um-card-border);
  box-shadow: var(--um-card-shadow);
  overflow: hidden;
  background: #fff;
}

.biz-moment__id strong {
  font-size: var(--um-card-title-size);
  font-weight: 700;
  color: var(--unimart-slate, #2c3e50);
}

.biz-moment__id span {
  font-size: var(--um-card-meta-size);
}
