/* Shared interaction behavior for every PULS control family.
 *
 * Visual variants keep their sizes, colours and layout in the stylesheet that
 * owns them. This layer only defines behavior that must never drift between a
 * primary button, back button, box option, +/- stepper, date-picker trigger or
 * other button-shaped control. A deliberately custom control may opt out with
 * data-selectable-control when selecting its own text is part of the feature.
 */
:is(
  button,
  [role="button"],
  .button,
  .back-link,
  .box-option,
  .stepper-btn,
  summary
):not([data-selectable-control]) {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
  -webkit-touch-callout: none;
}

/* A checkbox and its words are one control. Keep the sentence clickable but
 * do not let a press/drag turn it into selected text or a blinking caret. */
:is(.check-line, .toggle, label:has(> input[type="checkbox"])):not(
    [data-selectable-control]
  ) {
  -webkit-user-select: none;
  user-select: none;
  caret-color: transparent;
  -webkit-touch-callout: none;
}

