/* Scoped companion to plan-viewer.js; no page-wide element rules. */
#floorplan-browser.fp-browser { --fp-ink:#173d59; --fp-line:#c8d8e3; --fp-blue:#e5effa; color:var(--fp-ink); font-family:"Noto Sans CJK SC","Microsoft YaHei","PingFang SC",sans-serif; background:#f6f9fc; border:1px solid var(--fp-line); border-radius:16px; padding:clamp(18px,3vw,36px); }
#floorplan-browser .fp-kicker { font-family:"Noto Sans",sans-serif; color:#607c90; font-size:12px; font-weight:700; letter-spacing:.13em; }
#floorplan-browser .fp-heading h3 { color:var(--fp-ink); margin:10px 0; font-size:clamp(23px,3vw,34px); font-weight:700; line-height:1.35; }
#floorplan-browser .fp-heading p { margin:0 0 24px; color:#526e83; line-height:1.75; }
#floorplan-browser .fp-controls { display:flex; align-items:flex-end; gap:16px; flex-wrap:wrap; margin:0 0 18px; }
#floorplan-browser .fp-controls label { display:grid; gap:7px; font-size:13px; font-weight:600; flex:1 1 170px; }
#floorplan-browser select { appearance:auto; box-sizing:border-box; width:100%; min-height:48px; padding:10px 14px; border:1px solid #9db5c6; border-radius:7px; background:white; color:var(--fp-ink); font:inherit; font-size:16px; cursor:pointer; }
#floorplan-browser .fp-open { display:inline-flex; align-items:center; justify-content:center; min-height:48px; box-sizing:border-box; padding:10px 18px; background:var(--fp-ink); color:white; border-radius:7px; text-decoration:none; font-size:14px; font-weight:600; }
#floorplan-browser .fp-open:hover { background:#275773; }
#floorplan-browser :is(select,a):focus-visible { outline:3px solid #bd9135; outline-offset:4px; }
#floorplan-browser .fp-warning { background:#fbf1d9; border-left:4px solid #bd9135; color:#775819; padding:13px 16px; font-size:14px; font-weight:600; line-height:1.8; margin:0 0 20px; }
#floorplan-browser .fp-figure { margin:0; border:1px solid var(--fp-line); background:white; border-radius:8px; overflow:hidden; }
#floorplan-browser .fp-figure img { display:block; width:100%; height:auto; background:#f6f9fc; }
#floorplan-browser figcaption { padding:20px; border-top:1px solid var(--fp-line); }
#floorplan-browser figcaption strong { font-size:17px; line-height:1.6; }
#floorplan-browser figcaption p { font-size:14px; line-height:1.9; color:#526e83; margin:8px 0 0; }
#floorplan-browser .fp-status { line-height:1.8; }
#floorplan-browser .fp-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:540px) { #floorplan-browser .fp-controls { gap:12px; } #floorplan-browser .fp-controls label { flex-basis:calc(50% - 6px); min-width:0; } #floorplan-browser .fp-open { width:100%; } #floorplan-browser figcaption { padding:15px; } }
