/* LQ-04 — catálogo e singles. Reutiliza tokens/componentes do design system. */
.ro-catalog__header { max-width: 760px; }
.ro-catalog__header .ro-heading-section { margin: var(--ro-space-3) 0 var(--ro-space-5); }
.ro-catalog__collection { margin-top: var(--ro-space-9); }
.ro-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(40px,5vw,80px) var(--ro-gutter); }
.ro-catalog-grid .ro-development-card__title { max-width: none; }
.ro-catalog-empty { max-width: 640px; margin-top: var(--ro-space-8); padding-top: var(--ro-space-6); border-top: 1px solid var(--ro-color-line); color: var(--ro-color-taupe); }


.ro-single-hero__copy { max-width: 860px; margin-bottom: var(--ro-space-8); }
.ro-single-title { max-width: 18ch; margin: var(--ro-space-3) 0 var(--ro-space-5); font-family: var(--ro-font-display); font-size: clamp(2.7rem, 6.2vw, 6.5rem); font-weight: 400; letter-spacing: -.035em; line-height: .96; }
.ro-single-location, .ro-single-address { margin: 0; color: var(--ro-color-taupe); }
.ro-single-address { margin-top: var(--ro-space-2); }
.ro-single-price { margin: var(--ro-space-5) 0 0; font-family: var(--ro-font-display); font-size: clamp(1.5rem, 2.4vw, 2.4rem); line-height: 1.1; }
.ro-single-hero .ro-cta { margin-top: var(--ro-space-6); }

.ro-single-gallery { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--ro-gutter); }
.ro-single-gallery__item { grid-column: span 4; position: relative; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; background: var(--ro-color-stone); }
.ro-single-gallery__item--feature { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
.ro-single-gallery__item img { width: 100%; height: 100%; object-fit: cover; }

.ro-single-details__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--ro-section-space-compact); align-items: start; }
.ro-single-facts { display: grid; gap: var(--ro-space-5); margin: 0; }
.ro-single-facts__item { padding-bottom: var(--ro-space-4); border-bottom: 1px solid var(--ro-color-line); }
.ro-single-facts dt { color: var(--ro-color-taupe); font-size: var(--ro-text-xs); font-weight: 650; letter-spacing: .09em; text-transform: uppercase; }
.ro-single-facts dd { margin: var(--ro-space-2) 0 0; font-family: var(--ro-font-display); font-size: clamp(1.25rem, 2vw, 1.8rem); line-height: 1.15; }
.ro-single-copy { max-width: var(--ro-max-reading); font-size: clamp(1rem, 1.3vw, 1.12rem); }
.ro-single-copy > :first-child { margin-top: 0; }
.ro-single-copy > :last-child { margin-bottom: 0; }
.ro-single-related { margin: var(--ro-space-7) 0 0; }
.ro-single-related span { display: block; color: var(--ro-color-taupe); font-size: var(--ro-text-xs); letter-spacing: .08em; text-transform: uppercase; }
.ro-single-related a { display: inline-block; margin-top: var(--ro-space-2); font-family: var(--ro-font-display); font-size: 1.35rem; }
.ro-single-children__collection { margin-top: var(--ro-space-8); }

@media (max-width: 1100px) {
  .ro-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ro-single-details__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr); gap: var(--ro-space-8); }
  .ro-single-gallery__item { grid-column: span 6; }
}

@media (max-width: 640px) {
  .ro-catalog-grid { grid-template-columns:1fr; gap:var(--ro-space-8); }
  .ro-catalog__collection { margin-top: var(--ro-space-8); }
  .ro-single-title { max-width: none; font-size: clamp(2.45rem, 12vw, 4rem); }
  .ro-single-details__grid { grid-template-columns: 1fr; gap: var(--ro-space-8); }
  .ro-single-gallery { grid-template-columns: 1fr; gap: var(--ro-space-3); }
  .ro-single-gallery__item, .ro-single-gallery__item--feature { grid-column: 1; aspect-ratio: 4 / 3; }
  .ro-single-gallery__item--feature { aspect-ratio: 4 / 5; }
}
