
/* ============================================================ base mobile */
:root{
  --gap:18px;
  --secao:44px;
  --mobile-header:61px;
  --mobile-rail:52px;
  --r-mobile:20px;
}
html{scroll-padding-top:calc(var(--mobile-header) + var(--mobile-rail) + var(--safe-top) + 12px)}
body{font-size:16px;line-height:1.55;background:var(--papel)}
.wrap{width:calc(100% - 2*var(--gap))}
h1{font-size:clamp(2.18rem,11.2vw,3rem)}
h2{font-size:clamp(1.82rem,8.6vw,2.35rem)}
h3{font-size:1.28rem}
.secao{padding-block:var(--secao)}
.secao--curta{padding-block:36px 48px}
.cab{margin-bottom:26px}
.cab--linha{gap:12px}
.intro{font-size:1rem;line-height:1.58}
.olho{margin-bottom:10px;font-size:.7rem;letter-spacing:.15em}
.cartao{padding:21px;border-radius:var(--r-mobile)}
.btn{min-height:50px;padding:13px 20px}

/* ============================================================ app shell */
.topo{padding-top:var(--safe-top);background:rgba(255,252,246,.96)}
.topo--escuro{background:rgba(14,61,71,.96)}
.topo__in{min-height:var(--mobile-header);padding-inline:max(0px,var(--safe-left)) max(0px,var(--safe-right))}
.marca{font-size:1.08rem;gap:8px}.marca__sinal{width:31px;height:31px}
.lingua{min-width:44px;min-height:44px;font-size:.74rem}
.hamb{width:44px;height:44px}
.gaveta__painel{
  width:100%;
  padding:max(18px,calc(var(--safe-top) + 12px)) max(var(--gap),var(--safe-right)) calc(24px + var(--safe-bottom)) max(var(--gap),var(--safe-left));
  animation:menuMobile .24s cubic-bezier(.2,.8,.2,1)
}
@keyframes menuMobile{from{transform:translateY(-18px);opacity:.35}to{transform:none;opacity:1}}
.gaveta__topo{margin-bottom:18px}
.gaveta__painel>a{min-height:58px;padding:14px 4px;font-size:1.28rem}
.gaveta__painel>a[aria-current=page]{color:var(--ambar)}
.gaveta__painel>a[aria-current=page]::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ambar);margin-right:10px}
.gaveta__cta{margin-top:auto;padding-top:18px}

