.parking-info-page{width:100%;max-width:100%;overflow-x:clip;min-height:calc(100vh - 4rem);font-family:Roboto,Google Sans Flex,system-ui,sans-serif;line-height:1.45;transition:background .2s,color .2s;-webkit-text-size-adjust:100%}.parking-info-page[data-theme=light]{--pi-bg:#fff;--pi-surface:#f8f9fa;--pi-surface-elevated:#fff;--pi-border:#dadce0;--pi-text:#202124;--pi-muted:#5f6368;--pi-accent:#4285f4;--pi-accent-hover:#1a73e8;--pi-cta-text:#fff;--pi-secondary-bg:#fff;--pi-secondary-text:#202124;--pi-secondary-hover:#f8f9fa;background:var(--pi-bg);color:var(--pi-text)}.parking-info-page[data-theme=dark]{--pi-bg:#202124;--pi-surface:#292a2d;--pi-surface-elevated:#35363a;--pi-border:#3c4043;--pi-text:#e8eaed;--pi-muted:#9aa0a6;--pi-accent:#669df6;--pi-accent-hover:#8ab4f8;--pi-cta-text:#202124;--pi-secondary-bg:#35363a;--pi-secondary-text:#e8eaed;--pi-secondary-hover:#3c4043;background:var(--pi-bg);color:var(--pi-text)}.parking-info-page .pi-card{background:var(--pi-surface-elevated);border:1px solid var(--pi-border);color:var(--pi-text)}.parking-info-page .pi-card-muted{background:var(--pi-surface);border:1px solid var(--pi-border);color:var(--pi-text)}.parking-info-page .pi-muted{color:var(--pi-muted)}.parking-info-page .pi-border{border-color:var(--pi-border)}.parking-info-page .pi-top-bar{background:color-mix(in srgb,var(--pi-bg) 95%,transparent);backdrop-filter:blur(8px)}.parking-info-page .pi-theme-btn{background:var(--pi-surface-elevated);border:1px solid var(--pi-border);color:var(--pi-text)}.parking-info-page .pi-theme-btn:hover{border-color:var(--pi-accent);color:var(--pi-accent)}.parking-info-page .pi-ctas{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}@media (max-width:639px){.parking-info-page .pi-ctas{flex-direction:column}.parking-info-page .pi-btn{width:100%;min-height:44px}.parking-info-page .pi-map-wrap.pi-map-surface{min-height:260px;height:58vw;max-height:340px;aspect-ratio:4/3}.parking-info-page .pi-map-canvas{min-height:100%}}@media (min-width:640px){.parking-info-page .pi-map-surface{min-height:280px;height:280px}}.parking-info-page .pi-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1rem;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s;border:1px solid transparent}.parking-info-page .pi-btn-primary{background:var(--pi-accent);color:var(--pi-cta-text)}.parking-info-page .pi-btn-primary:hover{background:var(--pi-accent-hover)}.parking-info-page .pi-btn-secondary{background:var(--pi-secondary-bg);color:var(--pi-secondary-text);border-color:var(--pi-border)}.parking-info-page .pi-btn-secondary:hover{background:var(--pi-secondary-hover);border-color:var(--pi-accent)}.parking-info-page .pi-map-wrap{position:relative;z-index:0;isolation:isolate;touch-action:pan-y pinch-zoom;display:block;min-height:inherit}.parking-info-page .pi-map-canvas{min-height:inherit}.parking-info-page .pi-map-wrap .leaflet-container{height:100%!important;min-height:inherit;width:100%;z-index:0;background:var(--pi-surface)}.parking-info-page .pi-map-wrap .leaflet-tile-pane{z-index:1}.parking-info-page .pi-map-wrap .leaflet-control-zoom a{background:var(--pi-surface-elevated);color:var(--pi-text);border-color:var(--pi-border)}.parking-info-page .pi-map-wrap .leaflet-control-attribution{background:color-mix(in srgb,var(--pi-surface-elevated) 92%,transparent);color:var(--pi-muted);font-size:10px}