/* Canonical discovery result-card contract, taken from Stays.
   Places and Networks share these measurements while retaining their own data. */
:root {
  --discovery-result-list-height: 280px;
  --discovery-result-map-height: 292px;
  --discovery-result-mobile-map-height: 240px;
  --discovery-result-radius: 16px;
}

/* List results */
.results-list .listing-card.hotel-result-card,
#networks-results-list .network-provider-card {
  min-height: var(--discovery-result-list-height) !important;
  height: var(--discovery-result-list-height) !important;
  border-radius: var(--discovery-result-radius) !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
}

.results-list .listing-card.hotel-result-card {
  grid-template-columns: 220px minmax(0, 1fr) !important;
}

#networks-results-list .network-provider-card {
  grid-template-columns: 220px minmax(0, 1fr) 116px !important;
}

.results-list .listing-card.hotel-result-card .hotel-card-title,
#networks-results-list .network-provider-card .network-provider-card__title {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.results-list .listing-card.hotel-result-card .hotel-card-location,
#networks-results-list .network-provider-card .network-provider-card__location {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* Map results */
.template-results .template-results-list .listing-card.hotel-result-card,
.nwmap-result-list .network-map-provider-card {
  min-height: var(--discovery-result-map-height) !important;
  height: var(--discovery-result-map-height) !important;
  border-radius: var(--discovery-result-radius) !important;
  font-family: "DM Sans", system-ui, sans-serif !important;
}

.template-results .template-results-list .listing-card.hotel-result-card {
  grid-template-columns: 176px minmax(0, 1fr) !important;
}

.nwmap-result-list .network-map-provider-card {
  grid-template-columns: 176px minmax(0, 1fr) 82px !important;
}

.template-results .template-results-list .listing-card.hotel-result-card .hotel-card-title,
.nwmap-result-list .network-map-provider-card .network-provider-card__title {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
}

.template-results .template-results-list .listing-card.hotel-result-card .hotel-card-location,
.nwmap-result-list .network-map-provider-card .network-provider-card__location {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

@media (max-width: 900px) {
  .results-list .listing-card.hotel-result-card {
    grid-template-columns: 204px minmax(0, 1fr) !important;
  }

  #networks-results-list .network-provider-card {
    grid-template-columns: 154px minmax(0, 1fr) 84px !important;
  }

  .results-list .listing-card.hotel-result-card .hotel-card-title,
  #networks-results-list .network-provider-card .network-provider-card__title {
    font-size: 18px !important;
    font-weight: 700 !important;
  }
}

@media (max-width: 820px) {
  .template-results .template-results-list .listing-card.hotel-result-card,
  .nwmap-result-list .network-map-provider-card {
    min-height: var(--discovery-result-mobile-map-height) !important;
    height: var(--discovery-result-mobile-map-height) !important;
  }

  .template-results .template-results-list .listing-card.hotel-result-card {
    grid-template-columns: 176px minmax(0, 1fr) !important;
  }

  .nwmap-result-list .network-map-provider-card {
    grid-template-columns: 176px minmax(0, 1fr) 78px !important;
  }
}

@media (max-width: 640px) {
  .results-list .listing-card.hotel-result-card,
  #networks-results-list .network-provider-card {
    height: var(--discovery-result-list-height) !important;
    min-height: var(--discovery-result-list-height) !important;
  }

  .results-list .listing-card.hotel-result-card {
    grid-template-columns: 112px minmax(0, 1fr) !important;
  }

  #networks-results-list .network-provider-card {
    grid-template-columns: 112px minmax(0, 1fr) 78px !important;
  }

  .template-results .template-results-list .listing-card.hotel-result-card {
    grid-template-columns: 112px minmax(0, 1fr) !important;
  }

  .nwmap-result-list .network-map-provider-card {
    grid-template-columns: 112px minmax(0, 1fr) 78px !important;
  }

  .template-results .template-results-list .listing-card.hotel-result-card .hotel-card-title,
  .nwmap-result-list .network-map-provider-card .network-provider-card__title {
    font-size: 18px !important;
    font-weight: 700 !important;
  }
}
