/* Project details share one data source; these rules only adapt presentation. */
.single-project #main-content,
.single-project #main-content .container,
.single-project .detail-layout,
.single-project .detail-layout > *,
.single-project .detail-section,
.single-project .archive-heading {
  min-width: 0;
}

.single-project #main-content .container {
  width: min(calc(100% - (2 * var(--gutter))), var(--container));
  max-width: var(--container);
  margin-inline: auto;
}

.single-project .breadcrumbs,
.single-project .breadcrumbs ol,
.single-project .archive-heading,
.single-project .archive-heading h1 {
  max-width: 100%;
  min-width: 0;
}

.single-project .breadcrumbs li { min-width: 0; overflow-wrap: anywhere; }
.single-project .archive-heading h1 { overflow-wrap: anywhere; }

.single-project .project-gallery--responsive {
  display: grid;
  grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(160px, 1fr));
  gap: 12px;
  margin-block: 24px 32px;
}

.single-project .project-gallery--responsive > a {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 4 / 3;
  background: var(--gray-100, #edf0ed);
}

.single-project .project-gallery--responsive > a:first-child {
  grid-row: span 2;
  aspect-ratio: auto;
}

.single-project .project-gallery--responsive > a:nth-child(n+6) {
  display: none;
}

.single-project .project-gallery--responsive img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: 0;
}

.single-project .gallery-more {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  background: #0b26208c;
  color: #fff;
  text-align: center;
  font: 500 15px/1.6 Alexandria, Tahoma, sans-serif;
}

.single-project .gallery-more--mobile { display: none; }
.single-project .gallery-more--desktop { display: flex; }
.single-project .project-gallery--single { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
.single-project .project-gallery--single > a:first-child { grid-row: auto; aspect-ratio: 16 / 7; }

.single-project .fact-grid > div,
.single-project .content-card,
.single-project .amenities li,
.single-project .entry-content,
.single-project .detail-section p,
.single-project .detail-section li {
  overflow-wrap: anywhere;
}

.single-project .detail-layout > div { min-width: 0; max-width: 100%; }
.single-project .table-scroll { min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.single-project .data-table { min-width: 480px; }
.single-project .featured-units-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.single-project .featured-units-grid > * { min-width: 0; }
.single-project .mobile-price { display: none; }
.single-project .developer-cta-mobile { display: none; }
.single-project .developer-cta-desktop { display: block; padding-top: 18px; border-top: 1px solid var(--line); }
.single-project .developer-cta-desktop h2 { margin: 0 0 12px; font-size: 17px; }
.single-project .developer-cta-desktop .developer-header { gap: 12px; align-items: center; }
.single-project .developer-cta-desktop .developer-header img { width: 52px; height: 52px; flex: 0 0 52px; }
.single-project .developer-cta-desktop .developer-header h3 { margin: 0 0 4px; font-size: 15px; line-height: 1.5; }
.single-project .developer-cta-desktop .developer-header a { font-size: 13px; }

@media (max-width: 1024px) {
  .single-project .detail-layout { grid-template-columns: minmax(0, 1fr) 280px; gap: 24px; }
}

@media (max-width: 820px) {
  .single-project .detail-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .single-project .price-panel { position: static; }
}

@media (max-width: 767px) {
  .single-project .developer-cta-mobile { display: block; }
  .single-project .developer-cta-desktop { display: none; }
  .single-project #main-content { overflow-x: clip; }
  .single-project .detail-layout,
  .single-project .detail-layout > div,
  .single-project .archive-heading { width: 100%; max-width: 100%; }
  .single-project .archive-heading h1 { font-size: 27px; line-height: 1.5; }
  .single-project .archive-heading .button { max-width: 100%; }
  .single-project .project-gallery--responsive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    gap: 8px;
    margin-block: 16px 22px;
  }

  .single-project .project-gallery--responsive > a:first-child {
    grid-column: 1 / -1;
    grid-row: auto;
    aspect-ratio: 16 / 10;
  }

  .single-project .project-gallery--responsive > a:not(:first-child) { aspect-ratio: 1 / 1; }
  .single-project .project-gallery--responsive > a:nth-child(n+4) { display: none; }
  .single-project .gallery-more--desktop { display: none; }
  .single-project .gallery-more--mobile { display: flex; }
  .single-project .project-gallery--single > a:first-child { aspect-ratio: 16 / 10; }
  .single-project .featured-units-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .single-project .featured-units-grid .content-card { padding: 18px; }
  .single-project .fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 16px; gap: 16px 12px; }
  .single-project .detail-section h2 { font-size: 22px; }
  .single-project .mobile-price { display: flex; padding-bottom: calc(10px + env(safe-area-inset-bottom)); }
  .single-project .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
  .single-project .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
  .single-project .site-footer__brand { grid-column: 1 / -1; }
  .single-project .site-footer__bottom { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

@media (max-width: 360px) {
  .single-project .fact-grid { grid-template-columns: 1fr; }
  .single-project .project-gallery--responsive { gap: 6px; }
}
