.public-development-show {
  --public-development-primary: var(--blue-three, #053c5e);
  --public-development-primary-strong: var(--blue-one, #022b3a);
  --public-development-accent: var(--golden-one, #bfab25);
  --public-development-accent-strong: var(--golden-two, #d8c63a);
  --public-development-surface: #ffffff;
  --public-development-muted: #64748b;
  --public-development-line: rgba(2, 43, 58, 0.11);
  background: #f4f7fa;
  color: #0f172a;
  font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Largura: herda .container-custom (1440px), a mesma da home e da busca. */

.public-development-show__hero {
  min-height: 520px;
  overflow: hidden;
  /* Tom "ambiente" do hero: padrão é a cor da conta; o public-hero-tint
     controller sobrescreve com a cor média extraída da própria foto (com
     teto de luminância, pro texto branco continuar legível). Sem JS ou sem
     CORS na imagem, fica nesse padrão mesmo — não quebra nada. */
  --public-development-hero-tint: var(--public-development-primary);
}

.public-development-show__hero-content {
  position: relative;
  z-index: 1;
}

/* Camada de contraste do hero: mais escura onde o texto costuma cair
   (esquerda/embaixo, por causa do items-center + conteúdo alinhado à
   esquerda), mais clara no resto para a foto continuar aparecendo. O tom vem
   de --public-development-hero-tint (cor média da foto quando o JS consegue
   extrair; cor da conta como padrão/fallback) em vez de uma cor sempre fixa. */
.public-development-show__hero-scrim {
  background:
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--public-development-hero-tint) 88%, transparent) 0%,
      color-mix(in srgb, var(--public-development-hero-tint) 60%, transparent) 42%,
      color-mix(in srgb, var(--public-development-hero-tint) 24%, transparent) 72%,
      color-mix(in srgb, var(--public-development-hero-tint) 12%, transparent) 100%
    ),
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--public-development-hero-tint) 18%, transparent) 0%,
      color-mix(in srgb, var(--public-development-hero-tint) 30%, transparent) 45%,
      color-mix(in srgb, var(--public-development-hero-tint) 82%, transparent) 100%
    );
}

.public-development-show__breadcrumb {
  overflow-x: auto;
  white-space: nowrap;
  scrollbar-width: none;
}

.public-development-show__breadcrumb::-webkit-scrollbar {
  display: none;
}

.public-development-show__title {
  max-width: 880px;
  font-family: Raleway, "Open Sans", sans-serif;
  letter-spacing: 0;
  line-height: 1.06;
}

.public-development-show__hero-meta {
  color: rgba(255, 255, 255, 0.94);
}

.public-development-show__availability {
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 10px;
}

.public-development-show__hero-actions {
  align-items: center;
}

.public-development-show__cta {
  min-height: 46px;
  border-radius: 10px;
  letter-spacing: 0;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.public-development-show__cta:hover {
  transform: translateY(-1px);
}

.public-development-show__cta--primary {
  background: var(--public-development-accent);
  color: var(--public-development-primary-strong);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
}

.public-development-show__cta--primary:hover {
  background: var(--public-development-accent-strong);
}

.public-development-show__cta--ghost,
.public-development-show__cta--contact-ghost {
  border-color: rgba(255, 255, 255, 0.24);
}

.public-development-show__stats {
  border-color: rgba(2, 43, 58, 0.08);
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05);
}

.public-development-show__stats-grid {
  align-items: stretch;
}

.public-development-show__stat {
  min-height: 86px;
  border: 1px solid rgba(2, 43, 58, 0.08);
  border-radius: 14px;
  background: #ffffff;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.045);
}

.public-development-show__stat > div:first-child {
  border-radius: 12px;
}

.public-development-show__content {
  padding-top: 42px;
}

.public-development-show__section,
.public-development-show__contact-card,
.public-development-show__info-card,
.public-development-show__share-card,
.public-development-show .public-habitations-show__broker-card {
  border: 1px solid var(--public-development-line);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.07);
}

.public-development-show__section {
  padding: 26px;
}

.public-development-show__section-title {
  color: #0b1726;
  font-family: Raleway, "Open Sans", sans-serif;
  letter-spacing: 0;
}

.public-development-show__section-title > div:first-child {
  width: 4px;
  border-radius: 999px;
  background: var(--public-development-accent);
}

.public-development-show__prose {
  border-color: rgba(2, 43, 58, 0.09);
  background: linear-gradient(135deg, rgba(2, 43, 58, 0.045), rgba(255, 255, 255, 0.96));
  color: #344256;
  line-height: 1.76;
}

