.rich-text a {
  color: #0066cc;
  text-decoration: none;
  position: relative;
  transition: color 0.2s ease;

  /* Wrapping fixes */
  word-wrap: break-word;     /* legacy, supported everywhere */
  overflow-wrap: break-word; /* modern preferred syntax */
  word-break: break-word;    /* fallback for older browsers */
  white-space: normal;       /* allow wrapping */

  max-width: 100%;
  display: inline-block;
}


/* The animated underline */
.rich-text a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(1); /* ✅ start as visible */
  transform-origin: left;
  transition: transform 0.3s ease;
}

/* On hover out → shrink (exit) */
.rich-text a:hover::after {
  transform: scaleX(0);
  transform-origin: right; /* exits towards the right */
}

/* On hover in again → expand (enter) */
.rich-text a:not(:hover)::after {
  transform: scaleX(1);
  transform-origin: left; /* re-enters from left */
}
