/* Sassi family - the CSS of drag to reorder (shared/sortable.js). Owner 2026-09-20: shared code carries its own CSS.
   Values are tasks' - they were identical in tasks and links, and food carried the same grip rule - so nothing moves.
   Loaded after the app's app.css, so these win while an app still holds duplicates. */

/* the handle: on touch a drag starts only here, so the rest of the row still scrolls the page */
.item summary .grip{color:var(--dim);touch-action:none;cursor:grab;padding:.2rem .1rem;margin-inline-end:.1rem;flex:none;opacity:.6}
@media (hover:hover){.item summary .grip:hover{opacity:1}}

/* a list of plain rows (tasks' open tasks, food's entries: data-item=".row") carries the same handle, at the row's start */
.sortable > .row .grip{color:var(--dim);touch-action:none;cursor:grab;padding:.2rem .15rem;flex:none;opacity:.6;align-self:center}
@media (hover:hover){.sortable > .row .grip:hover{opacity:1}}

/* the item being dragged lifts off the list; the others stop animating so the swap is immediate */
.sortable .item.drag,.sortable > .row.drag{position:relative;z-index:5;box-shadow:0 12px 30px rgba(0,0,0,.45);opacity:.95;background:var(--card)}
.sortable.dragging .item,.sortable.dragging > .row{transition:none}

/* locked until the switch is on: no handle shows, so nothing looks draggable (the iOS "Edit" pattern) */
.sortable.locked .grip{display:none}
.navord.locked .grip{visibility:hidden}
.navord.locked li{cursor:default}
