/* Telas de imóveis — complementa gestao.css (mesmos tokens). */

/* ── Lista ── */
.im-lista { display: flex; flex-direction: column; gap: var(--s-4); }
.im-cartao { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-3); }
.im-cartao .imovel-card { align-items: flex-start; }
.im-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.im-numeros { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-3); margin-top: var(--s-1); font-size: .8125rem; color: var(--text-muted); letter-spacing: .005em; }
.im-numeros > span { display: inline-flex; align-items: center; gap: 4px; }
.im-numeros .num { color: var(--text); font-weight: 600; }
.im-numeros small { font-weight: 500; color: var(--text-muted); }
.im-rodape { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.im-rodape .pill .ico { margin-right: 1px; }
.im-erro { flex-basis: 100%; overflow-wrap: anywhere; }
.im-inativo { opacity: .78; }
.im-inativos .grade-auto { margin-top: var(--s-2); }
.imovel-card img.com-lqip { background-size: cover; background-position: center; }
.imovel-card .sem-foto { display: grid; place-items: center; }

/* ── Editor ── */
.ed .secoes-nav { top: 0; }
.ed .secoes-nav .secao-link {
  flex: none; min-height: 2.25rem; display: inline-flex; align-items: center; padding: 0 var(--s-3);
  border-radius: var(--r-pill); border: 0; background: var(--surface-2); color: var(--text);
  font-size: .8125rem; font-weight: 600; white-space: nowrap; transition: transform var(--t-press) var(--ease-out);
}
.ed .secoes-nav .secao-link:active { transform: scale(.96); }
@media (hover: hover) and (pointer: fine) { .ed .secoes-nav .secao-link:hover { background: var(--accent-suave); color: var(--accent-text); } }
@media (hover: none) and (pointer: coarse) { .ed .secoes-nav .secao-link { min-height: 2.75rem; } }
.ed-corpo { display: flex; flex-direction: column; gap: var(--s-6); }
/* A âncora não fica escondida atrás da barra de seções grudada. */
.ed-secao { scroll-margin-top: 4rem; }
.ed-sub { margin-top: calc(var(--s-1) * -1); }
.ed-alinhar { align-items: end; }
.ed-alinhar .campo-check { min-height: 2.75rem; }
.ed-add { display: flex; gap: var(--s-2); }
.ed-add .entrada { flex: 1; min-width: 0; }

/* Política de cancelamento */
.faixa-politica { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 2.75rem; gap: var(--s-2); align-items: center; max-width: 34rem; }
.faixa-politica .entrada { min-width: 0; font-variant-numeric: tabular-nums; }
.faixa-politica .btn-ico { margin-bottom: 0; }
.ed-previa-caixa { background: var(--surface-2); border-radius: var(--r-campo); padding: var(--s-3); display: flex; flex-direction: column; gap: var(--s-1); }
.ed-previa { margin: 0; padding-left: 1.1rem; font-size: .875rem; display: flex; flex-direction: column; gap: 2px; }

/* Fotos */
.fotos-grade .foto-item img { background-size: cover; background-position: center; }
.fotos-grade .foto-alca { left: auto; right: var(--s-1); bottom: var(--s-1); box-shadow: var(--elev-1); }
.fotos-grade .foto-leg { padding-right: 3rem; }
.fotos-grade .foto-item.arrastando { transform: scale(.96); transition: transform var(--t-press) var(--ease-out); }
.fotos-grade .foto-erro .btn { color: var(--text); }
.upload-alvo { position: relative; }
.upload-alvo small { font-weight: 500; }
.ed-camera { position: relative; cursor: pointer; }
.ed-foto-grande { width: 100%; max-height: 42dvh; object-fit: contain; border-radius: var(--r-campo); background: var(--surface-2) center / cover no-repeat; }

/* Tarifas */
.ed-encerrada .item-titulo, .ed-encerrada .item-sub { opacity: .7; }
.ed-dias .chip { min-width: 2.75rem; justify-content: center; }
.ed-dias .chip[aria-pressed="true"]::before { content: none; }

/* Rodapé das sheets do editor: excluir à esquerda, salvar à direita */
.ed-rodape-sheet { justify-content: space-between; }

/* Airbnb */
.ed-url { display: flex; gap: var(--s-2); align-items: stretch; }
.ed-url .codigo { flex: 1; min-width: 0; display: flex; align-items: center; }
.ed-url .btn { flex: none; align-self: center; }
.ed-cal { display: flex; flex-direction: column; gap: var(--s-2); padding: var(--s-3) var(--s-4); }
.ed .lista + .passos, .ed .pilha-p + .passos { margin-top: var(--s-1); }
.ed input.entrada[aria-invalid="true"] { border-color: var(--danger); }


@media (max-width: 420px) {
  .ed-url { flex-direction: column; }
  .ed-url .btn { align-self: flex-start; }
}
.ed-meio { max-width: calc(50% - var(--s-3) / 2); }
@media (max-width: 359px) { .ed-meio { max-width: none; } }
@media (min-width: 1024px) { .ed .secoes-nav { flex-wrap: wrap; overflow: visible; } }
.ed-faixa-cab { font-size: .8125rem; font-weight: 600; color: var(--text-muted); letter-spacing: .005em; align-items: end; }
.ed-faixa-cab span:last-child { width: 2.75rem; }
.ed-sufixo-dias input { padding-right: 3.25rem; }
/* Barra de salvar do editor: o resumo corta com reticências; no imóvel novo, quebra. */
.ed .barra-salvar > span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ed .barra-salvar.ed-barra-novo > span { white-space: normal; }
.ed .campos-contrato { margin-top: var(--s-1); }
@media (min-width: 1024px) { .ed-secao { scroll-margin-top: 7.5rem; } }
