/* MaPiste guides: the static content pages /parcoursup, /masters, /doctorat, /metier and their leaves, drawn by
   content/template.mjs. Loaded after sillon.css (tokens, fonts, shared components) and style.css (base, skip link, footer).
   No script on these pages. Colours: sillon.css variables only. Blue = links, sources and dates. Red = only the ring of
   the current guide in the nav (« tu es ici »). Text at most 72ch wide; a table scrolls inside its own box, never the page. */

.content-page{min-width:0}

/* ---------- Header: logo plaque, tagline and the owner's bold independence line, then the nav ---------- */
.cp-header{background:var(--sillon-feuille);border-bottom:1px solid var(--sillon-filet)}
.cp-header-inner{max-width:1120px;margin:0 auto;padding:14px var(--pad) 0}
.cp-brand-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px}
.cp-logo{flex:none;min-height:44px}
.cp-tagline{flex:1 1 280px;min-width:0}
.cp-tagline-text{margin:0;font-size:14px;line-height:1.4;color:var(--sillon-graphite)}
.cp-disclaimer{margin:2px 0 0;font-size:13px;line-height:1.4;color:var(--sillon-encre)}
.cp-disclaimer strong{font-weight:700}
.cp-nav{margin-top:10px}
.cp-nav ul{display:flex;flex-wrap:wrap;gap:4px;margin:0;padding:0 0 10px;list-style:none}
.cp-nav li{flex:none}
.cp-nav a{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 14px;border:1px solid transparent;border-radius:var(--radius-chip);font-size:14px;font-weight:700;line-height:1.2;color:var(--sillon-graphite);text-decoration:none;white-space:nowrap}
.cp-nav a:hover{background:var(--sillon-voile);color:var(--sillon-encre)}
.cp-nav a[aria-current]{background:var(--sillon-feuille);border-color:var(--sillon-filet-fort);color:var(--sillon-encre);box-shadow:var(--sillon-ombre-douce)}
.cp-nav a[aria-current]::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--sillon-feuille);box-shadow:inset 0 0 0 3.5px var(--sillon-rouge),0 0 0 1.5px var(--sillon-encre)}

/* ---------- Page ---------- */
.cp-main{max-width:1120px;min-height:0;margin:0 auto;padding:16px var(--pad) 56px}
.cp-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;margin:0;padding:0;list-style:none;font-size:13px;line-height:1.4;color:var(--sillon-graphite)}
.cp-crumbs li{display:inline-flex;align-items:center;min-width:0}
.cp-crumbs li+li::before{content:"";flex:none;width:14px;height:2px;margin:0 8px;border-radius:1px;background:var(--sillon-filet-fort)}
.cp-crumbs a{display:inline-flex;align-items:center;min-height:44px}
.cp-crumbs [aria-current]{padding:12px 0;font-weight:700;color:var(--sillon-encre);overflow-wrap:anywhere}

.cp-article{max-width:960px}
.cp-heading{max-width:72ch;margin:4px 0 26px}
.cp-heading h1{margin:8px 0 12px;overflow-wrap:break-word}
.cp-intro{margin:0;font-size:17px;line-height:1.55;color:var(--sillon-encre)}