/* ============================================================ contextual rails */
.jornada-mobile{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;position:sticky;
  top:calc(var(--mobile-header) + var(--safe-top));z-index:42;
  min-height:var(--mobile-rail);padding:7px var(--gap);
  background:rgba(255,252,246,.96);border-bottom:1px solid var(--linha);backdrop-filter:blur(12px);
  scroll-padding-inline:var(--gap)
}
.jornada-mobile::-webkit-scrollbar{display:none}
.jornada-mobile a{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:8px 14px;
  border:1px solid var(--linha);border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:700;background:#fff}

/* ============================================================ bottom action dock */
.barra{
  left:max(10px,var(--safe-left));right:max(10px,var(--safe-right));bottom:max(9px,var(--safe-bottom));
  padding:8px;background:rgba(255,252,246,.97);border:1px solid rgba(14,61,71,.14);
  border-radius:21px;box-shadow:0 14px 44px rgba(10,34,41,.22)
}
.barra .btn{width:100%;min-height:50px;font-size:.95rem}
body[data-page="home"] .barra,
body[data-page="guides"] .barra,
body[data-page="privacy"] .barra,
body[data-page="credits"] .barra,
body[data-page="error"] .barra{display:none!important}

/* ============================================================ hero mobile */
.capa__vel{background:linear-gradient(180deg,rgba(10,34,41,.74),rgba(10,34,41,.67) 38%,rgba(10,34,41,.96))}
.capa--home{min-height:calc(100svh - var(--mobile-header) - var(--safe-top));display:flex;align-items:flex-end}
.capa--home .capa__in{padding-block:34px 26px;width:100%}
.capa--home h1{font-size:clamp(2.3rem,12.2vw,3.2rem);margin:12px 0 13px}
.capa--home .capa__texto{font-size:.98rem;line-height:1.5;margin-bottom:18px;max-width:35ch}
.capa--curta{min-height:auto}
.capa--curta .capa__in{padding-top:44px;padding-bottom:38px}
.capa--curta h1{font-size:clamp(2.15rem,10.8vw,2.85rem);margin:12px 0 14px}
.capa__texto{font-size:1rem;line-height:1.52;margin-bottom:20px}
.capa__acoes{gap:10px}.capa__acoes .btn{width:100%}

/* duas portas viram uma escolha touch propria */
.heroi-portas{
  display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin:18px calc(-1*var(--gap)) 0;padding:0 var(--gap) 5px;max-width:none
}
.heroi-portas::-webkit-scrollbar{display:none}
.hporta{flex:0 0 86%;scroll-snap-align:start;min-height:122px;padding:17px 54px 17px 18px;border-radius:18px}
.hporta__tit{font-size:1.23rem}.hporta__sub{font-size:.82rem;line-height:1.35}
.hporta__seta{width:40px;height:40px;right:12px}

/* cards de fatos do hero do proprietario */
body[data-page="owners"] .capa__dados{
  display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin:26px calc(-1*var(--gap)) 0;padding:20px var(--gap) 3px
}
body[data-page="owners"] .capa__dados::-webkit-scrollbar{display:none}
body[data-page="owners"] .dado{flex:0 0 73%;scroll-snap-align:start;border:1px solid var(--linha-esc);
  border-radius:16px;padding:15px;background:rgba(10,34,41,.35)}
body[data-page="owners"] .dado b{font-size:1.18rem}
body[data-page="owners"] .dado span{font-size:.8rem}

/* ============================================================ explorer lista/mapa */
.tela{padding:24px 0 30px}
.tela__cab{display:grid;gap:10px;margin-bottom:16px}
.tela__cab h1,.tela__cab h2{font-size:1.9rem!important}
.tela__nota{font-size:.88rem;line-height:1.45}
.tela__alternador{
  display:grid;grid-template-columns:1fr 1fr;gap:4px;position:sticky;
  top:calc(var(--mobile-header) + var(--safe-top));z-index:40;
  margin:0 0 14px;padding:4px;border:1px solid var(--linha);border-radius:16px;
  background:rgba(255,252,246,.97);box-shadow:var(--sombra-s);backdrop-filter:blur(12px)
}
.alterna__bt{min-height:44px;border:0;border-radius:12px;background:transparent;color:var(--tinta-60);
  font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.alterna__bt[aria-pressed=true]{background:var(--atlantico);color:var(--areia);box-shadow:var(--sombra-s)}
.tela__grid{display:block}
.tela__grid[data-view="list"] .tela__mapa{display:none}
.tela__grid[data-view="map"] .tela__lista{display:none}
.tela__lista{gap:10px}
.lcard{grid-template-columns:76px minmax(0,1fr) 44px;gap:11px;padding:7px 8px 7px 7px;border-radius:16px;box-shadow:none}
.lcard__foto{width:76px;height:76px}
.lcard__bairro{font-size:1.1rem}.lcard__chamada{font-size:.84rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lcard__meta{font-size:.66rem}.lcard__seta{width:44px;height:44px}
.lcard:hover,.lcard--on{transform:none}
.tela__mapa{height:calc(100dvh - var(--mobile-header) - 150px);min-height:430px;max-height:680px;border-radius:18px}
.tela__mapa .mpo{position:absolute}
.mpop{left:8px;right:8px;bottom:8px;width:auto;max-height:calc(100% - 16px);overflow-y:auto;padding:14px;border-radius:18px}
.mpop__topo{padding-right:42px}.mpop__x{top:6px;right:6px}
.mpop__l{min-height:30px}.mpop__nota{font-size:.69rem}
.tela>.wrap>.proveniencia{font-size:.72rem;line-height:1.45}

/* ============================================================ horizontal discovery */
body[data-page="home"] .grade--3,
body[data-page="experiences"] .grade--3,
body[data-page="owners"] #criterios .grade--2{
  display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin-inline:calc(-1*var(--gap));padding-inline:var(--gap);padding-bottom:6px
}
body[data-page="home"] .grade--3::-webkit-scrollbar,
body[data-page="experiences"] .grade--3::-webkit-scrollbar,
body[data-page="owners"] #criterios .grade--2::-webkit-scrollbar{display:none}
body[data-page="home"] .grade--3>.cartao,
body[data-page="experiences"] .grade--3>.cartao,
body[data-page="owners"] #criterios .grade--2>.cartao{flex:0 0 84%;scroll-snap-align:start}

/* conteudo nunca fica invisivel por depender de scroll no mobile */
.rev{opacity:1;transform:none}

/* ============================================================ neighbourhood detail */
body[data-page="neighbourhood"] #visao-bairro{padding-top:26px!important;padding-bottom:20px}
body[data-page="neighbourhood"] #visao-bairro .cab{margin-bottom:12px}
body[data-page="neighbourhood"] #visao-bairro .cab--linha>div:last-child{
  padding:14px;border:1px solid rgba(196,71,42,.28);border-radius:16px;background:#FFF4ED
}
body[data-page="neighbourhood"] #visao-bairro .aviso-pre{display:flex;background:transparent;color:#8E311D;border:0;padding:0}
body[data-page="neighbourhood"] #visao-bairro .selo-breve{border:0;background:transparent;padding:3px 0;color:#8E311D;min-height:0}
.tira{gap:10px;margin-right:calc(-1*var(--gap));padding-right:var(--gap);scrollbar-width:none}
.tira::-webkit-scrollbar{display:none}
.tira>*{flex-basis:88%;border-radius:18px}
.tira .foto img{aspect-ratio:4/3}
.carousel-status{display:flex;align-items:center;justify-content:center;min-height:32px;margin-top:5px;
  font-size:.78rem;font-weight:700;color:var(--tinta-60)}
.video{border-radius:18px}.video__play span{padding:12px 17px;font-size:.9rem}
.mpb{border-radius:18px}.mpb__svg{aspect-ratio:1/1}
body[data-page="neighbourhood"] .grade--2{gap:18px!important}

/* mobile-only accordions while desktop keeps the same content expanded */
.m-fold{border:1px solid var(--linha);border-radius:16px;background:var(--papel);overflow:hidden}
.m-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:15px 17px;cursor:pointer;list-style:none}
.m-fold>summary::-webkit-details-marker{display:none}
.m-fold>summary::after{content:"+";flex:none;font-size:1.35rem;color:var(--coral-esc)}
.m-fold[open]>summary::after{content:"\2212"}
.m-fold>summary h3,.m-fold>summary h4{font-size:1.08rem;margin:0}
.m-fold__corpo{padding:0 17px 18px}
.m-fold--calc{margin-top:14px;background:#fff}

/* ============================================================ owner simulator */
body[data-page="owners"] #simulador{padding-top:38px}
body[data-page="owners"] #simulador .cab{margin-bottom:22px}
.calc{border-radius:20px;box-shadow:0 14px 34px rgba(10,34,41,.11)}
.calc__grade{display:flex;flex-direction:column}
.calc__essenciais{order:0;padding:20px 18px 14px}
.calc__saida{order:1;padding:22px 18px}
.calc__refinar{order:2;margin:0;border:0;border-radius:0;background:var(--papel)}
.calc__refinar>summary{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);border-radius:0;padding:16px 18px}
.calc__refinar>.calc__campos{padding:18px}
.campo{margin-bottom:16px}.campo input,.campo select{min-height:50px}
.dupla{grid-template-columns:1fr}
.resultado__num{font-size:2.55rem}.resultado__sub{font-size:.87rem}
.quebra li{font-size:.86rem;gap:10px}
.cenario{padding:10px 4px}.cenario b{font-size:.94rem}
.barra-c__rot{font-size:.8rem}
.proveniencia{line-height:1.48}
.passos{position:sticky;top:calc(var(--mobile-header) + var(--safe-top));z-index:20;background:var(--areia);padding-top:8px}

