.floorplanfilterbox{display:flex;justify-content:center;}

.fpu-scroll{width:100%}
.fpu-wrap{position:relative;width:100%;max-width:1920px;margin:0 auto;line-height:0}
.fpu-base{display:block;width:100%;height:auto}
.fpu-wrap svg{position:absolute;inset:0;width:100%;height:100%}
.fpu-wrap rect[id^="unit-"]{fill:#c9a24b;fill-opacity:0;cursor:pointer;transition:fill-opacity .2s}
.fpu-wrap rect[id^="unit-"]:hover,.fpu-wrap rect[id^="unit-"]:focus{fill-opacity:.35;stroke:#c9a24b;stroke-width:2;outline:none}
.fpu-tip{position:absolute;pointer-events:none;background:#111;color:#fff;font:600 13px/1.2 sans-serif;padding:6px 10px;border-radius:4px;transform:translate(-50%,-130%);opacity:0;transition:opacity .15s;white-space:nowrap;z-index:5}
.fpu-tip.show{opacity:1}
.fpu-modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:999999;opacity:0;visibility:hidden;transition:opacity .25s;padding:16px}
.fpu-modal.open{opacity:1;visibility:visible}
.fpu-box{position:relative;background:#fff;border-radius:8px;padding:20px;max-width:700px;width:100%;max-height:90vh;overflow:auto;text-align:center}
.fpu-img{max-width:100%;height:auto}
.fpu-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:30px;line-height:1;cursor:pointer;color:#111;z-index: 99;border-radius: 50%;width: 32px;border: 1px solid #333;}
@media(max-width:767px){.fpu-scroll{overflow-x:auto}.fpu-wrap{min-width:1100px}}
/* ---------- Section + filters ---------- */
.fpu-section{font-family:Poppins,sans-serif;text-align:center;padding:60px 16px;color:#333}
.fpu-heading{margin:0 0 14px;color:#1f5a43;font-size:clamp(28px,3.4vw,44px);font-weight:500;letter-spacing:.02em;line-height:1.1}
.fpu-sub{margin:0 0 36px;font-size:15px;color:#444}
.fpu-filter{display:inline-flex;align-items:center;gap:6px;background:#1f5a43;border-radius:999px;padding:6px 18px;box-shadow:0 0 0 5px #a9c3b7;margin-bottom:44px;max-width:100%}
.fpu-sel{position:relative;display:inline-flex;align-items:center}
.fpu-sel::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border-right:2px solid #f5e6a8;border-bottom:2px solid #f5e6a8;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.fpu-sel select{appearance:none;-webkit-appearance:none;background:transparent;border:0;color:#f5e6a8;font:600 17px/1 Poppins,sans-serif;padding:14px 38px 14px 16px;cursor:pointer;outline:none;max-width:100%}
.fpu-sel select:focus-visible{}
.fpu-sel option{color:#1f5a43;background:#fff;font-weight:500}
.fpu-div{width:1px;height:20px;background:rgba(245,230,168,.5)}
.fpu-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fpu-empty{margin:-28px 0 24px;font-size:14px;color:#8a4b2d}

/* filtered state: non-matching units faded + not clickable, matching ones outlined */
.fpu-wrap rect[id^="unit-"].is-off{fill:#fff;fill-opacity:.72;stroke:none;pointer-events:none;cursor:default}
.fpu-wrap rect[id^="unit-"].is-on{stroke:#1f5a43;stroke-width:3}
.fpu-wrap rect[id^="unit-"].is-on:hover,.fpu-wrap rect[id^="unit-"].is-on:focus{fill:#1f5a43;fill-opacity:.18}

@media(max-width:600px){
  .fpu-filter{flex-direction:column;border-radius:20px;padding:6px 10px;gap:0}
  .fpu-div{width:70%;height:1px}
  .fpu-sel select{font-size:15px}
}

/* popup image states */
.fpu-imgbox{position:relative;min-height:240px;display:flex;align-items:center;justify-content:center}
.fpu-img{opacity:0;transition:opacity .25s}
.fpu-modal.loaded .fpu-img{opacity:1}
.fpu-loader{position:absolute;width:36px;height:36px;border:3px solid #d6e3dc;border-top-color:#1f5a43;border-radius:50%;animation:fpu-spin .8s linear infinite;}
.fpu-modal.loaded .fpu-loader,.fpu-modal.failed .fpu-loader{display:none}
.fpu-err{position:absolute;margin:0;font-size:14px;color:#8a4b2d}
@keyframes fpu-spin{to{transform:rotate(360deg)}}

/* ---------- Enquire Now + slide-in form ---------- */
.fpu-box{overflow-x:hidden}
.fpu-enq-btn{position: absolute;bottom: 2vw;left: 50%;transform: translateX(-50%);}
.fpu-enq-btn,.fpu-submit,html body .submibtncol .wpcf7-submit{display:inline-block;margin-top:16px;background:#1f5a43;color:#f5e6a8;border:0;border-radius:999px;padding:13px 34px;font:600 15px/1 Poppins,sans-serif;letter-spacing:.02em;cursor:pointer;transition:background .2s}
.fpu-enq-btn:hover,.fpu-submit:hover,html body .submibtncol .wpcf7-submit:hover{background:#174634}
.fpu-enq{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;padding:24px 28px;overflow-y:auto;text-align:left;transform:translateX(100%);transition:transform .35s ease;visibility:hidden;z-index:50;font-family:Poppins,sans-serif;line-height:1.4}
.fpu-modal.enq-open .fpu-enq{transform:none;visibility:visible}
.fpu-modal.enq-open .fpu-box{overflow-y:hidden;min-height:min(620px,90vh)}
.fpu-back{background:none;border:0;padding:0;color:#1f5a43;font:500 14px Poppins,sans-serif;cursor:pointer}
.fpu-enq-title{margin:14px 0 4px;color:#1f5a43;font-size:24px;font-weight:500}
.fpu-unit-tag{margin:0 0 18px;font-size:14px;color:#555}
.fpu-form label{display:block;margin-bottom:14px}
.fpu-form label span{display:block;font-size:13px;color:#444;margin-bottom:5px}
.fpu-form input,.fpu-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfd9d4;border-radius:6px;padding:11px 12px;font:15px Poppins,sans-serif;color:#222;background:#fff}
.fpu-form input:focus,.fpu-form textarea:focus{outline:none;border-color:#1f5a43;box-shadow:0 0 0 2px rgba(31,90,67,.15)}
.fpu-form .invalid{border-color:#c0392b}
.fpu-submit,html body .submibtncol .wpcf7-submit{width:100%;margin-top:4px}
.fpu-submit:disabled{opacity:.6;cursor:default}
.fpu-form-msg{margin:12px 0 0;font-size:14px;color:#1f5a43;min-height:1em}
.fpu-form-msg.err{color:#c0392b}

/* unit reference numbers */
.fpu-wrap .fpu-num{font:700 22px/1 Poppins,sans-serif;fill:#1f5a43;stroke:#fff;stroke-width:4px;paint-order:stroke;text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:opacity .2s}
.fpu-wrap .fpu-num.is-off{opacity:.35}
