.rehab-journey-widget {
  --rj-navy: #14213d;
  --rj-navy-soft: #2a3b63;
  --rj-amber: #c4802a;
  --rj-amber-light: #e3a75a;
  --rj-line: #e4e1d8;
  --rj-text-muted: #6b7280;
  --rj-item-text: #2b3646;
  --rj-hover: #fbf6ee;
  /* Top colour bar CSS variables – overridden by Elementor colour pickers */
  --rj-top-bar-start: var(--rj-amber);
  --rj-top-bar-mid: var(--rj-amber-light);
  --rj-top-bar-end: var(--rj-navy);
  width: 100%;
  font-family: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--rj-navy);
}

.rehab-journey-widget *,
.rehab-journey-widget *::before,
.rehab-journey-widget *::after {
  box-sizing: border-box;
}

.rehab-journey-panel {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 56px;
  background: #fff;
  border-radius: 18px;
}


/* Hide top colour bar when the switcher is off */
.rehab-journey--no-top-bar .rehab-journey-panel::before {
  display: none;
}

.rehab-journey-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 48px;
  align-items: stretch;
}

.rehab-journey--3-columns .rehab-journey-grid {
  grid-template-columns: 1fr auto 1fr auto 1fr;
}

.rehab-journey-column {
  min-width: 0;
}

.rehab-journey-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--rj-amber);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  line-height: 1.35;
  text-transform: uppercase;
}

.rehab-journey-heading {
  margin: 0 0 6px;
  color: var(--rj-navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  font-weight: 400;
  letter-spacing: 0.2px;
  line-height: 1.2;
}

.rehab-journey-description {
  margin: 0 0 26px;
  color: var(--rj-text-muted);
  font-size: 14px;
  line-height: 1.5;
}

.rehab-journey-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rehab-journey-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 4px;
  border-bottom: 1px solid var(--rj-line);
  border-radius: 6px;
  color: var(--rj-item-text);
  font-size: 15.5px;
  line-height: 1.45;
  opacity: 0;
  transform: translateY(8px);
  animation: rehab-journey-rise 0.5s ease forwards;
  cursor: default;
  transition: background-color 0.2s ease, padding-left 0.2s ease;
}

/* Linked items get a pointer cursor */
.rehab-journey-item--linked {
  cursor: pointer;
}

.rehab-journey-item:last-child {
  border-bottom: 0;
}

.rehab-journey-item:hover {
  padding-left: 10px;
  background-color: var(--rj-hover);
}

.rehab-journey-item:nth-child(1) {
  animation-delay: 100ms;
}

.rehab-journey-item:nth-child(2) {
  animation-delay: 170ms;
}

.rehab-journey-item:nth-child(3) {
  animation-delay: 240ms;
}

.rehab-journey-item:nth-child(4) {
  animation-delay: 310ms;
}

.rehab-journey-item:nth-child(5) {
  animation-delay: 380ms;
}

.rehab-journey-item:nth-child(6) {
  animation-delay: 450ms;
}

.rehab-journey-check {
  display: flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--rj-amber-light), var(--rj-amber));
  box-shadow: 0 2px 6px rgba(196, 128, 42, 0.35);
}

.rehab-journey-check svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3;
}

/* ── Item link styles ──────────────────────────────────────────────────────── */
.rehab-journey-item-link {
  color: var(--rj-navy);
  text-decoration: none;
  transition: color 0.2s ease;
}

.rehab-journey-item-link:hover {
  color: var(--rj-amber);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ── End item link styles ─────────────────────────────────────────────────── */

.rehab-journey-rich-text {
  color: var(--rj-text-muted);
  font-size: 14px;
  line-height: 1.65;
}

.rehab-journey-rich-text p {
  margin: 0 0 20px;
}

.rehab-journey-rich-text p:last-child {
  margin-bottom: 0;
}

.rehab-journey-divider {
  position: relative;
  align-self: stretch;
  width: 1px;
  min-height: 160px;
  background: linear-gradient(to bottom, transparent, var(--rj-line) 15%, var(--rj-line) 85%, transparent);
}

.rehab-journey-divider::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 34px;
  height: 34px;
  border: 2px solid var(--rj-line);
  border-radius: 8px;
  background: #fff;
  content: "";
  transform: translate(-50%, -50%) rotate(45deg);
}

.rehab-journey-divider::after {
  position: absolute;
  top: 50%;
  left: 50%;
  color: var(--rj-amber);
  content: "+";
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  transform: translate(-50%, -56%);
}

.rehab-journey-footer {
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid var(--rj-line);
  color: var(--rj-text-muted);
  font-size: 12.5px;
  letter-spacing: 0.3px;
  line-height: 1.5;
  text-align: center;
}

@keyframes rehab-journey-rise {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 720px) {
  .rehab-journey-panel {
    padding: 32px 22px;
  }

  .rehab-journey-grid,
  .rehab-journey--3-columns .rehab-journey-grid {
    display: block;
  }

  .rehab-journey-divider {
    display: none;
  }

  .rehab-journey-column + .rehab-journey-column {
    margin-top: 34px;
    padding-top: 34px;
    border-top: 1px solid var(--rj-line);
  }

  .rehab-journey-heading {
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rehab-journey-item {
    opacity: 1;
    transform: none;
    animation: none;
  }
}
