/* ============================================================
   v203.1.1 — Bloco Confiança: grid forçado com especificidade alta
   ============================================================ */

/* Testimonials grid — 3 col desktop, forçado */
.v203-testimonials-section .v203-testimonials-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-bottom: 36px !important;
  width: 100%;
}

/* Garantir que os cards não colapsam */
.v203-testimonials-section .v203-testimonial-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  padding: 26px 24px !important;
  height: 100%;
  box-sizing: border-box;
  min-width: 0; /* evita overflow em grid */
}

.v203-stars {
  color: var(--v400-gold, #c9a96a);
  font-size: 15px;
  letter-spacing: 3px;
  flex-shrink: 0;
}

.v203-testimonial-card blockquote {
  margin: 0;
  padding: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--v400-text, #172235);
  font-style: italic;
  flex: 1;
  border: none;
}

.v203-testimonial-card cite {
  display: block;
  font-style: normal;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--v400-muted, #526075);
  letter-spacing: .01em;
  flex-shrink: 0;
  padding-top: 8px;
  border-top: 1px solid var(--v400-line, #e6eaf0);
}

/* Stats bar — separada dos cards, display:grid explícito */
.v203-testimonials-section .v203-stats-bar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  border: 1px solid var(--v400-line, #e6eaf0);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  margin-top: 0;
}

.v203-stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 22px 16px;
  gap: 5px;
  border-right: 1px solid var(--v400-line, #e6eaf0);
  min-width: 0;
}

.v203-stat:last-child { border-right: none; }

.v203-stat strong {
  display: block;
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--v400-navy, #172235);
  line-height: 1.1;
}

.v203-stat span {
  display: block;
  font-size: 12px;
  color: var(--v400-muted, #526075);
  line-height: 1.4;
  max-width: 140px;
}

/* Inline stats no hero */
.v203-stats-inline {
  gap: 20px;
}

.v203-stats-inline > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v203-stats-inline strong {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--v400-navy, #172235);
  line-height: 1;
}

.v203-stats-inline span {
  font-size: 12px;
  color: var(--v400-muted, #526075);
  line-height: 1.4;
}

/* Section background */
.v203-testimonials-section {
  background: var(--v400-bg-warm, #faf8f5);
}

/* Responsive */
@media (max-width: 980px) {
  .v203-testimonials-section .v203-testimonials-grid {
    grid-template-columns: 1fr !important;
  }
  .v203-testimonials-section .v203-stats-bar {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .v203-stat:nth-child(2) { border-right: none; }
  .v203-stat:nth-child(3) {
    border-right: 1px solid var(--v400-line, #e6eaf0);
    border-top: 1px solid var(--v400-line, #e6eaf0);
  }
  .v203-stat:nth-child(4) {
    border-top: 1px solid var(--v400-line, #e6eaf0);
  }
}

@media (max-width: 600px) {
  .v203-testimonials-section .v203-stats-bar {
    grid-template-columns: 1fr 1fr !important;
  }
  .v203-testimonial-card { padding: 18px !important; }
}

/* ============================================================
   v203.2.0 — Estudo de Mercado: hero trust, include cards,
   process steps, quote section
   ============================================================ */

/* Hero trust strip (3 stats abaixo das pills) */
.v203-em-trust {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--v400-line, #e6eaf0);
}

.v203-em-trust > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.v203-em-trust strong {
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--v400-navy, #172235);
  line-height: 1;
}

.v203-em-trust span {
  font-size: 12px;
  color: var(--v400-muted, #526075);
  line-height: 1.4;
}

/* Include cards — número destacado */
.v203-em-include-card {
  position: relative;
}

.v203-em-include-num {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--v400-gold, #c9a96a);
  margin-bottom: 10px;
}

.v203-em-include-card h3 {
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--v400-navy, #172235);
}

.v203-em-include-card p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--v400-muted, #526075);
}

/* Process steps — número em destaque */
.v203-em-step {
  position: relative;
  padding-top: 36px !important;
}

.v203-em-step-num {
  position: absolute;
  top: 20px;
  left: 24px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--v400-gold, #c9a96a);
  text-transform: uppercase;
}

/* Quote section */
.v203-em-quote-section {
  background: var(--v400-navy, #172235);
}

.v203-em-quote-card {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 48px 52px !important;
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

.v203-em-quote-card .v203-stars {
  color: var(--v400-gold, #c9a96a);
  margin-bottom: 20px;
  font-size: 18px;
}

.v203-em-quote-card blockquote {
  margin: 0 0 20px;
  padding: 0;
  border: none;
  font-size: 19px;
  line-height: 1.6;
  color: #fff;
  font-style: italic;
  font-weight: 400;
}

.v203-em-quote-card cite {
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,.55);
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Hero nota no form */
.v402-form__note {
  margin-top: 12px;
  font-size: 12.5px;
  color: var(--v400-muted, #526075);
  text-align: center;
  line-height: 1.5;
}

/* Responsive */
@media (max-width: 980px) {
  .v203-em-trust { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
  .v203-em-quote-card { padding: 32px 24px !important; }
  .v203-em-quote-card blockquote { font-size: 16px; }
}

@media (max-width: 600px) {
  .v203-em-trust { grid-template-columns: 1fr; gap: 12px; padding-top: 16px; margin-top: 20px; }
  .v203-em-trust strong { font-size: 20px; }
}

/* ets-actions--col: botões em coluna (archive CTAs) */
.ets-actions--col {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 10px !important;
}

.ets-actions--col .ets-btn {
  width: auto;
  min-width: 220px;
}

/* v402-band__wrap--fixed: coluna direita fixa para layouts de arquivo */
.v402-band__wrap--fixed {
  grid-template-columns: minmax(0, 1fr) 260px !important;
  align-items: center !important;
}

@media (max-width: 980px) {
  .v402-band__wrap--fixed {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   v203.3.0 — Card imóveis estilo dev-card
   ============================================================ */

/* Preço sobreposto no card */
.ets-dev-card--imovel .ets-dev-card__price {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  line-height: 1.1;
  margin: 4px 0 6px;
  letter-spacing: -.02em;
}

.ets-dev-card--imovel .ets-dev-card__price small {
  font-size: 13px;
  font-weight: 500;
  opacity: .8;
  margin-left: 2px;
}

/* Meta row: localização + specs */
.ets-dev-card__meta-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 2px;
}

.ets-dev-card__specs {
  font-size: 12px;
  color: rgba(255,255,255,.65);
  line-height: 1.4;
}

/* Gradiente ligeiramente mais escuro para legibilidade do preço */
.ets-dev-card--imovel .ets-dev-card__overlay {
  background: linear-gradient(180deg, rgba(8,14,20,.08) 20%, rgba(8,14,20,.72) 100%) !important;
}

/* Filtro no mesmo fundo escuro que empreendimentos */
.v202-archive--imoveis-dev {
  background: var(--v402-blue, #172235);
  padding-top: 32px;
  padding-bottom: 64px;
}

.v202-archive--imoveis-dev .v202-filter-bar {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}

.v202-archive--imoveis-dev .v202-filter-bar label span,
.v202-archive--imoveis-dev .v202-filter-bar select,
.v202-archive--imoveis-dev .v202-filter-bar input {
  color: #fff;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.15);
}

.v202-archive--imoveis-dev .v202-filter-bar select option {
  background: #172235;
  color: #fff;
}

/* ============================================================
   v203.4.0 — Single imóvel estilo empreendimento
   ============================================================ */

/* Bloco preço no overview */
.ets-imovel-price-block {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin: 12px 0 18px;
}

.ets-imovel-price {
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--v400-navy, #172235);
  line-height: 1;
}

.ets-imovel-price small {
  font-size: 15px;
  font-weight: 500;
  color: var(--v400-muted, #526075);
  margin-left: 2px;
}

.ets-imovel-location {
  font-size: 15px;
  color: var(--v400-muted, #526075);
}

/* Garantir sticky-form no layout do imóvel igual ao empreendimento */
.ets-imovel-single .v2022-dev-overview__form .sticky-form {
  position: sticky;
  top: 100px;
}

@media (max-width: 980px) {
  .ets-imovel-single .v2022-dev-overview__form .sticky-form {
    position: static;
  }
}

/* ============================================================
   v203.4.1 — single-imovel: layout idêntico ao empreendimento
   ============================================================ */

/* Intro wrapper: largura máxima e centrado */
.single-imovel .ets-dev-single-v202__intro {
  display: block !important;
  width: min(1240px, 100%);
  max-width: 1240px;
  margin-inline: auto;
}

.single-imovel .ets-dev-single-v202__intro > .ets-card {
  width: 100%;
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

/* Grid overview: proporção 1fr | 340-380px (igual ao empreendimento) */
.single-imovel .v2023-dev-overview,
.single-imovel .v2022-dev-overview {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 380px) !important;
  gap: 30px !important;
  width: 100%;
}

.single-imovel .v2022-dev-overview__content,
.single-imovel .v2023-dev-overview__content {
  width: 100%;
  max-width: none;
  min-width: 0;
}

.single-imovel .v2022-dev-overview__form,
.single-imovel .v2023-dev-overview__form {
  width: 100%;
  max-width: none;
  min-width: 0;
}

/* Galeria: mesma largura máxima */
.single-imovel .ets-imovel-gallery-wrap {
  width: min(1240px, 100%);
  max-width: 1240px;
  margin-inline: auto;
}

.single-imovel .ets-imovel-gallery-wrap > * {
  width: 100%;
  max-width: none;
}

/* Related: alinhado */
.single-imovel .v202-related--properties {
  width: min(1240px, 100%);
  max-width: 1240px;
  margin-inline: auto;
}

/* Chips de facts: mesmo estilo do empreendimento */
.single-imovel .v2022-dev-facts-inline--chips {
  margin: 18px 0 22px;
}

.single-imovel .v2022-dev-facts-inline--chips .ets-spec-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Responsive */
@media (max-width: 1100px) {
  .single-imovel .ets-dev-single-v202__intro,
  .single-imovel .ets-imovel-gallery-wrap,
  .single-imovel .v202-related--properties {
    max-width: none;
    width: 100%;
  }
}

@media (max-width: 980px) {
  .single-imovel .v2023-dev-overview,
  .single-imovel .v2022-dev-overview {
    grid-template-columns: 1fr !important;
  }

  .single-imovel .v2022-dev-overview__form .sticky-form {
    position: static !important;
  }
}

/* ============================================================
   v203.5.0 — Página Sobre: stats, credentials, timeline
   ============================================================ */

/* Hero stats strip */
.v203-sobre-stats {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  margin: 24px 0 28px;
  padding: 20px 0;
  border-top: 1px solid var(--v400-line, #e6eaf0);
  border-bottom: 1px solid var(--v400-line, #e6eaf0);
}

.v203-sobre-stats > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 28px 0 0;
  margin-right: 28px;
  border-right: 1px solid var(--v400-line, #e6eaf0);
}

.v203-sobre-stats > div:last-child {
  border-right: none;
  margin-right: 0;
  padding-right: 0;
}

.v203-sobre-stats strong {
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 700;
  letter-spacing: -.03em;
  color: var(--v400-navy, #172235);
  line-height: 1;
}

.v203-sobre-stats span {
  font-size: 12px;
  color: var(--v400-muted, #526075);
  line-height: 1.4;
  max-width: 120px;
}

/* Credentials grid — prémios */
.v203-credentials-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.v203-credential-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px 24px !important;
}

.v203-credential-card--premio .v203-credential-type {
  color: var(--v400-gold, #c9a96a);
}

.v203-credential-card--certificacao .v203-credential-type {
  color: var(--v400-navy, #172235);
  opacity: .6;
}

.v203-credential-type {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.v203-credential-year {
  font-size: 12px;
  color: var(--v400-muted, #526075);
  font-weight: 600;
}

.v203-credential-card h3 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  color: var(--v400-navy, #172235);
  line-height: 1.25;
}

.v203-credential-card p {
  margin: 0;
  font-size: 13px;
  color: var(--v400-muted, #526075);
}

/* Timeline — formações */
.v203-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
  padding-left: 80px;
}

.v203-timeline::before {
  content: '';
  position: absolute;
  left: 52px;
  top: 16px;
  bottom: 16px;
  width: 2px;
  background: var(--v400-line, #e6eaf0);
}

.v203-timeline-item {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  position: relative;
  margin-bottom: 16px;
}

.v203-timeline-item:last-child {
  margin-bottom: 0;
}

.v203-timeline-year {
  position: absolute;
  left: -80px;
  width: 52px;
  text-align: right;
  font-size: 12px;
  font-weight: 700;
  color: var(--v400-gold, #c9a96a);
  line-height: 1;
  padding-top: 20px;
}

.v203-timeline-item::before {
  content: '';
  position: absolute;
  left: -32px;
  top: 20px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--v400-gold, #c9a96a);
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--v400-gold, #c9a96a);
  flex-shrink: 0;
}

.v203-timeline-content {
  flex: 1;
  padding: 18px 22px !important;
}

.v203-timeline-content h3 {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--v400-navy, #172235);
}

.v203-timeline-content p {
  margin: 0;
  font-size: 13px;
  color: var(--v400-muted, #526075);
}

/* Responsive */
@media (max-width: 900px) {
  .v203-credentials-grid { grid-template-columns: 1fr 1fr; }
  .v203-sobre-stats { gap: 18px; }
}

@media (max-width: 600px) {
  .v203-credentials-grid { grid-template-columns: 1fr; }
  .v203-timeline { padding-left: 60px; }
  .v203-timeline-year { left: -60px; width: 40px; }
  .v203-timeline-item::before { left: -26px; }
  .v203-sobre-stats { gap: 14px; }
  .v203-sobre-stats > div { border-right: none; padding-right: 0; margin-right: 0; }
}

/* ── Imagem dentro do card de prémio ── */
.v203-credential-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 12px;
  background: var(--color-background-secondary, #f5f5f5);
}

.v203-credential-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 8px;
  box-sizing: border-box;
}

/* ============================================================
   v203.7.0 — Página Contacto
   ============================================================ */

/* Hero simples */
.v203-contacto-hero { padding-bottom: 0 !important; }
.v203-contacto-hero .v402-title--page { margin-bottom: 12px; }

/* Dois caminhos */
.v203-contacto-paths-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.v203-contacto-path {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 32px 30px !important;
}

.v203-contacto-path__icon {
  color: var(--v400-gold, #c9a96a);
  margin-bottom: 4px;
}

.v203-contacto-path--seller .v203-contacto-path__icon { color: var(--v400-gold, #c9a96a); }
.v203-contacto-path--buyer  .v203-contacto-path__icon { color: var(--v400-navy, #172235); opacity: .6; }

.v203-contacto-path__eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--v400-gold, #c9a96a);
}

.v203-contacto-path--buyer .v203-contacto-path__eyebrow {
  color: var(--v400-muted, #526075);
}

.v203-contacto-path h2 {
  margin: 0;
  font-size: clamp(20px, 2vw, 24px);
  font-weight: 700;
  color: var(--v400-navy, #172235);
  line-height: 1.2;
}

.v203-contacto-path p {
  margin: 0;
  font-size: 15px;
  color: var(--v400-muted, #526075);
  line-height: 1.6;
  flex: 1;
}

.v203-contacto-path__actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 8px;
}

.v203-contacto-path__actions .ets-btn {
  justify-content: center;
}

/* Form + info layout */
.v203-contacto-form-wrap {
  display: grid;
  grid-template-columns: 1fr minmax(340px, 420px);
  gap: 40px;
  align-items: start;
}

.v203-contacto-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.v203-contacto-info h2 {
  margin: 0;
}

.v203-contacto-info p {
  margin: 0;
  color: var(--v400-muted, #526075);
  font-size: 15px;
}

.v203-contacto-info__lines {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
  background: var(--color-background-secondary, #f8f8f6);
  border-radius: var(--border-radius-lg, 12px);
}

.v203-contacto-info__lines > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.v203-contacto-info__lines strong {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--v400-muted, #526075);
}

.v203-contacto-info__lines a,
.v203-contacto-info__lines span {
  font-size: 15px;
  font-weight: 600;
  color: var(--v400-navy, #172235);
  text-decoration: none;
}

.v203-contacto-info__lines a:hover { text-decoration: underline; }

.v203-contacto-form-card {
  padding: 32px 30px !important;
}

.v203-contacto-form-card h2 {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 700;
  color: var(--v400-navy, #172235);
}

.v203-contacto-form-card p {
  margin: 0 0 20px;
  color: var(--v400-muted, #526075);
  font-size: 14px;
}

/* Responsive */
@media (max-width: 900px) {
  .v203-contacto-paths-grid { grid-template-columns: 1fr; }
  .v203-contacto-form-wrap  { grid-template-columns: 1fr; }
}

/* Profile block no contacto */
.v203-contacto-info__profile {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--v400-line, #e6eaf0);
  margin-bottom: 4px;
}

.v203-contacto-info__profile img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  flex-shrink: 0;
  border: 2px solid var(--v400-line, #e6eaf0);
}

.v203-contacto-info__profile > div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.v203-contacto-info__profile strong {
  font-size: 15px;
  font-weight: 700;
  color: var(--v400-navy, #172235);
  line-height: 1.2;
}

.v203-contacto-info__profile span {
  font-size: 13px;
  color: var(--v400-muted, #526075);
}

/* Gap entre filtro e grelha no arquivo de imóveis */
.v202-archive--imoveis-dev .ets-dev-grid {
  margin-top: 36px;
}



/* ============================================================
   v203.8.0 — Single imóvel: facts chips + preço + layout
   ============================================================ */

/* Facts como chips pill */
.single-imovel .v2022-dev-facts-inline,
.single-imovel .v2022-dev-facts-inline--chips {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 16px 0 24px !important;
}

.single-imovel .v2022-dev-facts-inline--chips .ets-spec-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  grid-template-columns: unset !important;
}

.single-imovel .v2022-dev-facts-inline--chips .ets-spec-list > div {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--color-background-secondary, #f5f3ef);
  border: 1px solid var(--v400-line, #e6eaf0);
}

.single-imovel .v2022-dev-facts-inline--chips .ets-spec-list span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--v400-muted, #526075);
  display: block;
}

.single-imovel .v2022-dev-facts-inline--chips .ets-spec-list strong {
  font-size: 13px;
  font-weight: 700;
  color: var(--v400-navy, #172235);
  line-height: 1.2;
}

/* Preço em destaque */
.single-imovel .ets-imovel-price-block {
  margin: 8px 0 4px;
  padding: 16px 0;
  border-top: 1px solid var(--v400-line, #e6eaf0);
  border-bottom: 1px solid var(--v400-line, #e6eaf0);
}

.single-imovel .ets-imovel-price {
  font-size: clamp(32px, 3.5vw, 44px);
}

/* Separador subtil antes do texto */
.single-imovel .v2022-dev-copy {
  padding-top: 8px;
}

.single-imovel .v2022-dev-copy p {
  margin-bottom: 12px;
  line-height: 1.7;
  color: var(--v400-text, #2b3a47);
  font-size: 15px;
}

/* Overview card sem fundo cinzento pesado */
.single-imovel .ets-dev-single-v202__overview {
  padding: 36px 40px !important;
}

@media (max-width: 980px) {
  .single-imovel .ets-dev-single-v202__overview {
    padding: 24px 20px !important;
  }
}

/* Espaço entre hero e filtro no arquivo de imóveis */
.v202-archive--imoveis-dev .v202-page-hero {
  padding-bottom: 48px;
}

.v202-archive--imoveis-dev .v2021-filter-bar {
  margin-top: 0;
}

/* ============================================================
   v203.9.0 — Esconder radio/checkbox nativos nos formulários
   Seleção feita directamente na caixa
   ============================================================ */

/* Esconder o input nativo — radio e checkbox */
.ets-choice input[type="radio"],
.ets-choice input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* A caixa inteira é clicável e mostra estado */
.ets-choice {
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
  user-select: none;
  position: relative;
}

/* Estado seleccionado — radio */
.ets-choice:has(input[type="radio"]:checked) {
  border-color: var(--v400-gold, #c9a96a);
  background: rgba(201, 169, 106, .08);
  color: var(--v400-navy, #172235);
}

/* Estado seleccionado — checkbox */
.ets-choice:has(input[type="checkbox"]:checked) {
  border-color: var(--v400-gold, #c9a96a);
  background: rgba(201, 169, 106, .08);
  color: var(--v400-navy, #172235);
}

/* Tick subtil no canto para checkbox */
.ets-choice:has(input[type="checkbox"]:checked)::after {
  content: '✓';
  position: absolute;
  top: 6px;
  right: 10px;
  font-size: 11px;
  color: var(--v400-gold, #c9a96a);
  font-weight: 800;
}

/* Hover */
.ets-choice:hover {
  border-color: var(--v400-gold, #c9a96a);
  background: rgba(201, 169, 106, .04);
}

/* Idem para ets-check (checkboxes nos formulários de imóvel/empreendimento) */
.ets-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

.ets-check {
  cursor: pointer;
  transition: border-color .15s, background .15s;
  user-select: none;
  position: relative;
}

.ets-check:has(input[type="checkbox"]:checked) {
  border-color: var(--v400-gold, #c9a96a);
  background: rgba(201, 169, 106, .08);
}

.ets-check:has(input[type="checkbox"]:checked)::after {
  content: '✓';
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  font-size: 12px;
  color: var(--v400-gold, #c9a96a);
  font-weight: 800;
}

.ets-check:hover {
  border-color: var(--v400-gold, #c9a96a);
}

/* ============================================================
   v203.9.0 — Formulários nativos: input oculto, caixa clicável
   ============================================================ */

/* Esconde radio/checkbox nativo em ets-choice e ets-check */
.ets-choice input[type="radio"],
.ets-choice input[type="checkbox"],
.ets-check  input[type="radio"],
.ets-check  input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* ets-choice: caixa full-width clicável */
.ets-choice {
  display: flex;
  align-items: center;
  padding: 13px 18px;
  border-radius: 12px;
  border: 1.5px solid var(--v400-line, #dde4ec);
  background: #fff;
  color: var(--v400-navy, #173253);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
  user-select: none;
  min-height: 48px;
}

.ets-choice:hover {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf9f2;
}

/* Estado selected — radio checked */
.ets-choice input:checked ~ span,
.ets-choice:has(input:checked) {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf6e8;
  color: var(--v400-navy, #172235);
}

/* Garante que o span (texto) ocupa toda a largura */
.ets-choice span {
  flex: 1;
  line-height: 1.3;
}

/* ets-check: mesmo tratamento para checkboxes */
.ets-check {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  border-radius: 12px;
  border: 1.5px solid var(--v400-line, #d9e0e8);
  background: #fff;
  color: var(--v400-navy, #173253);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  user-select: none;
}

.ets-check:hover {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf9f2;
}

.ets-check:has(input:checked) {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf6e8;
}

.ets-check span {
  flex: 1;
  line-height: 1.3;
}

/* WPForms — radio e checkbox (garantia extra) */
.wpforms-container .wpforms-field-radio label,
.wpforms-container .wpforms-field-checkbox label {
  display: flex;
  align-items: center;
  padding: 13px 18px;
  border-radius: 12px;
  border: 1.5px solid var(--v400-line, #dde4ec);
  background: #fff;
  color: var(--v400-navy, #173253);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s, background .15s;
  margin: 0;
  width: 100%;
  box-sizing: border-box;
}

.wpforms-container .wpforms-field-radio label:hover,
.wpforms-container .wpforms-field-checkbox label:hover {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf9f2;
}

.wpforms-container .wpforms-field-radio li.wpforms-selected label,
.wpforms-container .wpforms-field-checkbox li.wpforms-selected label {
  border-color: var(--v400-gold, #c9a96a);
  background: #fdf6e8;
}

.wpforms-container .wpforms-field-radio input,
.wpforms-container .wpforms-field-checkbox input {
  display: none !important;
}
