/* Global flow arrow connector */
.flow-connector {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  flex: 1 1 auto;
  align-self: flex-start;
  margin-top: 50px;
  min-width: 1.25rem;
  max-width: 4rem;
  color: var(--color-blue);
}

.flow-connector__dash {
  flex: 1;
  height: 0;
  border-top: 2px dashed rgba(var(--color-blue-rgb), 0.4);
  min-width: 2px;
}

.flow-connector__icon {
  font-size: 0.5rem;
  flex-shrink: 0;
  opacity: 0.85;
}

.icon-arrow {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

/* Font Awesome icon sizing helpers */
.icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.icon-wrap--sm { width: 36px; height: 36px; font-size: 0.95rem; }
.icon-wrap--md { width: 48px; height: 48px; font-size: 1.15rem; }
.icon-wrap--lg { width: 56px; height: 56px; font-size: 1.35rem; }

.icon-wrap--blue {
  background: rgba(var(--color-blue-rgb), 0.12);
  color: var(--color-blue);
  border-radius: 50%;
}

.icon-wrap--green {
  background: rgba(var(--color-green-rgb), 0.15);
  color: var(--color-green);
  border-radius: 50%;
}

.icon-wrap--white {
  background: rgba(255, 255, 255, 0.12);
  color: var(--color-white);
  border-radius: 50%;
}
