/* Isolated typography review: card text only. Existing card geometry is retained. */
:is(.ohb-event-card, .open-house-card, .team-available-open-card, .team-hosting-activity-row),
.team-open-houses-grid > article,
.team-calendar-selected-events > a,
.team-calendar-event-list > a {
  --ohb-card-address-size: 15px;
  --ohb-card-location-size: 11px;
  --ohb-card-meta-size: 10px;
  --ohb-card-detail-size: 11px;
  --ohb-card-price-size: 14px;
}

.ohb-event-card .ohb-event-copy,
.open-house-card .open-house-card-body > div:first-child,
.open-house-card .open-house-meta,
.open-house-card .team-open-house-agent,
.open-house-card .open-house-image > span,
.team-open-houses-grid > article > a > div,
.team-calendar-selected-events > a > span,
.team-calendar-event-list > a > strong,
.team-available-open-card .team-available-open-identity,
.team-available-open-card .team-available-open-hosting,
.team-hosting-activity-row .team-hosting-activity-date,
.team-hosting-activity-row .team-hosting-agent {
  font-family: 'OHB Card Inter', Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Property addresses use the same hierarchy in photo cards and calendar results. */
.ohb-event-card .ohb-event-copy .ohb-event-address,
.open-house-card .open-house-card-body > div h3,
.team-admin-app .team-open-houses-grid article h2,
:is(.ohb-calendar.ohb-calendar, .team-admin-app) .team-calendar-selected-events > a > span > strong,
.team-admin-app .team-calendar-event-list > a > strong,
.team-admin-app .team-available-open-card .team-available-open-identity h3 {
  font-size: var(--ohb-card-address-size);
  font-weight: 550;
  line-height: 1.25;
  letter-spacing: -.02em;
}

.ohb-event-card .ohb-event-location > p,
.open-house-card:not(.listing-card) .open-house-card-body > div:first-child > p,
.team-admin-app .team-open-houses-grid article > a > div > p,
.team-admin-app .team-available-open-card .team-available-open-location {
  font-size: var(--ohb-card-location-size);
  font-weight: 400;
}

/* Schedule text and role labels stay regular; only the person's name is medium. */
.ohb-event-card .ohb-event-copy .ohb-event-person,
.ohb-event-card .ohb-event-copy .ohb-event-meta,
.ohb-event-card .ohb-event-copy .ohb-event-checkins,
.open-house-card .open-house-card-body .open-house-meta,
.open-house-card .open-house-meta > span,
.open-house-card .open-house-card-body .team-open-house-agent,
.open-house-card .listing-card-heading .team-listing-owner,
.team-admin-app .team-open-houses-grid .team-open-houses-meta,
.team-admin-app .team-open-houses-grid article footer,
.team-admin-app .team-open-houses-grid .team-open-houses-checkins,
.ohb-calendar.ohb-calendar .team-calendar-selected-events > a .team-calendar-event-copy > span.team-calendar-event-meta,
.team-admin-app .team-calendar-selected-events > a small,
.team-admin-app .team-available-open-card .team-available-open-availability > div > span:first-child,
.team-admin-app .team-available-open-card .team-available-open-availability p,
.team-admin-app .team-available-open-card .team-available-open-agent,
.team-admin-app .team-hosting-activity-row .team-hosting-activity-date time,
.team-admin-app .team-hosting-activity-row .team-hosting-activity-date small {
  font-size: var(--ohb-card-meta-size);
  font-weight: 400;
}

.ohb-event-card .ohb-event-person .ohb-card-person-name,
.open-house-card .open-house-card-body .team-open-house-agent strong,
.open-house-card .listing-card-heading .team-listing-owner strong,
.team-admin-app .team-open-houses-grid article footer strong,
.team-calendar-selected-events > a .ohb-card-person-name,
.team-admin-app .team-available-open-card .ohb-card-person-name,
.team-admin-app .team-hosting-activity-row .team-hosting-agent > span {
  font-size: var(--ohb-card-meta-size);
  font-weight: 550;
}

.team-calendar-selected-events > a .ohb-card-person {
  font-style: normal;
}

/* Listing prices remain secondary to the address. */
.open-house-card.listing-card .listing-card-heading > strong,
.open-house-card.listing-card .listing-price-line > strong,
.team-admin-app .team-available-open-card .team-available-open-price {
  font-size: var(--ohb-card-price-size);
  font-weight: 500;
}

.open-house-card.listing-card .listing-card-heading > p,
.open-house-card.listing-card .open-house-image > span,
.team-admin-app .team-available-open-card .team-available-open-facts,
.team-admin-app .team-available-open-card .team-available-open-approval {
  font-size: var(--ohb-card-detail-size);
  font-weight: 400;
}

.open-house-card:not(.listing-card) .open-house-image > span {
  font-size: var(--ohb-card-meta-size);
  font-weight: 400;
}

@media (max-width: 760px) {
  :is(.ohb-event-card, .open-house-card, .team-available-open-card, .team-hosting-activity-row),
  .team-open-houses-grid > article,
  .team-calendar-selected-events > a,
  .team-calendar-event-list > a {
    --ohb-card-address-size: 16px;
    --ohb-card-location-size: 12px;
    --ohb-card-meta-size: 12px;
    --ohb-card-detail-size: 12px;
    --ohb-card-price-size: 15px;
  }
}
