/*
 * assets/themes/ios/css/quiz-detail.css
 *
 * Chemin : assets/themes/ios/css/quiz-detail.css
 * Description : Styles badges, typographie, description, boutons secondaires quiz.
 *
 * @since      1.9.0
 * @version    1.9.1
 * @changelog
 *   - v1.9.1 (2025-06-08): Ajout styles badges dynamiques, boutons secondaires.  
 *   - v1.9.0 (2025-05-10): Création initiale du template détail CSS.  
 *   - v0.2.0 (2024-12-15): Prototype styles description quiz.  
 *
 * @todo Ajouter transitions hover badges.  
 * @todo Supporter mode sombre avec variables CSS.  
 * @todo Ajouter responsive pour très petits écrans.  
 * @todo Prévoir variable CSS pour couleurs secondaires.  
 * @todo Améliorer contraste pour accessibilité.  
 *
 * Appelé par :
 * - templates/frontend/quiz-detail.php
 * - includes/frontend/class-frontend-controller.php (enqueue_styles)
 */

/* 🌈 Variables héritées pour consistency */
:root {
  --detail-bg: var(--session-bg);
  --detail-text: var(--session-text);
  --detail-primary: var(--session-primary);
  --badge-bg: var(--quiz-filter-item-active);
  --badge-text: #ffffff;
  --btn-secondary-bg: var(--quiz-filter-item);
  --btn-secondary-text: var(--quiz-filter-text);
}

/* 📦 Wrapper détail quiz */
.modulr-quiz-detail {
  background: var(--detail-bg);
  color: var(--detail-text);
  padding: 1.5rem;
  border-radius: 0.75rem;
  max-width: 640px;
  margin: 0 auto 2rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

/* 🏷️ Titres */
.modulr-quiz-detail .quiz-title {
  font-size: 1.75rem;
  margin-bottom: 0.75rem;
}

/* ⭐ Badges (difficulté, questions, durée) */
.quiz-badges {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 1rem;
}

.badge {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  background: var(--badge-bg);
  color: var(--badge-text);
  white-space: nowrap;
  /* Suggestion 1 : transition hover */
  transition: transform 0.2s, background 0.2s;
}

.badge:hover {
  transform: translateY(-2px);
  background: var(--detail-primary);
}

/* 📄 Description du quiz */
.quiz-description {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

/* 🎮 Boutons Démarrer / Annuler */
.quiz-detail-buttons {
  display: flex;
  gap: 1rem;
  justify-content: flex-start;
}

/* ------------------------------------------------------------------
   Boutons front-end
------------------------------------------------------------------ */
/* 🟢 Bouton principal */
.actions .button-primary {
  display: inline-block;
  padding: 0.6rem 1.2rem;
  background-color: var(--ql-btn-active, #0073aa);
  color: #fff !important;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0.25rem;
  transition: background-color 0.2s;
}
/* 👋 Hover états */
.actions .button-primary:hover,
.actions .btn-primary:focus {
  opacity: 0.9;
}

/* ⚪ Bouton secondaire */
.btn-secondary {
  background: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
  border: 1px solid var(--btn-secondary-text);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background: var(--detail-primary);
  color: #ffffff;
}

/* ------------------------------------------------------------------
   login popup
------------------------------------------------------------------ */
#modulr-login-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#modulr-login-popup .modulr-login-box {
    background: #fff;
    padding: 2rem;
    border-radius: 10px;
    max-width: 420px;
    width: 90%;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    position: relative;
}

/* Bouton fermeture */
#modulr-login-popup .modulr-login-close {
    position: absolute;
    top: 8px;
    right: 12px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    color: #666;
}


/* Top participants widget */
.quiz-highscores {
  background: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  max-width: 360px;
}

.quiz-highscores__title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.quiz-highscores__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.quiz-highscores__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  border-bottom: 1px solid #ebedef;
}
.quiz-highscores__item:last-child {
  border-bottom: none;
}

.quiz-highscores__item:first-child {
  border-top: none;
}

.quiz-highscores__item--current {
  background: #fffbcc;
}

.quiz-highscores__rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: #eee;
  font-weight: 600;
  color: #333;
  margin-right: 1rem;
  flex-shrink: 0;
}

.quiz-highscores__item:nth-child(1) .quiz-highscores__rank {
  background-color:rgb(250 204 21);
}

.quiz-highscores__item:nth-child(2) .quiz-highscores__rank {
  background-color:rgb(209 213 219);
}

.quiz-highscores__item:nth-child(3) .quiz-highscores__rank {
  background-color:rgb(245 158 11);
}

.quiz-highscores__details {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.quiz-highscores__score {
  font-size: 0.875rem;
  color: #666;
  margin-top: 0.25rem;
}

.quiz-highscores__more {
  text-align: center;
  margin-top: 1.5rem;
}

.quiz-highscores__more .button {
  display: inline-block;
  width: 100%;
  padding: 0.75rem 0;
  background: #f5f7fa;
  color: #333;
  border: 1px solid #d0d2d4;
  border-radius: 6px;
  font-weight: 500;
  text-transform: none;
  box-shadow: none;
}
.quiz-highscores__more .button:hover {
  background: #e8ebed;
  border-color: #c8cacf;
}

/* icône à droite dans un rond */
.quiz-highscores__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  /* background: #eee; */
  font-size: 1.25rem;
  flex-shrink: 0;
  margin-left: 1rem;
}

.quiz-highscores__item:nth-child(1) .quiz-highscores__icon {
  background-color:#fff;
  border: 2px solid #facc15;
}
.quiz-highscores__item:nth-child(2) .quiz-highscores__icon {
  background-color:#fff;
  border: 2px solid rgb(209 213 219);
}
.quiz-highscores__item:nth-child(3) .quiz-highscores__icon {
  background-color:#fff;
  border: 2px solid rgb(245 158 11);
}
.quiz-highscores__item:nth-child(n+4) .quiz-highscores__icon {
  background: #4f9ff6;
  color: #fff;
}


.modulr-error {
	background: #ffe8e8;
	color: #b30000;
	padding: 10px;
	margin-bottom: 15px;
	border-radius: 6px;
	border: 1px solid #e0b4b4;
	text-align: center;
	font-size: 0.9em;
}


/* 📱 Responsive mobile-first */
@media (max-width: 480px) {
  .badge {
    font-size: 0.75rem;
    padding: 0.2rem 0.5rem;
  }
  .modulr-quiz-detail {
    padding: 1rem;
  }
  .modulr-quiz-detail .quiz-title {
    font-size: 1.5rem;
  }
}