/* Task 06 shared content families. Activated only by explicit content-* classes. */
.content-directory-row { min-height: 64px; gap: 12px; padding: 12px 16px; border: 1px solid var(--ui-divider, #dce3e5); border-radius: 8px; box-shadow: none; }
.content-directory-row:hover { transform: none; box-shadow: none; border-color: var(--ui-control, #7b8a91); }
.content-directory-row .standard-avatar { width: 40px; height: 40px; margin-right: 0; border-radius: 8px; }
.content-directory-row__content { min-width: 0; }
.content-directory-row__name { margin: 0; line-height: 24px; overflow-wrap: anywhere; }
.content-directory-row__meta { color: var(--ui-muted, #596875); font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
.content-store-card { min-width: 0; border: 1px solid var(--ui-divider, #dce3e5); border-radius: 8px; box-shadow: none; }
.content-store-card:hover { transform: none; box-shadow: none; }
.content-store-card .card-img-wrapper { aspect-ratio: 16 / 9; padding: 16px; }
.content-store-card__body { text-align: left; }
.content-store-card__body h3 { white-space: normal; overflow: visible; text-overflow: clip; line-height: 26px; overflow-wrap: anywhere; }
.content-meta { color: var(--ui-muted, #596875); font-size: 13px; line-height: 20px; }
.content-rating { color: var(--ui-gold-text, #805600); font-variant-numeric: tabular-nums; }
.content-profile-card { min-width: 0; border: 1px solid var(--ui-divider, #dce3e5); border-radius: 8px; box-shadow: none; }
.content-profile-card:hover { transform: none; box-shadow: none; }
.content-profile-card__media { aspect-ratio: 4 / 5; }
.content-profile-card__media .media-frame__image { object-fit: contain; object-position: center; }
.content-profile-card__body { padding: 16px; text-align: left; }
.content-profile-card .masseur-name { margin: 0; font-size: 16px; line-height: 24px; overflow-wrap: anywhere; }
.content-profile-card .store-location { align-items: flex-start; margin: 4px 0 12px; font-size: 13px; line-height: 20px; overflow-wrap: anywhere; }
.content-profile-card .card-vitals { padding-top: 12px; }
.content-review-card { min-width: 0; align-self: start; border: 1px solid var(--ui-divider, #dce3e5); border-radius: 8px; box-shadow: none; }
.content-review-card:hover { transform: none; box-shadow: none; border-color: var(--ui-divider, #dce3e5); }
.content-review-card .review-content p { color: var(--ui-text, #202c36); font-size: 16px; line-height: 28px; overflow-wrap: anywhere; }
.content-review-card--collapsible:not(.is-expanded) .review-content p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 8; }
.content-review-card__attachments { display: flex; flex-wrap: wrap; gap: 8px; overflow: visible; }
.content-review-card__attachment-count { flex-basis: 100%; margin: 0; color: var(--ui-muted, #596875); font-size: 13px; }
.content-review-card__attachments a { display: block; }
.content-review-card__attachments img { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; transition: none; }
.content-review-card.is-expanded .content-review-card__attachments img { width: auto; max-width: 100%; height: auto; }
.content-review-card__toggle { align-self: flex-start; margin-top: 16px; }
.content-offer-card { min-width: 0; border: 1px solid var(--ui-divider, #dce3e5); border-radius: 8px; box-shadow: none; }
.content-offer-card:hover { transform: none; box-shadow: none; }
.content-offer-card__topline { align-items: flex-start; gap: 8px 16px; }
.content-offer-card .country-badge { border-radius: 4px; }
.content-offer-card__benefit { color: var(--ui-gold-text, #805600); font-size: 24px; line-height: 32px; overflow-wrap: anywhere; }
.content-offer-card .store-name { margin: 0 0 12px; font-size: 18px; line-height: 26px; overflow-wrap: anywhere; }
.content-offer-card__conditions, .content-offer-card__contact { overflow-wrap: anywhere; }
.content-offer-card__conditions > span, .content-offer-card__contact > span { min-width: 0; }
.content-offer-card .card-footer { margin-top: 16px; border-top-style: solid; }
@media (max-width: 639px) {
    .content-store-card__body, .content-profile-card__body, .content-review-card, .content-offer-card { padding: 12px; }
    .content-review-card--collapsible:not(.is-expanded) .review-content p { -webkit-line-clamp: 6; }
    .content-offer-card__topline { flex-direction: column; }
    .content-offer-card__benefit { font-size: 22px; line-height: 30px; }
    .content-offer-card .ui-button { width: 100%; }
}