/* Catálogo público: organiza propiedades actuales y futuras sin alterar la marca. */
@media (min-width: 881px) {
  .catalog-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(360px, auto);
    align-content: center;
    align-items: stretch;
    gap: clamp(1rem, 1.5vw, 1.5rem);
    padding: clamp(2rem, 4vh, 3rem) clamp(2rem, 3.5vw, 4rem);
    overflow-x: hidden;
    overflow-y: auto;
  }

  .property-tile,
  .property-tile.offset {
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 360px;
    margin-top: 0;
    display: flex;
    flex-direction: column;
  }

  .tile-image {
    height: auto;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto;
    background-position: center;
  }

  .tile-copy {
    height: auto;
    min-height: 132px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    padding: 1rem 1.1rem 1.1rem;
  }

  .tile-copy h2 {
    margin-bottom: .7rem;
    font-size: clamp(1.25rem, 1.6vw, 1.55rem);
    line-height: 1.02;
  }

  .tile-copy div {
    margin-top: auto;
    align-items: baseline;
  }

  .tile-copy strong {
    white-space: nowrap;
    font-size: .72rem;
  }
}

@media (min-width: 881px) and (max-width: 1180px) {
  .catalog-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: minmax(340px, auto);
  }

  .property-tile,
  .property-tile.offset {
    min-height: 340px;
  }
}

@media (max-width: 880px) {
  .catalog-cards {
    scroll-snap-type: x proximity;
  }

  .property-tile {
    scroll-snap-align: start;
  }
}
