/*
 * BPMN Diagram Theme - Supplementary CSS
 *
 * Primary theming is done via JavaScript API in bpmn_viewer_controller.js
 * This file provides hover effects, transitions, and label enhancements
 * that the JS API doesn't cover.
 */

/* ==========================================================================
   HOVER STATES - Interactive feedback
   ========================================================================== */
.bpmn-task:hover rect,
.bpmn-user-task:hover rect,
.bpmn-service-task:hover rect,
.bpmn-send-task:hover rect,
.bpmn-receive-task:hover rect {
  filter: brightness(0.95);
  cursor: pointer;
}

.bpmn-gateway:hover path:first-child,
.bpmn-exclusive-gateway:hover path:first-child,
.bpmn-parallel-gateway:hover path:first-child,
.bpmn-inclusive-gateway:hover path:first-child {
  filter: brightness(0.95);
  cursor: pointer;
}

.bpmn-start-event:hover ellipse,
.bpmn-end-event:hover ellipse,
.bpmn-intermediate-catch-event:hover ellipse,
.bpmn-intermediate-throw-event:hover ellipse {
  filter: brightness(0.95);
  cursor: pointer;
}

.bpmn-pool:hover,
.bpmn-participant:hover {
  cursor: default;
}

/* ==========================================================================
   TRANSITIONS - Smooth state changes
   ========================================================================== */
.bpmn-task rect,
.bpmn-user-task rect,
.bpmn-service-task rect,
.bpmn-gateway path,
.bpmn-start-event ellipse,
.bpmn-end-event ellipse,
.bpmn-intermediate-catch-event ellipse {
  transition: filter 0.15s ease-in-out;
}

/* ==========================================================================
   LABEL ENHANCEMENTS - Better readability
   ========================================================================== */

/* Drop shadow on flow labels for contrast against lines */
.bpmn-sequence-flow .bpmn-label,
.bpmn-type-sequence-flow .bpmn-label {
  filter: drop-shadow(0 0 2px white) drop-shadow(0 0 2px white);
}

/* Ensure labels are selectable for accessibility */
.bpmn-label text {
  pointer-events: auto;
}

/* ==========================================================================
   MESSAGE FLOW STYLING - Dashed lines
   ========================================================================== */
.bpmn-message-flow path,
.bpmn-type-message-flow path {
  stroke-dasharray: 8, 4 !important;
}
