/* page-big_five.css */
/* ========================================
   PAGES 2, 3, 4 — RIASEC, BIG FIVE, IM
   Commun aux sections .riasec-flex, .bf5-flex, .im-flex
======================================== */

/* Conteneur général (2 colonnes) */
.riasec-flex,
.bf5-flex,
.im-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: flex-start;
  margin-top: 2rem;
}

/* Colonne gauche : champs de saisie */
.riasec-col-gauche,
.bf5-col-gauche,
.im-col-gauche {
  flex: 0 0 320px;
  max-width: 100%;
}

/* Colonne droite : texte + graphique */
.riasec-col-droite,
.bf5-col-droite,
.im-col-droite {
  flex: 1;
  min-width: 250px;
}

/* Fieldsets : style commun */
.riasec-col-gauche fieldset,
.bf5-col-gauche fieldset,
.im-col-gauche fieldset {
  background: var(--clr-gray-100);
  border: 1px solid var(--clr-gray-200);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: var(--space-3);
  margin-bottom: var(--space-3);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-2);
  font-size: 0.95rem;
  line-height: 1.4;
}

/* Legend (titre de chaque trait) */
.riasec-col-gauche fieldset legend,
.bf5-col-gauche fieldset legend,
.im-col-gauche fieldset legend {
  font-weight: 600;
  font-size: 1rem;
  color: var(--clr-primary);
  margin-bottom: var(--space-2);
}

/* Champs numériques */
.riasec-col-gauche input[type="number"],
.bf5-col-gauche input[type="number"],
.im-col-gauche input[type="number"] {
  width: 100%;
  padding: 0.5rem;
  font-size: 1rem;
  border: 1px solid var(--clr-gray-300);
  border-radius: var(--radius-sm);
  background: var(--clr-white);
  font-family: inherit;
  box-sizing: border-box;
}

/* Zone de texte (résultat personnalisé) */
.riasec-col-droite textarea,
.bf5-col-droite textarea,
.im-col-droite textarea {
  width: 100%;
  min-height: 380px;
  font-size: 1rem;
  padding: 1rem;
  resize: vertical;
  border: 1px solid var(--clr-gray-300);
  border-radius: var(--radius-sm);
  background: var(--clr-white);
  box-sizing: border-box;
}

/* Labels */
.riasec-col-gauche label,
.bf5-col-gauche label,
.im-col-gauche label,
.riasec-col-droite label,
.bf5-col-droite label,
.im-col-droite label {
  display: block;
  font-weight: bold;
  margin-bottom: 0.5rem;
}

/* Loader pour les graphiques */
.graph-loader {
  display: none;
  margin-bottom: 0.5rem;
  text-align: center;
  font-size: 0.9rem;
  color: #6b7280;
}

/* Responsive : bascule en une colonne sur mobile */
@media (max-width: 768px) {
  .riasec-flex,
  .bf5-flex,
  .im-flex {
    flex-direction: column;
  }

  .riasec-col-gauche,
  .riasec-col-droite,
  .bf5-col-gauche,
  .bf5-col-droite,
  .im-col-gauche,
  .im-col-droite {
    flex: 1 1 100%;
  }

  .riasec-col-droite textarea,
  .bf5-col-droite textarea,
  .im-col-droite textarea {
    min-height: 200px;
  }
}