/* R18 part 3: floor plans on a phone. Shared by every page that shows a plan (class fplan) and by the vendored builder's plan view
   (#gb-plan2d, wired from fplan.js; the builder's own files are never edited). Above 600px nothing here changes the page. */
.fp-open{cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.fp-set .fp-dots,.fp-hint{display:none}
@media (max-width:600px){
  .fplan.fp-full{display:block;width:100%;height:auto;max-width:none;max-height:none}
  .fp-rotbox{position:relative;display:block;width:100%;overflow:hidden}
  .fp-rotbox>img{position:absolute;top:0;left:100%;height:auto;max-width:none;transform-origin:0 0;transform:rotate(90deg)}
  #gb-plan2d.fp-scroll{display:block;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:72px}
  #gb-plan2d.fp-scroll .gb-plan2{display:block;width:100%;max-width:none;max-height:none;height:auto}
  #gb-plan2d .fp-hint{display:block;margin:8px 0 0;font:500 12px/1.3 Inter,system-ui,sans-serif;color:#6b6b66;text-align:center}
  .fp-set{position:relative}
  .fp-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}
  .fp-track::-webkit-scrollbar{display:none}
  .fp-track>.fp-item{flex:0 0 100%;scroll-snap-align:center;margin:0;padding:0 2px;box-sizing:border-box}
  .fp-item>figcaption{font:600 15px/1.3 Inter,system-ui,sans-serif;margin:0 0 8px;text-align:center}
  .fp-set .fp-dots{display:flex;justify-content:center;gap:12px;width:max-content;margin:12px auto 0;padding:9px 16px;list-style:none;position:sticky;bottom:12px;z-index:3;background:rgba(250,249,245,.94);border-radius:999px;box-shadow:0 0 0 1px #d9d4c7}
  .fp-dots button{width:12px;height:12px;padding:0;border:0;border-radius:50%;background:#c9c4b8;cursor:pointer}
  .fp-dots button[aria-current="true"]{background:#2F5D4A;transform:scale(1.25)}
}
.fp-view{position:fixed;inset:0;z-index:2147483000;background:#14130f;touch-action:none;overflow:hidden;overscroll-behavior:contain}
.fp-stage{position:absolute;inset:0;display:grid;place-items:center;transform-origin:50% 50%;will-change:transform}
.fp-stage>svg,.fp-stage>img{display:block;width:96vw;height:auto;max-height:92vh;max-width:none;background:#f4f1ea;border-radius:4px;user-select:none;-webkit-user-drag:none}
.fp-x{position:absolute;top:max(10px,env(safe-area-inset-top));right:10px;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(250,249,245,.94);color:#14130f;font:400 30px/48px Inter,system-ui,sans-serif;text-align:center;cursor:pointer;padding:0}
.fp-cap{position:absolute;left:0;right:0;bottom:max(12px,env(safe-area-inset-bottom));z-index:2;text-align:center;font:500 12px/1.3 Inter,system-ui,sans-serif;color:#d8d4c8;pointer-events:none}
