/* ==========================================================================
   Empty-space marquee and browse context menu.
   Owning feature: browse
   Load order is defined in Views/Shared/_CssIncludes.cshtml — do not reorder.
   ========================================================================== */

/* ==== Empty-space marquee & context menu (browse.js) ================== */

/* The marquee band has to scroll WITH the grid (unlike the position:fixed
   "..." menus), so .fh-main must be its containing block rather than <body>.
   `position: relative` is declared in the app-shell block at the top of this
   file, alongside the rest of .fh-main's geometry. `relative` is inert for the
   sticky .fh-content-head and for the fixed .fh-selection-toolbar /
   .fh-dropdown — only transform/filter would affect those. */

/* Rubber-band selection rectangle, drawn while dragging on empty grid space.
   z-index sits over the cards but under the sticky .fh-content-head (1020),
   the selection toolbar (1035), and every menu. */
.fh-marquee {
  position: absolute;
  z-index: 1010;
  pointer-events: none; /* must never intercept the drag it visualizes */
  border: 1px solid var(--fh-primary);
  background: rgba(37, 99, 235, 0.12);
  border-radius: 2px;
}

/* Applied only once a drag passes the 6px threshold, so an ordinary click
   never loses text selection or focus. */
body.is-marquee-active,
body.is-marquee-active * {
  user-select: none;
  -webkit-user-select: none;
}
body.is-marquee-active {
  cursor: default;
}
/* Stops the native image/link drag ghost when the band sweeps over a card. */
body.is-marquee-active .fh-card img,
body.is-marquee-active .fh-card a {
  -webkit-user-drag: none;
  pointer-events: none;
}

/* Right-click menu for empty space. .fh-dropdown supplies the border, shadow,
   radius and z-index (1060); position:fixed anchors it to the viewport, the
   same way the item "..." menus do. */
.fh-context-menu {
  position: fixed;
  min-width: 12rem;
}

