/* Cartografia crítica de Parque Patricios. Estilos limitados ao módulo .ppm. */
.ppm{--ppm-ink:#203b3e;--ppm-muted:#54636a;--ppm-paper:#f5f1e8;--ppm-rule:#c8cccb;--ppm-green:#3e716d;--ppm-rust:#b75c3b;--ppm-blue:#315f7a;--ppm-olive:#6b7040;color:var(--ppm-ink);font-family:inherit;line-height:1.55}
.ppm *{box-sizing:border-box}
.ppm [hidden]{display:none!important}
.ppm button,.ppm input,.ppm select{font:inherit;color:inherit}
.ppm button{cursor:pointer}
.ppm button:disabled{cursor:default;opacity:.45}
.ppm :is(button,input,select,a,summary):focus-visible,.ppm-map:focus-visible{outline:3px solid #be7620;outline-offset:3px}
.ppm-top{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:.8rem;flex-wrap:wrap}
.ppm-groups{display:flex;gap:.4rem;flex-wrap:wrap}
.ppm-groups button{min-height:42px;padding:.45rem .9rem;border:1px solid #bac7bb;border-radius:4px;background:var(--ppm-paper);font-size:.83rem;font-weight:650}
.ppm-groups button:hover{background:#e8ede3}
.ppm-groups button[aria-pressed=true]{background:var(--ppm-ink);border-color:var(--ppm-ink);color:#f3f0e7}
.ppm-count{font-size:.79rem;color:var(--ppm-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.ppm-filter{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:end;margin-bottom:1rem;max-width:42rem}
.ppm-filter label,.ppm-select-label{display:grid;gap:.28rem;font-size:.76rem;letter-spacing:.01em;font-weight:650}
.ppm-filter input,.ppm-select-label select{width:100%;min-width:0;min-height:43px;padding:.55rem .7rem;border:1px solid #aebdac;background:var(--ppm-paper);border-radius:4px;font-weight:400;font-size:.87rem;line-height:1.4}
.ppm-reset{min-height:43px;padding:.5rem .9rem;border:1px solid #bac7bb;background:transparent;border-radius:4px;font-size:.82rem!important}
.ppm-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:1.3rem;align-items:start}
.ppm-cart{min-width:0}
.ppm-map{height:460px;width:100%;position:relative;overflow:hidden;isolation:isolate;touch-action:none;cursor:grab;background:#d6e2de;border:1px solid #aabbb1;border-radius:7px;box-shadow:0 1px 4px #16334010}
.ppm-map.dragging{cursor:grabbing}
.ppm .geo-base{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:0}
.ppm .geo-pins{position:absolute;inset:0;z-index:2;pointer-events:none}
.ppm .geo-dot{position:absolute;display:grid;place-items:center;padding:0;margin:0;width:36px;height:36px;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;cursor:pointer;color:var(--ppm-green);box-shadow:none;line-height:1;font-size:13px;font-weight:750}
.ppm .geo-dot::after{content:"";display:block;position:absolute;inset:8px;background:currentColor;border:2px solid #f3f0e7;border-radius:50%;box-shadow:0 2px 7px #16334059}
.ppm .geo-dot.cluster{background:var(--ppm-ink);color:white;border:2px solid #f3f0e7;box-shadow:0 2px 6px #16334059;font-size:13px}
.ppm .geo-dot.cluster::after{display:none}
.ppm .geo-dot.selected::after{inset:5px;box-shadow:0 0 0 4px #f3f0e799,0 2px 8px #16334060}
.ppm .geo-dot.selected.cluster{outline:3px solid #f3f0e7;outline-offset:2px}
.ppm .geo-dot:hover::after{inset:5px}
.ppm .geo-dot:focus-visible{z-index:4;outline:3px solid #a85e18;outline-offset:1px;background:#f3f0e7aa}
.ppm .geo-tools{position:absolute;left:12px;top:12px;z-index:4;display:flex;flex-direction:column;gap:5px}
.ppm .geo-tools button{min-width:40px;height:40px;padding:0;border:1px solid #a7b8ac;border-radius:4px;background:#fffef9ed;color:#163340;font:550 23px/1 system-ui,sans-serif;box-shadow:0 1px 5px #16334026}
.ppm .geo-tools button:hover{background:white}
.ppm-north{position:absolute;right:13px;top:13px;font-size:.76rem;color:#294c48;z-index:1;background:#f3f0e7df;border-radius:3px;padding:3px 6px;font-weight:700}
.ppm .geo-scale{position:absolute;bottom:27px;left:13px;border:solid #213d37;border-width:0 2px 2px;padding:0 0 2px;font:650 10px/1.4 system-ui,sans-serif;text-align:center;white-space:nowrap;color:#163340;text-shadow:0 0 2px white;background:#f3f0e7bb;z-index:3}
.ppm .geo-credit{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:3px 7px;background:#f3f0e7e6;text-align:right;color:#405a52;font:500 10px/1.3 system-ui,sans-serif;cursor:auto}
.ppm .geo-credit a{color:inherit;text-decoration:underline}
.ppm .map-warning{position:absolute;top:12px;left:63px;right:52px;z-index:3;max-width:22rem;padding:.45rem .6rem;border:1px solid #e1cf9c;border-radius:4px;background:#fff8e6ef;font:500 12px/1.45 system-ui,sans-serif;box-shadow:0 2px 8px #16334012}
.ppm-mapfoot{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap;margin:.6rem 0;color:var(--ppm-muted);font-size:.74rem}
.ppm-mapfoot a{color:var(--ppm-green);text-underline-offset:3px}
.ppm-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.73rem;color:var(--ppm-muted);margin:.55rem 0}
.ppm-legend span{display:inline-flex;gap:.36rem;align-items:center}
.ppm-key{display:block;width:9px;height:9px;border-radius:50%;flex:none;background:var(--ppm-ink)}
.ppm-hint{margin:.6rem 0!important;font-size:.74rem;color:var(--ppm-muted);line-height:1.5}
.ppm-status{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.7rem;color:var(--ppm-muted);line-height:1.5}
.ppm-status button{padding:.15rem .3rem;border:0;border-bottom:1px solid #8da99b;background:none;font-size:inherit;flex:none}
.ppm-aside{padding:1rem 1.15rem 1.15rem;background:var(--ppm-paper);border:1px solid var(--ppm-rule);border-radius:7px;min-width:0}
.ppm-select-label{margin-bottom:1rem}
.ppm-group{margin:0 0 1rem;padding:.6rem .7rem;background:#edf0e7;border-left:3px solid var(--ppm-green);font-size:.8rem}
.ppm-group strong{display:block;margin-bottom:.35rem}
.ppm-group button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.4rem 0;color:var(--ppm-green);text-decoration:underline;font-size:.82rem}
.ppm-badge{display:inline-block;font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;font-weight:750;border:1px solid #c1cbc1;border-radius:3px;padding:3px 6px;color:#245d50;background:#edf2e9}
.ppm-sheet h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.1;margin:.6rem 0 .35rem;color:var(--ppm-ink);text-wrap:balance}
.ppm-place{font-size:.76rem;color:var(--ppm-muted);margin:0 0 1rem!important}
.ppm-summary{font-size:.85rem;margin:.6rem 0 1rem!important;line-height:1.65}
.ppm-lesson{margin:.9rem 0;padding-top:.8rem;border-top:1px solid #e0e4d9}
.ppm-lesson h4{font:700 .72rem/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.055em;margin:0 0 .4rem;color:var(--ppm-green)}
.ppm-lesson p{margin:0!important;font-size:.83rem;line-height:1.6}
.ppm-question{margin:1rem 0!important;padding:.85rem .95rem!important;border:0!important;border-left:3px solid #bb6b48!important;background:#f5eee2;border-radius:0 4px 4px 0}
.ppm-question span{display:block;font-size:.65rem;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:#8d4f34}
.ppm-question p{font-family:Georgia,'Times New Roman',serif;font-size:1.04rem;font-weight:400;line-height:1.4;margin:.35rem 0 0!important;color:#4b4735}
.ppm-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0 .7rem}
.ppm-actions button{min-height:40px;padding:.45rem .7rem;border:1px solid var(--ppm-green);border-radius:4px;background:var(--ppm-green);color:#f3f0e7;font-size:.75rem;font-weight:650;line-height:1.45}
.ppm-actions button:hover{filter:brightness(.94)}
.ppm-actions button.ppm-secondary{background:transparent;color:var(--ppm-green);border-color:#acbdae}
.ppm-source{font-size:.7rem;margin:.6rem 0!important;line-height:1.5}
.ppm-source a{color:#4d6859;text-underline-offset:3px}
.ppm-precision{margin-top:.8rem;padding-top:.65rem;border-top:1px solid #e0e4d9;color:var(--ppm-muted);font-size:.72rem;line-height:1.6}
.ppm-precision summary{cursor:pointer;font-weight:650;color:#456352;line-height:1.5}
.ppm-precision p{margin:.5rem 0!important}
.ppm-precision a{color:var(--ppm-green);overflow-wrap:anywhere;text-underline-offset:3px}
.ppm-empty h3{font-size:1.4rem}
.ppm-empty p{font-size:.85rem}
.ppm-method{margin-top:1.1rem;border-top:1px solid var(--ppm-rule);padding-top:.75rem;color:var(--ppm-muted);font-size:.78rem}
.ppm-method summary{cursor:pointer;color:var(--ppm-ink);font-weight:650;padding:.3rem 0}
.ppm-method p{max-width:80ch;line-height:1.65;margin:.65rem 0}
@media(max-width:900px){.ppm-layout{grid-template-columns:minmax(0,1fr)}.ppm-map{height:420px}.ppm-aside{padding:1.05rem 1.2rem}.ppm-sheet h3{font-size:1.85rem}.ppm-summary,.ppm-lesson p{font-size:.9rem}}
@media(max-width:520px){.ppm-map{height:360px}.ppm-filter{grid-template-columns:minmax(0,1fr);gap:.45rem}.ppm-reset{justify-self:start;min-height:38px}.ppm-groups{gap:.3rem}.ppm-groups button{padding:.4rem .65rem;font-size:.78rem}.ppm-count{font-size:.72rem}.ppm-top{gap:.6rem}.ppm-aside{padding:.9rem}.ppm-mapfoot{font-size:.69rem}.ppm .map-warning{left:61px;right:42px;font-size:11px}.ppm .geo-credit{font-size:9px}.ppm-status{flex-wrap:wrap}}
@media print{.ppm-filter,.ppm-groups,.ppm .geo-tools,.ppm-actions,.ppm-select-label,.ppm-status{display:none!important}.ppm-layout{grid-template-columns:1fr 1fr}.ppm-map{height:350px}.ppm-aside{break-inside:avoid}}

.ppm-intro{margin-bottom:1rem;max-width:90ch}
.ppm-intro p{margin:.3rem 0;font-size:.83rem;color:var(--ppm-muted);line-height:1.6}
.ppm-intro .ppm-scope{font-weight:750;color:var(--ppm-ink);font-size:.91rem}
.ppm-layers{display:flex;gap:.55rem 1rem;flex-wrap:wrap;padding:.8rem 1rem 1rem;border:1px solid var(--ppm-rule);border-radius:6px;margin:0 0 1rem;background:#faf7ef}
.ppm-layers legend{padding:0 .45rem;font-weight:700;font-size:.76rem;letter-spacing:.015em}
.ppm-layers label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.82rem;min-height:32px}
.ppm-layers input{width:17px;height:17px;accent-color:var(--ppm-ink);margin:0 .1rem 0 0;flex:none}
.ppm-layers small{font-variant-numeric:tabular-nums;background:#e6e9e1;border-radius:3px;min-width:1.6rem;text-align:center;padding:.05rem .25rem;color:#405451}
.ppm-key.empresas{background:#486576}
.ppm-key.bairro{background:#b05b3b;border-radius:1px;transform:rotate(45deg);margin-right:2px}
.ppm-key.projeto{background:#3e7b71;border-radius:1px}
.ppm .geo-dot.place{z-index:3}
.ppm .geo-dot.place::after{inset:6px;border-width:3px;box-shadow:0 1px 7px #203b3e66}
.ppm .geo-dot.place.selected::after,.ppm .geo-dot.place:hover::after{inset:4px}
.ppm .geo-dot.place:focus-visible{z-index:5}
.ppm .geo-dot.v-empresas:not(.cluster){color:#486576}
.ppm .geo-dot.v-bairro:not(.cluster){color:#b05b3b}
.ppm .geo-dot.v-projeto:not(.cluster){color:#3e7b71}
.ppm .geo-dot.v-bairro:not(.cluster)::after{border-radius:2px;transform:rotate(45deg)}
.ppm .geo-dot.v-projeto:not(.cluster)::after{border-radius:2px}
.ppm-badge.empresas{color:#35515e;background:#e8eef0;border-color:#c2d1d5}
.ppm-badge.bairro{color:#80442d;background:#f5e9df;border-color:#d8b8a7}
.ppm-badge.projeto{color:#285d55;background:#e4eeea;border-color:#acc6bc}
.ppm-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;align-items:end}
.ppm-filters label{display:grid;gap:.3rem;font-size:.73rem;font-weight:700;color:var(--ppm-ink);min-width:0}
.ppm-filters .ppm-search{grid-column:1/4}
.ppm-filters input,.ppm-filters select{width:100%;min-width:0;min-height:43px;padding:.55rem .6rem;border:1px solid #aebcba;background:var(--ppm-paper);border-radius:4px;font-weight:400;font-size:.82rem;line-height:1.4}
.ppm-filters .ppm-reset{grid-column:4;grid-row:1;min-height:43px}
.ppm-views{display:flex;align-items:center;justify-content:space-between;gap:.6rem 1rem;flex-wrap:wrap;margin:.8rem 0}
.ppm-views>div{display:flex;gap:.45rem;flex-wrap:wrap}
.ppm-views button{min-height:40px;padding:.45rem .8rem;border:1px solid var(--ppm-rule);border-radius:4px;background:var(--ppm-paper);font-size:.79rem}
.ppm-views button:first-child{background:var(--ppm-ink);border-color:var(--ppm-ink);color:var(--ppm-paper)}
.ppm-count{white-space:normal}
.ppm-layout{grid-template-columns:minmax(0,1.65fr) minmax(310px,1fr)}
.ppm-map{height:520px}
.ppm-map-reading{font-size:.75rem;line-height:1.6;color:#5c655e;margin:.7rem 0;padding:.65rem .8rem;border-left:2px solid #9eaf9c;background:#edf0e7}
.ppm-sheet{max-height:800px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:.25rem}
.ppm-sheet h3:focus{outline:none}
.ppm-record-note{font-size:.72rem;line-height:1.55;color:var(--ppm-muted);padding:.6rem 0;margin:.7rem 0;border-top:1px solid var(--ppm-rule);border-bottom:1px solid var(--ppm-rule)}
.ppm-attributes-details{margin:.8rem 0 .7rem}
.ppm-attributes-details summary{cursor:pointer;font-size:.73rem;font-weight:750;padding:.4rem 0;color:var(--ppm-ink)}
.ppm-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem .85rem;margin:.6rem 0 .8rem}
.ppm-attributes>div{padding-top:.45rem;border-top:1px solid #dde1d8;min-width:0}
.ppm-attributes dt{font-size:.65rem;line-height:1.4;font-weight:700;color:#53645f;margin:0 0 .25rem}
.ppm-attributes dt code{display:block;font:400 .64rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#62736f;letter-spacing:0;overflow-wrap:anywhere}
.ppm-attributes dd{font-size:.78rem;line-height:1.5;margin:0;overflow-wrap:anywhere;color:var(--ppm-ink);font-variant-numeric:tabular-nums}
.ppm-empty-value{color:#65726b;font-size:.73rem;font-style:italic}
.ppm-raw-note{display:block;margin-top:.25rem;font-size:.65rem;color:#65726b;overflow-wrap:anywhere}
.ppm-raw-note code{font-size:.6rem}
.ppm-coincident{font-size:.74rem;line-height:1.5;padding:.6rem .7rem;background:#e8edf0;border-radius:4px;color:#3a555e}
.ppm-coincident button{padding:0;border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
.ppm-places{margin-top:1.15rem;border-top:1px solid var(--ppm-rule);padding-top:.9rem}
.ppm-places h3{font-family:inherit;font-size:.77rem;line-height:1.4;font-weight:700;letter-spacing:.015em;margin:0 0 .65rem;color:var(--ppm-ink)}
.ppm-places [data-place-list]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem}
.ppm-places button{display:flex;align-items:center;gap:.55rem;min-width:0;min-height:35px;padding:.4rem .5rem;border:1px solid transparent;background:transparent;font-size:.75rem;text-align:left;line-height:1.45;border-radius:4px}
.ppm-places button:hover,.ppm-places button[aria-pressed=true]{border-color:#c1cdc5;background:#eaf0e7}
.ppm-places .ppm-key{flex:none}
.ppm-group{max-height:350px;overflow-y:auto;font-size:.76rem}
.ppm-group p{font-size:.73rem;margin:.4rem 0}
.ppm-group .ppm-group-directory{font-weight:750;margin-top:.35rem}
.ppm-directory-section{margin-top:1.5rem;border-top:1px solid var(--ppm-rule);padding-top:1.25rem;scroll-margin-top:5rem}
.ppm-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:.8rem;flex-wrap:wrap;margin-bottom:.9rem}
.ppm-eyebrow{font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#60716a;font-weight:700}
.ppm-directory-heading h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.45rem,2.2vw,1.85rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:.3rem 0 0;color:var(--ppm-ink)}
.ppm-directory-heading p{font-size:.75rem;color:var(--ppm-muted);margin:0;font-variant-numeric:tabular-nums}
.ppm-directory-scope{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;padding:.6rem .8rem;background:#e9eeed;font-size:.75rem;margin:.6rem 0}
.ppm-directory-scope button{padding:.2rem 0;border:0;border-bottom:1px solid #839c95;background:none;font-size:inherit;color:#395d55}
.ppm-pagination{display:flex;align-items:center;gap:.5rem .7rem;flex-wrap:wrap;margin:.7rem 0 1rem;font-size:.76rem;color:var(--ppm-muted)}
.ppm-pagination button{min-height:38px;border:1px solid #b8c5bd;border-radius:4px;background:var(--ppm-paper);padding:.4rem .7rem;font-size:.76rem}
.ppm-pagination label{display:flex;align-items:center;gap:.35rem}
.ppm-pagination select{min-height:38px;min-width:55px;border:1px solid #b8c5bd;background:var(--ppm-paper);border-radius:4px;padding:.35rem;font-size:.76rem}
.ppm-directory{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:0;padding:0}
.ppm-directory li{min-width:0;margin:0;padding:0}
.ppm-directory button{display:flex;flex-direction:column;align-items:flex-start;gap:.22rem;min-height:138px;height:100%;width:100%;padding:.85rem .9rem;border:1px solid #c7d1c8;background:#faf7f0;border-radius:5px;text-align:left;line-height:1.45}
.ppm-directory button:hover{background:#eff3ed;border-color:#8aa49c}
.ppm-directory button[aria-pressed=true]{background:#e6eeeb;border-color:#3e716d;box-shadow:inset 3px 0 #3e716d}
.ppm-dir-name{font-weight:750;font-size:.84rem;color:var(--ppm-ink);overflow-wrap:anywhere}
.ppm-dir-address{font-size:.72rem;color:#52655d;overflow-wrap:anywhere}
.ppm-dir-meta{font-size:.67rem;color:#66766f;margin:.15rem 0}
.ppm-dir-id{font-size:.63rem;color:#687b72;margin-top:auto;font-variant-numeric:tabular-nums;letter-spacing:.015em}
.ppm-directory-empty{font-size:.85rem;padding:1.2rem;background:#f2f0e8;color:var(--ppm-muted)}
.ppm-downloads{padding:1rem 0 .7rem;margin-top:1.2rem;border-top:1px solid var(--ppm-rule)}
.ppm-downloads strong{display:block;font-size:.8rem;margin-bottom:.55rem}
.ppm-downloads>div{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem}
.ppm-downloads a{font-size:.76rem;color:#35605c;text-underline-offset:3px}
.ppm-downloads p{font-size:.7rem;color:var(--ppm-muted);margin:.6rem 0}
.ppm-method a{color:#35605c;text-underline-offset:3px}
.ppm-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}
@media(max-width:1080px){.ppm-layout{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr)}.ppm-map{height:480px}.ppm-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.ppm-layout{grid-template-columns:minmax(0,1fr)}.ppm-map{height:440px}.ppm-sheet{max-height:none;overflow:visible;padding-right:0}.ppm-attributes{grid-template-columns:repeat(3,minmax(0,1fr))}.ppm-aside{scroll-margin-top:5rem}}
@media(max-width:650px){.ppm-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.ppm-filters .ppm-search{grid-column:1/-1}.ppm-filters .ppm-reset{grid-column:auto;grid-row:auto;justify-self:start;min-height:38px}.ppm-directory{grid-template-columns:1fr}.ppm-directory button{min-height:115px}.ppm-attributes{grid-template-columns:repeat(2,minmax(0,1fr))}.ppm-places [data-place-list]{grid-template-columns:1fr}.ppm-map{height:390px}.ppm-layers{padding:.65rem .8rem;gap:.25rem .7rem}.ppm-layers label{font-size:.78rem}.ppm-directory-heading{align-items:start}.ppm-pagination{gap:.35rem}.ppm-pagination button{padding:.4rem .55rem}}
@media print{.ppm-layers,.ppm-filters,.ppm-views,.ppm-pagination,.ppm-downloads,.ppm-directory-scope{display:none!important}.ppm-sheet{max-height:none;overflow:visible}.ppm-layout{grid-template-columns:1fr}.ppm-directory{grid-template-columns:repeat(2,1fr)}.ppm-directory button{break-inside:avoid}.ppm-attributes{grid-template-columns:repeat(3,1fr)}}
