/* Listing previews replace the directory's large decorative cards. */
.directory-compact .club-inventory-card { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 14px; padding: 14px; min-height: 0; }
.club-preview-image { position: relative; display: block; align-self: start; width: 100%; min-width: 0; min-height: 0; aspect-ratio: 1 / 1; background: #e8eddf; overflow: hidden; }
.club-preview-image > img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.club-preview-image > span { position: absolute; left: 5px; bottom: 5px; padding: 2px 5px; background: #173647ed; color: #fffefa; font-size: 9px; line-height: 1.5; }
.club-preview-empty { height: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 8px; gap: 10px; }
.club-preview-empty .lifestyle-icon { width: 56px; height: 46px; }
.club-preview-empty small { font-size: 10px; text-align: center; line-height: 1.4; color: #5d7057; }
.club-inventory-copy { display: flex; flex-direction: column; min-width: 0; }
.club-inventory-location { color: var(--body); font-size: 11px; line-height: 1.5; }
.directory-compact .club-inventory-card h3 { font-size: 20px; line-height: 1.2; margin: 4px 0 7px; }
.club-inventory-card h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.club-inventory-counts { font-size: 12px; font-weight: 600; line-height: 1.5; color: #365a48; }
.club-featured-property { color: var(--body); font-size: 11px; line-height: 1.5; margin-top: 7px; }
.club-featured-property > span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.club-featured-property > strong { display: block; font-size: 12px; color: #234d40; }
.club-inventory-stale { font-size: 10px; line-height: 1.5; color: #84632e; margin-top: 4px; }
.club-inventory-actions { display: flex; flex-wrap: wrap; gap: 0 12px; margin-top: auto; padding-top: 7px; }
.club-inventory-actions a { display: inline-flex; align-items: center; min-height: 40px; line-height: 1.5; }
.club-inventory-primary { font-size: 12px; font-weight: 600; gap: 8px; }
.club-portal-link { color: var(--body); font-size: 11px; }
.club-inventory-actions a:hover { text-decoration: underline; text-underline-offset: 3px; }
#property-error { padding: 10px 14px; font-size: 12px; line-height: 1.6; }

/* Community pages reuse the real inventory without the home-page pitch. */
.community-page-header, .property-tabs .community-all-tab { display: none; }
body[data-community] .community-page-header { display: block; padding-block: 8px 20px; border-bottom: 1px solid var(--line); }
body[data-community] .hero,
body[data-community] .network-strip,
body[data-community] .club-spotlight,
body[data-community] #explore,
body[data-community] #model,
body[data-community] #connect,
body[data-community] #properties > .section-heading,
body[data-community] #list-property,
body[data-community] .community-location-filter,
body[data-community] #property-active-club { display: none !important; }
body[data-community] .site-header { padding-block: 18px; }
.community-back { display: inline-flex; align-items: center; min-height: 40px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.community-page-heading { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: 6px; }
.community-page-heading > div:first-child { min-width: 0; }
.community-page-heading .eyebrow { color: #6a795e; font-size: 10px; }
#community-page-title { font: 34px/1.15 var(--serif); letter-spacing: -.025em; margin: 7px 0 8px; }
#community-page-counts { font-size: 13px; color: var(--body); line-height: 1.6; }
.community-page-links { display: flex; gap: 10px 16px; flex-wrap: wrap; justify-content: flex-end; flex: 0 1 330px; }
.community-page-links > a { display: inline-flex; align-items: center; min-height: 44px; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.community-page-links > a:last-child { padding: 10px 14px; border: 1px solid #a3b094; text-decoration: none; }
body[data-community] .properties-section { padding-block: 15px 30px; border-bottom: 0; }
body[data-community] .property-source { margin-top: 0; padding-block: 8px; font-size: 10px; }
body[data-community] .property-tabs { margin-block: 16px 12px; }
body[data-community] .property-tabs .community-all-tab { display: inline-flex; }
body[data-community] .property-filters { padding: 12px; gap: 8px; }
body[data-community] .property-results-line { margin-block: 18px 14px; }
body[data-community] .property-map-return { font-size: 11px; }
body[data-community] .site-footer { margin-top: 8px; }

@media (max-width: 1100px) {
  .directory-compact .club-inventory-card { grid-template-columns: 80px minmax(0,1fr); gap: 12px; padding: 12px; }
  .directory-compact .club-inventory-card h3 { font-size: 19px; }
  .community-page-links { flex-basis: 250px; }
  #community-page-title { font-size: 31px; }
}
@media (max-width: 750px) {
  .community-page-heading { display: block; }
  .community-page-links { justify-content: flex-start; margin-top: 10px; gap: 8px 17px; }
  body[data-community] .community-page-header { padding-bottom: 15px; }
  #community-page-title { font-size: 29px; }
  body[data-community] .property-browse-top { flex-wrap: wrap; gap: 0; }
  body[data-community] .property-map-return { margin-bottom: 12px; }
  body[data-community] .property-tabs { width: 100%; gap: 7px; }
}
@media (max-width: 500px) {
  .directory-compact .club-inventory-card { grid-template-columns: 88px minmax(0,1fr); padding: 13px; gap: 13px; }
  .directory-compact .club-inventory-card h3 { font-size: 20px; }
  .club-inventory-actions { gap: 0 11px; }
  .club-inventory-actions a { min-height: 44px; }
  body[data-community] .property-tabs button { padding: 9px; font-size: 10px; gap: 5px; }
  body[data-community] .property-tabs button span { font-size: 10px; }
  body[data-community] .property-tabs button.community-all-tab { flex-basis: 100%; justify-content: center; }
  body[data-community] .property-filters > label:nth-child(3) { grid-column: 1/-1; }
  .community-page-links > a { font-size: 12px; }
}
