/* ==========================================================================
   Properties (listings, rentals, single property, projects): additions to the design stylesheet
   ========================================================================== */

/* Cards without a photo (import still running / none available) */
.photo-card__img--empty {
  background:
    radial-gradient(120% 90% at 20% 10%, rgba(230,128,31,.18), transparent 60%),
    linear-gradient(160deg, #3a3a38, #1c1c1b);
}
.card__media-empty { display: block; width: 100%; aspect-ratio: 3 / 2; background: linear-gradient(160deg, #ECE8E0, #DAD5CA); }
.card__media { overflow: hidden; }

/* SOLD / RESERVED badges */
.badge-sale.badge-sold { background: var(--ink); color: #fff; }
.badge-sale.badge-reserved { background: var(--blush); color: var(--terra); }
.badge-status--sold { background: var(--ink); color: #fff; }
.badge-status--reserved { background: var(--blush); color: var(--terra); }

/* Pagination: current page as link, gaps, disabled "next" */
.pagination .pagination__gap { color: var(--muted); padding: 0 2px; }
.pagination a[disabled] { opacity: .35; pointer-events: none; }
@media (max-width: 599px) {
  .pagination { flex-wrap: wrap; }
}

/* Price note next to the price (e.g. "per plot") */
.detail-price__note { display: block; font-size: 14px; font-weight: 400; color: var(--gray); margin-top: 2px; }

/* Desktop gallery grid when there are fewer than five photos */
.gallery-grid--n1 { grid-template-columns: 1fr; grid-template-rows: 412px; }
.gallery-grid--n2 { grid-template-columns: 1fr 1fr; grid-template-rows: 412px; }
.gallery-grid--n2 button:first-child { grid-row: auto; }
.gallery-grid--n3 { grid-template-columns: 2fr 1fr; }
.gallery-grid--n4 { grid-template-columns: 1fr 1fr 1fr; }
.gallery-grid--n4 button:nth-child(4) { grid-row: 1 / 3; grid-column: 3; }
.gallery-grid img { display: block; }
.gallery-empty {
  display: grid; place-items: center; height: 280px; border-radius: var(--radius-card);
  background: linear-gradient(160deg, #ECE8E0, #DAD5CA); color: var(--muted); font-size: 15px;
}
@media (max-width: 719px) {
  .gallery-empty { order: 1; height: 220px; margin-inline: calc(var(--gutter) * -1); border-radius: 0; }
}

/* Projects: gallery photos are lightbox-only entries (main.js walks all non-hidden .project) */
.project--extra { display: none !important; }
.project { scroll-margin-top: 110px; }

/* Property map: placeholder until the visitor asks for the third-party embed (main.js) */
.map-card--click::before { content: none; }
.map-card--click { background: repeating-linear-gradient(45deg, #EEF0EA 0 14px, #E7EAE2 14px 28px); }
.map-card__consent { display: grid; justify-items: center; gap: 10px; max-width: 34ch; padding: 20px; text-align: center; }
.map-card__consent .btn { position: static; }
.map-card__consent p { margin: 0; font-size: 13px; line-height: 1.45; color: var(--gray); }
.map-card__consent a { color: inherit; text-decoration: underline; }
