/* ===== b3d.css : 진입(동 선택) 화면 건물 3D 스테이지 =====
   floor.css(디자인 확정 산출물)와 분리 — .fpb3d-* 네임스페이스만 사용.
   팔레트: 쿨뉴트럴 라이트 + 네이비 선택(#2A4365), 카드 룩은 .fpnav-card와 동일 계열 */
#fpNav .fpb3d-card{position:relative;margin:0 auto 18px;max-width:980px;
  border:1px solid #E2E8F0;border-radius:16px;overflow:hidden;
  background:linear-gradient(160deg,#F2F6FC 0%,#E3EBF6 100%);
  box-shadow:0 10px 30px rgba(15,23,42,.06);}
#fpNav .fpb3d-stage{position:relative;width:100%;height:clamp(340px,46vh,520px);}
#fpNav .fpb3d-stage canvas{display:block;cursor:grab;}
#fpNav .fpb3d-stage canvas:active{cursor:grabbing;}

.fpb3d-hud{position:absolute;top:12px;left:12px;display:flex;gap:8px;z-index:3;}
.fpb3d-btn{font-family:inherit;font-size:.78rem;font-weight:700;padding:6px 13px;border-radius:999px;
  border:1px solid #DBE3EE;background:rgba(255,255,255,.92);color:#3A4A60;cursor:pointer;transition:.12s;}
.fpb3d-btn:hover{border-color:#2563EB;color:#0F172A;}
.fpb3d-btn.on{background:linear-gradient(180deg,#3B82F6,#2563EB);border-color:#2563EB;color:#fff;}

.fpb3d-hint{position:absolute;left:12px;bottom:10px;z-index:3;font-size:.72rem;color:#7787A0;
  background:rgba(255,255,255,.78);padding:4px 11px;border-radius:10px;pointer-events:none;}

.fpb3d-label{position:absolute;z-index:2;transform:translate(-50%,-100%);font-family:inherit;
  font-size:.78rem;font-weight:800;color:#3A4A60;background:rgba(255,255,255,.92);
  border:1px solid #DBE3EE;padding:4px 12px;border-radius:12px;white-space:nowrap;cursor:pointer;transition:.12s;}
.fpb3d-label:hover{background:#2A4365;border-color:#2A4365;color:#fff;}

.fpb3d-tip{position:absolute;z-index:4;transform:translate(-50%,-100%);pointer-events:none;
  font-size:.74rem;font-weight:700;color:#fff;background:rgba(15,23,42,.88);
  padding:5px 11px;border-radius:9px;white-space:nowrap;box-shadow:0 6px 18px rgba(15,23,42,.25);}
.fpb3d-tip.nodoc{background:rgba(100,116,139,.92);}

/* 모바일: 3D 생략(카드만) — mountB3d()도 스킵하지만 CSS로 이중 방어 */
@media(max-width:760px){#fpNav .fpb3d-card{display:none;}}
