.card, .module-card, .stat-card, .card-item {
  background: #1E2227;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.35);
  transition: box-shadow 0.2s, transform 0.2s;
}
.card:hover, .module-card:hover, .stat-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  transform: translateY(-2px) scale(1.02);
}

/* Bouton Lire / Lecture — Call to action global */
.btn-play, button[onclick*="togglePlay"], button[onclick*="buyLot"] {
  transition: box-shadow 0.2s, transform 0.2s, background 0.2s;
}
.btn-play:hover, button[onclick*="togglePlay"]:hover {
  box-shadow: 0 0 14px rgba(74,222,128,0.6);
  transform: scale(1.05);
  background: #22c55e !important;
}
button[onclick*="buyLot"]:hover {
  box-shadow: 0 0 14px rgba(79,142,247,0.6);
  transform: scale(1.05);
}

/* Respiration globale — espacement premium */
.card, .module-card, .stat-card {
  padding: 18px 20px !important;
  margin-bottom: 12px;
}
.section-title, h2, h3 {
  margin-top: 24px !important;
  margin-bottom: 14px !important;
}
.main, .container {
  padding: 28px !important;
}

/* ── BTN PRIMARY — classe unique globale ── */
.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 18px;
  background: #4ADE80;
  color: #121417;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: box-shadow 0.2s, transform 0.2s, background 0.2s;
}
.btn-primary:hover {
  background: #22c55e;
  box-shadow: 0 0 16px rgba(74,222,128,0.55);
  transform: scale(1.04);
}

/* Typographie globale 3 niveaux */
.title { font-size: 1.2rem; font-weight: 700; color: #F3F4F6; margin: 0 0 8px 0; }
.subtitle { font-size: 0.9rem; font-weight: 600; color: #9CA3AF; margin: 0 0 6px 0; }
.text { font-size: 0.82rem; color: #9CA3AF; line-height: 1.6; }

/* Bouton Dashboard — visible sur toutes les pages */
.btn-back {
  background: #4ADE80 !important;
  color: #121417 !important;
  border: none !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
  font-size: .82rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}
.btn-back:hover {
  background: #22c55e !important;
  box-shadow: 0 0 12px rgba(74,222,128,0.5) !important;
}
