
/* Starkwood public interactive inventory map */
.availability-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f6f8f5 0%,#fff 100%)}
.availability-section::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 10%,rgba(201,153,74,.10),transparent 32%),radial-gradient(circle at 88% 30%,rgba(11,46,29,.08),transparent 35%);pointer-events:none}
.availability-section .container{position:relative;z-index:1}
.availability-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:26px}
.availability-heading-row .section-desc{max-width:720px;margin:0}
.availability-live-note{display:inline-flex;align-items:center;gap:8px;color:#50645a;font:600 12px/1.4 var(--font-body,Manrope,sans-serif);white-space:nowrap}
.availability-live-note::before{content:"";width:8px;height:8px;border-radius:50%;background:#1d9a6c;box-shadow:0 0 0 5px rgba(29,154,108,.12)}
.inventory-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.inventory-status-card{appearance:none;border:1px solid #e5eae6;background:#fff;border-radius:15px;padding:14px 16px;display:flex;align-items:center;gap:12px;min-height:66px;box-shadow:0 8px 24px rgba(10,36,23,.055);text-align:left;color:#24352c;cursor:pointer;transition:.2s ease}
.inventory-status-card:hover,.inventory-status-card.is-active{transform:translateY(-2px);border-color:rgba(11,46,29,.24);box-shadow:0 12px 30px rgba(10,36,23,.10)}
.inventory-status-card.is-muted{opacity:.48}
.inventory-status-dot{width:16px;height:16px;border-radius:50%;flex:0 0 auto;border:2px solid rgba(15,23,42,.12)}
.inventory-status-card strong{display:block;font:800 20px/1 var(--font-body,Manrope,sans-serif);color:#14261d}
.inventory-status-card span:last-child{display:block;margin-top:4px;font:600 11px/1.2 var(--font-body,Manrope,sans-serif);text-transform:uppercase;letter-spacing:.08em;color:#718078}
.inventory-map-shell{position:relative;border:1px solid #e4e9e5;background:#fff;border-radius:24px;padding:14px;box-shadow:0 22px 60px rgba(9,35,22,.10)}
.inventory-map-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:2px 2px 13px}
.inventory-map-toolbar .map-search{position:relative;flex:1;min-width:230px}
.inventory-map-toolbar .map-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#849189;font-size:13px}
.inventory-map-toolbar input,.inventory-map-toolbar select{height:42px;border:1px solid #dfe6e1;background:#fff;border-radius:10px;padding:0 12px;font:600 12px var(--font-body,Manrope,sans-serif);color:#263a2f;outline:none}
.inventory-map-toolbar input{width:100%;padding-left:38px}
.inventory-map-toolbar input:focus,.inventory-map-toolbar select:focus{border-color:#1c6845;box-shadow:0 0 0 3px rgba(28,104,69,.10)}
.map-tool-btn{height:42px;min-width:42px;border:1px solid #dfe6e1;background:#fff;border-radius:10px;color:#294236;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;font:700 12px var(--font-body,Manrope,sans-serif);cursor:pointer;transition:.2s}
.map-tool-btn:hover{background:#f3f7f4;border-color:#c7d4cc}.map-tool-btn.primary{background:#0b2e1d;border-color:#0b2e1d;color:#fff}.map-tool-btn.primary:hover{background:#164b33}
.inventory-map-viewport{position:relative;overflow:hidden;width:100%;aspect-ratio:1400/939;background:#e7ece7;border-radius:17px;touch-action:none;cursor:grab;isolation:isolate}
.inventory-map-viewport.is-dragging{cursor:grabbing}
.public-map-stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform}
.public-map-stage img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.public-map-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.public-map-pin{cursor:pointer;transition:opacity .18s ease}.public-map-pin.is-hidden{opacity:.08;pointer-events:none}.public-map-pin.is-focused circle{filter:drop-shadow(0 0 8px rgba(255,255,255,.95)) drop-shadow(0 0 8px rgba(11,46,29,.85));stroke-width:3.5}
.public-map-pin circle{stroke:#fff;stroke-width:1.9;vector-effect:non-scaling-stroke;transition:r .18s ease,opacity .18s ease,filter .18s ease}.public-map-pin:hover circle{r:10.2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.public-map-pin text{fill:#13251c;font:800 5.5px Manrope,sans-serif;text-anchor:middle;dominant-baseline:middle;pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.9);stroke-width:.8px;stroke-linejoin:round}
.public-map-pin[data-status="Available"] circle{fill:#e9edf5;stroke:#8794a5}.public-map-pin[data-status="On Hold"] circle{fill:#c9994a}.public-map-pin[data-status="Reserved"] circle{fill:#2954e5}.public-map-pin[data-status="Sold"] circle{fill:#1d9a6c}
.public-map-pin[data-status="Reserved"] text,.public-map-pin[data-status="Sold"] text{fill:#fff;stroke:rgba(0,0,0,.22)}
.inventory-map-message{position:absolute;left:18px;bottom:18px;z-index:6;max-width:min(520px,calc(100% - 36px));padding:10px 13px;border-radius:10px;background:rgba(11,46,29,.91);color:#fff;font:600 11px/1.45 var(--font-body,Manrope,sans-serif);box-shadow:0 8px 24px rgba(0,0,0,.18);transition:.25s}.inventory-map-message[hidden]{display:none}
.inventory-map-loading{position:absolute;inset:0;z-index:8;display:grid;place-items:center;background:rgba(242,246,243,.90);backdrop-filter:blur(3px);transition:.25s}.inventory-map-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.map-loader-card{text-align:center;color:#294236;font:700 13px var(--font-body,Manrope,sans-serif)}.map-loader-ring{width:44px;height:44px;border:4px solid #d9e2dc;border-top-color:#0b2e1d;border-radius:50%;animation:publicMapSpin .85s linear infinite;margin:0 auto 12px}@keyframes publicMapSpin{to{transform:rotate(360deg)}}
.inventory-map-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 3px 2px}.inventory-map-footer p{margin:0;color:#697a70;font-size:12px}.inventory-map-footer-actions{display:flex;gap:9px;flex-wrap:wrap}
.inventory-map-public-note{margin-top:14px;padding:12px 15px;border-radius:12px;background:#f6f8f6;border:1px solid #e5ebe7;color:#66776d;font-size:11px;line-height:1.6}
.public-unit-modal{position:fixed;inset:0;z-index:99999;background:rgba(5,21,13,.64);display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(4px)}
.public-unit-card{width:min(500px,100%);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.32)}
.public-unit-head{padding:22px 24px 19px;background:linear-gradient(135deg,#0b2e1d,#174f36);color:#fff;display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.public-unit-head h3{margin:0;color:#fff;font:700 28px/1.1 var(--font-heading,"Cormorant Garamond",serif)}.public-unit-head p{margin:6px 0 0;color:rgba(255,255,255,.72);font-size:12px}.public-unit-close{border:0;background:rgba(255,255,255,.12);width:35px;height:35px;border-radius:50%;color:#fff;font-size:21px;cursor:pointer}
.public-unit-body{padding:22px 24px}.public-unit-status{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#f3f6f4;font:800 11px var(--font-body,Manrope,sans-serif);text-transform:uppercase;letter-spacing:.06em}.public-unit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.public-unit-field{background:#f7f9f7;border:1px solid #edf1ee;border-radius:12px;padding:12px}.public-unit-field label{display:block;color:#859188;font-size:10px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}.public-unit-field strong{font-size:13px;color:#24372d}.public-unit-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.public-unit-actions .btn{flex:1;min-width:170px;justify-content:center}
.unit-availability-hero{padding:150px 0 78px;background:linear-gradient(135deg,rgba(5,31,19,.94),rgba(14,72,47,.88)),url('../images/estelle-woods-residences-phase2-community.webp') center/cover;color:#fff}.unit-availability-hero h1{color:#fff;margin-bottom:14px}.unit-availability-hero p{max-width:760px;color:rgba(255,255,255,.78);font-size:17px}.unit-availability-hero .hero-breadcrumb{display:flex;gap:8px;align-items:center;font-size:12px;color:rgba(255,255,255,.65);margin-bottom:18px}.unit-availability-hero .hero-breadcrumb a{color:#fff}
.full-map-section .inventory-map-viewport{min-height:640px}.full-map-section .inventory-map-shell{padding:16px}
@media(max-width:900px){.availability-heading-row{align-items:flex-start;flex-direction:column}.inventory-status-strip{grid-template-columns:repeat(2,1fr)}.full-map-section .inventory-map-viewport{min-height:0}.inventory-map-footer{align-items:flex-start;flex-direction:column}.inventory-map-footer-actions{width:100%}.inventory-map-footer-actions .btn{flex:1;justify-content:center}}
@media(max-width:600px){.availability-section{padding-top:72px;padding-bottom:72px}.inventory-status-strip{grid-template-columns:1fr 1fr;gap:8px}.inventory-status-card{padding:11px;min-height:58px}.inventory-status-card strong{font-size:17px}.inventory-map-shell{border-radius:17px;padding:8px}.inventory-map-viewport{border-radius:12px;aspect-ratio:auto;height:460px}.inventory-map-toolbar{padding:4px 2px 10px}.inventory-map-toolbar .map-search{flex-basis:100%;min-width:100%}.inventory-map-toolbar select{flex:1;min-width:0}.map-tool-btn .tool-label{display:none}.public-unit-grid{grid-template-columns:1fr}.public-unit-card{border-radius:17px}.public-unit-head,.public-unit-body{padding:18px}.unit-availability-hero{padding:125px 0 60px}.unit-availability-hero p{font-size:15px}}
@media(prefers-reduced-motion:reduce){.map-loader-ring{animation:none}.inventory-status-card,.public-map-pin circle{transition:none}}
