/**
 * mon-projet.css — Espace client "Mon projet" ([hub_mon_projet]).
 *
 * Hiérarchie visuelle, du plus englobant au plus fin :
 *   Projet (h2) > Phase (h3, carte) > section de Phase [Étapes /
 *   Ressources / Journal de bord] (h4, label) > Étape (h5, sous-carte) >
 *   section d'Étape [Ressources / Journal de bord] (h6, label imbriqué).
 * Les ressources et le journal partagent les mêmes classes à chaque
 * niveau ; seul le modificateur --nested change la taille/le retrait.
 */

/* Élargit uniquement cette page (contentSize du thème = 780px) : sort du
   conteneur "constrained" du gabarit de page sans y toucher, pour ne pas
   affecter les autres pages qui partagent le même gabarit. */
.hub-mon-projet {
  box-sizing: border-box;
  width: 100vw;
  max-width: 1100px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 5%;
  padding-right: 5%;
}

.hub-mon-projet__msg {
  color: var(--wp--preset--color--ink);
}

/* ── Niveau 0 : Projet ─────────────────────────────────────────── */

.hub-mon-projet__title {
  color: var(--wp--preset--color--primary-dark);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1.4rem 0;
  padding-bottom: .6rem;
  border-bottom: 2px solid var(--wp--preset--color--border);
}

/* ── Niveau 1 : Phase (carte) ─────────────────────────────────────── */

.hub-mon-projet__phase {
  border: 1px solid var(--wp--preset--color--border);
  border-left: 4px solid var(--wp--preset--color--primary);
  border-radius: 10px;
  padding: 1.1rem 1.3rem;
  margin-bottom: 1.2rem;
  background: var(--wp--preset--color--background);
}

.hub-mon-projet__phase-title {
  color: var(--wp--preset--color--primary-dark);
  font-size: 1.15rem;
  font-weight: 700;
  margin: 0 0 .6rem 0;
}

.hub-mon-projet__phase-desc {
  color: var(--wp--preset--color--ink);
  font-size: .9rem;
  line-height: 1.5;
  margin-bottom: .9rem;
}

.hub-mon-projet__phase--inactive {
  border-left-color: var(--wp--preset--color--border);
  background: var(--wp--preset--color--surface);
  opacity: .6;
}

.hub-mon-projet__phase--inactive .hub-mon-projet__phase-title {
  color: #888;
  font-weight: 400;
  font-size: 1rem;
  margin: 0 0 .5rem 0;
}

.hub-mon-projet__activate-form {
  margin: 0;
}

