/* Smart title: first line ellipsized, rest continues below */
.smart-title {
  display: block;
}
.smart-title__first {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.smart-title__rest {
  display: block;
  overflow-wrap: anywhere;
}
.smart-title__rest:not(:empty)::before {
  content: " - ";
}
/* Hyphen handled in JS when split mid-word */