/* ============================================================ content density */
.lista-preco li{gap:10px}.lista-preco .valor{font-size:1rem}
.precos{gap:14px}
.checks{gap:11px}.checks li{font-size:.94rem}
.passos-n li{grid-template-columns:42px 1fr;gap:13px}.passos-n li::before{width:42px;height:42px}
.faq summary{padding-block:18px;font-size:1rem}
.rolagem{margin-inline:calc(-1*var(--gap));padding-inline:var(--gap)}
.tab{min-width:620px}

/* ============================================================ contact */
body[data-page="contact"] .grade--2{gap:14px!important}
body[data-page="contact"] .porta{min-height:0;border-radius:18px}
body[data-page="contact"] .porta__corpo{padding:20px}
.chip-assunto{font-size:.82rem;padding-inline:13px}

/* ============================================================ footer */
.rodape{padding-block:38px calc(25px + var(--safe-bottom))}
.rodape__grade{gap:21px}
.rodape__grade>div:first-child{padding-bottom:8px}
.rodape__grupo{border-top:1px solid var(--linha-esc)}
.rodape__grupo>summary{display:flex;align-items:center;justify-content:space-between;min-height:54px;cursor:pointer;list-style:none}
.rodape__grupo>summary::-webkit-details-marker{display:none}
.rodape__grupo>summary::after{content:"+";font-size:1.3rem;color:var(--ambar)}
.rodape__grupo[open]>summary::after{content:"\2212"}
.rodape__grupo h4{margin:0}
.rodape__grupo ul{padding-bottom:16px}
.rodape__grupo a{display:flex;align-items:center;min-height:42px}
.rodape__fim{margin-top:22px;padding-top:18px}
.creditos{line-height:1.55}

/* ============================================================ compact devices */
@media(max-width:359px){
  :root{--gap:14px}
  h1{font-size:2.08rem}.capa--home h1{font-size:2.2rem}
  .hporta{flex-basis:91%}
  .lcard{grid-template-columns:66px minmax(0,1fr) 42px;gap:8px}.lcard__foto{width:66px;height:70px}
  .lcard__meta{display:none}
  .resultado__num{font-size:2.25rem}
  .cenarios{gap:5px}.cenario b{font-size:.84rem}
  .barra{left:7px;right:7px}
}

@media(prefers-reduced-motion:reduce){
  .heroi-portas,.tira,.jornada-mobile,body[data-page="owners"] .capa__dados{scroll-behavior:auto}
}
