 /* Custom styles for the steps bar */
    .steps-container {
      margin-top: 2.5rem; /* Increased margin for better spacing */
      margin-bottom: 2.5rem;
      padding: 0 1rem; /* Add some horizontal padding for smaller screens */
    }

    .steps {
      display: flex;
      list-style: none;
      padding: 0;
      margin: 0;
      width: 100%;
      align-items: flex-start; /* Align items to the top */
      position: relative;
    }

    .step-segment {
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      position: relative;
      flex: 1 1 0px; /* Distribute space equally, allow shrinking/growing */
      padding: 0 0.5rem; /* Add some padding to prevent text collision with markers */
    }

    /* Connecting lines using ::after on the segment */
    .step-segment:not(:last-child)::after {
      content: "";
      position: absolute;
      top: calc(1.25em - 1.5px); /* (Marker height / 2) - (Line height / 2) */
      left: 50%; /* Start from the center of the current segment */
      width: 100%; /* Extend across the full width of the segment */
      height: 3px; /* Line thickness */
      background-color: hsl(0, 0%, 86%); /* Bulma's border color for default line */
      z-index: 1; /* Behind the marker */
    }

    .step-marker {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 2.5em; /* Marker size using ems for scalability */
      height: 2.5em;
      border-radius: 50%;
      border: 3px solid hsl(0, 0%, 86%); /* Bulma's border color */
      background-color: white;
      color: hsl(0, 0%, 71%); /* Bulma's grey color for default icon/number */
      font-weight: 600; /* semibold */
      margin-bottom: 0.75em; /* Space between marker and text */
      position: relative; /* To ensure it's above the line */
      z-index: 2; /* Marker on top of the line */
      transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
    }

    .step-content .step-title {
      font-weight: 600; /* Bulma's semibold */
      color: hsl(0, 0%, 29%); /* Bulma's grey-darker */
      display: block;
      font-size: 1em; /* Base size */
      line-height: 1.3;
    }

    /* Styling for completed steps */
    .step-segment.is-completed .step-marker {
      background-color: hsl(141, 53%, 53%); /* Bulma's success color */
      border-color: hsl(141, 53%, 53%);
      color: white;
    }
    .step-segment.is-completed .step-content .step-title {
      color: hsl(0, 0%, 29%); /* Keep text color standard or slightly lighter if preferred */
    }
    /* Color the outgoing line of a completed step */
    .step-segment.is-completed:not(:last-child)::after {
      background-color: hsl(141, 53%, 53%);
    }

    /* Styling for the active step */
    .step-segment.is-active .step-marker {
      background-color: hsl(217, 71%, 53%); /* Bulma's primary color */
      border-color: hsl(217, 71%, 53%);
      color: white;
      box-shadow: 0 0 0 0.2em hsla(217, 71%, 53%, 0.25); /* Subtle glow for active */
    }
    .step-segment.is-active .step-content .step-title {
      color: hsl(217, 71%, 53%);
      font-weight: 700; /* bold */
    }

    /* Responsive adjustments for mobile */
    @media screen and (max-width: 768px) {
      .steps {
        flex-direction: column;
        align-items: stretch; /* Stretch segments to full width */
      }
      .step-segment {
        flex-direction: row; /* Marker and text side-by-side */
        align-items: center;
        text-align: left;
        margin-bottom: 1.5rem; /* Space between vertical steps */
        padding: 0; /* Reset padding */
      }
      .step-segment:not(:last-child) {
        margin-bottom: 1.5rem; /* Consistent spacing */
      }
      .step-segment:last-child {
        margin-bottom: 0; /* No margin for the last item */
      }
      /* Hide horizontal connecting lines on mobile */
      .step-segment:not(:last-child)::after {
        display: none;
      }
      .step-marker {
        margin-bottom: 0; /* Reset margin as it's now side-by-side */
        margin-right: 1em; /* Space between marker and text on mobile */
        width: 2.25em; /* Slightly smaller marker on mobile */
        height: 2.25em;
      }
      .step-content .step-title {
        font-size: 0.9em; /* Slightly smaller text on mobile */
      }
    }
