/* Home page listings section. Card styles come from listings.css. */
.home-listings { padding: clamp(32px, 5vh, 48px) var(--pad) clamp(24px, 4vh, 40px); }
.home-listings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 28px 24px; }
.home-listings-grid .listing-card.is-sliding { transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1); }
.home-listings-more { margin-top: 28px; }
.home-listings-all { font: inherit; color: var(--ink); background: none; border: 0; border-bottom: 1px solid var(--hairline); padding: 0 0 2px; cursor: pointer; }
.home-listings-all:hover { border-color: var(--ink); }
.home-listings-empty { max-width: 60ch; color: var(--ink-soft); }

.hero-link { color: rgba(251, 248, 242, 0.88); text-decoration: none; border-bottom: 1px solid rgba(251, 248, 242, 0.5); padding-bottom: 2px; font-size: 15px; }
.hero-link:hover { color: #fff; border-color: #fff; }

@media (min-width: 761px) {
  .home-listings-grid { position: relative; overflow-x: clip; }
  .home-listings-grid:not(.is-open) .listing-card:nth-child(n + 7) { display: none; }
  .home-listings-grid:not(.is-open) .listing-card.is-arriving { display: flex; position: absolute; }
}
@media (max-width: 1000px) {
  .home-listings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .home-listings-grid { display: flex; overflow-x: auto; gap: 16px; padding-block: 8px 12px; scroll-snap-type: x mandatory; }
  .home-listings-grid .listing-card { flex: 0 0 78%; scroll-snap-align: start; }
  .home-listings-more { display: none; }
}
@media (max-width: 640px) {
  .home-listings { padding-top: 44px; }
}
