/* Zapcredi — cobertura geográfica. Base vetorial: malhas públicas do IBGE. */
.coverage{background:#fff;isolation:isolate}
.coverage-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:36px}
.coverage-heading .h2{font-size:clamp(34px,3.5vw,46px);max-width:610px}
.coverage-heading .lead{max-width:330px;font-size:16px;line-height:1.6;padding-bottom:4px}
.coverage-stage{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:center;padding:30px;border:1px solid #dcebe2;border-radius:30px;background:#f4f8f5;overflow:hidden;isolation:isolate}
.coverage-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(#073B3312 .8px,transparent .8px);background-size:17px 17px;mask-image:linear-gradient(90deg,#000,transparent 68%)}
.coverage-atmosphere::after{content:'';position:absolute;width:550px;height:550px;top:-50px;left:-100px;background:radial-gradient(ellipse,#1DBF7324,transparent 65%);animation:coverage-drift 16s ease-in-out infinite alternate;will-change:transform}
.coverage-visual{min-width:0;position:relative;padding:0 10px 8px}
.coverage-map-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#507065;font-size:11px}
.coverage-map-top>span{display:flex;align-items:center;gap:8px;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}
.coverage-map-top i{height:6px;width:6px;border-radius:50%;background:#00A86B}
.coverage-motion{background:transparent;border:0;padding:8px 0 8px 8px;display:flex;align-items:center;gap:5px;color:#526c60;font-size:10px;cursor:pointer;white-space:nowrap;min-height:36px}
.coverage-motion svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}
.coverage-motion:hover{color:#073B33}.coverage-motion:focus-visible{outline:2px solid #00754d;outline-offset:4px;border-radius:5px}
.coverage-map{display:block;width:100%;height:375px;overflow:visible;margin:8px auto 0}
.coverage-region{fill:#dcece2;stroke:#fff;stroke-width:1.6;stroke-linejoin:round;transition:fill .45s ease}
.coverage-region.is-active{fill:#073B33}
.coverage-node text{fill:#688477;font-family:inherit;font-size:11px;font-weight:500;letter-spacing:.02em;paint-order:stroke;stroke:#f4f8f5;stroke-width:3px;stroke-linejoin:round}
.coverage-node .map-dot{fill:#8caf9d;stroke:#fff;stroke-width:1.4}
.coverage-node .map-pulse{fill:none;stroke:#1DBF73;stroke-width:1;opacity:0;transform-origin:0 0}
.coverage-node.is-active .map-dot{fill:#1DBF73;stroke:#073B33;stroke-width:2}
.coverage-node.is-active text{fill:#fff;stroke:#073B33;font-weight:600}
.coverage-node.is-active .map-pulse{animation:coverage-pulse 3.6s ease-out infinite}
.coverage-map-caption{display:flex;align-items:center;justify-content:center;gap:8px;color:#5a7367;font-size:12px;margin-top:8px}
.coverage-map-caption b{color:#073B33;font-weight:600}.coverage-key{width:8px;height:8px;background:#073B33;border-radius:2px}
.coverage-map-note{text-align:center;font-size:10px;color:#718679;margin-top:7px;line-height:1.5}
.coverage-content{position:relative;min-width:0}
.coverage .regpanel{border:1px solid #e4ece6;border-radius:22px;box-shadow:0 10px 35px #073B3305;padding:28px;min-height:330px;background:#ffffffed;backdrop-filter:blur(12px)}
.coverage-step{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#678475;margin-bottom:8px}
.coverage .regpanel h3{font-size:27px;letter-spacing:-.03em;font-weight:500;color:#111;line-height:1.2}
.coverage-guide{font-size:12px;color:#6a786f;line-height:1.55;margin:11px 0 22px;min-height:38px}
.coverage .regpanel .tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;border-bottom:1px solid #edf1ed;padding-bottom:20px}
.coverage .regpanel .tabs button{font-size:11px;padding:9px 12px;min-height:38px;border-color:#e5ebe7;background:white;color:#53695e}
.coverage .regpanel .tabs button[aria-selected=true]{background:#073B33;border-color:#073B33;color:white}
.coverage .regpanel .chips{grid-template-columns:1fr 1fr;gap:8px}
.coverage .regpanel .chips[hidden]{display:none}
.coverage .regpanel .chip{background:#f3f7f4;border:1px solid #edf2ee;border-radius:10px;height:auto;min-height:42px;padding:11px 13px;font-size:12px;color:#334d40;line-height:1.4;white-space:normal}
.coverage-stats{display:flex;gap:28px;margin:22px 7px 0}
.coverage-stats>div{display:flex;align-items:center;gap:12px;flex:1}
.coverage-stats>div+div{border-left:1px solid #d5e4d9;padding-left:26px}
.coverage-stats strong{font-size:36px;line-height:1;font-weight:500;letter-spacing:-.06em;color:#073B33;white-space:nowrap}
.coverage-stats strong small{font-size:13px;letter-spacing:0}
.coverage-stats span{font-size:10px;color:#678071;line-height:1.5}
.coverage-stage.motion-paused .coverage-atmosphere::after,.coverage-stage.motion-paused .map-pulse{animation-play-state:paused}
@keyframes coverage-drift{from{transform:translate(-30px,10px) scale(.85)}to{transform:translate(90px,75px) scale(1.15)}}
@keyframes coverage-pulse{0%{transform:scale(.25);opacity:.7}75%,100%{transform:scale(1.3);opacity:0}}
@media(max-width:1000px){.coverage-stage{padding:22px;gap:16px}.coverage .regpanel{padding:22px}.coverage-map{height:330px}.coverage-stats{gap:14px}.coverage-stats>div{display:block}.coverage-stats strong{display:block;margin-bottom:8px}.coverage-stats>div+div{padding-left:20px}.coverage-motion span{display:none}}
@media(max-width:767px){.coverage-heading{display:block;margin-bottom:26px}.coverage-heading .h2{font-size:34px}.coverage-heading .lead{font-size:15px;margin-top:18px;max-width:400px}.coverage-stage{grid-template-columns:1fr;padding:18px 14px 24px;border-radius:24px;gap:22px}.coverage-visual{padding:0 4px}.coverage-map-top{padding-inline:4px}.coverage-map{height:285px;margin-top:0}.coverage-motion span{display:inline}.coverage-map-note{font-size:10px}.coverage .regpanel{padding:23px 18px;min-height:0;border-radius:18px}.coverage .regpanel h3{font-size:25px}.coverage .regpanel .tabs{gap:6px}.coverage .regpanel .tabs button{font-size:11px;padding:8px 11px;min-height:40px}.coverage-guide{min-height:0;font-size:12px}.coverage .regpanel .chip{padding:10px;font-size:12px}.coverage-stats{margin:23px 5px 0;gap:18px}.coverage-stats strong{font-size:33px}.coverage-stats span{font-size:11px}.coverage-atmosphere{mask-image:linear-gradient(#000,transparent 65%)}.coverage-atmosphere::after{width:400px;height:450px}}
@media(prefers-reduced-motion:reduce){.coverage-atmosphere::after,.coverage-node.is-active .map-pulse{animation:none}.coverage-region{transition:none}.coverage-motion{display:none}}
