/* Guia da Transparência · mapa de Fortaleza (/fortaleza). Só as cores do Guia (styles.css); movimento some com "reduzir movimento". */
.fzm{--fzm-mar1:#EFF5FE;--fzm-mar2:#C5D4EB;--fzm-terra:#FFFFFF;--fzm-neutro:#F1F5FC;--fzm-rot:#071D41;--fzm-alt:min(68vh,620px)}

/* carregando e erro */
.fzm-carregando{position:relative;height:var(--fzm-alt);min-height:340px;border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--blue-5),var(--blue-10));display:grid;place-items:center;overflow:hidden;color:var(--blue-80);font-weight:700}
.fzm-brilho{position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.75) 50%,transparent 70%);animation:fzmBrilho 1.4s infinite}
@keyframes fzmBrilho{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.fzm-erro{display:flex;gap:12px;align-items:flex-start;padding:16px}
.fzm-erro p{margin:4px 0 0}

/* aviso, temas */
.fzm-aviso{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;color:var(--muted);font-size:.9rem;line-height:1.45}
.fzm-aviso .ico{color:var(--blue-70);margin-top:2px}
.fzm-temas{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.fzm-tema{min-height:42px;padding:6px 16px;border-radius:999px;border:1.5px solid var(--blue-20);background:var(--surface);color:var(--blue-80);font:600 .9rem/1.2 var(--font);cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
.fzm-tema:hover{background:var(--blue-5)}
.fzm-tema:active{transform:scale(.97)}
.fzm-tema[aria-checked="true"]{background:var(--blue-70);border-color:var(--blue-70);color:#fff;box-shadow:0 4px 12px rgba(19,81,180,.25)}
.fzm-tema:focus-visible,.fzm-chip:focus-visible,.fzm-zoom button:focus-visible,.fzm-volta:focus-visible,.fzm-rank button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* palco do mapa */
.fzm-corpo{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}
.fzm-palco{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(120% 100% at 75% 0%,var(--fzm-mar1),var(--fzm-mar2));box-shadow:var(--shadow-2);border:1px solid var(--line)}
.fzm-tela{height:var(--fzm-alt);min-height:360px;touch-action:pan-y;cursor:grab;outline:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.fzm-tela.fzm-perto{touch-action:none}
.fzm-tela.fzm-arrastando{cursor:grabbing}
.fzm-tela.fzm-sobre-ponto{cursor:pointer}
.fzm-tela:focus-visible{box-shadow:inset 0 0 0 3px var(--focus)}
.fzm-svg{display:block;width:100%;height:100%;overflow:hidden}
.fzm-terra{fill:var(--fzm-terra)}
.fzm-b{fill:var(--fzm-neutro);stroke:#fff;stroke-width:1.1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .75s cubic-bezier(.3,.7,.2,1) var(--t,0ms),opacity .3s;cursor:pointer}
.fzm-b:hover{filter:brightness(1.07) saturate(1.15)}
.fzm-sem-tema .fzm-b{fill:var(--fzm-neutro)}
.fzm-tem-sel .fzm-b:not(.fzm-b-sel){opacity:.84}
.fzm-entrada .fzm-b{animation:fzmSurge .75s cubic-bezier(.2,.8,.2,1) var(--d,0ms) both;transform-box:fill-box;transform-origin:center}
@keyframes fzmSurge{from{opacity:0;transform:scale(.86)}}
.fzm-fundo{pointer-events:none;opacity:0;transition:opacity .9s ease}
.fzm-fundo.fzm-visivel{opacity:1}
.fzm-verde{fill:#168821;fill-opacity:.24}
.fzm-mangue{fill:#0B4A12;fill-opacity:.28}
.fzm-agua{fill:none;stroke:#2670E8;stroke-opacity:.6;stroke-width:1.2px;vector-effect:non-scaling-stroke}
.fzm-via{fill:none;stroke:#fff;stroke-opacity:.92;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;stroke-width:.9px}
.fzm-via-via-arterial-i,.fzm-via-via-expressa{stroke-width:2.2px}
.fzm-via-via-arterial-ii,.fzm-via-via-paisagistica,.fzm-via-via-comercial{stroke-width:1.5px}
.fzm-sem-tema .fzm-via{stroke:#C5D4EB}
.fzm-regionais path{fill:none;stroke:var(--blue-90);stroke-opacity:.42;stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke;pointer-events:none}
.fzm-borda{fill:none;stroke:var(--blue-80);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.fzm-sel{fill:none;stroke:var(--yellow);stroke-width:3.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;filter:drop-shadow(0 0 2px rgba(7,29,65,.55))}
.fzm-sel.fzm-pulso{animation:fzmPulso 1.5s ease-out 2}
@keyframes fzmPulso{0%{stroke-width:10px;stroke-opacity:.25}100%{stroke-width:3.5px;stroke-opacity:1}}
.fzm-rotulos{pointer-events:none;font-family:var(--font);font-weight:700;fill:var(--fzm-rot);paint-order:stroke;stroke:#fff;stroke-linejoin:round;text-anchor:middle;dominant-baseline:middle}
.fzm-rotulos text{opacity:0;transition:opacity .25s}
.fzm-rotulos text.fzm-r-on{opacity:1}
.fzm-mar{font:italic 600 380px var(--font);fill:var(--blue-50);fill-opacity:.55;letter-spacing:40px;text-anchor:end;pointer-events:none}

/* camadas desenhadas: pontos com tamanho fixo na tela (traço de comprimento zero com ponta redonda) */
.fzm-camada{pointer-events:none;opacity:0;transition:opacity .45s ease}
.fzm-camada.fzm-visivel{opacity:1}
.fzm-halo,.fzm-ponto,.fzm-miolo{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fzm-halo{stroke:#fff}
.fzm-ponto{stroke:var(--c)}
.fzm-miolo{stroke:#fff}
.fzm-linha{fill:none;stroke:var(--c);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fzm-linha-0{stroke-width:3.2px}
.fzm-linha-2{stroke-dasharray:5 4}
.fzm-linha-3{stroke-dasharray:1 4}

/* controles sobre o mapa */
.fzm-zoom{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;gap:6px;z-index:3}
.fzm-zoom button{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--blue-80);display:grid;place-items:center;box-shadow:var(--shadow-1);cursor:pointer;transition:transform .15s,background .2s}
.fzm-zoom button:hover{background:var(--blue-5)}
.fzm-zoom button:active{transform:scale(.94)}
.fzm-dica{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);background:var(--blue-90);color:#fff;padding:8px 14px;border-radius:999px;font-size:.85rem;box-shadow:var(--shadow-2);pointer-events:none;width:max-content;max-width:90%;text-align:center;z-index:4}
.fzm-balao{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 14px));background:var(--blue-90);color:#fff;border-radius:10px;padding:8px 12px;font-size:.85rem;line-height:1.35;pointer-events:none;box-shadow:var(--shadow-2);max-width:280px;display:grid;gap:2px}
.fzm-balao::after{content:"";position:absolute;left:50%;bottom:-5px;width:11px;height:11px;background:inherit;transform:translateX(-50%) rotate(45deg)}
.fzm-balao small{opacity:.78;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}
.fzm-balao span{opacity:.92}

/* painel ao lado */
.fzm-painel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:14px;display:grid;gap:12px;max-height:var(--fzm-alt);overflow:auto;scrollbar-width:thin}
.fzm-busca{position:relative;display:flex;align-items:center;gap:8px;border:1.5px solid var(--blue-20);border-radius:12px;padding:0 10px;background:var(--surface)}
.fzm-busca:focus-within{border-color:var(--blue-70);box-shadow:0 0 0 3px var(--blue-10)}
.fzm-busca label{display:flex;color:var(--blue-70)}
.fzm-busca input{border:0;outline:0;flex:1;min-width:0;min-height:44px;font:inherit;background:transparent;color:var(--text)}
.fzm-sugestoes{position:absolute;left:-2px;right:-2px;top:calc(100% + 4px);z-index:10;list-style:none;margin:0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-3);max-height:300px;overflow:auto}
.fzm-sugestoes li{padding:9px 10px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.fzm-sugestoes li small{color:var(--muted);font-size:.78rem;white-space:nowrap}
.fzm-sugestoes li:hover,.fzm-sugestoes li.fzm-ativo{background:var(--blue-5)}
.fzm-sugestoes .fzm-nada{cursor:default;color:var(--muted)}
.fzm-legenda{border-bottom:1px solid var(--line);padding-bottom:12px}
.fzm-leg-titulo{margin:0 0 6px;font-weight:700;color:var(--blue-90)}
.fzm-leg-faixas{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:4px;font-size:.86rem}
.fzm-leg-faixas li{display:flex;align-items:center;gap:8px}
.fzm-cor{width:24px;height:14px;border-radius:4px;flex:none;box-shadow:inset 0 0 0 1px rgba(7,29,65,.12);transition:background .6s}
.fzm-cor-sem{background:repeating-linear-gradient(45deg,#F8F8F8 0 4px,#CCCCCC 4px 6px)}
.fzm-leg-explica{margin:0 0 8px;font-size:.84rem;color:var(--muted);line-height:1.45}
.fzm-data{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;line-height:1.3;color:var(--blue-80);background:var(--blue-5);border-radius:999px;padding:3px 10px}
.fzm-data .ico svg{width:14px;height:14px}
.fzm-data.fzm-velho{color:#6B4A00;background:var(--yellow-10)}

/* ficha */
.fzm-ficha-in{animation:fzmFicha .35s ease both}
@keyframes fzmFicha{from{opacity:0;transform:translateY(6px)}}
.fzm-ficha h3{margin:0;font-size:1.25rem;line-height:1.25;color:var(--blue-90)}
.fzm-sub{margin:2px 0 10px;color:var(--muted);font-size:.86rem}
.fzm-volta{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--blue-70);font:600 .86rem var(--font);cursor:pointer;padding:6px 0;margin-bottom:4px;min-height:36px}
.fzm-destaque{background:linear-gradient(135deg,var(--blue-70),var(--blue-90));color:#fff;border-radius:12px;padding:12px 14px;display:grid;gap:2px;margin-bottom:6px;box-shadow:0 8px 20px rgba(7,29,65,.18)}
.fzm-destaque small{opacity:.85}
.fzm-destaque strong{font-size:1.3rem;line-height:1.25}
.fzm-destaque span{font-size:.8rem;opacity:.85}
.fzm-ficha section{margin-top:14px}
.fzm-ficha h4{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:.92rem;color:var(--blue-80)}
.fzm-lista{list-style:none;margin:0 0 8px;padding:0;display:grid}
.fzm-lista li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:.88rem}
.fzm-lista li span{color:var(--muted)}
.fzm-lista li b{text-align:right;color:var(--text);font-weight:600}
.fzm-lista li[title]{cursor:help}
.fzm-var{display:block;font-weight:600;font-size:.74rem;color:var(--blue-70)}
.fzm-nota{font-size:.8rem;color:var(--muted);margin:4px 0 8px;line-height:1.45}
.fzm-rank{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fzm-rank button{width:100%;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) auto;gap:8px;align-items:center;border:0;background:none;padding:6px 4px;border-radius:8px;cursor:pointer;font:inherit;font-size:.85rem;text-align:left;color:var(--text);min-height:36px}
.fzm-rank button:hover{background:var(--blue-5)}
.fzm-rank-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fzm-rank-barra{height:8px;background:var(--blue-5);border-radius:99px;overflow:hidden}
.fzm-rank-barra i{display:block;height:100%;width:var(--w);background:var(--blue-70);border-radius:99px;animation:fzmBarra .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes fzmBarra{from{width:0}}
.fzm-mini{margin:10px 0 4px}
.fzm-mini figcaption{font-size:.8rem;color:var(--muted);margin-bottom:4px}
.fzm-mini-barras{display:flex;align-items:flex-end;gap:2px;height:64px}
.fzm-mini-barras span{flex:1;height:var(--h);background:var(--c);border-radius:3px 3px 0 0;opacity:.85;transform-origin:bottom;animation:fzmCresce .6s cubic-bezier(.2,.8,.2,1) calc(var(--k) * 18ms) both}
@keyframes fzmCresce{from{transform:scaleY(0)}}
.fzm-mini-eixo{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}

/* botões das camadas */
.fzm-camadas{display:grid;gap:10px;margin:16px 0 8px}
.fzm-grupo{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fzm-grupo-nome{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:96px}
.fzm-chip{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:6px 14px 6px 12px;border-radius:14px;border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:border-color .2s,box-shadow .2s,transform .15s,background .2s}
.fzm-chip:hover{border-color:var(--blue-20);box-shadow:var(--shadow-1)}
.fzm-chip:active{transform:scale(.98)}
.fzm-chip[aria-pressed="true"]{border-color:var(--c);background:var(--blue-5);box-shadow:0 0 0 2px var(--c) inset}
.fzm-chip-txt{display:grid;line-height:1.25;min-width:0}
.fzm-chip-txt b{font-size:.88rem;font-weight:600}
.fzm-chip-txt small{font-size:.74rem;color:var(--muted)}
.fzm-chip-marca{width:16px;height:16px;border-radius:50%;flex:none;background:var(--c);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gray-20)}
.fzm-chip-marca.fzm-anel{background:#fff;border:4px solid var(--c)}
.fzm-chip-marca.fzm-traco{border-radius:3px;height:5px;width:22px;box-shadow:none}
.fzm-chip[aria-pressed="true"] .fzm-chip-marca{animation:fzmPisca .45s ease}
@keyframes fzmPisca{50%{transform:scale(1.4)}}
.fzm-chip-carregando{opacity:.6;pointer-events:none}

/* "ver mais": tabela e fontes */
.fzm-mais{margin-top:12px}
.fzm-tabela{max-height:520px}
.fzm-tabela tbody th{font-weight:600;text-align:left;white-space:nowrap}
.fzm-tabela td{white-space:nowrap}
.fzm-fontes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fzm-fontes li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.2fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.86rem}
.fzm-fontes li small{display:block;color:var(--muted)}
.fzm-fonte-datas{display:grid;gap:2px;color:var(--muted)}
.fzm-fonte-datas span:first-child{color:var(--text);display:inline-flex;gap:6px;align-items:center}
.fzm-fontes li.fzm-velho{border-color:var(--yellow);background:var(--yellow-10)}
.fzm-aviso-velho{color:#6B4A00;font-weight:600}
.fzm-fontes a{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-weight:600}

@media (max-width:960px){
  .fzm{--fzm-alt:min(62vh,520px)}
  .fzm-corpo{grid-template-columns:minmax(0,1fr)}
  .fzm-painel{max-height:none}
}
@media (max-width:560px){
  .fzm-temas{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-2px;padding:2px}
  .fzm-temas::-webkit-scrollbar{display:none}
  .fzm-tema{flex:none}
  .fzm-grupo-nome{min-width:100%}
  .fzm-chip{flex:1 1 calc(50% - 8px);min-width:0}
  .fzm-fontes li{grid-template-columns:minmax(0,1fr)}
  .fzm-zoom{right:8px;top:8px}
  /* a cidade é mais larga que alta: no celular a tela do mapa acompanha o formato dela */
  .fzm-tela{height:auto;aspect-ratio:1/1.02;min-height:300px}
  .fzm-carregando{height:auto;aspect-ratio:1/1.02;min-height:300px}
}

/* alto contraste */
[data-theme="contrast"] .fzm-palco{background:#000}
[data-theme="contrast"] .fzm-terra,[data-theme="contrast"] .fzm-sem-tema .fzm-b{fill:#000}
[data-theme="contrast"] .fzm-b{stroke:#fff}
[data-theme="contrast"] .fzm-borda{stroke:#FFCD07}
[data-theme="contrast"] .fzm-rotulos{fill:#fff;stroke:#000}
[data-theme="contrast"] .fzm-balao,[data-theme="contrast"] .fzm-dica,[data-theme="contrast"] .fzm-destaque{background:#000;border:1px solid #fff}
[data-theme="contrast"] .fzm-tema[aria-checked="true"]{background:#FFCD07;border-color:#FFCD07;color:#000}
[data-theme="contrast"] .fzm-chip[aria-pressed="true"]{background:#000;box-shadow:0 0 0 2px #FFCD07 inset}

@media (prefers-reduced-motion:reduce){
  .fzm *,.fzm *::before,.fzm *::after{animation:none!important;transition:none!important}
}

/* valor em detalhe: quadrados de 250 m por baixo, bairros só com a borda */
.fzm-grade{pointer-events:none}
.fzm-grade rect{transition:fill .6s ease}
.fzm-svg:not(.fzm-com-grade) .fzm-grade{display:none}
.fzm-com-grade .fzm-b{fill:transparent!important;stroke:var(--blue-90);stroke-opacity:.35}
.fzm-com-grade .fzm-terra{fill:#F8F8F8}

/* camadas extras (leitor genérico) */
.fzm-extra .fzm-x-areas path{fill:var(--c);fill-opacity:.3;stroke:var(--c);stroke-width:1.2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fzm-x-traco{fill:none;stroke:var(--c);stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fzm-x-alvo{fill:none;stroke:transparent;stroke-width:16px;vector-effect:non-scaling-stroke}
.fzm-camada .fzm-x-clica path{pointer-events:visiblePainted;cursor:pointer}
.fzm-camada .fzm-x-clica .fzm-x-traco{pointer-events:none}
.fzm-x-areas.fzm-x-clica path:hover{fill-opacity:.55;stroke-width:2.4px}
.fzm-x-linhas.fzm-x-clica .fzm-x-alvo:hover+.fzm-x-traco{stroke-width:5px}

/* no mapa agora */
.fzm-agora{border:1px solid var(--blue-20);background:var(--blue-5);border-radius:12px;padding:10px 12px;animation:fzmFicha .3s ease both}
.fzm-agora-topo{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}
.fzm-agora-topo b{display:inline-flex;align-items:center;gap:6px;color:var(--blue-90);font-size:.9rem}
.fzm-agora-topo button{border:0;background:none;color:var(--blue-70);font:600 .8rem var(--font);cursor:pointer;padding:6px 4px;min-height:32px}
.fzm-agora ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:220px;overflow:auto}
.fzm-agora li{display:flex;align-items:center;gap:8px;background:var(--surface);border-radius:8px;padding:4px 4px 4px 8px}
.fzm-agora-nome{flex:1;min-width:0;display:grid;font-size:.84rem;line-height:1.25}
.fzm-agora-nome small{color:var(--muted);font-size:.72rem}
.fzm-agora li button{flex:none;width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.fzm-agora li button:hover{background:var(--red-10);color:var(--red)}
.fzm-cor-ponto{width:12px;height:12px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gray-20)}

/* ficha de um item */
.fzm-camada-nome{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}
.fzm-botao{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--blue-70);background:var(--surface);color:var(--blue-80);font:600 .85rem var(--font);cursor:pointer;transition:background .2s}
.fzm-botao:hover{background:var(--blue-5)}
.fzm-botao:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.fzm-item-fonte{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0;font-size:.84rem}
.fzm-item-fonte a{display:inline-flex;align-items:center;gap:4px;font-weight:600}

/* explorar tudo e catálogo */
.fzm-destacado>summary{background:var(--blue-70);color:#fff;border-color:var(--blue-70)}
.fzm-destacado>summary::before{background:#fff;color:var(--blue-70)}
.fzm-destacado>summary:hover{background:var(--blue-80)}
.fzm-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 10px}
.fzm-filtros .fzm-busca{flex:1 1 260px}
.fzm-sel{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--muted)}
.fzm-sel select{min-height:42px;border:1.5px solid var(--blue-20);border-radius:10px;padding:0 10px;font:inherit;background:var(--surface);color:var(--text)}
.fzm-caixa{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;min-height:42px;cursor:pointer}
.fzm-pilulas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
.fzm-pilulas button{min-height:36px;padding:4px 12px;border-radius:999px;border:1px solid var(--blue-20);background:var(--surface);color:var(--blue-80);font:600 .8rem var(--font);cursor:pointer}
.fzm-pilulas button[aria-pressed="true"]{background:var(--blue-80);border-color:var(--blue-80);color:#fff}
.fzm-conta{font-size:.82rem;color:var(--muted);margin:0 0 8px}
.fzm-xlista section{margin:0 0 14px}
.fzm-xlista h4{margin:0 0 6px;font-size:.92rem;color:var(--blue-80)}
.fzm-xgrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.fzm-xchip{width:100%;align-items:flex-start}
.fzm-xchip .fzm-chip-marca{margin-top:3px}
.fzm-chip-marca.fzm-area{border-radius:4px;background:color-mix(in srgb,var(--c) 35%,#fff);border:2px solid var(--c);box-shadow:none}
.fzm-catlista{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.fzm-catlista li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:.86rem}
.fzm-catlista li small{display:block;color:var(--muted);font-size:.76rem}
.fzm-cat-data{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;color:var(--muted);white-space:nowrap}
.fzm-cat-data.fzm-velho{color:#6B4A00}
.fzm-cat-acoes{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.fzm-cat-acoes a{display:inline-flex;align-items:center;gap:4px;font-weight:600;white-space:nowrap;font-size:.84rem}
.fzm-ja{color:var(--green);font-weight:600}
.fzm-mais-itens{margin-top:10px}
@media (max-width:560px){
  .fzm-catlista li{grid-template-columns:minmax(0,1fr)}
  .fzm-cat-acoes{justify-content:flex-start}
  .fzm-xgrade{grid-template-columns:minmax(0,1fr)}
}

/* busca por endereço */
.fzm-sugestoes li{align-items:center}
.fzm-sugestoes li>.ico{flex:none;color:var(--blue-70)}
.fzm-sugestoes li>span{flex:1;min-width:0}
.fzm-busca-num{margin:4px 0 10px}
.fzm-numeros{display:flex;flex-wrap:wrap;gap:6px}
.fzm-numeros button{min-width:58px;min-height:40px;padding:4px 10px;border-radius:10px;border:1px solid var(--blue-20);background:var(--surface);color:var(--blue-80);font:600 .86rem var(--font);cursor:pointer;display:grid;line-height:1.1}
.fzm-numeros button small{font-weight:500;font-size:.66rem;color:var(--muted)}
.fzm-numeros button:hover{background:var(--blue-5);border-color:var(--blue-70)}
.fzm-tabela-mini{max-height:320px;font-size:.82rem}
.fzm-tabela-mini td,.fzm-tabela-mini th{white-space:nowrap}
.fzm-tabela-mini small{color:var(--muted)}
.fzm-rua-pontos{fill:none;stroke:#C2850C;stroke-width:6px;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.fzm-endereco path{pointer-events:none;fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.fzm-pino-onda{stroke:#C2850C;stroke-width:22px;stroke-opacity:.35;animation:fzmOnda 1.8s ease-out infinite}
@keyframes fzmOnda{0%{stroke-width:14px;stroke-opacity:.5}100%{stroke-width:46px;stroke-opacity:0}}
.fzm-pino-halo{stroke:#fff;stroke-width:22px}
.fzm-pino{stroke:#071D41;stroke-width:17px}
.fzm-pino-miolo{stroke:#FFCD07;stroke-width:8px}
/* o painel nunca alarga por causa de tabela larga: a tabela rola dentro dele */
.fzm-painel{grid-template-columns:minmax(0,1fr)}
.fzm-painel>*,.fzm-ficha,.fzm-ficha-in{min-width:0}
.fzm-tabela-mini{overflow:auto;max-width:100%}

/* valor de venda estimado (ficha do imóvel) */
.fzm-mercado{border:2px solid var(--green);background:var(--green-10);border-radius:12px;padding:12px 14px;display:grid;gap:2px;margin:0 0 10px;animation:fzmFicha .4s ease both}
.fzm-mercado small{color:#0B4A12;font-weight:700}
.fzm-mercado strong{font-size:1.45rem;line-height:1.2;color:#0B4A12}
.fzm-mercado span{font-size:.86rem;color:#0B4A12;font-weight:600}
.fzm-mercado p{margin:6px 0 0;font-size:.78rem;color:var(--muted);line-height:1.45}
.fzm-destaque+.fzm-mercado{margin-top:-2px}
.fzm-conta{margin-top:6px}
.fzm-conta summary{cursor:pointer;font-size:.84rem;font-weight:700;color:#0B4A12;padding:4px 0;min-height:24px}
.fzm-conta summary:focus-visible{outline:2px solid var(--blue-70,#1351B4);outline-offset:2px;border-radius:4px}
.fzm-conta ol{margin:6px 0 0;padding-left:1.3em;display:grid;gap:7px}
.fzm-conta li b{display:block;font-size:.92rem;color:#0B4A12;font-variant-numeric:tabular-nums}
.fzm-mercado .fzm-conta li span{display:block;font-size:.8rem;font-weight:400;color:var(--muted);line-height:1.45}
[data-theme="contrast"] .fzm-mercado{background:#000;border-color:#fff}
[data-theme="contrast"] .fzm-mercado *{color:#fff}
.fzm-mercado-fora{border-color:var(--yellow);background:var(--yellow-10)}
.fzm-mercado-fora small,.fzm-mercado-fora strong,.fzm-mercado-fora span{color:#6B4A00}

/* Plano Diretor: zonas por baixo dos bairros (bairros só com a borda), ficha com hoje e lei nova */
.fzm-zonas{pointer-events:none}
.fzm-zonas path,.fzm-zonas rect{stroke:#fff;stroke-width:.6px;stroke-opacity:.85;vector-effect:non-scaling-stroke;animation:fzmZonas .5s ease both}
.fzm-zonas rect{stroke:none}
.fzm-svg:not(.fzm-com-zonas) .fzm-zonas{display:none}
.fzm-com-zonas .fzm-b{fill:transparent!important;stroke:var(--blue-90);stroke-opacity:.35}
.fzm-com-zonas .fzm-terra{fill:#F8F8F8}
@keyframes fzmZonas{from{opacity:0}to{opacity:1}}
.fzm-legenda .fzm-pilulas{margin:6px 0 10px}
.fzm-pd{margin-top:12px}
.fzm-pd h4{display:flex;align-items:center;gap:6px}
.fzm-pd-tabela{max-height:none}
.fzm-pd-tabela td,.fzm-pd-tabela th{white-space:normal;vertical-align:top}
.fzm-pd-tabela tbody th{text-align:left;font-weight:600}
.fzm-pd-tabela td b{display:block}
.fzm-usos{list-style:none;margin:6px 0;padding:0;display:grid;gap:6px;font-size:.86rem;line-height:1.45}
.fzm-usos b{color:var(--blue-80)}
.fzm-alerta{border-left:4px solid var(--yellow);background:var(--yellow-10);color:#4A3500;padding:8px 10px;border-radius:0 8px 8px 0}
[data-theme="contrast"] .fzm-alerta{background:#000;color:#fff;border-color:#FFCD07}
/* o painel é estreito em qualquer tela: cada regra vira um bloco com "Hoje" e "A partir de 2027" um embaixo do outro */
.fzm-pd-tabela{overflow:visible}
.fzm-pd-tabela table,.fzm-pd-tabela tbody,.fzm-pd-tabela tr,.fzm-pd-tabela th,.fzm-pd-tabela td{display:block;width:auto;min-width:0}
.fzm-pd-tabela thead{display:none}
.fzm-pd-tabela tr{border-bottom:1px solid var(--line);padding:6px 0}
.fzm-pd-tabela tbody th{padding:2px 0;min-width:0;position:static;background:none}
.fzm-pd-tabela td{padding:2px 0 2px 10px;border:0}
.fzm-pd-tabela td::before{content:attr(data-r) ": ";color:var(--muted);font-size:.78rem}
.fzm-pd-tabela td b{display:inline}