/* The body written by each guide: h2, h3, paragraphs, lists, tables, links */
.cp-body{overflow-wrap:break-word}
.cp-body>:is(p,ul,ol,h2,h3){max-width:72ch}
.cp-body h2{margin:38px 0 10px;font-size:24px;line-height:1.2}
.cp-body h3{margin:26px 0 8px;font-size:19px;line-height:1.25}
.cp-body p{margin:10px 0;font-size:15px;line-height:1.65}
.cp-body :is(ul,ol){margin:10px 0;padding-left:22px;font-size:15px;line-height:1.65}
.cp-body li{margin:4px 0}
.cp-body li::marker{color:var(--sillon-graphite)}
.cp-body a{overflow-wrap:anywhere}
/* a list of links (the A to Z, the schools): each link is a 44 px target */
.cp-body li>a:only-child{display:inline-flex;align-items:center;min-height:44px}
.cp-body abbr[title]{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.cp-body time{font-variant-numeric:tabular-nums}
.cp-body .muted{color:var(--sillon-graphite)}

/* Tables scroll inside their own box on narrow screens (role="region", focusable, named by the template) */
.cp-table-scroll{max-width:100%;margin:16px 0;overflow-x:auto;border:1px solid var(--sillon-filet);border-radius:var(--radius-card);background:var(--sillon-feuille);box-shadow:var(--sillon-ombre-douce)}
.cp-table-scroll table{width:100%;min-width:0;border-collapse:collapse}
.cp-table-scroll table:has(tr>:nth-child(3)){min-width:560px}
.cp-table-scroll tr:last-child>*{border-bottom:0}
.cp-body tbody th{background:transparent;font-family:var(--f-texte);font-size:15px;font-weight:700;font-stretch:normal;letter-spacing:0;text-transform:none;color:var(--sillon-encre)}
.cp-body td{font-size:15px}
.cp-body :is(td,th).num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Sources and their dates */
.cp-sources{max-width:72ch;margin:44px 0 0;padding:20px 22px;border:1px solid var(--sillon-filet);border-radius:var(--radius-card);background:var(--sillon-feuille);box-shadow:var(--sillon-ombre-douce)}
.cp-sources h2{font-size:20px}
.cp-sources .fig{margin:8px 0 10px}
.cp-source-list{margin:0;padding:0;list-style:none}
.cp-source-list li{position:relative;padding:12px 0 12px 22px;font-size:14px;line-height:1.45;border-top:1px solid var(--sillon-filet)}
.cp-source-list li::before{content:"";position:absolute;left:2px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--sillon-feuille);border:2px solid var(--sillon-encre)}
/* the link stays inline so that its date follows it; its padding makes a 44 px target without moving the lines */
.cp-source-list a{padding:14px 0;overflow-wrap:anywhere}
.cp-source-date{color:var(--sillon-graphite)}

/* « Continuer sur MaPiste »: the site's pages, as cards */
.cp-continue{margin:40px 0 0}
.cp-continue h2{margin:0 0 12px;font-size:22px}
.cp-doors{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px;margin:0;padding:0;list-style:none}
.cp-door{display:flex;align-items:flex-start;gap:12px;height:100%;min-height:44px;padding:16px 18px;border:1px solid var(--sillon-filet);border-radius:var(--radius-tile);background:var(--sillon-feuille);box-shadow:var(--sillon-ombre-douce);color:var(--sillon-encre);text-decoration:none}
.cp-door:hover{border-color:var(--sillon-encre)}
.cp-door .station{margin-top:3px}
.cp-door-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.cp-door strong{font-family:var(--f-titre);font-weight:var(--titre-weight);font-stretch:var(--titre-stretch);letter-spacing:var(--titre-tracking);font-size:18px;line-height:1.2}
.cp-door-text>span{font-size:14px;line-height:1.45;color:var(--sillon-graphite);overflow-wrap:anywhere}

/* ---------- Footer (style.css .app-footer): the three pages in encre, as on the other pages; the guides as links ---------- */
.cp-footer .footer-links:not(.footer-guides) a:not([target]){color:var(--sillon-encre)}

/* ---------- Phones: 16 px gutter; the nav scrolls inside its own strip, never the page ---------- */
@media(max-width:690px){
  .cp-header-inner{padding:10px var(--pad) 0}
  .cp-logo{gap:8px;padding:7px 13px 8px 9px;border-radius:11px}
  .cp-logo b{font-size:21px}
  .cp-logo .ring-toi{width:14px;height:14px;border-width:3.6px}
  .cp-tagline{flex-basis:100%}
  .cp-tagline-text{font-size:13px}
  .cp-disclaimer{font-size:12px}
  .cp-nav{margin:6px calc(-1 * var(--pad)) 0}
  .cp-nav ul{flex-wrap:nowrap;overflow-x:auto;padding:0 var(--pad) 8px;scrollbar-width:none}
  .cp-nav ul::-webkit-scrollbar{display:none}
  .cp-nav a{padding:8px 12px;font-size:13px}
  .cp-main{padding:10px var(--pad) 40px}
  .cp-intro{font-size:16px}
  .cp-body h2{margin-top:32px;font-size:21px}
  .cp-sources{padding:16px}
  .cp-door{padding:14px 16px}
}
