/* ===========================================================================
   MUVIDARA — Folha de estilo do site público
   Paleta: azul-marinho #0E1B3A + dourado #C9A24B sobre fundo claro
   =========================================================================== */

:root{
  /* Cores da marca */
  --marinho:#0E1B3A;
  --marinho-claro:#1B2F5C;
  --marinho-tinta:#070F22;
  --dourado:#C9A24B;
  --dourado-escuro:#8A6B2C;
  --dourado-suave:#F3EAD6;
  --marinho-logo:#021A37;   /* fundo do logótipo oficial: header */
  --claro-menu:#F4F1EA;     /* links sobre o marinho do header */

  /* Neutros */
  --branco:#FFFFFF;
  --areia:#F7F7F4;
  --linha:#E3E5EA;
  --texto:#1A1F2B;
  --texto-suave:#5C6478;

  /* Estados */
  --disponivel:#2F7D54;
  --reservado:#B8860B;
  --vendido:#8A8F9C;
  --erro:#B3261E;

  /* Tipografia */
  --serif:Georgia,'Iowan Old Style','Times New Roman',Times,serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;

  /* Medidas */
  --largura:1200px;
  --largura-media:900px;
  --largura-estreita:680px;
  --gutter:1.25rem;
  --raio:4px;
  --sombra:0 1px 2px rgba(14,27,58,.05),0 8px 24px rgba(14,27,58,.06);
  --sombra-forte:0 4px 12px rgba(14,27,58,.10),0 16px 40px rgba(14,27,58,.10);
  --transicao:180ms ease;
}

/* --------------------------------- Base ---------------------------------- */
*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

