/* ============================================================
   SWIPE — generic left-swipe-to-reveal-actions (see swipe_controller.js).
   A row marked data-controller="swipe" is the positioning context; its
   [data-swipe-target="actions"] panel grows in from the right edge as you drag
   left and latches open past halfway, like the calls list's swipe-to-delete.
   The row carries --swipe-w (set by the controller from its width value) so a
   multi-button strip can open wider than the single-button default.
   ============================================================ */
.swipe { position: relative; }

.swipe-actions {
  position: absolute; top: 0; right: 0; bottom: 0; width: 0; overflow: hidden;
  transition: width .2s ease; z-index: 3;
}
.swipe--open .swipe-actions { width: var(--swipe-w, 96px); }
.swipe--swiping .swipe-actions { transition: none; }

/* The strip keeps its full width while the panel above it clips it, so the
   buttons slide in from the right rather than squashing as the panel opens. */
.swipe-actions__strip {
  position: absolute; top: 0; right: 0; bottom: 0; width: var(--swipe-w, 96px);
  display: flex;
}
.swipe-actions__strip > * { flex: 1; display: flex; }

.swipe-actions__btn {
  flex: 1; display: flex; align-items: center; justify-content: center; gap: var(--sp-3);
  border: 0; margin: 0; padding: 0; cursor: pointer;
  background: var(--red); color: var(--white);
  font-size: var(--fs-4); font-weight: 600; white-space: nowrap;
}
.swipe-actions__btn:hover { filter: brightness(0.94); }
