/* Home: faixas com poucos vídeos preenchem a linha (em vez de cards pequenos + vazio à direita).
   Só em telas largas; no celular continua o carrossel com "espiada" do próximo card. */
@media (min-width: 768px) {
  .ds-rail:has(> .ds-rail-track > .ds-vcard:nth-child(3):last-child) { --rail-cols: 3; }
}

@media (min-width: 1024px) {
  .ds-rail:has(> .ds-rail-track > .ds-vcard:nth-child(4):last-child) { --rail-cols: 4; }
}

/* Cards largos cabem o título em 1 linha: sem a reserva de 2 linhas (evita o vão antes das métricas). */
@media (min-width: 768px) {
  .ds-rail:has(> .ds-rail-track > .ds-vcard:nth-child(3):last-child) .ds-vcard-title { min-height: 0; }
}

@media (min-width: 1024px) {
  .ds-rail:has(> .ds-rail-track > .ds-vcard:nth-child(4):last-child) .ds-vcard-title { min-height: 0; }
}

/* Continue assistindo: barra de progresso na base da capa. */
.ds-vcard-progress {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: 5px;
  background: rgb(255 255 255 / .35);
  z-index: 1;
}

.ds-vcard-progress > span {
  display: block;
  height: 100%;
  border-radius: 0 var(--radius-full) var(--radius-full) 0;
  background: var(--brand);
}