body{
  margin:0;
  font-family:var(--sans);
  font-size:1.0625rem;
  line-height:1.7;
  color:var(--texto);
  background:var(--branco);
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{font-family:var(--serif);font-weight:400;color:var(--marinho);line-height:1.22;letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(2rem,1.3rem + 2.9vw,3.25rem)}
h2{font-size:clamp(1.6rem,1.2rem + 1.7vw,2.25rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

a{color:var(--marinho);text-decoration-color:rgba(201,162,75,.6);text-underline-offset:.2em;transition:color var(--transicao)}
a:hover{color:var(--dourado-escuro)}

img,svg,iframe{max-width:100%}
img{height:auto;display:block}
ul,ol{margin:0 0 1.1em;padding-left:1.25rem}
li{margin-bottom:.35em}
address{font-style:normal}
hr{border:0;border-top:1px solid var(--linha);margin:2.5rem 0}

:focus-visible{outline:3px solid var(--dourado);outline-offset:2px;border-radius:2px}

.visualmente-escondido{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.saltar-conteudo{position:absolute;left:-9999px;top:0;z-index:999;background:var(--marinho);color:#fff;padding:.75rem 1.25rem}
.saltar-conteudo:focus{left:0}

/* Campo isco do anti-spam: escondido de pessoas, visível para robôs */
.campo-isco{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.envolver{width:100%;max-width:var(--largura);margin-inline:auto;padding-inline:var(--gutter)}
.envolver-medio{max-width:var(--largura-media)}
.envolver-estreito{max-width:var(--largura-estreita)}

.seccao{padding-block:clamp(3rem,2rem + 4vw,5.5rem)}
.seccao-clara{background:var(--areia)}

.sobretitulo{
  font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--dourado-escuro);margin:0 0 .75rem;
}
.seccao-cabecalho{max-width:46rem;margin:0 auto clamp(2rem,1.5rem + 2vw,3rem);text-align:center}
.seccao-cabecalho-esquerda{margin-inline:0;text-align:left}
.seccao-texto{color:var(--texto-suave);font-size:1.0625rem}
.seccao-acao{text-align:center;margin-top:2.5rem}
.nota,.passo-nota{font-size:.875rem;color:var(--texto-suave)}

/* -------------------------------- Botões ---------------------------------- */
.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--sans);font-size:.9375rem;font-weight:600;letter-spacing:.02em;
  padding:.85rem 1.75rem;border:1.5px solid transparent;border-radius:var(--raio);
  text-decoration:none;cursor:pointer;transition:all var(--transicao);min-height:48px;
}
.botao svg{width:20px;height:20px;fill:currentColor}
.botao-dourado{background:var(--dourado);color:var(--marinho-tinta);border-color:var(--dourado)}
.botao-dourado:hover{background:var(--dourado-escuro);border-color:var(--dourado-escuro);color:#fff}
.botao-marinho{background:var(--marinho);color:#fff;border-color:var(--marinho)}
.botao-marinho:hover{background:var(--marinho-claro);border-color:var(--marinho-claro);color:#fff}
.botao-contorno{background:transparent;color:var(--marinho);border-color:var(--marinho)}
.botao-contorno:hover{background:var(--marinho);color:#fff}
.botao-claro{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.botao-claro:hover{background:#fff;color:var(--marinho);border-color:#fff}
.botao-whatsapp{background:#1d8a4f;color:#fff;border-color:#1d8a4f}
.botao-whatsapp:hover{background:#166b3d;border-color:#166b3d;color:#fff}
.botao-bloco{display:flex;width:100%}
.botao-pequeno{padding:.55rem 1rem;font-size:.875rem;min-height:40px}

.ligacao-seta{
  display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9375rem;
  color:var(--dourado-escuro);text-decoration:none;
}
.ligacao-seta span{transition:transform var(--transicao)}
.ligacao-seta:hover span{transform:translateX(4px)}
.ligacao-clara{color:var(--dourado)}

/* -------------------------------- Cabeçalho ------------------------------- */
/* O fundo do header é o azul-marinho do próprio logótipo (#021A37), para que o
   logótipo — com fundo transparente — pareça desenhado em conjunto com a faixa. */
.cabecalho{background:var(--marinho-logo);border-bottom:1px solid rgba(201,162,75,.28);position:sticky;top:0;z-index:100}
.cabecalho-interior{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:92px}

.marca{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}
.marca-logo{display:block;height:74px;width:auto;max-width:none}

.navegacao{display:flex;align-items:center}
.navegacao ul{display:flex;align-items:center;gap:1.6rem;list-style:none;margin:0;padding:0}
.navegacao li{margin:0}
.navegacao a{
  font-size:.875rem;font-weight:600;color:var(--claro-menu);text-decoration:none;
  padding:.4rem 0;border-bottom:2px solid transparent;white-space:nowrap;
}
.navegacao a:hover,.navegacao a.ativo{color:var(--dourado);border-bottom-color:var(--dourado)}

.botao-menu{display:none;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:0;background:none;border:0;cursor:pointer}
.botao-menu span{display:block;height:2px;width:26px;background:var(--claro-menu);transition:transform var(--transicao),opacity var(--transicao)}
.botao-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.botao-menu[aria-expanded="true"] span:nth-child(2){opacity:0}
.botao-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:1060px){
  .cabecalho-interior{min-height:76px}
  .marca-logo{height:56px}
  .botao-menu{display:flex}
  .navegacao{
    position:absolute;top:100%;left:0;right:0;background:var(--marinho-logo);
    border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(201,162,75,.28);
    flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gutter) 1.25rem;
    box-shadow:0 18px 40px rgba(0,0,0,.35);display:none;
  }
  .navegacao.aberta{display:flex}
  .navegacao ul{flex-direction:column;align-items:stretch;gap:0}
  .navegacao li{border-bottom:1px solid rgba(255,255,255,.09)}
  .navegacao li:last-child{border-bottom:0}
  .navegacao a{display:block;padding:.95rem 0;border-bottom:0;font-size:1rem}
}
@media (max-width:480px){
  .cabecalho-interior{min-height:68px}
  .marca-logo{height:48px}
}

/* ---------------------------------- Hero ---------------------------------- */
.hero{position:relative;background:var(--marinho);color:#fff;overflow:hidden;isolation:isolate}
.hero-fundo{
  position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(900px 480px at 82% 12%,rgba(201,162,75,.20),transparent 62%),
    linear-gradient(160deg,var(--marinho) 0%,var(--marinho-claro) 58%,var(--marinho-tinta) 100%);
}
.hero-fundo::after{
  content:"";position:absolute;inset:0;opacity:.09;
  background-image:linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 72%);
  mask-image:linear-gradient(to bottom,#000,transparent 72%);
}
/* Fotografia no hero: camada marinho por cima para garantir a leitura do texto.
   A intensidade do véu vem de três variáveis (início, meio, fim do gradiente),
   que podem ser afinadas por fotografia com style="--veu-a:…". */
.hero-fundo-foto{
  --veu-a:.86;--veu-b:.72;--veu-c:.36;
  background:
    linear-gradient(100deg,rgba(7,15,34,var(--veu-a)) 0%,rgba(14,27,58,var(--veu-b)) 45%,rgba(14,27,58,var(--veu-c)) 100%),
    var(--foto-m) center/cover no-repeat,
    var(--marinho);
}
.hero-fundo-foto::after{display:none}
@media (min-width:900px){
  .hero-fundo-foto{
    --veu-a:.86;--veu-b:.77;--veu-c:.22;
    background:
      linear-gradient(100deg,rgba(7,15,34,var(--veu-a)) 0%,rgba(14,27,58,var(--veu-b)) 42%,rgba(14,27,58,var(--veu-c)) 100%),
      var(--foto) center/cover no-repeat,
      var(--marinho);
  }
}
.hero-interior{padding-block:clamp(3.5rem,2.5rem + 6vw,7rem);max-width:56rem}
.hero-titulo{color:#fff;margin-bottom:1.1rem}
.hero-texto{font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);color:rgba(255,255,255,.95);max-width:40rem;margin-bottom:2.5rem}

.hero-caminhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;max-width:44rem}
.caminho{
  display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;text-decoration:none;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--raio);color:#fff;transition:all var(--transicao);backdrop-filter:blur(4px);
}
.caminho:hover{background:rgba(255,255,255,.13);border-color:var(--dourado);color:#fff;transform:translateY(-2px)}
.caminho-vender{background:var(--dourado);border-color:var(--dourado);color:var(--marinho-tinta)}
.caminho-vender:hover{background:var(--dourado-escuro);border-color:var(--dourado-escuro);color:#fff}
.caminho-icone{flex:0 0 40px;display:grid;place-items:center}
.caminho-icone svg{width:34px;height:34px}
.caminho-texto{display:flex;flex-direction:column;flex:1;line-height:1.35}
.caminho-texto strong{font-size:1.125rem;font-family:var(--serif);font-weight:400}
.caminho-texto em{font-style:normal;font-size:.8125rem;opacity:.8;margin-top:.2rem}
.caminho-seta{font-size:1.25rem;transition:transform var(--transicao)}
.caminho:hover .caminho-seta{transform:translateX(4px)}

/* ----------------------------- Cabeçalho de página ------------------------ */
.cabecalho-pagina{background:var(--marinho);color:#fff;padding-block:clamp(2.5rem,2rem + 3vw,4.5rem)}
.cabecalho-pagina h1{color:#fff}
.cabecalho-pagina-foto{
  --veu-a:.88;--veu-b:.76;--veu-c:.50;
  background:
    linear-gradient(90deg,rgba(7,15,34,var(--veu-a)) 0%,rgba(14,27,58,var(--veu-b)) 50%,rgba(14,27,58,var(--veu-c)) 100%),
    var(--foto-m) center/cover no-repeat,
    var(--marinho);
}
@media (min-width:900px){
  .cabecalho-pagina-foto{
    --veu-a:.86;--veu-b:.68;--veu-c:.26;
    background:
      linear-gradient(90deg,rgba(7,15,34,var(--veu-a)) 0%,rgba(14,27,58,var(--veu-b)) 48%,rgba(14,27,58,var(--veu-c)) 100%),
      var(--foto) center/cover no-repeat,
      var(--marinho);
  }
}
/* Para fotografias claras (ex.: telhados ao sol), onde o sobretítulo dourado
   precisa de mais véu — sobretudo em telemóvel, onde ocupa quase toda a largura. */
.cabecalho-foto-clara{--veu-a:.94;--veu-b:.88;--veu-c:.70}
@media (min-width:900px){.cabecalho-foto-clara{--veu-a:.93;--veu-b:.74;--veu-c:.30}}
.cabecalho-pagina .sobretitulo{color:var(--dourado)}
.cabecalho-pagina-texto{color:rgba(255,255,255,.82);max-width:44rem;font-size:1.0625rem}
.cabecalho-pagina-largo .cabecalho-pagina-texto{font-size:1.125rem}
.cabecalho-pagina-acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}

/* -------------------------------- Migalhas -------------------------------- */
.migalhas{background:var(--areia);border-bottom:1px solid var(--linha);font-size:.8125rem}
.migalhas ol{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:.7rem 0}
.migalhas li{margin:0;color:var(--texto-suave)}
.migalhas li+li::before{content:"›";margin-right:.5rem;opacity:.5}
.migalhas a{color:var(--texto-suave);text-decoration:none}
.migalhas a:hover{color:var(--dourado-escuro)}

/* -------------------------------- Filtros --------------------------------- */
.seccao-pesquisa{padding-block:2rem}
.filtros{background:#fff;border:1px solid var(--linha);border-top:3px solid var(--dourado);border-radius:var(--raio);padding:1.5rem;box-shadow:var(--sombra)}
.seccao-pesquisa:first-child .filtros,.hero+.seccao-pesquisa .filtros{margin-top:-3.5rem;position:relative;z-index:5;box-shadow:var(--sombra-forte)}
.filtros-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;align-items:end}
.campo{display:flex;flex-direction:column;gap:.4rem;min-width:0}
.campo label{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-suave)}
.campo input,.campo select,.campo textarea{
  font-family:var(--sans);font-size:1rem;color:var(--texto);background:#fff;
  border:1px solid var(--linha);border-radius:var(--raio);padding:.7rem .85rem;
  width:100%;min-height:48px;transition:border-color var(--transicao),box-shadow var(--transicao);
}
.campo textarea{min-height:8rem;resize:vertical;line-height:1.6}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--dourado);box-shadow:0 0 0 3px rgba(201,162,75,.18);outline:none}
.campo select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%235C6478' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:12px;padding-right:2.4rem}
.campo-duplo{display:flex;align-items:center;gap:.4rem}
.campo-duplo span{color:var(--texto-suave)}
.campo-acoes{flex-direction:row;align-items:center;gap:1rem}
.campo-acoes .botao{flex:1}
.filtros-limpar{font-size:.875rem;color:var(--texto-suave);text-decoration:none;white-space:nowrap}
.filtros-limpar:hover{color:var(--dourado-escuro)}

/* ---------------------------- Grelha de imóveis --------------------------- */
.grelha-imoveis{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:1.75rem}

.cartao-imovel{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transicao),box-shadow var(--transicao),border-color var(--transicao)}
.cartao-imovel:hover{transform:translateY(-3px);box-shadow:var(--sombra-forte);border-color:rgba(201,162,75,.5)}
.cartao-imagem{position:relative;display:block;aspect-ratio:4/3;background:var(--areia);overflow:hidden}
.cartao-imagem img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}
.cartao-imovel:hover .cartao-imagem img{transform:scale(1.04)}
.cartao-indisponivel .cartao-imagem img{filter:grayscale(.55) brightness(.94)}

.etiqueta{
  display:inline-block;font-family:var(--sans);font-size:.6875rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem;border-radius:2px;
}
.cartao-imagem .etiqueta{position:absolute;top:.85rem}
.etiqueta-negocio{left:.85rem;background:var(--marinho);color:#fff}
.cartao-imagem .etiqueta-estado{right:.85rem}
.etiqueta-tipo{background:var(--dourado-suave);color:#6E5312}
.etiqueta-estado{color:#fff}
.estado-disponivel{background:var(--disponivel)}
.estado-reservado{background:var(--reservado)}
.estado-vendido,.estado-arrendado{background:var(--vendido)}
.etiqueta-grande{font-size:.8125rem;padding:.5rem 1.1rem}

/* Carimbo de VENDIDO / ARRENDADO — bem visível sobre a fotografia */
.cartao-imagem .carimbo,.galeria-principal .carimbo{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-6deg);
  display:grid;place-items:center;
  font-family:var(--sans);font-size:.9375rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--dourado);background:rgba(2,26,55,.90);border:2px solid var(--dourado);
  padding:.6rem 1.6rem;border-radius:2px;box-shadow:0 6px 24px rgba(0,0,0,.3);
  white-space:nowrap;z-index:2;
}
.carimbo-grande{font-size:1.375rem;letter-spacing:.22em;padding:.9rem 2.6rem;border-width:3px}
@media (max-width:480px){.carimbo-grande{font-size:1rem;padding:.7rem 1.6rem}}
/* a foto escurece um pouco para o carimbo se destacar */
.cartao-indisponivel .cartao-imagem::after{content:"";position:absolute;inset:0;background:rgba(2,26,55,.28)}

.cartao-corpo{padding:1.25rem 1.35rem 1.35rem;display:flex;flex-direction:column;flex:1}
.cartao-local{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dourado-escuro);margin:0 0 .4rem}
.cartao-titulo{font-size:1.1875rem;margin:0 0 .75rem;line-height:1.3}
.cartao-titulo a{text-decoration:none;color:var(--marinho)}
.cartao-titulo a:hover{color:var(--dourado-escuro)}
.cartao-dados{display:flex;flex-wrap:wrap;gap:.5rem .9rem;list-style:none;margin:0 0 1rem;padding:0;font-size:.875rem;color:var(--texto-suave)}
.cartao-dados li{margin:0;position:relative}
.cartao-dados li+li::before{content:"·";position:absolute;left:-.55rem;opacity:.6}
.cartao-rodape{margin-top:auto;padding-top:1rem;border-top:1px solid var(--linha);display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}
.cartao-preco{font-family:var(--serif);font-size:1.375rem;color:var(--marinho);margin:0}
.preco-mes{font-family:var(--sans);font-size:.8125rem;color:var(--texto-suave);font-weight:600}
.cartao-referencia{font-size:.75rem;color:var(--texto-suave);margin:0;white-space:nowrap}

/* -------------------------------- Listagem -------------------------------- */
.listagem-barra{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--linha)}
.listagem-total{margin:0;color:var(--texto-suave);font-size:.9375rem}
.listagem-total strong{color:var(--marinho);font-size:1.125rem}
.listagem-ordem{display:flex;align-items:center;gap:.6rem}
.listagem-ordem label{font-size:.8125rem;color:var(--texto-suave);white-space:nowrap}
.listagem-ordem select{min-height:42px;padding:.45rem 2.2rem .45rem .75rem;font-size:.875rem;border:1px solid var(--linha);border-radius:var(--raio);background:#fff;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%235C6478' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:11px}

.paginacao{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:3rem}
.paginacao ol{display:flex;gap:.35rem;list-style:none;margin:0;padding:0}
.paginacao li{margin:0}
.paginacao a,.paginacao-atual{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 .6rem;border:1px solid var(--linha);border-radius:var(--raio);text-decoration:none;font-size:.9375rem;font-weight:600;color:var(--marinho)}
.paginacao a:hover{border-color:var(--dourado);color:var(--dourado-escuro)}
.paginacao-atual{background:var(--marinho);border-color:var(--marinho);color:#fff}
.paginacao-seta{font-size:.875rem}

.sem-resultados{text-align:center;padding:3.5rem 1.5rem;background:var(--areia);border:1px dashed var(--linha);border-radius:var(--raio)}
.sem-resultados-acoes{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.75rem}

/* ------------------------------ Duas áreas -------------------------------- */
.grelha-areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1.75rem}
.area{position:relative;background:#fff;border:1px solid var(--linha);border-top:3px solid var(--marinho);border-radius:var(--raio);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--transicao),transform var(--transicao)}
.area-imagem{width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--areia)}
.area-corpo{position:relative;padding:2rem 2rem 2.25rem;flex:1}
.area:hover{box-shadow:var(--sombra-forte);transform:translateY(-3px)}
.area-destacada{border-top-color:var(--dourado)}
.area-numero{position:absolute;top:1.25rem;right:1.75rem;font-family:var(--serif);font-size:3rem;line-height:1;color:var(--areia);user-select:none}
.area h3{font-size:1.5rem;margin-bottom:.75rem}
.area>p{color:var(--texto-suave)}
.area-lista{list-style:none;margin:1.25rem 0 1.75rem;padding:0;display:grid;gap:.5rem}
.area-lista li{position:relative;padding-left:1.5rem;font-size:.9375rem;margin:0}
.area-lista li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;background:var(--dourado);border-radius:50%}

/* -------------------------------- Serviços -------------------------------- */
.grelha-servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.75rem}
.servico{text-align:left}
.servico-icone{display:grid;place-items:center;width:52px;height:52px;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);color:var(--dourado-escuro);margin-bottom:1.1rem}
.servico-icone svg{width:26px;height:26px}
.servico h3{font-size:1.125rem;margin-bottom:.5rem}
.servico p{font-size:.9375rem;color:var(--texto-suave)}

.grelha-servicos-largos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));gap:2rem}
.servico-largo{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:2rem;scroll-margin-top:110px}
.servico-largo h3{font-size:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--dourado-suave)}
.servico-largo>p{color:var(--texto-suave)}
.servico-largo ul{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:.5rem}
.servico-largo li{position:relative;padding-left:1.5rem;font-size:.9375rem;margin:0}
.servico-largo li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border:1.5px solid var(--dourado);border-radius:50%}

