/* ==========================================================================
   Floor plan — room-hire.html signature element
   Owned by the floorplan task. Loaded after assets/style.css.
   All colour here is var(--token) from style.css's :root — no new literals.
   Accent (var(--accent)) is spent in exactly one role: the two doors (leaf +
   swing arc). Dimension lines, the grid and every other mark use ink / muted
   / line / card / paper-2, matching the "one accent" rule in CLASSES.md.
   No animation, transition, transform or rotation anywhere in this file.
   ========================================================================== */

.floorplan{
  margin:0;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:20px 20px 16px;
}

.floorplan svg{
  display:block;
  width:100%;
  height:auto;
}

/* Type is inherited Archivo — never named inside the SVG itself. */
.floorplan svg text{
  font-family:var(--ui);
  fill:var(--ink);
}

.floorplan figcaption{
  margin-top:12px;
  font-size:.85rem;
  color:var(--muted);
}

/* --------------------------------------------------------------------------
   Walls, floor, grid
   -------------------------------------------------------------------------- */
.fp-wall rect{fill:var(--ink)}

.fp-floor{
  fill:var(--card);
  stroke:var(--line);
  stroke-width:3;
}

.fp-grid-minor-line{
  fill:none;
  stroke:var(--line);
  stroke-width:2;
}

.fp-grid-major line{
  stroke:var(--muted);
  stroke-width:3.5;
}

/* --------------------------------------------------------------------------
   Mirror wall (double line), seating edge, DJ position
   -------------------------------------------------------------------------- */
.fp-mirror line{
  stroke:var(--ink);
  stroke-width:5;
  stroke-linecap:butt;
}

.fp-seating{
  fill:var(--paper-2);
  stroke:var(--muted);
  stroke-width:2.5;
  stroke-dasharray:10 8;
}

.fp-dj{
  fill:var(--paper-2);
  stroke:var(--muted);
  stroke-width:2.5;
}

/* --------------------------------------------------------------------------
   Doors — the one place accent is spent: leaf + swing arc
   -------------------------------------------------------------------------- */
.fp-door-leaf{
  stroke:var(--accent);
  stroke-width:6;
  stroke-linecap:round;
}

.fp-door-arc{
  fill:none;
  stroke:var(--accent);
  stroke-width:3;
}

/* --------------------------------------------------------------------------
   Area label — always visible, sized to stay legible at 390px
   -------------------------------------------------------------------------- */
.fp-area-main{
  font-size:100px;
  font-weight:800;
  fill:var(--ink);
}

.fp-area-sub{
  font-size:60px;
  font-weight:600;
  fill:var(--muted);
}

/* --------------------------------------------------------------------------
   Dimension lines — always visible, sized to stay legible at 390px
   -------------------------------------------------------------------------- */
.fp-dim-ext{
  stroke:var(--muted);
  stroke-width:2.5;
}

.fp-dim-line{
  stroke:var(--ink);
  stroke-width:4;
  fill:none;
}
.fp-dim-line-h{
  marker-start:url(#fp-arrow);
  marker-end:url(#fp-arrow);
}
.fp-dim-line-top{marker-start:url(#fp-arrow)}
.fp-dim-line-bottom{marker-end:url(#fp-arrow)}

.fp-arrowhead{fill:var(--ink)}

.fp-dim-label{
  font-size:72px;
  font-weight:700;
  fill:var(--ink);
}

/* --------------------------------------------------------------------------
   Fine detail labels — redundant with the adjacent spec list once it's
   readable, so they're dropped below 720px rather than clipped/overlapped.
   -------------------------------------------------------------------------- */
.fp-detail{
  font-size:42px;
  font-weight:600;
  fill:var(--muted);
}

@media (max-width:720px){
  .fp-detail{display:none}
}
