/*
 * Parcours guidés et repères de lecture — page Your® Journey.
 *
 * Dans un fichier à part, et pas dans le <style> de la page : ces règles y
 * avaient déjà été effacées une fois, emportées par une coupe qui visait le
 * bloc voisin. Un fichier nommé se supprime moins par accident qu'un
 * intervalle entre deux commentaires.
 *
 * Les variables (--navy, --cyan, --line, --r, --ease…) viennent du <style> de
 * la page ; --jc est posée par js/app.js, une couleur par parcours.
 */

/* ---------------------------------------------------------------- cartes
 * Une carte par parcours : ce qu'on y traite, combien d'étapes, et où on en
 * est. La jauge n'apparaît qu'une fois quelque chose de vu — une barre vide
 * sur cinq cartes ne dit rien à personne.
 */
.journeys{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.journey{position:relative;display:flex;flex-direction:column;gap:.55rem;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--jc,var(--cyan));border-radius:var(--r);padding:1.4rem;text-align:left;cursor:pointer;font-family:var(--font);color:inherit;transition:transform .3s var(--ease),box-shadow .3s,border-color .3s}
.journey:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.journey .jic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--jc) 16%,transparent);color:var(--jc)}
.journey .jic svg{width:21px;height:21px}
.journey .jsteps{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.journey h3{font-size:1.06rem;font-weight:800;letter-spacing:-.01em;line-height:1.2}
.journey p{color:var(--muted);font-size:.9rem;line-height:1.5;flex:1}
.journey .jbar{display:block;height:4px;border-radius:999px;background:rgba(10,44,84,.09);overflow:hidden;margin-top:.35rem}
.journey .jbar i{display:block;height:100%;border-radius:999px;background:var(--jc,var(--cyan));transition:width .4s var(--ease)}
.journey .jfoot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.2rem}
.journey .jdone{font-size:.78rem;font-weight:600;color:var(--muted)}
.journey .jgo{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;font-weight:700;color:var(--navy);white-space:nowrap}
.journey .jgo svg{width:16px;height:16px;transition:transform .25s var(--ease)}
.journey:hover .jgo svg{transform:translateX(3px)}

/* ------------------------------------------------- bandeau du parcours ouvert
 * Les trois informations qui manquent dans une grille : où on en est, ce qui
 * vient ensuite, et comment sortir.
 */
.journey-bar{position:relative;background:var(--white);border:1px solid var(--line);border-left:3px solid var(--jc,var(--cyan));border-radius:var(--r);padding:1.05rem 1.2rem;margin-bottom:1.1rem;display:flex;flex-direction:column;gap:.75rem}
.journey-bar .jb-head{display:flex;align-items:center;gap:.9rem}
.journey-bar .jb-ic{width:38px;height:38px;flex:none;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--jc) 16%,transparent);color:var(--jc)}
.journey-bar .jb-ic svg{width:20px;height:20px}
.journey-bar .jb-text{flex:1;min-width:0}
.journey-bar h3{font-size:1.02rem;font-weight:800}
.journey-bar .jb-text p{color:var(--muted);font-size:.82rem;font-weight:600;margin-top:.15rem}
.journey-bar .jb-exit{padding:.5rem .9rem;font-size:.8rem;flex:none}
.journey-bar .jb-bar{display:block;height:4px;border-radius:999px;background:rgba(10,44,84,.09);overflow:hidden}
.journey-bar .jb-bar i{display:block;height:100%;border-radius:999px;background:var(--jc,var(--cyan));transition:width .4s var(--ease)}
.journey-bar .jb-next{align-self:flex-start;max-width:100%}
.journey-bar .jb-next span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* -------------------------------------------------- vu / en cours, sur la vignette */
.vcard .vseen{position:absolute;top:.6rem;right:.6rem;z-index:3;display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border-radius:999px;background:rgba(255,255,255,.94);color:var(--navy);font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 2px 8px -2px rgba(10,44,84,.4)}
.vcard .vseen svg{width:12px;height:12px;color:var(--cyan)}
.vcard .vprog{position:absolute;left:0;right:0;bottom:0;z-index:3;height:3px;background:rgba(255,255,255,.28)}
.vcard .vprog i{display:block;height:100%;background:var(--cyan)}

@media (max-width:980px){
  .journeys{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .journeys{grid-template-columns:1fr}
  .journey-bar .jb-head{flex-wrap:wrap}
  .journey-bar .jb-exit{width:100%;justify-content:center;order:3}
  .journey-bar .jb-next{width:100%;justify-content:center}
}