/* ------------------------------ Passo a passo ----------------------------- */
.passos{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;counter-reset:passo}
.passo{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:2rem;margin:0;scroll-margin-top:110px}
.passo-numero{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--dourado);width:3.5rem;height:3.5rem;display:grid;place-items:center;border:1.5px solid var(--dourado-suave);border-radius:50%;flex:0 0 auto}
.passo-corpo h3{font-size:1.375rem;margin-bottom:.6rem}
.passo-corpo>p{color:var(--texto-suave)}
.passo-lista{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.5rem 1.5rem}
.passo-lista li{position:relative;padding-left:1.5rem;font-size:.9375rem;margin:0}
.passo-lista li::before{content:"✓";position:absolute;left:0;color:var(--dourado-escuro);font-weight:700}
.passo-nota{margin-top:1rem;font-style:italic}

/* Destaque: rendas creditadas todos os meses */
.destaque-renda{
  margin:1.25rem 0 0;padding:1rem 1.25rem;background:var(--dourado-suave);
  border-left:3px solid var(--dourado);border-radius:0 var(--raio) var(--raio) 0;
  font-size:.9375rem;color:var(--texto);
}
.destaque-renda strong{display:block;color:var(--marinho);font-size:1rem;margin-bottom:.2rem}

/* Sequência dos 4 passos das obras */
.sequencia{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.85rem}
.sequencia li{position:relative;margin:0;padding:1rem 1rem 1rem 1.1rem;background:var(--areia);
  border:1px solid var(--linha);border-radius:var(--raio);display:flex;flex-direction:column;gap:.25rem}
