/* Scoped to the availability map; public navigation and existing pages are untouched. */
.pg-map{--map-pine:#06402d;--map-ink:#172d24;--map-gold:#f3e7c8;--map-red:#af332d;--map-line:#d5ddcd;background:#fffef8;border:1px solid var(--map-line);border-radius:18px;color:var(--map-ink);overflow:hidden;max-width:1600px;margin:1rem auto 2rem;box-shadow:0 16px 50px #133d2410;font:500 16px/1.5 "Manrope","Segoe UI",system-ui,sans-serif}

.pg-map *{box-sizing:border-box}
.pg-map [hidden]{display:none!important}
.pg-map__heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--map-pine);color:#fffdf2;padding:1rem 1.25rem}
.pg-map__heading h2{color:inherit;font-size:1.6rem;line-height:1.2;margin:.15rem 0 0;font-weight:800}
.pg-map__eyebrow{color:#f0cf80;margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.pg-map__button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #b9c8b2;background:#fffef8;border-radius:8px;min-height:44px;min-width:44px;padding:.45rem .8rem;color:var(--map-pine);font:700 .9rem/1.3 "Manrope","Segoe UI",system-ui,sans-serif;cursor:pointer;text-decoration:none;white-space:normal}
.pg-map__button:hover{background:#edf3e6}
.pg-map__button--primary{background:var(--map-pine);color:#fffdf2;border-color:var(--map-pine)}
.pg-map__button--primary:hover{background:#0a5c40}
.pg-map__fullscreen{border-color:#d9bd72;background:#f5d883;color:#073321}
.pg-map__dates{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;padding:1rem 1.25rem;background:#f4f6ec}
.pg-map label{font-size:.87rem;line-height:1.35;font-weight:700;display:block;color:var(--map-ink)}
.pg-map__dates label{flex:1 1 180px;max-width:280px}
.pg-map input,.pg-map select{display:block;max-width:100%;width:100%;min-height:44px;border:1px solid #9baa95;border-radius:8px;padding:.5rem .65rem;color:var(--map-ink);background:#fff;font:inherit;margin-top:.25rem}
.pg-map__optional{font-weight:500;color:#52664f}
.pg-map__dates button{margin-bottom:0}
.pg-map__summary{display:flex;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;padding:.65rem 1.25rem;font-size:.85rem}
.pg-map__summary p{margin:0}
.pg-map__booking-choice{margin:0;padding:.25rem 1.25rem .75rem}
.pg-map__legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:.5rem 1.25rem .85rem;list-style:none;font-size:.8rem}
.pg-map__legend li{display:flex;gap:.4rem;align-items:center}
.pg-map__swatch{width:18px;height:18px;display:inline-block;border-radius:4px;border:1.5px solid #1d462b;flex-shrink:0}
.pg-map__swatch--available{background:var(--map-gold)}
.pg-map__swatch--occupied{background:var(--map-red)}
.pg-map__swatch--unknown{background:#e4e6e0}
.pg-map__soon-key{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:1;border-radius:99px;background:#153e70;color:#fff;font-weight:800}
.pg-map__notice{margin:.25rem 1.25rem 1rem;padding:.8rem 1rem;background:#f7ecd1;border:1px solid #d2b570;border-radius:8px;color:#56421c;font-size:.9rem}
.pg-map__tools{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem 1.25rem;background:#edf2e6;border-top:1px solid var(--map-line)}
.pg-map__zoom{display:flex;align-items:center;gap:.35rem;flex-shrink:0}
.pg-map__zoom-level{font-size:.8rem;min-width:3.1em;text-align:center}
.pg-map__help{font-size:.8rem;color:#465e47;margin:0}
.pg-map__viewport{width:100%;background:#264d26;overflow:hidden;scroll-margin-top:1rem}
.pg-map__canvas{width:100%;height:auto;display:block;aspect-ratio:1280/872;user-select:none;-webkit-user-select:none;touch-action:pan-y;cursor:grab}
.pg-map__canvas.is-dragging{cursor:grabbing}
.pg-map__lot{cursor:pointer}
.pg-map__lot rect{stroke:#263a22;stroke-width:1.7;fill:#f6d65c;fill-opacity:.94}
.pg-map__lot text{text-anchor:middle;dominant-baseline:middle;font-family:"Manrope","Segoe UI",system-ui,sans-serif;font-weight:800;font-size:15px;fill:#172d24;pointer-events:none}
.pg-map__lot--occupied rect,.pg-map__lot--unavailable rect{fill:#af332d;stroke:#6e1915}
.pg-map__lot--occupied text,.pg-map__lot--unavailable text{fill:#fff}
.pg-map__lot--unknown rect{fill:#e4e6e0;stroke:#56634d}
.pg-map__lot--unknown text{fill:#3a4933}
.pg-map__lot .pg-map__cabin-word{font-size:10px}
.pg-map__lot:hover rect,.pg-map__lot:focus rect,.pg-map__lot.is-selected rect{stroke:#fff;stroke-width:4;paint-order:stroke fill}
.pg-map__lot .pg-map__soon-dot{fill:#153e70;stroke:#fff;stroke-width:1.5}
.pg-map__lot .pg-map__soon-word{fill:#fff;font-size:11px}
.pg-map__bottom{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(240px,1.2fr);gap:1rem;padding:1.2rem 1.25rem;background:#f4f6ec;border-top:1px solid var(--map-line)}
.pg-map__picker>div{display:flex;gap:.45rem;align-items:end}
.pg-map__picker select{min-width:0;flex:1;font-size:.9rem}
.pg-map__picker button{flex-shrink:0}
.pg-map__selection h3{font-size:1.2rem;color:var(--map-pine);margin:0 0 .2rem}
.pg-map__selection p{margin:.2rem 0;font-size:.9rem}
.pg-map__selection-next{font-weight:700;color:#153e70}
.pg-map__selection-link,.pg-map__selection a{font-size:.9rem;color:var(--map-pine);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pg-map__selection-link{display:inline-block;margin-top:.4rem}
.pg-map__resident{margin:.4rem 0 .6rem;overflow-wrap:anywhere}
.pg-map__resident-phone{display:inline-block;margin-left:.6rem}
.pg-map__resident .pg-map__resident-dates{font-size:.8rem;color:#465e47}
.pg-map :focus-visible{outline:3px solid #0f5ea6;outline-offset:3px}
.pg-map__canvas:focus-visible{outline-offset:-4px}
.pg-map:fullscreen,.pg-map.is-fullscreen{position:fixed;inset:0;z-index:10000;max-width:none;width:100%;height:100%;margin:0;border:0;border-radius:0;display:flex;flex-direction:column;background:#fffef8;overflow:auto}
.pg-map:fullscreen .pg-map__viewport,.pg-map.is-fullscreen .pg-map__viewport{flex:1 1 auto;min-height:200px}
.pg-map:fullscreen .pg-map__canvas,.pg-map.is-fullscreen .pg-map__canvas{height:100%;min-height:200px;aspect-ratio:auto}
.pg-map:fullscreen .pg-map__heading,.pg-map.is-fullscreen .pg-map__heading{padding:.6rem 1rem}
.pg-map:fullscreen .pg-map__dates,.pg-map.is-fullscreen .pg-map__dates{padding:.5rem 1rem}
.pg-map:fullscreen .pg-map__summary,.pg-map.is-fullscreen .pg-map__summary{padding:.4rem 1rem}
.pg-map:fullscreen .pg-map__legend,.pg-map.is-fullscreen .pg-map__legend{padding:.25rem 1rem .5rem}
.pg-map:fullscreen .pg-map__bottom,.pg-map.is-fullscreen .pg-map__bottom{padding:.65rem 1rem}
.pg-map-open{overflow:hidden}
.pg-map-staff-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.pg-map-staff-panel{scroll-margin-top:1rem}
.pg-map-staff-panel .pg-map-occupancy-form{display:flex;align-items:end;flex-wrap:wrap;gap:.75rem}
.pg-map-staff-panel .pg-map-occupancy-form label{flex:1 1 180px;max-width:280px}
.pg-map-staff-panel .pg-map-occupancy-form .btn{margin-bottom:0}

@media(min-width:1000px){.pg-map__canvas{max-height:78vh}
}

@media(max-width:600px){.pg-map{border-radius:12px;margin:.5rem 0 1rem}
.pg-map__heading{padding:.9rem}
.pg-map__heading h2{font-size:1.35rem}
.pg-map__eyebrow{font-size:.65rem;letter-spacing:.07em}
.pg-map__heading{gap:.5rem}
.pg-map__fullscreen{font-size:.8rem;padding:.4rem .6rem}
.pg-map__dates{padding:.8rem;gap:.6rem}
.pg-map__dates label{flex:1 1 120px;max-width:none;min-width:0}
.pg-map__dates>.pg-map__button{width:100%}
.pg-map__summary{padding:.6rem .8rem;font-size:.8rem}
.pg-map__legend{padding:.4rem .8rem .75rem;gap:.45rem .8rem;font-size:.74rem}
.pg-map__tools{align-items:start;flex-direction:column;padding:.5rem .8rem;gap:.35rem}
.pg-map__help{font-size:.75rem}
.pg-map__viewport{min-height:290px;display:flex}
.pg-map__canvas{min-height:290px;aspect-ratio:auto}
.pg-map__bottom{grid-template-columns:minmax(0,1fr);padding:.8rem;gap:.9rem}
.pg-map__notice{margin:.25rem .8rem .8rem}
.pg-map.is-fullscreen .pg-map__dates,.pg-map:fullscreen .pg-map__dates{display:none}
.pg-map.is-fullscreen .pg-map__summary,.pg-map:fullscreen .pg-map__summary{display:none}
.pg-map.is-fullscreen .pg-map__help,.pg-map:fullscreen .pg-map__help{display:none}
.pg-map.is-fullscreen .pg-map__bottom,.pg-map:fullscreen .pg-map__bottom{grid-template-columns:minmax(0,1fr);gap:.5rem}
.pg-map.is-fullscreen .pg-map__picker,.pg-map:fullscreen .pg-map__picker{display:none}
.pg-map.is-fullscreen .pg-map__legend,.pg-map:fullscreen .pg-map__legend{font-size:.68rem;gap:.3rem .6rem}
.pg-map.is-fullscreen .pg-map__tools,.pg-map:fullscreen .pg-map__tools{padding:.3rem .8rem}
}

@media(prefers-reduced-motion:reduce){.pg-map *{scroll-behavior:auto!important}
}

@media print{.pg-map__tools,.pg-map__fullscreen,.pg-map__dates,.pg-map__picker{display:none!important}
.pg-map{break-inside:avoid;box-shadow:none}
.pg-map__canvas{max-height:none!important}
}


/* Available lots retain every original artwork pixel: only occupied lots receive a color overlay. */
.pg-map__demo{margin:.35rem 0 0;color:#f4dc9f;font-size:.75rem;font-weight:700;line-height:1.35}
.pg-map__lot--available rect{fill:transparent;stroke:transparent}
.pg-map__lot--available>text:not(.pg-map__soon-word){fill:transparent}
.pg-map__lot--available:hover rect,.pg-map__lot--available:focus rect,.pg-map__lot--available.is-selected rect{fill:transparent;stroke:#fff}


.pg-map__canvas.is-zoomed{touch-action:none}

/* The staff Park Map opens at the artwork, with the picker directly below it. */
.pg-map--map-first{margin-top:0;border-radius:0 0 12px 12px}
.pg-map__options{border-top:1px solid var(--map-line);background:#f4f6ec}
.pg-map__options>summary{min-height:44px;padding:.8rem 1.25rem;cursor:pointer;font-weight:700;color:var(--map-pine)}
.pg-map--map-first.is-fullscreen .pg-map__options,.pg-map--map-first:fullscreen .pg-map__options{flex:none}

.pg-map__legend--public{background:#e2eddb;padding:.8rem 1.25rem}
.pg-map[data-staff="0"]{margin-top:0}
.pg-map[data-staff="0"] .pg-map__tools{padding:.35rem 1.25rem}
.pg-map[data-staff="0"] .pg-map__help{display:none}

/* Shared availability colors preserve the supplied artwork and every site number. */
.pg-map__lot--paint-neutral rect{fill:#f3e7c8;fill-opacity:.16;stroke:#375a32;stroke-width:1.4;stroke-dasharray:none}
.pg-map__lot--paint-neutral text{fill:#172d24}
.pg-map__lot--paint-occupied rect{fill:#af332d;fill-opacity:.97;stroke:#6e1915}
.pg-map__lot--paint-reserved rect{fill:#245d98;fill-opacity:.97;stroke:#153e70}
.pg-map__lot--paint-occupied text,.pg-map__lot--paint-reserved text{fill:#fff}
.pg-map__lot .pg-map__state-dot{fill:#fff8df;stroke:#493d20;stroke-width:1}
.pg-map__lot .pg-map__state-word{fill:#332c1d;font-size:10px;pointer-events:none}
.pg-map__swatch--neutral{background:#f3e7c8}.pg-map__swatch--soon{background:#245d98}
.pg-map__tools{flex-wrap:wrap;align-items:center;gap:.6rem}.pg-map__zoom{flex:1 1 auto;min-width:0;flex-wrap:wrap}
.pg-map__range-label{flex:1 1 110px;max-width:250px;min-width:90px}.pg-map input[type=range]{padding:0;border:0;background:transparent;min-height:44px;margin:0;accent-color:#245d98}
.pg-map__date-options>summary{padding:.6rem 1rem;font-weight:700;cursor:pointer}.pg-map__legend{margin:0;background:#edf2e6}
.pg-map__viewport{scroll-margin-top:0}
.pg-map__selection:has([data-map-selection-status]:empty){display:none}
@media(max-width:559px){.pg-map__zoom{flex-basis:100%}.pg-map__tools{padding:.65rem}.pg-map__range-label{max-width:none}.pg-map__legend{gap:.4rem .8rem;font-size:.76rem}}

.pg-map__help--visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.pg-map__range-label .pg-map__zoom-level{font-weight:500;margin-left:.3rem}
