/* Carte: shell of the « Carte » page (carte.js): start picker, the three tabs, panels and their shared states.
   Built on sillon.css tokens only. Red = toi / tu es ici; blue = sources, dates, links; solid = sourced, dotted = possible.
   The modules inside the panels (journey-view.css, scenario.css, market.css) style their own content. */
.carte{display:flex;flex-direction:column;gap:0;min-width:0}
.carte-heading{margin-bottom:22px}

/* ---------- Start (point de départ) ---------- */
.carte-start{padding:16px 18px;margin-bottom:22px}
.carte-start-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.carte-start-row>.station{width:16px;height:16px;border-width:2.6px}
.carte-start-text{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:2px}
.carte-start-label{font-family:var(--f-titre);font-weight:var(--titre-weight);font-stretch:var(--titre-stretch);letter-spacing:var(--titre-tracking);font-size:20px;line-height:1.2;color:var(--sillon-encre);overflow-wrap:anywhere}
.carte-start-kind{font-size:13px;color:var(--sillon-graphite)}
.carte-start-toggle{flex:none}
.carte-picker{margin-top:16px;padding-top:16px;border-top:1px solid var(--sillon-filet)}
.carte-modes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.carte-modes .chip{min-height:44px;padding:8px 14px;font-size:13px;cursor:pointer}
.carte-modes .chip:hover{border-color:var(--sillon-encre)}
.carte-search{max-width:720px}
.carte-picker-hint{margin:10px 0 0;font-size:13px;color:var(--sillon-graphite)}
.carte-results{margin-top:6px}
.carte-results[aria-busy=true]{opacity:.72}
.carte-status{margin:14px 0 0;font-size:14px;color:var(--sillon-graphite)}
.carte-count{margin:16px 0 4px}
.carte-hits{list-style:none;margin:0;padding:0}
.carte-hit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 18px;padding:14px 0;border-bottom:1px solid var(--sillon-filet)}
.carte-hit:last-child{border-bottom:0}
.carte-hit-text{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.carte-hit-text strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.carte-hit-meta{font-size:14px;line-height:1.5;color:var(--sillon-graphite);overflow-wrap:anywhere}
.carte-hit-text a{font-size:14px;font-weight:700}
.carte-hit .btn{flex:none}
.carte-fine{font-size:13px;color:var(--sillon-graphite)}
.carte-fine.date-source{color:var(--sillon-bleu)}
.carte-career-title{margin:6px 0 0;font-size:19px}
.carte-career-title span{overflow-wrap:anywhere}
.carte-back{display:inline-flex;align-items:center}
.carte-scope{margin:14px 0 0;padding:12px 14px;border:1px solid var(--sillon-filet);border-radius:var(--radius-small);background:var(--sillon-papier);font-size:14px;line-height:1.55;color:var(--sillon-encre)}
.carte-source{margin:12px 0 0}
.carte-none{margin-top:14px;padding:18px;border:1.5px dashed rgba(14,26,59,.3);border-radius:var(--radius-tile);background:var(--sillon-feuille)}
.carte-none p{margin:0 0 6px;font-size:15px}
.carte-none p+p{color:var(--sillon-graphite)}
.carte-none .btn{margin-top:8px}
.carte-failed{margin-top:14px;padding:18px;border:1px solid var(--sillon-filet-fort);border-radius:var(--radius-tile);background:var(--sillon-papier)}
.carte-failed p{margin:0 0 10px;font-size:15px;color:var(--sillon-encre)}
.carte-failed h2{margin:0 0 6px;font-size:20px}

/* ---------- Tabs: a segmented pill on papier, the open view is a white pill (never red, never blue) ---------- */
.carte-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px;border:1px solid var(--sillon-filet);border-radius:22px;background:var(--sillon-papier)}
.carte-tab{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"g l" "g s";align-items:center;gap:0 10px;min-height:56px;padding:8px 14px;border:1px solid transparent;border-radius:18px;background:none;text-align:left;color:var(--sillon-graphite)}
.carte-tab:hover{background:var(--sillon-voile);color:var(--sillon-encre)}
.carte-tab[aria-selected=true]{background:var(--sillon-feuille);border-color:var(--sillon-filet-fort);color:var(--sillon-encre);box-shadow:0 6px 14px -9px rgba(14,26,59,.5)}
.carte-tab-glyph{grid-area:g;display:inline-flex;align-items:center;justify-content:center;width:26px}
.carte-tab-glyph .trait,.carte-tab-glyph .trait-crayon{width:24px;min-width:0}
.carte-tab-glyph .trait-crayon{--trait-couleur:var(--sillon-graphite)}
.carte-tab-label{grid-area:l;font-family:var(--f-texte);font-size:15px;font-weight:700;line-height:1.2}
.carte-tab-sub{grid-area:s;margin-top:2px;line-height:1.3} /* .data size: 11 px students, 12 px parents; wraps on narrow tabs */
.carte-tab[aria-selected=true] .carte-tab-sub{color:var(--sillon-encre)}
/* « Étape ajoutée · Voir mon scénario »: placed after the panels, sticky at the bottom of the screen while the Carte is in view */
.carte-notice{position:sticky;bottom:16px;z-index:5;align-self:flex-start;max-width:100%;box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;margin:12px 0 0;padding:6px 8px 6px 16px;border:1.5px solid var(--sillon-encre);border-radius:22px;background:var(--sillon-feuille);box-shadow:var(--sillon-ombre);font-size:14px;font-weight:700;color:var(--sillon-encre)}
.carte-notice .text-button{min-height:44px;padding:6px 8px}