.sequencia-n{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;
  background:var(--marinho);color:var(--dourado);font-size:.8125rem;font-weight:700;font-family:var(--sans);margin-bottom:.2rem}
.sequencia strong{font-size:.9375rem;color:var(--marinho);line-height:1.35}
.sequencia em{font-style:normal;font-size:.8125rem;color:var(--texto-suave);line-height:1.5}
.passos-compactos .passo{padding:1.5rem}
.passos-compactos .passo-corpo h3{font-size:1.1875rem}
@media (max-width:560px){
  .passo{grid-template-columns:1fr;gap:1rem;padding:1.5rem}
  .passo-numero{width:3rem;height:3rem;font-size:1.5rem}
}

/* ------------------------------ Texto e citação --------------------------- */
.texto-destaque{margin-bottom:2.5rem}
.citacao-grande{
  font-family:var(--serif);font-size:clamp(1.25rem,1.05rem + .9vw,1.625rem);line-height:1.5;
  color:var(--marinho);border-left:3px solid var(--dourado);padding-left:1.75rem;margin:0;
}
.texto-corrido{font-size:1.0625rem;color:var(--texto-suave)}
.texto-corrido-largo{font-size:1.125rem;line-height:1.8}
.texto-corrido-largo strong{color:var(--texto)}

