/* Conteneur et viewport */
.dv-container { position: relative; width: 300px; height: 350px; overflow: hidden; }
.dv-container.dv-loading { opacity: .6; pointer-events: none; }
.dv-viewport { position: absolute; inset: 0;
/* Forcer le défilement horizontal uniquement */
  overflow-x: auto;
  overflow-y: hidden;
}

/* Bande horizontale d’items, sans retour à la ligne */
.dv-items {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;     /* empêche de passer à la ligne */
  gap: 12px;
  padding: 8px;
}

/* Chaque carte a une largeur fixe pour le carrousel horizontal */
.dv-item {
  width: 280px;
  flex: 0 0 280px;       /* largeur figée, pas de redimensionnement */
  border: 1px solid #ddd;
  padding: 6px;
  background: #fafafa;
  overflow: hidden;      /* évite de créer une hauteur énorme */
  display: flex;
  flex-direction: column;
}

/* Titre */
.dv-title { margin: 0 0 6px; font-size: 14px; line-height: 1.25; }

/* Zone de contenu (excerpt ou complet) */
.dv-body { overflow: hidden; }
.dv-body--excerpt { max-height: 240px; } /* limite visuelle pour l’extrait */

/* Commandes */
.dv-controls {
  position: absolute; right: 8px; bottom: 8px;
  display: flex; gap: 6px;
}
.dv-controls button { padding: 4px 8px; }