.hub-mon-projet__activate-btn {
  background: var(--wp--preset--color--primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: .35rem .8rem;
  font-size: .8rem;
  cursor: pointer;
}

.hub-mon-projet__activate-btn:hover {
  background: var(--wp--preset--color--primary-dark);
}

.hub-mon-projet__progress {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin-bottom: 1rem;
}

.hub-mon-projet__progress-bar {
  flex: 1;
  height: 8px;
  background: var(--wp--preset--color--surface);
  border-radius: 4px;
  overflow: hidden;
}

.hub-mon-projet__progress-fill {
  height: 100%;
  background: var(--wp--preset--color--accent);
  border-radius: 4px;
}

.hub-mon-projet__progress-label {
  font-size: .8rem;
  font-weight: 700;
  color: var(--wp--preset--color--primary-dark);
  flex-shrink: 0;
}

/* ── Label de section (Étapes / Ressources / Journal de bord) ──────
   h4 au niveau Phase, h6 + .--nested au niveau Étape (imbriqué). ── */

.hub-mon-projet__section-label {
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #999;
  margin: 1.1rem 0 .5rem 0;
}

.hub-mon-projet__section-label--nested {
  font-size: .68rem;
  letter-spacing: .03em;
  color: #aaa;
  margin: .7rem 0 .35rem 0;
}

.hub-mon-projet__empty {
  color: #888;
  font-size: .85rem;
  margin: 0;
}

/* ── Niveau 2 : Étape (sous-carte, dans la liste d'une Phase) ─────── */

.hub-mon-projet__etapes {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hub-mon-projet__etape {
  padding: .7rem .9rem;
  margin-bottom: .6rem;
  background: var(--wp--preset--color--surface);
  border-left: 3px solid var(--wp--preset--color--primary);
  border-radius: 8px;
  font-size: .85rem;
}

.hub-mon-projet__etape:last-child {
  margin-bottom: 0;
}

.hub-mon-projet__etape--done {
  border-left-color: var(--wp--preset--color--border);
}

.hub-mon-projet__etape-row {
  display: flex;
  align-items: center;
  gap: .6rem;
}

.hub-mon-projet__etape-title {
  flex: 1;
  color: var(--wp--preset--color--ink);
  font-size: .92rem;
  font-weight: 600;
  margin: 0;
}

.hub-mon-projet__etape--done .hub-mon-projet__etape-title {
  color: #888;
  font-weight: 400;
  text-decoration: line-through;
}

.hub-mon-projet__etape-check {
  width: 1.1rem;
  flex-shrink: 0;
  color: var(--wp--preset--color--primary);
  font-weight: 700;
}

.hub-mon-projet__etape-desc {
  margin: .3rem 0 0 1.7rem;
  color: #777;
  font-size: .8rem;
  line-height: 1.4;
}

.hub-mon-projet__etape-form {
  margin: 0;
  flex-shrink: 0;
}

.hub-mon-projet__etape-form button {
  background: none;
  border: 1px solid var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary);
  border-radius: 6px;
  padding: .2rem .6rem;
  font-size: .74rem;
  cursor: pointer;
}

.hub-mon-projet__etape-form button:hover {
  background: var(--wp--preset--color--primary);
  color: #fff;
}

/* Ressources et Journal imbriqués dans une Étape : retrait pour rester
   visuellement "à l'intérieur" de la sous-carte. */
.hub-mon-projet__etape > .hub-mon-projet__ressources,
.hub-mon-projet__etape > .hub-mon-projet__journal--nested {
  margin-left: 1.7rem;
}

/* ── Ressources (niveau Phase ET niveau Étape, même rendu) ────────── */

.hub-mon-projet__ressources {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hub-mon-projet__ressource {
  display: flex;
  flex-direction: column;
  padding: .5rem 0;
  border-bottom: 1px solid var(--wp--preset--color--border);
}

.hub-mon-projet__ressource:last-child {
  border-bottom: none;
}

.hub-mon-projet__ressource a {
  color: var(--wp--preset--color--primary);
  font-weight: 600;
  font-size: .88rem;
  text-decoration: none;
}

.hub-mon-projet__ressource a:hover {
  color: var(--wp--preset--color--primary-dark);
  text-decoration: underline;
}

.hub-mon-projet__ressource-desc {
  color: #777;
  font-size: .8rem;
  margin-top: .15rem;
}

/* ── Journal de bord (niveau Phase ET niveau Étape) ───────────────── */

.hub-mon-projet__journal {
  margin-top: .3rem;
}

.hub-mon-projet__journal--nested {
  margin-top: 0;
}

.hub-mon-projet__journal-entries {
  list-style: none;
  margin: 0 0 .6rem 0;
  padding: 0;
}

.hub-mon-projet__journal-entry {
  padding: .5rem .7rem;
  margin-bottom: .4rem;
  background: var(--wp--preset--color--surface);
  border-radius: 8px;
  font-size: .82rem;
}

.hub-mon-projet__journal--nested .hub-mon-projet__journal-entry {
  background: var(--wp--preset--color--background);
  font-size: .78rem;
  padding: .4rem .6rem;
}

.hub-mon-projet__journal-meta {
  display: flex;
  justify-content: space-between;
  gap: .6rem;
  margin-bottom: .2rem;
  font-size: .74rem;
  color: #999;
}

.hub-mon-projet__journal-meta strong {
  color: var(--wp--preset--color--primary-dark);
}

.hub-mon-projet__journal-comment {
  margin: 0;
  color: var(--wp--preset--color--ink);
  white-space: pre-wrap;
}

.hub-mon-projet__journal-form textarea {
  width: 100%;
  border: 1px solid var(--wp--preset--color--border);
  border-radius: 8px;
  padding: .4rem .6rem;
  font-size: .82rem;
  font-family: inherit;
  resize: vertical;
  margin-bottom: .4rem;
}

.hub-mon-projet__journal-form-row button {
  background: var(--wp--preset--color--primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: .35rem .8rem;
  font-size: .8rem;
  cursor: pointer;
  flex-shrink: 0;
}

.hub-mon-projet__journal-form-row button:hover {
  background: var(--wp--preset--color--primary-dark);
}