/* ------------------------------ Faixa +32 anos ---------------------------- */
.seccao-experiencia{background:var(--marinho);color:#fff;padding-block:clamp(2.5rem,2rem + 3vw,4rem)}
.faixa-experiencia{display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.faixa-texto h2{color:#fff;font-size:clamp(1.25rem,1rem + 1.2vw,1.75rem);margin-bottom:.75rem}
.faixa-texto p{color:rgba(255,255,255,.8);max-width:46rem}
.faixa-texto .ligacao-seta{margin-top:1rem}
.faixa-sem-numero{grid-template-columns:1fr}
.faixa-sem-numero .faixa-texto{max-width:52rem}
@media (max-width:640px){.faixa-experiencia{grid-template-columns:1fr;gap:1rem}}

/* ------------------------------- Testemunhos ------------------------------ */
.grelha-testemunhos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.75rem}
.testemunho{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:2rem;margin:0}
.testemunho-estrelas{color:var(--dourado);letter-spacing:.15em;margin:0 0 .85rem;font-size:1rem}
.testemunho blockquote{margin:0 0 1.25rem;font-family:var(--serif);font-size:1.0625rem;line-height:1.65;color:var(--texto)}
.testemunho blockquote p::before{content:"«"}
.testemunho blockquote p::after{content:"»"}
.testemunho figcaption{display:flex;flex-direction:column;font-size:.875rem;padding-top:1rem;border-top:1px solid var(--linha)}
.testemunho figcaption strong{color:var(--marinho)}
.testemunho figcaption span{color:var(--texto-suave);font-size:.8125rem}

/* --------------------------------- Perfis --------------------------------- */
.grelha-perfis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.5rem}
.perfil{background:var(--areia);border-left:3px solid var(--dourado);border-radius:var(--raio);padding:1.75rem}
.perfil h3{font-size:1.125rem;margin-bottom:.5rem}
.perfil p{font-size:.9375rem;color:var(--texto-suave)}

/* --------------------------------- Valores -------------------------------- */
.grelha-valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1.75rem}
.valor{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);padding:1.75rem}
.valor h3{font-size:1.1875rem;margin-bottom:.5rem}
.valor p{font-size:.9375rem;color:var(--texto-suave)}

