
/* module: island.caption — stable-height caption */
.vv-caption{
  min-height: 3.25rem; /* stable perceptual height */
  display: grid;
  gap: 2px;
  overflow: hidden;
}

.vv-title{
  color: var(--vv-title);
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.vv-subtitle{
  color: var(--vv-subtitle);
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Ensure RTL truncation behaves predictably */
html[dir="rtl"] .vv-title, 
html[dir="rtl"] .vv-subtitle{ direction: rtl; unicode-bidi: plaintext; }

.vv-caption{ margin: 0; }
.vv-caption-wrap{ width:100%; }
/* auto width bound to active card */
.vv-caption-wrap{ width: var(--vv-active-width, 100%); margin-inline: auto; }
