/*
 * WDO Imóveis — Detalhe do imóvel / Linha editorial de galeria
 *
 * Composition only. Shared tokens, lightbox, accessibility and Motion Foundation
 * stay in the canonical theme assets. Every selector is scoped to the stable
 * singular-property namespace.
 */

.wdo-page--imovel {
  --imovel-gutter: max(24px, calc((100vw - 1180px) / 2));
  --imovel-rule: rgba(1, 37, 60, 0.2);
  --imovel-rule-light: rgba(255, 255, 255, 0.3);
  --imovel-enter: cubic-bezier(.25, .46, .45, .94);
  background: var(--wdo-white);
  color: var(--wdo-ink);
}

.wdo-page--imovel button,
.wdo-page--imovel a {
  touch-action: manipulation;
}

.wdo-page--imovel button:focus-visible,
.wdo-page--imovel a:focus-visible {
  outline: 3px solid var(--wdo-burnt-terracotta);
  outline-offset: 3px;
}

@keyframes wdo-imovel-stage-copy-enter {
  from {
    opacity: .9;
    transform: translate3d(-18px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes wdo-imovel-stage-media-enter {
  from {
    opacity: .94;
    transform: scale(1.018);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* First viewport: property identity and gallery form one editorial stage. */
.wdo-page--imovel .property-detail-stage {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-block-size: 100svh;
  overflow: hidden;
  background: var(--wdo-petrol-blue);
  color: #fff;
}

.wdo-page--imovel .property-detail-stage__copy {
  position: relative;
  z-index: 2;
  display: grid;
  grid-area: 1 / 1;
  align-self: end;
  justify-self: start;
  inline-size: min(calc(100% - var(--imovel-gutter) - var(--imovel-gutter)), 620px);
  min-inline-size: 0;
  margin-block-end: clamp(24px, 4vw, 56px);
  margin-inline-start: var(--imovel-gutter);
  padding: clamp(28px, 3.2vw, 48px);
  background: rgba(1, 37, 60, .94);
}

.wdo-page--imovel .property-detail-stage__copy::after {
  position: absolute;
  inset: auto 0 0;
  block-size: 6px;
  background: var(--wdo-burnt-terracotta);
  content: '';
  pointer-events: none;
}

.wdo-page--imovel .property-detail-stage__copy-inner {
  max-inline-size: 100%;
  animation: wdo-imovel-stage-copy-enter 980ms var(--imovel-enter) both;
}

.wdo-page--imovel .property-detail-stage__eyebrow,
.wdo-page--imovel .property-detail-cta__eyebrow,
.wdo-page--imovel .property-detail-facts__eyebrow {
  margin: 0 0 clamp(20px, 2.4vw, 32px);
  font-family: var(--font-heading);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.wdo-page--imovel .property-detail-stage__eyebrow {
  margin-block-end: 12px;
  color: #fff;
}

.wdo-page--imovel .property-detail-stage__title {
  max-inline-size: 16ch;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading);
  font-size: var(--type-heading-1);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.wdo-page--imovel .property-detail-stage__location {
  max-inline-size: 38ch;
  margin: 16px 0 0;
  color: rgba(255, 255, 255, .9);
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.5;
}

.wdo-page--imovel .property-detail-stage__decision {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px 20px;
  margin-block-start: 20px;
  padding-block-start: 16px;
  border-block-start: 1px solid var(--imovel-rule-light);
}

.wdo-page--imovel .property-detail-stage__status {
  display: inline-flex;
  align-items: center;
  min-block-size: 32px;
  border: 1px solid rgba(255, 255, 255, .62);
  border-radius: 4px;
  padding: 5px 9px;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wdo-page--imovel .property-detail-stage__price {
  color: #fff;
  font-family: var(--font-heading);
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1;
}

.wdo-page--imovel .property-detail-stage__cta {
  min-block-size: 52px;
  margin-block-start: 20px;
  border-radius: 4px;
}

/* Gallery is the page signature and the only complex interaction. */
.wdo-page--imovel .property-detail-gallery {
  position: relative;
  display: grid;
  grid-area: 1 / 1;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  min-block-size: 100svh;
  margin: 0;
  overflow: hidden;
  background: #d9d4d2;
  animation: wdo-imovel-stage-media-enter 1100ms var(--imovel-enter) both;
}

.wdo-page--imovel .property-detail-gallery__item {
  position: relative;
  display: block;
  min-inline-size: 0;
  min-block-size: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--wdo-stone-linen);
  text-decoration: none;
}

.wdo-page--imovel .property-detail-gallery__item--primary {
  grid-column: 1 / -1;
  grid-row: 1;
}

.wdo-page--imovel .property-detail-gallery > .property-detail-gallery__item--primary {
  grid-column: 1 / -1;
  grid-row: 1;
  align-self: stretch;
  block-size: 100%;
  min-block-size: 100%;
}

.wdo-page--imovel .property-detail-gallery__item--hidden {
  display: none;
}

.wdo-page--imovel .property-detail-gallery__item img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  transform: scale(1.001);
  transition: transform 720ms var(--imovel-enter);
}

.wdo-page--imovel .property-detail-gallery__item:hover img,
.wdo-page--imovel .property-detail-gallery__item:focus-visible img {
  transform: scale(1.035);
}

.wdo-page--imovel .property-detail-gallery__item:focus-visible {
  z-index: 3;
  outline-color: #fff;
  outline-offset: -5px;
}

.wdo-page--imovel .property-detail-gallery__all {
  position: absolute;
  z-index: 4;
  inset-inline-end: clamp(18px, 2.5vw, 34px);
  inset-block-end: clamp(18px, 2.5vw, 34px);
  min-block-size: 48px;
  border: 1px solid rgba(255, 255, 255, .82);
  border-radius: 4px;
  padding: 10px 16px;
  color: #fff;
  background: rgba(1, 37, 60, .88);
  font-family: var(--font-heading);
  font-weight: 700;
  cursor: pointer;
  transition: background-color 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out;
}

.wdo-page--imovel .property-detail-gallery__all:hover,
.wdo-page--imovel .property-detail-gallery__all:focus-visible {
  border-color: #fff;
  background: var(--wdo-burnt-terracotta);
  transform: translateY(-2px);
}

.wdo-page--imovel .property-detail-gallery--empty {
  place-items: center;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  padding: 40px;
  color: var(--wdo-petrol-blue);
  background: var(--wdo-stone-linen);
}

.wdo-page--imovel .property-detail-gallery--empty span {
  border-block: 1px solid rgba(1, 37, 60, .28);
  padding: 18px 0;
  font-family: var(--font-heading);
  font-size: clamp(1.3rem, 2vw, 1.9rem);
  font-weight: 700;
}

/* Editorial description + technical facts. */
.wdo-page--imovel .property-detail-overview {
  display: grid;
  align-items: center;
  min-block-size: 100svh;
  background: var(--wdo-white);
}

.wdo-page--imovel .property-detail-overview__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: clamp(54px, 8vw, 128px);
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
  padding-block: clamp(96px, 12vw, 160px);
}

.wdo-page--imovel .property-detail-overview__copy {
  align-self: center;
  max-inline-size: 720px;
}

.wdo-page--imovel .property-detail-overview__copy .wdo-widget__eyebrow,
.wdo-page--imovel .property-detail-related__header .wdo-widget__eyebrow {
  color: var(--wdo-burnt-terracotta);
}

.wdo-page--imovel .property-detail-overview__title,
.wdo-page--imovel .property-detail-related__title {
  max-inline-size: 16ch;
  margin: 0;
  color: var(--wdo-petrol-blue);
  font-family: var(--font-heading);
  font-size: var(--type-heading-2);
  font-weight: 700;
  line-height: 1.02;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.wdo-page--imovel .property-detail-overview__content {
  max-inline-size: 65ch;
  margin-block-start: clamp(32px, 4vw, 54px);
  color: var(--wdo-ink);
  font-size: clamp(1rem, 1.1vw, 1.12rem);
  line-height: 1.8;
}

.wdo-page--imovel .property-detail-overview__content p,
.wdo-page--imovel .property-detail-overview__content li {
  color: var(--wdo-ink);
}

.wdo-page--imovel .property-detail-overview__content :is(h2, h3, h4) {
  color: var(--wdo-petrol-blue);
}

.wdo-page--imovel .property-detail-facts {
  align-self: center;
  border-block: 1px solid var(--imovel-rule-light);
  padding: clamp(34px, 4.5vw, 56px);
  color: #fff;
  background: var(--wdo-petrol-blue);
}

.wdo-page--imovel .property-detail-facts__eyebrow {
  color: rgba(255, 255, 255, .82);
}

.wdo-page--imovel .property-detail-facts__title {
  margin: 0 0 26px;
  color: #fff;
  font-family: var(--font-heading);
  font-size: var(--type-heading-2);
  font-weight: 700;
  line-height: 1.05;
}

.wdo-page--imovel .property-detail-facts__list {
  margin: 0;
}

.wdo-page--imovel .property-detail-facts__item {
  display: grid;
  grid-template-columns: minmax(110px, .7fr) minmax(0, 1.3fr);
  gap: 18px;
  padding-block: 16px;
  border-block-start: 1px solid rgba(255, 255, 255, .2);
}

.wdo-page--imovel .property-detail-facts__item dt {
  color: rgba(255, 255, 255, .72);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.wdo-page--imovel .property-detail-facts__item dd {
  margin: 0;
  color: #fff;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.wdo-page--imovel .property-detail-facts__programs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-start: 24px;
}

.wdo-page--imovel .property-detail-facts__programs .chip {
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 4px;
  color: #fff;
  background: transparent;
}

.wdo-page--imovel .property-detail-facts__cta {
  inline-size: 100%;
  min-block-size: 50px;
  margin-block-start: 30px;
  border-radius: 4px;
}

/* Related options are quieter so the current property keeps visual authority. */
.wdo-page--imovel .property-detail-related {
  display: grid;
  align-items: center;
  min-block-size: 100svh;
  background: var(--wdo-stone-linen);
}

.wdo-page--imovel .property-detail-related__inner {
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
  padding-block: clamp(92px, 11vw, 148px);
}

.wdo-page--imovel .property-detail-related__header {
  margin-block-end: clamp(42px, 6vw, 78px);
}

.wdo-page--imovel .property-detail-related__results .property-results {
  min-block-size: 0;
  padding: 0;
  background: transparent;
}

.wdo-page--imovel .property-detail-related__results .property-results > .grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 52px);
}

.wdo-page--imovel .property-detail-related__results .property-card--modern {
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  translate: 0 0;
  transition: translate 420ms var(--imovel-enter);
}

.wdo-page--imovel .property-detail-related__results .property-card--modern::after {
  position: absolute;
  inset-inline: 0;
  inset-block-end: -20px;
  block-size: 1px;
  background: var(--imovel-rule);
  content: '';
  transform: scaleX(.24);
  transform-origin: left;
  transition: transform 500ms var(--imovel-enter);
}

.wdo-page--imovel .property-detail-related__results .property-card--modern:hover {
  translate: 0 -5px;
}

.wdo-page--imovel .property-detail-related__results .property-card--modern:hover::after,
.wdo-page--imovel .property-detail-related__results .property-card--modern:focus-within::after {
  transform: scaleX(1);
}

.wdo-page--imovel .property-detail-related__results .property-card__carousel {
  aspect-ratio: 3 / 2;
  border-radius: 0;
  background: #fff;
}

.wdo-page--imovel .property-detail-related__results .property-card__body {
  padding: 22px 0 0;
}

.wdo-page--imovel .property-detail-related__results .property-card__title a {
  color: var(--wdo-petrol-blue);
}

.wdo-page--imovel .property-detail-related__results .property-card__price {
  color: var(--wdo-burnt-terracotta);
}

.wdo-page--imovel .property-detail-related__results .property-card__ctrl,
.wdo-page--imovel .property-detail-related__results .property-card__badge,
.wdo-page--imovel .property-detail-related__results .property-card__count {
  border-radius: 4px;
}

/* Final decision point: solid brand fields, not a decorative gradient. */
.wdo-page--imovel .property-detail-cta {
  position: relative;
  display: grid;
  align-items: center;
  min-block-size: 100svh;
  overflow: hidden;
  color: #fff;
  background: var(--wdo-burnt-terracotta);
}

.wdo-page--imovel .property-detail-cta::after {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  inline-size: 30%;
  background: var(--wdo-petrol-blue);
  content: '';
  pointer-events: none;
}

.wdo-page--imovel .property-detail-cta__inner {
  position: relative;
  z-index: 1;
  width: min(100% - 48px, 1180px);
  margin-inline: auto;
  padding-block: clamp(96px, 12vw, 160px);
  text-align: left;
}

.wdo-page--imovel .property-detail-cta__heading {
  display: grid;
  inline-size: fit-content;
  max-inline-size: 100%;
  justify-self: start;
  justify-items: start;
  text-align: left;
}

.wdo-page--imovel .property-detail-cta__eyebrow {
  inline-size: 100%;
  color: #fff;
  text-align: left;
}

.wdo-page--imovel .property-detail-cta__title {
  max-inline-size: 15ch;
  margin: 0;
  color: #fff;
  font-family: var(--font-heading);
  font-size: var(--type-heading-2);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.wdo-page--imovel .property-detail-cta__title,
.wdo-page--imovel .property-detail-cta__text {
  text-align: left;
}

.wdo-page--imovel .property-detail-cta__text {
  max-inline-size: 50ch;
  margin: clamp(28px, 3.5vw, 44px) 0 0;
  color: #fff;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  line-height: 1.75;
  margin-inline: 0 auto;
}

.wdo-page--imovel .property-detail-cta__button {
  display: inline-flex;
  inline-size: fit-content;
  max-inline-size: 100%;
  min-block-size: 52px;
  margin-block-start: 30px;
  margin-inline: 0 auto;
  border-radius: 4px;
}

.wdo-page--imovel .property-detail-cta a:focus-visible {
  outline-color: #fff;
  outline-offset: 4px;
}

/* Page choreography only activates below the initial viewport via Motion Foundation. */
.wdo-page--imovel .property-detail-overview__copy[data-reveal="copy"],
.wdo-page--imovel .property-detail-facts[data-reveal="media"],
.wdo-page--imovel .property-detail-related__header[data-reveal="copy"],
.wdo-page--imovel .property-detail-related__results[data-reveal="media"],
.wdo-page--imovel .property-detail-cta__inner[data-reveal="cta"] {
  opacity: 1;
  translate: none;
  transform: translate3d(0, 0, 0);
}

.wdo-page--imovel .property-detail-overview__copy[data-reveal="copy"].is-reveal-pending:not(.is-visible),
.wdo-page--imovel .property-detail-related__header[data-reveal="copy"].is-reveal-pending:not(.is-visible) {
  opacity: 0;
  translate: none;
  transform: translate3d(-22px, 0, 0);
}

.wdo-page--imovel .property-detail-facts[data-reveal="media"].is-reveal-pending:not(.is-visible),
.wdo-page--imovel .property-detail-related__results[data-reveal="media"].is-reveal-pending:not(.is-visible) {
  opacity: 0;
  translate: none;
  scale: 1;
  transform: translate3d(24px, 0, 0);
}

.wdo-page--imovel .property-detail-cta__inner[data-reveal="cta"].is-reveal-pending:not(.is-visible) {
  opacity: 0;
  translate: none;
  transform: translate3d(28px, 0, 0);
}

.wdo-page--imovel .property-detail-overview__copy.is-visible,
.wdo-page--imovel .property-detail-facts.is-visible,
.wdo-page--imovel .property-detail-related__header.is-visible,
.wdo-page--imovel .property-detail-related__results.is-visible,
.wdo-page--imovel .property-detail-cta__inner.is-visible {
  transition: opacity 900ms var(--imovel-enter), transform 1020ms var(--imovel-enter);
}

@media (max-width: 1024px) {
  .wdo-page--imovel {
    --imovel-gutter: 32px;
  }

  .wdo-page--imovel .property-detail-overview__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    gap: 52px;
  }

  .wdo-page--imovel .property-detail-related__results .property-results > .grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .wdo-page--imovel {
    --imovel-gutter: 20px;
  }

  .wdo-page--imovel .property-detail-stage {
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
  }

  .wdo-page--imovel .property-detail-stage__copy {
    grid-area: auto;
    position: static;
    inline-size: 100%;
    margin: 0;
    padding: calc(var(--header-height) + 24px) var(--imovel-gutter) 36px;
    background: var(--wdo-petrol-blue);
  }

  .wdo-page--imovel .property-detail-stage__copy::after {
    inset: auto 0 0;
    block-size: 6px;
  }

  .wdo-page--imovel .property-detail-stage__title {
    max-inline-size: 20ch;
  }

  .wdo-page--imovel .property-detail-gallery {
    grid-area: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    min-block-size: min(62svh, 620px);
  }

  .wdo-page--imovel .property-detail-overview__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 54px;
    width: min(100% - 40px, 1180px);
    padding-block: 88px;
  }

  .wdo-page--imovel .property-detail-facts {
    padding: 32px 24px;
  }

  .wdo-page--imovel .property-detail-related__inner,
  .wdo-page--imovel .property-detail-cta__inner {
    width: min(100% - 40px, 1180px);
  }

  .wdo-page--imovel .property-detail-related__results .property-results > .grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 62px;
  }

  .wdo-page--imovel .property-detail-related__results .property-card--modern:hover {
    translate: none;
  }

  .wdo-page--imovel .property-detail-cta::after {
    inset-block: auto 0;
    inline-size: 100%;
    block-size: 18%;
  }

  .wdo-page--imovel .property-detail-cta__title {
    font-size: var(--type-heading-2-mobile);
  }
}

@media (max-width: 420px) {
  .wdo-page--imovel .property-detail-gallery {
    min-block-size: min(56svh, 460px);
  }

  .wdo-page--imovel .property-detail-gallery__all {
    inset-inline: 14px;
    inset-block-end: 14px;
    justify-content: center;
  }

  .wdo-page--imovel .property-detail-facts__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .wdo-page--imovel .property-detail-cta__inner {
    width: min(100% - 32px, 1180px);
  }
}

@media (max-width: 900px) and (max-height: 560px) and (orientation: landscape) {
  .wdo-page--imovel {
    --imovel-gutter: 24px;
  }

  /* Keep the persistent consent control clear of the primary property CTA. */
  .wdo-page--imovel #lgpd-fab {
    inset-inline-start: auto;
    inset-inline-end: calc(var(--imovel-gutter) + 60px);
  }

  .wdo-page--imovel .property-detail-stage {
    grid-template-columns: minmax(0, 1fr);
    overflow: hidden;
  }

  .wdo-page--imovel .property-detail-stage__copy {
    grid-area: auto;
    position: static;
    inline-size: 100%;
    margin: 0;
    padding: calc(var(--header-height) + 16px) var(--imovel-gutter) 28px;
    background: var(--wdo-petrol-blue);
  }

  .wdo-page--imovel .property-detail-stage__title {
    max-inline-size: 22ch;
    font-size: var(--type-heading-1-mobile);
  }

  .wdo-page--imovel .property-detail-stage__location {
    margin-block-start: 12px;
  }

  .wdo-page--imovel .property-detail-stage__decision {
    margin-block-start: 16px;
    padding-block-start: 14px;
  }

  .wdo-page--imovel .property-detail-stage__cta {
    margin-block-start: 16px;
  }

  .wdo-page--imovel .property-detail-gallery {
    grid-area: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr);
    min-block-size: min(72svh, 360px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .wdo-page--imovel .property-detail-stage__copy-inner,
  .wdo-page--imovel .property-detail-gallery,
  .wdo-page--imovel .property-detail-gallery__item img,
  .wdo-page--imovel .property-detail-gallery__all,
  .wdo-page--imovel .property-detail-overview__copy,
  .wdo-page--imovel .property-detail-facts,
  .wdo-page--imovel .property-detail-related__header,
  .wdo-page--imovel .property-detail-related__results,
  .wdo-page--imovel .property-detail-related__results .property-card--modern,
  .wdo-page--imovel .property-detail-related__results .property-card--modern::after,
  .wdo-page--imovel .property-detail-cta__inner,
  .wdo-page--imovel .property-detail-overview__copy.is-reveal-pending:not(.is-visible),
  .wdo-page--imovel .property-detail-facts.is-reveal-pending:not(.is-visible),
  .wdo-page--imovel .property-detail-related__header.is-reveal-pending:not(.is-visible),
  .wdo-page--imovel .property-detail-related__results.is-reveal-pending:not(.is-visible),
  .wdo-page--imovel .property-detail-cta__inner.is-reveal-pending:not(.is-visible) {
    opacity: 1;
    clip-path: none;
    translate: none;
    scale: 1;
    transform: none;
    transition: none;
    animation: none;
  }

  .wdo-page--imovel .property-detail-gallery__item:hover img,
  .wdo-page--imovel .property-detail-gallery__item:focus-visible img,
  .wdo-page--imovel .property-detail-related__results .property-card--modern:hover,
  .wdo-page--imovel .property-detail-related__results .property-card--modern:focus-within {
    translate: none;
    transform: none;
  }
}

/* Typography calibration: structural levels mirror Home/Imóveis; prose keeps a subordinate rhythm. */
.wdo-page--imovel {
  --imovel-display-h1: clamp(2rem, 2.8vw, 3rem);
  --imovel-display-h2: clamp(2.25rem, 4vw, 4.25rem);
  --imovel-prose-h2: clamp(1.75rem, 2.3vw, 2.35rem);
  --imovel-prose-h3: clamp(1.5rem, 1.9vw, 1.9rem);
  --imovel-prose-h4: clamp(1.3rem, 1.5vw, 1.55rem);
  --imovel-prose-h5: clamp(1.15rem, 1.2vw, 1.3rem);
  --imovel-prose-h6: clamp(1rem, 1vw, 1.15rem);
}

.wdo-page--imovel .property-detail-stage__title {
  font-size: var(--type-heading-1);
}

.wdo-page--imovel .property-detail-overview__title,
.wdo-page--imovel .property-detail-related__title,
.wdo-page--imovel .property-detail-cta__title {
  font-size: var(--type-heading-2);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.wdo-page--imovel .property-detail-facts__title,
.wdo-page--imovel .property-detail-overview__content h2 {
  font-size: var(--type-heading-2);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.wdo-page--imovel .property-detail-overview__content h3 {
  font-size: var(--type-heading-3);
  line-height: 1.12;
  letter-spacing: -.02em;
}

.wdo-page--imovel .property-detail-overview__content h4 {
  font-size: var(--imovel-prose-h4);
  line-height: 1.18;
  letter-spacing: -.015em;
}

.wdo-page--imovel .property-detail-overview__content h5 {
  font-size: var(--imovel-prose-h5);
  line-height: 1.22;
  letter-spacing: -.01em;
}

.wdo-page--imovel .property-detail-overview__content h6 {
  font-size: var(--imovel-prose-h6);
  line-height: 1.28;
  letter-spacing: 0;
}

.wdo-page--imovel .property-detail-overview__content :is(h2, h3, h4, h5, h6) {
  margin-block: clamp(28px, 3vw, 42px) clamp(12px, 1.5vw, 20px);
  color: var(--wdo-petrol-blue);
  font-family: var(--font-heading);
  font-weight: 700;
  text-wrap: balance;
}

/* Final section inversion requested in review: Petrol carries authority; Terracotta becomes the accent field. */
.wdo-page--imovel .property-detail-cta {
  background: var(--wdo-petrol-blue);
}

.wdo-page--imovel .property-detail-cta::after {
  background: var(--wdo-burnt-terracotta);
}

@media (max-width: 768px) {
  .wdo-page--imovel .property-detail-stage__title {
    font-size: var(--type-heading-1-mobile);
  }

  .wdo-page--imovel .property-detail-overview__title,
  .wdo-page--imovel .property-detail-related__title,
  .wdo-page--imovel .property-detail-cta__title {
    font-size: var(--type-heading-2-mobile);
  }
}