/* -------------------------------- Acordeão -------------------------------- */
.acordeao{display:grid;gap:.75rem}
.acordeao details{background:#fff;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.acordeao summary{
  cursor:pointer;list-style:none;padding:1.15rem 3rem 1.15rem 1.5rem;position:relative;
  font-family:var(--serif);font-size:1.0625rem;color:var(--marinho);min-height:56px;display:flex;align-items:center;
}
.acordeao summary::-webkit-details-marker{display:none}
.acordeao summary::after{content:"+";position:absolute;right:1.5rem;font-size:1.5rem;color:var(--dourado-escuro);line-height:1;transition:transform var(--transicao)}
.acordeao details[open] summary::after{content:"–"}
.acordeao summary:hover{background:var(--areia)}
.acordeao-corpo{padding:0 1.5rem 1.35rem;color:var(--texto-suave);font-size:.9375rem}

/* ------------------------- Faixa "Junte-se a nós" ------------------------- */
.seccao-equipa{padding-block:clamp(2.25rem,1.75rem + 2vw,3.25rem)}
.faixa-equipa{display:flex;align-items:center;justify-content:space-between;gap:1.5rem 2.5rem;flex-wrap:wrap;
  background:#fff;border:1px solid var(--linha);border-left:3px solid var(--dourado);
  border-radius:var(--raio);padding:1.75rem 2rem}
