/* btre/static/css/redesign/base.css */
body.tq-redesign{
  font-family:var(--tq-font-sans);
  background:var(--tq-cream);
  color:var(--tq-ink);
}
/* Neutralize the legacy 1200px wrapper so navy bands run full-bleed (_base.css:34). */
body.tq-redesign .container-wide{max-width:none;width:100%;padding:0;margin:0;}
body.tq-redesign h1,body.tq-redesign h2,body.tq-redesign h3,
body.tq-redesign h4,.tq-serif{font-family:var(--tq-font-serif);}

.tq-container{max-width:var(--tq-maxw);margin:0 auto;padding:0 20px;}
@media (min-width:1024px){.tq-container{padding:0 40px;}}
.tq-section{width:100%;}

/* Mobile: leave room for the fixed bottom tab bar (present on all non-detail pages). */
@media (max-width:1023.98px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
  body.tq-no-tabs{padding-bottom:0;}
}

.tq-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Guarda contra deslize lateral (vale para o site inteiro) ─────────────
   Rede de segurança, não substituto de corrigir a causa: cada vazamento real
   é tratado no seu próprio componente. Usamos `clip` e não `hidden` porque
   `hidden` criaria um contêiner de rolagem e quebraria todo `position:sticky`
   do site — nav do topo, coluna de CTAs do detalhe e os cabeçalhos das telas
   legadas. */
html{overflow-x:clip;}
body{max-width:100%;}

/* Texto sem espaço (URL, código do imóvel, e-mail) não pode empurrar o layout. */
a,p,li,dd,td,th,figcaption,blockquote{overflow-wrap:break-word;}

/* Telas legadas: abas fixadas em `flex-nowrap` e tabelas largas passam a rolar
   dentro de si em vez de arrastar a página. */
.nav.flex-nowrap{overflow-x:auto;}
table{max-width:100%;}

/* Motion — staggered entrance on load (--d) and reveal on scroll ([data-tq-reveal]).
   chrome.js adds .is-in once the element enters the viewport; without JS everything
   stays visible because the hidden state only applies via .tq-js on <html>. */
@keyframes tq-rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.tq-anim{animation:tq-rise .6s cubic-bezier(.22,.61,.36,1) both;animation-delay:var(--d,0ms);}
.tq-js [data-tq-reveal]{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s cubic-bezier(.22,.61,.36,1);}
.tq-js [data-tq-reveal].is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .tq-anim{animation:none;}
  .tq-js [data-tq-reveal]{opacity:1;transform:none;transition:none;}
}
