/* HarishProperties.ca — Release 7 / Sprint 2: interactive map */
.hp-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:24px 0 18px;padding:18px 20px;border:1px solid rgba(14,40,133,.12);border-radius:18px;background:linear-gradient(135deg,rgba(240,233,224,.75),rgba(255,255,255,.92));box-shadow:0 14px 40px rgba(7,20,46,.06)}
.hp-view-toolbar>div:first-child{display:grid;gap:3px}.hp-view-toolbar strong{font-size:15px;color:#07142e}.hp-view-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:10px;color:#883c97;font-weight:700}
.hp-view-toggle{display:flex;gap:6px;padding:5px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px rgba(7,20,46,.08)}
.hp-view-toggle button{appearance:none;border:0;background:transparent;color:#07142e;padding:10px 15px;border-radius:10px;font:inherit;font-weight:700;cursor:pointer;transition:.22s ease}
.hp-view-toggle button:hover{background:rgba(14,40,133,.06)}.hp-view-toggle button.is-active{color:#fff;background:linear-gradient(135deg,#0e2885,#883c97);box-shadow:0 8px 20px rgba(14,40,133,.22)}
.hp-listing-view[hidden]{display:none!important}.hp-map-shell{position:relative;overflow:hidden;min-height:650px;border-radius:24px;border:1px solid rgba(7,20,46,.11);background:#e9edf2;box-shadow:0 24px 65px rgba(7,20,46,.12)}
.hp-listings-map{width:100%;height:650px;z-index:1}.hp-map-status,.hp-map-empty{position:absolute;z-index:500;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:12px;padding:15px 18px;border-radius:14px;color:#fff;background:rgba(7,20,46,.9);box-shadow:0 15px 45px rgba(7,20,46,.28);backdrop-filter:blur(10px)}
.hp-map-status[hidden],.hp-map-empty[hidden]{display:none}.hp-map-status span{width:20px;height:20px;border:2px solid rgba(255,255,255,.35);border-top-color:#f95e28;border-radius:50%;animation:hpMapSpin .75s linear infinite}.hp-map-empty{align-items:flex-start;flex-direction:column;gap:4px;text-align:center}.hp-map-empty span{font-size:13px;opacity:.78}.hp-map-note{margin:10px 4px 0;color:rgba(7,20,46,.58);font-size:12px}
@keyframes hpMapSpin{to{transform:rotate(360deg)}}
.hp-price-marker{background:transparent;border:0}.hp-price-marker span{display:block;white-space:nowrap;padding:7px 10px;border:2px solid #fff;border-radius:999px;color:#fff;background:#0e2885;box-shadow:0 6px 20px rgba(7,20,46,.25);font-size:12px;font-weight:800;transform:translate(-50%,-50%);transition:.18s ease}.hp-price-marker span:hover{background:#f95e28;transform:translate(-50%,-50%) scale(1.08)}
.leaflet-popup-content-wrapper{overflow:hidden;padding:0;border-radius:17px;box-shadow:0 20px 55px rgba(7,20,46,.22)}.leaflet-popup-content{width:260px!important;margin:0}.leaflet-popup-tip{box-shadow:none}
.hp-map-card{display:block;color:#07142e;text-decoration:none;background:#fff}.hp-map-card img{display:block;width:100%;height:138px;object-fit:cover;background:#edf0f4}.hp-map-card-body{display:grid;gap:5px;padding:13px 14px 15px}.hp-map-card-price{font-size:20px;font-weight:800;color:#0e2885}.hp-map-card strong{font-size:14px;line-height:1.25}.hp-map-card small{color:rgba(7,20,46,.62)}.hp-map-card-meta{display:flex;gap:10px;margin-top:3px;font-size:12px;font-weight:700;color:#883c97}
.leaflet-control-zoom a{color:#07142e!important}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:760px){.hp-view-toolbar{align-items:stretch;flex-direction:column}.hp-view-toggle{width:100%}.hp-view-toggle button{flex:1}.hp-map-shell,.hp-listings-map{height:72vh;min-height:520px;border-radius:18px}.leaflet-popup-content{width:230px!important}.hp-map-card img{height:120px}}
@media(prefers-reduced-motion:reduce){.hp-map-status span{animation:none}.hp-price-marker span,.hp-view-toggle button{transition:none}}