/* ---------- Panels and shared states ---------- */
.carte-panels{margin-top:18px;min-width:0}
.carte-panel{min-width:0}
.carte-panel:focus{outline:none}
.carte-panel:focus-visible{outline:3px solid var(--sillon-encre);outline-offset:4px}
.carte-module{min-width:0}
.carte-empty{padding:30px 26px;border:1.5px dashed rgba(14,26,59,.3);border-radius:var(--radius-card);background:var(--sillon-feuille);text-align:center}
.carte-empty h2{margin:14px 0 8px;font-size:22px}
.carte-empty p{max-width:600px;margin:0 auto;font-size:15px;color:var(--sillon-graphite)}
.carte-empty-line,.carte-loading-line{display:flex;align-items:center;justify-content:center;gap:4px}
.carte-empty-line .trait-crayon,.carte-loading-line .trait-crayon{width:56px;min-width:0}
.carte-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
/* loading: a pencil sketch of the line, never animated (dotted lines never move) */
.carte-loading{padding:34px 20px;border:1px solid var(--sillon-filet);border-radius:var(--radius-card);background:var(--sillon-feuille);text-align:center}
.carte-loading p{margin:12px 0 0;font-size:14px;color:var(--sillon-graphite)}
.carte-module-failed{text-align:left}

/* ---------- Parent space: what is not put into figures, and what to ask ---------- */
.carte-verifier{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.carte-verifier-col{padding:22px 24px}
.carte-verifier h2{margin:8px 0 8px;font-size:21px}
.carte-verifier p{margin:0 0 12px;font-size:15px;color:var(--sillon-graphite)}
.carte-check{list-style:none;margin:0;padding:0}
.carte-check li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--sillon-filet);font-size:15px}
.carte-check li:last-child{border-bottom:0}
.carte-check .stamp{flex:none;color:var(--sillon-graphite)}
.carte-questions{margin:0;padding-left:20px;font-size:15px;line-height:1.6}
.carte-questions li{margin:6px 0}
.carte-privacy{max-width:860px;margin:22px 0 0}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  .carte-verifier{grid-template-columns:1fr}
}
@media(max-width:690px){
  .carte-start{padding:14px}
  .carte-start-label{font-size:18px}
  .carte-start-toggle{width:100%}
  .carte-hit{grid-template-columns:1fr}
  .carte-hit .btn{width:100%}
  .carte-tabs{border-radius:18px}
  .carte-tab{grid-template-columns:1fr;grid-template-areas:"g" "l" "s";justify-items:center;gap:4px;min-height:64px;padding:8px 4px;text-align:center;border-radius:14px}
  .carte-tab-label{font-size:13px}
  .carte-tab-sub{display:none}
  .carte-empty{padding:24px 16px}
  .carte-empty-actions .btn{width:100%}
  .carte-verifier-col{padding:18px}
  .carte-notice{bottom:calc(96px + env(safe-area-inset-bottom,0px))} /* above the floating capsule nav */
}
