/* SydneyLove restore-good-layout guardrails
   Add after the main CSS if the latest update broke card/listing layouts. */

.guide-grid,
.card-grid,
.location-grid,
.restaurant-grid,
.map-grid,
.destination-grid,
.australia-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: clamp(18px, 2.5vw, 28px);
  align-items: stretch;
}

.guide-card,
.location-card,
.restaurant-card,
.map-card,
.destination-card,
.australia-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 22px;
}

.guide-card img,
.location-card img,
.restaurant-card img,
.map-card img,
.destination-card img,
.australia-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.card-actions,
.map-actions,
.restaurant-actions,
.destination-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.card-actions a,
.map-actions a,
.restaurant-actions a,
.destination-actions a,
a.map-button,
.button.map-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  white-space: nowrap;
  max-width: 100%;
  text-decoration: none;
}

.rich-guide-section {
  max-width: 920px;
  margin: clamp(42px, 7vw, 86px) auto 0;
  padding: 0 clamp(18px, 3vw, 32px);
}

.rich-guide-section h2 {
  margin-top: 2.1em;
}

.rich-guide-section p {
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.75;
}

@media (max-width: 760px) {
  .guide-grid,
  .card-grid,
  .location-grid,
  .restaurant-grid,
  .map-grid,
  .destination-grid,
  .australia-grid {
    grid-template-columns: 1fr;
  }

  .card-actions,
  .map-actions,
  .restaurant-actions,
  .destination-actions {
    flex-direction: column;
  }

  .card-actions a,
  .map-actions a,
  .restaurant-actions a,
  .destination-actions a,
  a.map-button,
  .button.map-button {
    width: 100%;
  }
}