
/* V34 — Salle d'écoute en cartes vidéo style TikTok + images fallback première installation */

.listen-grid,
.tracks-grid,
.morceaux-grid,
.cards-grid,
.track-list,
.ecoute-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.track-card,
.morceau-card,
.song-card,
.card-track,
.listen-card,
.track-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: rgba(10,10,18,.88) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 22px !important;
  padding: 12px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.35) !important;
  overflow: hidden !important;
}

.track-card video,
.morceau-card video,
.song-card video,
.card-track video,
.listen-card video,
.track-row video,
.video-tiktok,
.tiktok-video {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 9 / 16 !important;
  height: auto !important;
  max-height: 460px !important;
  object-fit: cover !important;
  border-radius: 18px !important;
  background: #05050a !important;
  display: block !important;
}

.track-card iframe,
.morceau-card iframe,
.song-card iframe,
.card-track iframe,
.listen-card iframe {
  width: 100% !important;
  aspect-ratio: 9 / 16 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.track-card .track-body,
.morceau-card .track-body,
.song-card .track-body,
.listen-card .track-body {
  padding: 4px 2px 2px !important;
}

.track-card h2,
.track-card h3,
.morceau-card h2,
.morceau-card h3,
.listen-card h2,
.listen-card h3 {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  margin: 2px 0 4px !important;
}

.track-card p,
.morceau-card p,
.listen-card p {
  font-size: .9rem !important;
  line-height: 1.35 !important;
}

.track-actions,
.actions,
.card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

@media (max-width: 680px) {
  .listen-grid,
  .tracks-grid,
  .morceaux-grid,
  .cards-grid,
  .track-list,
  .ecoute-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .track-card,
  .morceau-card,
  .song-card,
  .card-track,
  .listen-card,
  .track-row {
    border-radius: 18px !important;
    padding: 9px !important;
  }
  .track-card video,
  .morceau-card video,
  .song-card video,
  .card-track video,
  .listen-card video,
  .track-row video {
    border-radius: 14px !important;
    max-height: 360px !important;
  }
}

@media (max-width: 380px) {
  .listen-grid,
  .tracks-grid,
  .morceaux-grid,
  .cards-grid,
  .track-list,
  .ecoute-list {
    grid-template-columns: 1fr !important;
  }
}

/* Images de page : garde un rendu propre si l'image a été supprimée */
.hero img,
.page-banner img,
.challenge-banner img,
.banner img,
.admin-image-preview img {
  object-fit: cover !important;
  max-width: 100% !important;
}