.public-development-show__prose.is-collapsible .public-collapsible-text__content::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #ffffff 78%);
}

.public-development-show__prose .public-collapsible-text__toggle {
  color: var(--public-development-primary);
}

.public-development-show__prose .public-collapsible-text__toggle:hover,
.public-development-show__prose .public-collapsible-text__toggle:focus-visible {
  color: var(--public-development-accent);
}

/* Galeria (mesmo padrão da página do imóvel): foto principal + miniaturas no
   desktop, 1 foto com swipe no mobile, "Ver N fotos" abre a galeria completa.
   Vive entre "Empreendimento em destaque" e "Sobre o Empreendimento", dentro
   do space-y-12 da coluna principal — sem padding-top próprio. */
.public-development-show__gallery-grid {
  background: transparent;
}

.public-development-show__gallery-primary,
.public-development-show__gallery-thumb {
  background: #edf2f7;
}

.public-development-show__gallery-thumbs {
  grid-template-rows: repeat(2, minmax(0, 1fr));
  min-height: 0;
}

.public-development-show__gallery-thumb {
  min-height: 0;
}

.public-development-show__gallery-primary img,
.public-development-show__gallery-thumb img {
  background: #ffffff;
  display: block;
  object-position: center center;
}

.public-development-show__gallery-count {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 14px auto 0;
  min-height: 44px;
  padding: 10px 22px;
  border: 1px solid var(--public-development-line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--public-development-primary);
  font-weight: 700;
  font-size: 0.9rem;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.public-development-show__gallery-count:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(15, 23, 42, 0.12);
}

/* Unidades: grid solto, sem repetir o card branco do .public-development-show__section
   por baixo do próprio card do imóvel (evita card-dentro-de-card). */
.public-development-show__units-wrap {
  padding-top: 36px;
}

.public-development-show__chip-list {
  gap: 10px;
}

.public-development-show__chip {
  border-color: rgba(2, 43, 58, 0.11);
  border-radius: 999px;
  background: #ffffff;
  color: #344256;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.045);
}

.public-development-show__address {
  border: 1px solid rgba(2, 43, 58, 0.08);
  border-radius: 14px;
  background: rgba(2, 43, 58, 0.045);
}

.public-development-show__units-grid .public-property-card {
  max-width: 100%;
}

.public-development-show__contact-card {
  background:
    linear-gradient(135deg, rgba(2, 43, 58, 0.96), rgba(5, 60, 94, 0.94)),
    var(--public-development-primary);
  box-shadow: 0 18px 42px rgba(2, 43, 58, 0.2);
}

.public-development-show__cta--contact {
  color: var(--public-development-primary);
  box-shadow: 0 12px 26px rgba(15, 23, 42, 0.14);
}

.public-development-show__info-card h3,
.public-development-show__share-card h3 {
  color: #0b1726;
  font-family: Raleway, "Open Sans", sans-serif;
}

.public-development-show__info-card > div > div {
  gap: 14px;
}

.public-development-show__info-card span:last-child {
  text-align: right;
}

.public-development-show .public-habitations-show__broker-card {
  background:
    linear-gradient(135deg, rgba(2, 43, 58, 0.06), rgba(255, 255, 255, 0.92)),
    #ffffff;
}

@media (max-width: 767px) {
  .public-development-show__hero {
    min-height: 560px;
  }

  .public-development-show .container-custom {
    padding-left: 16px;
    padding-right: 16px;
  }

  .public-development-show__title {
    font-size: 2.1rem;
    line-height: 1.12;
  }

  .public-development-show__hero-meta {
    gap: 14px;
  }

  .public-development-show__hero-actions,
  .public-development-show__hero-actions .public-development-show__cta {
    width: 100%;
  }

  .public-development-show__hero-actions .public-development-show__cta {
    justify-content: center;
    padding-left: 18px;
    padding-right: 18px;
  }

  .public-development-show__stats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .public-development-show__section,
  .public-development-show__contact-card,
  .public-development-show__info-card,
  .public-development-show__share-card,
  .public-development-show .public-habitations-show__broker-card {
    border-radius: 14px;
    padding: 18px;
  }

  .public-development-show__section-title {
    align-items: flex-start;
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .public-development-show__gallery {
    border-radius: 14px;
  }

  .public-development-show__units-wrap {
    padding-top: 26px;
  }

  .public-development-show__units-grid {
    gap: 16px;
  }
}