.seccao-clara .faixa-equipa{background:#fff}
.faixa-equipa h2{font-size:1.375rem;margin-bottom:.4rem}
.faixa-equipa p{color:var(--texto-suave);font-size:.9375rem;max-width:42rem;margin:0}
.faixa-equipa-acao{flex:0 0 auto}
.nota-centrada{text-align:center;max-width:40rem;margin:1.75rem auto 0}

/* ------------------------------ CTA escura -------------------------------- */
.seccao-cta-escura{background:var(--marinho-tinta);color:#fff;text-align:center}
.seccao-cta-escura h2{color:#fff}
.seccao-cta-escura p{color:rgba(255,255,255,.8);max-width:42rem;margin-inline:auto}
.cta-acoes{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:2rem}

/* ---------------------------- Imóvel individual --------------------------- */
.imovel-galeria{padding-top:2rem}
.galeria-principal{position:relative;aspect-ratio:3/2;background:var(--areia);border-radius:var(--raio);overflow:hidden}
.galeria-principal img{width:100%;height:100%;object-fit:cover}
.galeria-principal .etiqueta-estado{position:absolute;top:1rem;left:1rem}
.galeria-seta{
  position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:0;
  background:rgba(14,27,58,.72);color:#fff;font-size:2rem;line-height:1;cursor:pointer;
  border-radius:50%;display:grid;place-items:center;transition:background var(--transicao);
}
.galeria-seta:hover{background:var(--marinho)}
.galeria-anterior{left:1rem}
.galeria-seguinte{right:1rem}
.galeria-contador{position:absolute;bottom:1rem;right:1rem;margin:0;background:rgba(14,27,58,.72);color:#fff;padding:.3rem .75rem;border-radius:2px;font-size:.8125rem}
.galeria-miniaturas{display:flex;gap:.6rem;list-style:none;margin:.75rem 0 0;padding:.25rem 0;overflow-x:auto}
.galeria-miniaturas li{margin:0;flex:0 0 auto}
.galeria-miniaturas button{padding:0;border:2px solid transparent;background:none;cursor:pointer;border-radius:var(--raio);overflow:hidden;display:block;line-height:0}
.galeria-miniaturas button.ativa{border-color:var(--dourado)}
.galeria-miniaturas img{width:110px;height:82px;object-fit:cover}
.galeria-vazia{text-align:center;background:var(--areia);border:1px dashed var(--linha);border-radius:var(--raio);padding:2rem}
.galeria-vazia img{max-width:22rem;margin:0 auto 1rem;opacity:.6}
.galeria-vazia p{color:var(--texto-suave)}

.imovel-corpo{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:3rem;padding-block:clamp(2rem,1.5rem + 2vw,3.5rem)}
@media (max-width:980px){.imovel-corpo{grid-template-columns:1fr;gap:2rem}}

.imovel-etiquetas{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.imovel-cabecalho h1{margin-bottom:.5rem}
.imovel-local{display:flex;align-items:center;gap:.4rem;color:var(--texto-suave);font-size:1rem;margin:0}
.icone-pin{width:18px;height:18px;flex:0 0 18px;color:var(--dourado-escuro)}

/* Linhas desenhadas com bordas (e não com gap colorido): assim uma última
   linha incompleta não deixa um retângulo cinzento vazio. */
.imovel-caracteristicas-chave{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(50%,8rem),1fr));
  list-style:none;margin:2rem 0;padding:0;background:#fff;
  border:1px solid var(--linha);border-width:1px 0 0 1px;border-radius:var(--raio);overflow:hidden;
}
.imovel-caracteristicas-chave li{display:flex;flex-direction:column;gap:.2rem;background:#fff;
  padding:1rem 1.15rem;margin:0;border-right:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.imovel-caracteristicas-chave span{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--texto-suave)}
.imovel-caracteristicas-chave strong{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--marinho)}

.imovel-descricao,.imovel-extras,.imovel-localizacao,.imovel-video{margin-top:2.5rem}
.imovel-video h2{font-size:1.5rem;padding-bottom:.6rem;border-bottom:2px solid var(--dourado-suave);margin-bottom:1.25rem}
.imovel-video video{width:100%;max-height:70vh;background:#000;border-radius:var(--raio);display:block}
.imovel-video .nota{margin-top:.6rem}
.imovel-descricao h2,.imovel-extras h2,.imovel-localizacao h2{font-size:1.5rem;padding-bottom:.6rem;border-bottom:2px solid var(--dourado-suave);margin-bottom:1.25rem}
.lista-caracteristicas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:.55rem 1.5rem;list-style:none;margin:0;padding:0}
.lista-caracteristicas li{position:relative;padding-left:1.6rem;margin:0}
.lista-caracteristicas li::before{content:"✓";position:absolute;left:0;color:var(--dourado-escuro);font-weight:700}
.imovel-morada{color:var(--texto-suave)}

.mapa{aspect-ratio:16/9;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;margin-bottom:.75rem}
.mapa iframe{width:100%;height:100%;border:0;display:block}

.imovel-lateral{display:grid;gap:1.5rem;align-content:start;position:sticky;top:118px}
@media (max-width:980px){.imovel-lateral{position:static}}
.caixa-preco{background:#fff;border:1px solid var(--linha);border-top:3px solid var(--dourado);border-radius:var(--raio);padding:1.75rem;box-shadow:var(--sombra)}
.caixa-preco-valor{font-family:var(--serif);font-size:2rem;color:var(--marinho);margin:0 0 .25rem;line-height:1.1}
.caixa-preco-ref{font-size:.8125rem;color:var(--texto-suave);margin:0 0 1.5rem}
.caixa-preco-acoes{display:grid;gap:.65rem}
.caixa-preco-nota{font-size:.75rem;color:var(--texto-suave);margin:1.25rem 0 0;line-height:1.5}
.caixa-fechado{margin:0 0 1rem;padding:.9rem 1rem;background:var(--areia);border-left:3px solid var(--dourado);
  border-radius:0 var(--raio) var(--raio) 0;font-size:.875rem;color:var(--texto-suave)}

/* Mensagem que substitui o formulário de visita num imóvel já vendido/arrendado */
.aviso-fechado{text-align:center;background:#fff;border:1px solid var(--linha);border-top:3px solid var(--dourado);
  border-radius:var(--raio);padding:2.5rem 2rem;box-shadow:var(--sombra)}
.aviso-fechado h2{margin-bottom:.75rem}
.aviso-fechado p{color:var(--texto-suave);max-width:38rem;margin-inline:auto}
.aviso-fechado-acoes{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:1.75rem}
.caixa-apoio{background:var(--areia);border:1px solid var(--linha);border-radius:var(--raio);padding:1.75rem}
.caixa-apoio h2{font-size:1.125rem;margin-bottom:.5rem}
.caixa-apoio p{font-size:.9375rem;color:var(--texto-suave);margin-bottom:1rem}

/* ------------------------------- Formulários ------------------------------ */
.formulario-grelha{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1.25rem}
.campo-largo{grid-column:1/-1}
.formulario-acoes{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:1.75rem}
.formulario-nota{font-size:.8125rem;color:var(--texto-suave);margin:0}
.campo-consentimento{margin-top:.25rem}
.campo label.consentimento,.consentimento{display:flex;align-items:flex-start;gap:.7rem;font-size:.875rem;color:var(--texto-suave);line-height:1.55;cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:400}
.consentimento input{width:20px;height:20px;min-height:0;flex:0 0 20px;margin-top:.15rem;accent-color:var(--dourado-escuro)}
.campo-erro input,.campo-erro select,.campo-erro textarea{border-color:var(--erro)}
.erro-campo{color:var(--erro);font-size:.8125rem;margin:0}

.aviso{padding:1rem 1.25rem;border-radius:var(--raio);margin-bottom:1.5rem;font-size:.9375rem;border-left:3px solid}
.aviso-sucesso{background:#EAF5EE;border-color:var(--disponivel);color:#1C5437}
.aviso-erro{background:#FDECEA;border-color:var(--erro);color:#8B1D17}
.aviso a{color:inherit}

/* -------------------------------- Contactos ------------------------------- */
.contactos-grelha{display:grid;grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:3.5rem;align-items:start}
@media (max-width:900px){.contactos-grelha{grid-template-columns:1fr;gap:2.5rem}}
.lista-contactos{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:1.75rem}
.lista-contactos li{display:grid;grid-template-columns:auto 1fr;gap:1rem;margin:0}
.contacto-icone{display:grid;place-items:center;width:44px;height:44px;background:var(--marinho);border-radius:var(--raio);color:var(--dourado)}
.contacto-icone svg{width:22px;height:22px;fill:currentColor;stroke:currentColor}
.contacto-icone svg [fill="none"]{fill:none}
.lista-contactos h3{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave);font-family:var(--sans);margin-bottom:.3rem}
.contacto-destaque{font-family:var(--serif);font-size:1.25rem;text-decoration:none;color:var(--marinho)}
.contacto-destaque:hover{color:var(--dourado-escuro)}
.caixa-legal{background:var(--areia);border-left:3px solid var(--dourado);padding:1.25rem 1.5rem;font-size:.875rem;color:var(--texto-suave)}
.caixa-legal p{margin-bottom:.35rem}
.seccao-mapa{height:clamp(18rem,25vw,26rem);border-top:1px solid var(--linha)}
.seccao-mapa iframe{width:100%;height:100%;border:0;display:block}

.contacto-rapido{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
@media (max-width:900px){.contacto-rapido{grid-template-columns:1fr;gap:2rem}}
.contacto-rapido-lista{list-style:none;margin:2rem 0;padding:0;display:grid;gap:1.25rem}
.contacto-rapido-lista li{display:grid;gap:.15rem;margin:0;padding-left:1.25rem;border-left:2px solid var(--dourado-suave)}
.contacto-rotulo{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texto-suave)}
.contacto-valor{font-family:var(--serif);font-size:1.25rem;color:var(--marinho);text-decoration:none}
a.contacto-valor:hover{color:var(--dourado-escuro)}
.contacto-nota{font-size:.8125rem;color:var(--texto-suave)}
.contacto-rapido-mapa{aspect-ratio:4/3;border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden}
.contacto-rapido-mapa iframe{width:100%;height:100%;border:0;display:block}

/* ------------------------------ Texto legal ------------------------------- */
.texto-legal h2{font-size:1.25rem;margin-top:2.5rem}
.texto-legal h2:first-child{margin-top:0}
.texto-legal p,.texto-legal li{color:var(--texto-suave);font-size:1rem}

/* --------------------------------- Erro 404 ------------------------------- */
.seccao-erro{text-align:center;padding-block:clamp(3.5rem,3rem + 5vw,7rem)}
.erro-codigo{font-family:var(--serif);font-size:clamp(4rem,3rem + 8vw,8rem);line-height:1;color:var(--dourado-suave);margin:0 0 .5rem}
.erro-texto{color:var(--texto-suave);max-width:34rem;margin-inline:auto}
.erro-acoes{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:2rem}

/* ---------------------------------- Rodapé -------------------------------- */
.rodape{background:var(--marinho-tinta);color:rgba(255,255,255,.72);padding-top:clamp(3rem,2.5rem + 2vw,4.5rem);font-size:.9375rem}
.rodape-grelha{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:2.5rem;padding-bottom:3rem}
@media (max-width:900px){.rodape-grelha{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:2rem}}
.marca-rodape{display:inline-block;margin:0 0 1.25rem}
.marca-rodape img{display:block;width:210px;height:auto;max-width:100%}
.rodape-texto{color:rgba(255,255,255,.62);font-size:.9375rem;max-width:26rem}
.rodape-titulo{font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dourado);margin-bottom:1.1rem}
.rodape-lista,.rodape-redes{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.rodape-redes{grid-auto-flow:column;justify-content:start;gap:1.25rem;margin-top:1.25rem}
.rodape-lista li,.rodape-redes li{margin:0}
.rodape a{color:rgba(255,255,255,.75);text-decoration:none}
.rodape a:hover{color:var(--dourado)}
.rodape-contactos p{margin-bottom:.85rem;color:rgba(255,255,255,.72)}
.rodape-nota{font-size:.75rem;color:rgba(255,255,255,.45)}
.rodape-legal{border-top:1px solid rgba(255,255,255,.12);padding-block:1.75rem;display:grid;gap:.85rem;font-size:.8125rem}
.rodape-ami{margin:0;color:rgba(255,255,255,.82)}
.rodape-ami strong{color:#fff;font-weight:600}
.rodape-legal-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.rodape-legal-links li{margin:0}
.rodape-final{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;flex-wrap:wrap}
.rodape-copyright,.rodape-credito{margin:0;color:rgba(255,255,255,.45)}
.rodape .rodape-credito a{color:rgba(255,255,255,.62);text-decoration:underline;text-decoration-color:rgba(201,162,75,.45);text-underline-offset:.2em}
.rodape .rodape-credito a:hover{color:var(--dourado)}

/* --------------------------- WhatsApp flutuante --------------------------- */
.whatsapp-flutuante{
  position:fixed;right:1rem;bottom:1rem;z-index:90;
  width:56px;height:56px;display:grid;place-items:center;border-radius:50%;
  background:#1d8a4f;color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:transform var(--transicao),background var(--transicao);
  margin-bottom:env(safe-area-inset-bottom,0px);
}
.whatsapp-flutuante:hover{background:#166b3d;transform:scale(1.06);color:#fff}
.whatsapp-flutuante svg{width:30px;height:30px;fill:currentColor}

/* --------------------------------- Impressão ------------------------------ */
@media print{
  .cabecalho,.rodape,.whatsapp-flutuante,.filtros,.galeria-seta,.galeria-miniaturas,.formulario,.migalhas{display:none!important}
  body{font-size:11pt;color:#000}
  .seccao{padding-block:1rem}
  a{text-decoration:none;color:#000}
}
