.map-access-page{background:linear-gradient(180deg,var(--color-white),var(--color-pearl-100) 42%,var(--color-white));padding:48px 0 76px}.map-workspace{display:grid;gap:24px}.map-workspace__header{display:grid;gap:14px;align-items:end;grid-template-columns:1fr auto}.map-workspace h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.14;margin-bottom:12px}.map-workspace__header p{max-width:650px;color:var(--pp-color-muted-text);line-height:1.5}.map-filters-bar{background:var(--color-white);border:1px solid var(--color-titanium-300);border-radius:var(--radius-md);padding:12px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;box-shadow:var(--pp-shadow-card)}.map-search-group{display:flex;align-items:center;gap:10px;flex:1 1 300px;background:var(--color-pearl-100);border:1px solid var(--color-titanium-300);border-radius:var(--radius-sm);padding:0 14px;height:46px;max-width:500px}.map-search-group svg{color:var(--color-navy-950);opacity:.75}.map-search-group input{border:none;background:transparent;color:var(--color-navy-950);font-size:.9rem;font-weight:500;width:100%}.map-search-group input:focus{outline:none}.map-filter-selects{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.map-select{background:var(--color-pearl-100);border:1px solid var(--color-titanium-300);border-radius:var(--radius-sm);color:var(--color-navy-950);font-size:.88rem;font-weight:700;height:46px;padding:0 16px;min-width:130px;cursor:pointer}.map-select:focus{border-color:var(--color-gold-600);outline:none}.map-reset-btn{background:transparent;border:1px solid rgba(18,50,74,.15);border-radius:var(--radius-sm);color:var(--color-navy-950);font-size:.88rem;font-weight:800;height:46px;padding:0 18px;cursor:pointer;transition:all .18s var(--ease-premium)}.map-reset-btn:hover{border-color:var(--color-gold-600);color:var(--color-gold-600);background:var(--color-pearl-100)}.map-workspace__shell{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);padding:16px;background:var(--color-white);border:1px solid var(--color-titanium-300);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.map-container-wrapper{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-titanium-300);height:560px}.map-canvas{height:100%;width:100%;z-index:1}.map-canvas.has-error{filter:grayscale(1);opacity:.28}.map-loading,.map-error{align-items:center;background:#faf9f6f0;color:var(--pp-color-primary-navy);display:flex;inset:0;justify-content:center;position:absolute;z-index:20}.map-loading{flex-direction:column;font-size:.9rem;font-weight:750;gap:12px}.map-loading[hidden],.map-error[hidden],.map-status[hidden]{display:none}.map-loading__spinner{animation:map-spin .75s linear infinite;border:3px solid rgba(18,50,74,.15);border-radius:50%;border-top-color:var(--pp-color-verified-blue);height:32px;width:32px}@keyframes map-spin{to{transform:rotate(360deg)}}.map-error{flex-direction:column;gap:8px;padding:24px;text-align:center}.map-error strong{font-family:var(--font-display);font-size:1.25rem}.map-error span{color:var(--pp-color-muted-text);font-size:.9rem}.map-error button{background:var(--pp-color-primary-navy);border:0;border-radius:var(--radius-sm);color:var(--pp-color-warm-white);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;margin-top:6px;padding:10px 16px}.map-result-summary{align-items:baseline;backdrop-filter:blur(12px);background:#ffffffeb;border:1px solid var(--pp-color-titanium-border);border-radius:999px;box-shadow:var(--pp-shadow-card);color:var(--pp-color-muted-text);display:flex;font-size:.72rem;gap:5px;left:14px;padding:8px 12px;pointer-events:none;position:absolute;top:14px;z-index:6}.map-result-summary strong{color:var(--pp-color-primary-navy);font-size:.9rem}.map-floating-controls{display:grid;gap:8px;position:absolute;right:10px;top:72px;z-index:6}.map-floating-controls button{align-items:center;background:var(--pp-color-warm-white);border:1px solid var(--pp-color-titanium-border);border-radius:var(--radius-sm);box-shadow:var(--pp-shadow-card);color:var(--pp-color-primary-navy);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:background .16s ease,border-color .16s ease,transform .16s ease;width:40px}.map-floating-controls button:hover,.map-floating-controls button:focus-visible{background:var(--pp-color-pearl-background);border-color:var(--pp-color-primary-navy);outline:none;transform:translateY(-1px)}.map-floating-controls button.is-loading svg{animation:map-spin .75s linear infinite}.map-floating-controls svg{height:18px;width:18px}.map-status{backdrop-filter:blur(12px);background:#12324af0;border-radius:var(--radius-sm);bottom:18px;box-shadow:var(--pp-shadow-floating);color:var(--pp-color-warm-white);font-size:.78rem;font-weight:700;left:50%;max-width:min(440px,calc(100% - 32px));padding:10px 14px;position:absolute;text-align:center;transform:translate(-50%);z-index:12}.custom-map-marker{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;display:flex;flex-direction:column;align-items:center;height:38px;justify-content:flex-end;overflow:visible;padding:0;position:relative;cursor:pointer;width:38px}.marker-icon{width:32px;height:32px;background:var(--pp-color-warm-white);border:2px solid var(--pp-color-primary-navy);border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;justify-content:center;align-items:center;box-shadow:0 4px 12px #12324a1f;z-index:5;transition:all .18s var(--ease-premium)}.marker-icon svg{fill:none;height:15px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5;transform:rotate(45deg);color:var(--pp-color-primary-navy);transition:color .18s ease;width:15px}.marker-pulse{position:absolute;width:24px;height:24px;background:#0a73d940;border-radius:50%;bottom:5px;left:7px;z-index:1;animation:marker-pulse-anim 2s infinite ease-out;pointer-events:none}.marker-label{background:var(--pp-color-warm-white);border:1px solid var(--pp-color-titanium-border);border-radius:4px;color:var(--pp-color-primary-navy);font-family:var(--font-body);font-size:.72rem;font-weight:700;padding:2px 6px;white-space:nowrap;position:absolute;bottom:44px;box-shadow:0 4px 10px #12324a14;opacity:.9;transition:all .18s ease}.custom-map-marker:hover .marker-icon,.custom-map-marker.is-active .marker-icon,.custom-map-marker:focus-visible .marker-icon{background:var(--pp-color-primary-navy);border-color:var(--pp-color-premium-gold);transform:rotate(-45deg) scale(1.15)}.custom-map-marker:hover .marker-icon svg,.custom-map-marker.is-active .marker-icon svg,.custom-map-marker:focus-visible .marker-icon svg{color:var(--pp-color-premium-gold)}.custom-map-marker:hover .marker-label,.custom-map-marker.is-active .marker-label,.custom-map-marker:focus-visible .marker-label{opacity:1;background:var(--pp-color-primary-navy);border-color:var(--pp-color-primary-navy);color:var(--pp-color-warm-white);z-index:10}.custom-map-marker:focus-visible{outline:none}.user-location-marker{background:var(--pp-color-verified-blue);border:3px solid var(--color-white);border-radius:50%;box-shadow:0 0 0 7px #0a73d933,0 4px 12px #12324a33;height:17px;width:17px}@keyframes marker-pulse-anim{0%{transform:scale(.6);opacity:1}to{transform:scale(2.2);opacity:0}}.map-property-preview{position:absolute;bottom:20px;left:20px;right:20px;z-index:1100;background:#ffffffeb;backdrop-filter:blur(16px);border:1px solid var(--pp-color-titanium-border);border-radius:var(--radius-md);box-shadow:var(--pp-shadow-floating);overflow:hidden;display:none;animation:preview-slide-in .3s var(--ease-premium) forwards;max-width:760px}.map-property-preview.is-visible{display:block}.map-property-preview:focus{outline:none}.preview-close-btn{position:absolute;top:8px;right:12px;background:transparent;border:none;color:var(--pp-color-primary-navy);opacity:.6;font-size:1.5rem;font-weight:300;cursor:pointer;z-index:10;line-height:1;transition:opacity .15s ease}.preview-close-btn:hover{opacity:1}.preview-card-content{display:grid;grid-template-columns:180px 1fr;min-height:218px;position:relative}.preview-card-content img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.preview-card-body{padding:16px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.preview-badge{align-self:flex-start;font-family:var(--font-body);font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;border-radius:var(--pp-radius-badge);padding:3px 8px;line-height:1.2;margin-bottom:8px}.preview-badge--verified{background:var(--pp-color-map-blue-wash);border:1px solid rgba(10,115,217,.25);color:var(--pp-color-verified-blue);backdrop-filter:blur(4px)}.preview-badge--pending{background:var(--pp-color-pearl-background);border:1px solid var(--pp-color-titanium-border);color:var(--pp-color-premium-gold);backdrop-filter:blur(4px)}.preview-card-body h3{color:var(--pp-color-primary-navy);font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-top:0;margin-bottom:6px;line-height:1.3;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-developer{color:var(--pp-color-muted-text);font-size:.82rem;font-weight:500;margin-top:0;margin-bottom:6px;line-height:1.4}.preview-location{display:flex;align-items:center;gap:6px;color:var(--pp-color-secondary-navy);font-size:.8rem;font-weight:500;margin-top:0;margin-bottom:0;line-height:1.4}.preview-location svg{color:var(--pp-color-verified-blue)}.preview-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--pp-color-titanium-border);padding-top:12px;margin-top:auto}.preview-price-box{display:flex;flex-direction:column;min-width:132px}.preview-price-label{color:var(--pp-color-muted-text);font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;line-height:1.2}#preview-price{color:var(--pp-color-primary-navy);font-size:.95rem;font-weight:800;line-height:1.3}.preview-actions{align-items:center;display:flex;gap:8px}.preview-directions-btn,.preview-details-btn{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.78rem;font-weight:800;gap:6px;justify-content:center;padding:10px 12px;text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;white-space:nowrap}.preview-directions-btn{background:var(--color-white);border:1px solid var(--pp-color-primary-navy);color:var(--pp-color-primary-navy)}.preview-directions-btn:hover,.preview-directions-btn:focus-visible{background:var(--pp-color-pearl-background);transform:translateY(-1px)}.preview-directions-btn svg,.preview-details-btn svg{height:14px;width:14px}.preview-details-btn{background:var(--pp-color-primary-navy);border:1px solid var(--pp-color-primary-navy);color:var(--pp-color-warm-white);line-height:1.2}.preview-details-btn:hover{background:var(--pp-color-premium-gold);color:var(--pp-color-primary-navy);box-shadow:0 4px 15px #c9a45d40}.preview-details-btn:focus-visible,.preview-directions-btn:focus-visible{outline:3px solid rgba(10,115,217,.24);outline-offset:2px}.preview-details-btn svg{transition:transform .18s var(--ease-premium)}.preview-details-btn:hover svg{transform:translate(3px)}@keyframes preview-slide-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.map-canvas .gm-style .gm-style-cc,.map-canvas .gm-style .gm-style-cc a{color:var(--pp-color-muted-text)!important;font-family:var(--font-body)!important}.map-canvas .gm-style button{font-family:var(--font-body)!important}.map-canvas .gm-style-mtc button,.map-canvas .gmnoprint>div{border-radius:var(--radius-sm)!important;box-shadow:var(--pp-shadow-card)!important}.map-featured{display:grid;gap:20px;padding:24px;background:var(--color-white);border:1px solid var(--color-titanium-300);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.map-featured h2{font-size:26px;line-height:1.25}.map-featured__grid{display:grid;gap:22px;grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:1040px){.map-workspace__header,.map-workspace__shell,.map-featured__grid{grid-template-columns:1fr}}@media(max-width:640px){.map-access-page{padding:40px 0 58px}.map-container-wrapper{height:500px}.map-workspace__shell{padding:12px}.map-workspace h1{line-height:1.12;margin-bottom:10px}.map-property-preview{bottom:10px;left:10px;max-width:none;right:10px}.preview-card-content{grid-template-columns:92px 1fr;min-height:222px}.preview-card-body{padding:10px}.preview-badge{display:none}.preview-card-body h3{font-size:1rem;max-width:none}.preview-location{margin-bottom:6px}.preview-footer{align-items:stretch;flex-direction:column;gap:8px}.preview-actions{width:100%}.preview-directions-btn,.preview-details-btn{flex:1;font-size:.7rem;padding:8px 7px}.map-result-summary{left:10px;top:10px}.map-floating-controls{right:8px;top:66px}.map-floating-controls button{height:38px;width:38px}.marker-label{display:none;max-width:150px;overflow:hidden;text-overflow:ellipsis}.custom-map-marker.is-active .marker-label,.custom-map-marker:focus-visible .marker-label{display:block}.map-status{bottom:auto;top:116px}}@media(prefers-reduced-motion:reduce){.marker-pulse,.map-loading__spinner,.map-floating-controls button.is-loading svg{animation:none}.map-property-preview{animation:none}}
