/* =========================================================================
   12 — A&F IMOBILIÁRIA  (escopo: body.page-imobiliaria e body.page-imovel)
   Linguagem própria de plataforma de ativos comerciais: clara, arejada,
   informativa. Distinta da Home (cinematográfica) e dos Serviços (consultoria).
   Todas as regras escopadas — não afeta outras páginas.
   ========================================================================= */

/* ---- Hero um pouco mais forte ---- */
.page-imobiliaria .page-hero{min-height:560px}
.page-imobiliaria .page-hero h1{max-width:17ch}

/* ---- Barra de stats (sobrepõe o fim do hero -> cara de plataforma) ---- */
.estate-bar{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:clamp(-46px,-3.4vw,-30px) auto clamp(8px,1.4vw,18px);background:var(--color-line);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-premium)}
.estate-bar__stat{display:flex;flex-direction:column;gap:3px;padding:18px 22px;background:#fff}
.estate-bar__stat strong{font-family:var(--font-title);font-weight:800;font-size:1.22rem;line-height:1;color:var(--color-graphite)}
.estate-bar__stat span{font-size:.76rem;color:var(--color-muted)}
@media (max-width:760px){.estate-bar{grid-template-columns:1fr 1fr}}

/* ---- Listagem + filtros ---- */
.estate-listing{position:relative}
.estate-listing>*{position:relative;z-index:1}
.page-imobiliaria .filters{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin:clamp(16px,2vw,26px) 0 clamp(20px,2.4vw,30px)}
.page-imobiliaria .filters button{border:1px solid var(--color-line);background:#fff;border-radius:999px;padding:9px 16px;font-weight:700;font-size:.84rem;color:var(--color-muted);transition:background .3s var(--aef-ease),border-color .3s var(--aef-ease),color .3s var(--aef-ease)}
.page-imobiliaria .filters button:hover{border-color:rgba(245,154,35,.5);color:var(--color-graphite)}
.page-imobiliaria .filters button.is-active{background:var(--color-graphite);border-color:var(--color-graphite);color:#fff}

.estate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2vw,28px)}
@media (max-width:980px){.estate-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.estate-grid{grid-template-columns:1fr}}
.estate-grid [data-filter-item].is-filter-hidden{opacity:0;transform:translateY(10px);transition:opacity .26s var(--aef-ease),transform .26s var(--aef-ease)}

/* ---- Card de imóvel/ativo (premium, claro, info-rico) ---- */
.estate-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 14px 38px rgba(5,6,7,.07);transition:transform .4s var(--aef-ease),box-shadow .4s var(--aef-ease),border-color .4s var(--aef-ease)}
.estate-card:hover{transform:translateY(-6px);box-shadow:0 32px 70px rgba(5,6,7,.14);border-color:rgba(245,154,35,.45)}
.estate-card__media{position:relative;display:block;height:212px;overflow:hidden}
.estate-card__media img{width:100%;height:100%;object-fit:cover;background:#0b0c0f;transition:transform .8s var(--aef-ease)}
.estate-card:hover .estate-card__media img{transform:scale(1.06)}
.estate-card__media-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,7,.06),rgba(5,6,7,0) 32%,rgba(5,6,7,.46))}
.estate-card__type{position:absolute;top:14px;left:14px;z-index:2;padding:6px 12px;border-radius:8px;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#1d1203;background:linear-gradient(135deg,var(--color-orange),#ffb24a);box-shadow:0 8px 20px rgba(245,154,35,.32)}
.estate-card__status{position:absolute;bottom:12px;left:14px;z-index:2;padding:5px 12px;border-radius:999px;font-size:.72rem;font-weight:700;color:#fff;background:rgba(8,10,14,.55);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.estate-card__body{display:flex;flex-direction:column;gap:9px;padding:20px;flex:1}
.estate-card__title{margin:0;font-family:var(--font-title);font-weight:700;font-size:1.12rem;line-height:1.18;color:var(--color-graphite)}
.estate-card__title a{color:inherit;text-decoration:none}
.estate-card__loc{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.88rem;color:var(--color-muted)}
.estate-card__loc .icon{color:var(--color-orange-dark)}
.estate-card__specs{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.estate-card__specs li{font-size:.73rem;font-weight:700;color:var(--color-steel);background:var(--color-offwhite);border:1px solid var(--color-line);border-radius:7px;padding:4px 9px}
.estate-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid var(--color-line)}
.estate-card__price{font-family:var(--font-title);font-weight:800;font-size:1.02rem;color:var(--color-graphite)}
.estate-card__cta{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:.82rem;color:var(--color-orange-dark);text-decoration:none;white-space:nowrap}
.estate-card__cta .icon{transition:transform .3s var(--aef-ease)}
.estate-card:hover .estate-card__cta .icon{transform:translateX(4px)}

/* ---- Detalhe do imóvel ---- */
.estate-detail{display:grid;grid-template-columns:1.55fr .9fr;gap:clamp(24px,3vw,46px);align-items:start}
.estate-detail__main h2{margin:0 0 16px}
.estate-ficha{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--color-line);border:1px solid var(--color-line);border-radius:var(--radius-md);overflow:hidden}
.estate-ficha__row{display:flex;flex-direction:column;gap:3px;padding:15px 18px;background:#fff}
.estate-ficha__label{font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-orange-dark)}
.estate-ficha__value{font-family:var(--font-title);font-weight:700;color:var(--color-graphite)}
.estate-detail__features{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.estate-detail__features li{position:relative;padding-left:26px;color:var(--color-text);line-height:1.5}
.estate-detail__features li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:2px;background:var(--color-orange)}
.estate-aside{position:sticky;top:100px;display:grid;gap:12px;padding:26px;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,var(--color-cream));border:1px solid var(--color-line);box-shadow:var(--shadow-premium)}
.estate-aside__label{font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--color-orange-dark)}
.estate-aside__price{font-family:var(--font-title);font-weight:800;font-size:1.5rem;color:var(--color-graphite);line-height:1}
.estate-aside__note{font-size:.84rem;color:var(--color-muted);line-height:1.5;margin:0}
.estate-aside .btn{width:100%}

/* galeria organizada (1ª maior em telas largas) */
.estate-gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:10px}
.estate-gallery a{display:block;position:relative;border-radius:var(--radius-md);overflow:hidden}
.estate-gallery a:first-child{grid-column:span 2;grid-row:span 2}
.estate-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--aef-ease)}
.estate-gallery a:hover img{transform:scale(1.05)}

@media (max-width:980px){
  .estate-detail{grid-template-columns:1fr}
  .estate-aside{position:static}
}
@media (max-width:620px){
  .estate-ficha{grid-template-columns:1fr}
  .estate-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:130px}
  .estate-gallery a:first-child{grid-column:span 2;grid-row:span 1}
}
