/* PisteClient — l'atelier et les pages de lecture, T-257. */
:root { --p-warning:#f0d6a8; --p-rule-dark:#816273; }
.article-hero,.tool-hero { padding-block:58px 46px; }
.article-hero h1 { font-size:clamp(46px,6.3vw,84px); max-width:19ch; text-wrap:balance; }
.article-hero .lead,.tool-hero .lead { line-height:1.7; max-width:61ch; }
.article-meta { gap:10px 22px; align-items:center; line-height:1.6; color:var(--muted); }
.article-meta>span { padding-block:7px; border-top:1px solid var(--line); }
.socle-crumbs,.crumbs { line-height:1.7; }
.socle-crumbs a,.crumbs a { display:inline-flex; align-items:center; min-height:44px; }
.p-tool-links { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:16px 0; border-block:1px solid var(--line); margin-bottom:24px; }
.p-tool-links a { display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:9px 14px; font-size:12px; text-decoration:none; border:1px solid transparent; border-radius:5px; }
.p-tool-links a:hover { border-color:var(--line); background:var(--white); }
.p-tool-links a[aria-current=page] { background:var(--ink); color:var(--white); }
.p-tool-links span { font-size:10px; opacity:.8; }
.tool-section { padding-top:24px; }
.calculator,.sorter,.exit { border-radius:8px; border-color:#cbbdc4; box-shadow:0 12px 32px -24px #39152855; }
.tool-nav { padding:10px; background:#eee8e7; }
.tool-nav button { min-height:54px; transition:background-color 160ms ease; }
.tool-nav button:hover { background:#fffdfa99; }
.tool-layout { grid-template-columns:minmax(0,1.03fr) minmax(0,1fr); align-items:stretch; }
.tool-inputs { padding:38px; }
.tool-inputs :is(h2,h3) { font-size:30px; line-height:1.13; max-width:22ch; }
.tool-description { font-size:14px; line-height:1.7; margin-bottom:30px; }
.field-grid { gap:24px 22px; }
.field label { font-size:13px; line-height:1.45; }
.field small { font-size:11px; line-height:1.55; min-height:34px; color:#6b5963; }
.field input { min-height:50px; padding:12px 13px; border-radius:4px; border-color:#b8a7b0; background:#fffcf9; }
.field input:hover { border-color:var(--muted); }
.field input:focus-visible { border-color:var(--ink); background:#fff; }
.field:focus-within label { text-decoration:underline; text-underline-offset:4px; }
.tool-inputs fieldset { margin-top:30px; padding-top:23px; }
.tool-inputs legend,.sorter-group legend { font-size:11px; letter-spacing:.09em; line-height:1.6; }
.confirmation { align-items:flex-start; min-height:48px; padding:14px; background:var(--paper); border:1px solid var(--line); border-radius:4px; font-size:13px; line-height:1.6; cursor:pointer; }
.confirmation input { margin-top:4px; width:20px; height:20px; }
.calculate { min-height:52px; margin-top:30px; }
.tool-result { padding:32px 36px 36px; border-left:1px solid #5d3a4d; }
.result-title { line-height:1.7; padding-bottom:18px; color:#e4d6dd; }
.p-result-status { display:flex; align-items:center; gap:8px; width:fit-content; max-width:100%; font-size:11px; font-weight:700; line-height:1.5; padding:6px 10px; margin:0 0 22px; border:1px solid #9db944; color:var(--lime); border-radius:4px; }
.p-result-status::before { content:''; width:5px; height:5px; border-radius:50%; background:currentColor; flex:none; }
[data-p-state=stale] .p-result-status,[data-p-state=pending] .p-result-status,[data-p-state=invalid] .p-result-status { color:var(--p-warning); border-color:#b19369; }
.result-content { padding-top:26px; }
.tool-result .big-result { max-width:100%; white-space:normal; overflow-wrap:anywhere; font-size:clamp(46px,5.9vw,82px); line-height:1.05; }
.tool-result .big-result.is-long { font-size:clamp(28px,3.4vw,48px); }
.result-subtitle { line-height:1.6; margin-bottom:28px; }
.result-table { font-size:14px; table-layout:fixed; }
.result-table td { padding-block:15px; vertical-align:top; line-height:1.6; overflow-wrap:anywhere; }
.result-table td:first-child { width:56%; color:#e5d6df; }
.result-table td:last-child { white-space:normal; }
.funnel { font-size:13px; }
.funnel li { padding-block:12px 16px; }
.funnel li b { font-variant-numeric:tabular-nums; flex-shrink:0; }
.result-note { font-size:12px; line-height:1.75; color:#dfcfd8; }
.stale { font:600 27px/1.35 Newsreader,Georgia,serif; letter-spacing:-.025em; max-width:30ch; color:#fff6ec; border-left:2px solid var(--p-warning); padding:4px 0 4px 16px; }
.error { border:1px solid #bd8074; border-left:4px solid #9c3d31; padding:16px; line-height:1.6; background:#fff2eb; color:#762c24; border-radius:3px; }
.export,.share { min-height:48px; font-size:13px; line-height:1.5; padding:13px 15px; text-align:left; }
.export:disabled { opacity:1; color:#cbb9c2; background:#482439; border-color:#785c6d; }
.tool-result :focus-visible,.sorter-result :focus-visible,.exit-reasons :focus-visible { outline-color:var(--lime); }
.share-status { line-height:1.6; overflow-wrap:anywhere; }
.years { padding-block:26px 8px; margin-top:25px; }
.year { margin-block:17px; }
.year-total { font-size:15px; }
.legend { font-size:12px; gap:12px 24px; line-height:1.5; }
.sorter-head { padding:34px 38px 12px; }
.sorter-groups { padding:4px 38px 36px; }
.criterion { grid-template-columns:1fr; gap:12px; padding-block:20px; border-bottom-style:solid; }
.criterion-label { font-size:16px; }
.levels { width:fit-content; max-width:100%; }
.level span { min-height:44px; padding:12px 14px; line-height:20px; }
.level input:focus-visible+span { outline:3px solid #956131; outline-offset:-3px; }
.sorter-result { padding:32px 36px; }
.fiche-list { gap:20px; padding-left:22px; }
.fiche-list span { font-size:14px; line-height:1.65; margin-top:5px; }
.fiche-title { margin-top:26px; line-height:1.8; }
.fiche-empty,.fiche-inline { line-height:1.8; }
.exit-reasons { padding:32px 28px; }
.reason { min-height:52px; padding:15px; font-size:14px; }
.exit-list { padding:26px; }
.alt-table { font-size:14px; }
.alt-table tr.other { opacity:1; color:var(--muted); }
.tag { padding:4px 8px; line-height:1.5; }
.article-layout { grid-template-columns:220px minmax(0,1fr); gap:76px; padding-block:52px 96px; }
.contents { gap:0; padding:0 20px 18px 0; border-right:1px solid var(--line); }
.contents p { color:var(--muted); margin:0 0 16px; line-height:1.6; }
.contents a { padding:11px 12px; margin-left:-12px; min-height:44px; line-height:1.6; border-left:2px solid transparent; font-size:13px; border-radius:0 4px 4px 0; }
.contents a:hover { background:#eae2e6; }
.contents a[aria-current=location] { color:var(--ink); background:#e8e0e6; border-left-color:var(--ink); font-weight:700; }
.article-body { max-width:780px; counter-reset:piste-section; }
.article-body>h2[id]::before { counter-increment:piste-section; content:counter(piste-section,decimal-leading-zero); display:block; font:700 11px/1.5 DM,Arial,sans-serif; letter-spacing:.1em; color:var(--muted); margin-bottom:12px; }
.article-body h2 { font-size:clamp(30px,3.3vw,43px); line-height:1.12; margin-block:56px 24px; max-width:26ch; text-wrap:balance; }
.article-body h3 { font-size:25px; line-height:1.2; }
.article-body p,.article-body li { font-size:17px; line-height:1.85; }
.article-body p { max-width:68ch; margin-block:20px; }
.article-body ul,.article-body ol { padding-left:24px; }
.article-body a { text-decoration-thickness:1px; text-underline-offset:4px; }
.article-body a:hover { color:#71334f; }
.lead-box { padding:30px; border-radius:4px; line-height:1.6; }
.notice { padding:24px 26px; border-radius:0 4px 4px 0; line-height:1.8; }
.article-body .sources,.article-body .sources p { font-size:13px; line-height:1.8; }
.sources li { font-size:13px; }
.comparison article { padding-block:30px; grid-template-columns:170px minmax(0,1fr); gap:30px; }
.comparison p { font-size:15px; line-height:1.8; }
.data-table { margin-block:20px; font-size:14px; line-height:1.65; }
.data-table th,.data-table td { padding:17px 15px; vertical-align:top; }
.data-table thead th { background:#eae3e7; font-size:11px; letter-spacing:.04em; }
.data-table tbody tr:nth-child(even) { background:#fffdfa80; }
.p-table-scroll { max-width:100%; overflow:auto; border:1px solid var(--line); border-radius:5px; scrollbar-color:#8b6f80 #eee7e9; }
.p-table-scroll .data-table { margin:0; }
.p-table-scroll.p-wide-table .data-table { min-width:620px; }
.p-table-scroll.p-wide-table thead th { position:sticky; top:0; z-index:1; }
.p-table-hint { font-size:11px!important; line-height:1.6!important; color:var(--muted); margin:10px 0!important; }
.socle-links>a { display:grid; grid-template-columns:minmax(0,1fr) 28px; gap:8px 22px; padding-block:30px; }
.socle-links>a>span,.socle-links>a>h2,.socle-links>a>p { grid-column:1; }
.socle-links>a::after { content:'↗'; grid-column:2; grid-row:1 / 4; align-self:center; font-size:26px; }
.socle-links h2 { margin:0; line-height:1.12; }
.socle-links p { font-size:15px; line-height:1.8; }
.footer nav a { min-height:44px; display:inline-flex; align-items:center; }
@media(max-width:1000px) {
 .tool-inputs,.tool-result { padding:28px; }
 .article-layout { grid-template-columns:180px minmax(0,1fr); gap:38px; }
 .sorter-groups { padding-inline:28px; }
}
@media(max-width:760px) {
 .tool-layout { display:block; }
 .tool-result { border-left:0; border-top:1px solid #78566b; }
 .article-layout { display:block; }
 .contents { border-right:0; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:32px; flex-direction:row; flex-wrap:wrap; gap:0 12px; }
 .contents p { width:100%; margin-bottom:8px; }
 .contents a { margin:0; font-size:12px; padding:10px; }
}
@media(max-width:600px) {
 .article-hero,.tool-hero { padding-block:34px 30px; }
 .article-hero h1 { font-size:clamp(39px,11.4vw,57px); line-height:1.04; max-width:18ch; }
 .article-hero .lead,.tool-hero .lead { font-size:17px; line-height:1.75; }
 .article-meta { font-size:11px; }
 .p-tool-links { display:grid; grid-template-columns:1fr; gap:4px; padding-block:10px; margin-bottom:10px; }
 .p-tool-links a { padding-inline:12px; }
 .tool-inputs,.tool-result { padding:26px 22px; }
 .tool-inputs :is(h2,h3) { font-size:29px; }
 .tool-description { font-size:14px; }
 .field-grid,.field-grid[data-groupe=licences] { grid-template-columns:1fr; gap:22px; }
 .field small { min-height:0; margin-block:5px 8px; font-size:12px; }
 .field label { font-size:13px; }
 .field input { font-size:18px; }
 .tool-result .big-result { font-size:clamp(46px,15vw,76px); }
 .tool-result .big-result.is-long { font-size:29px; }
 .result-table { font-size:13px; }
 .funnel { font-size:12px; }
 .sorter-head { padding:26px 22px 10px; }
 .sorter-groups,.sorter-result { padding-inline:22px; }
 .levels { width:100%; }
 .level { flex:1; }
 .level span { font-size:11px; padding:12px 5px; text-align:center; }
 .comparison article { grid-template-columns:1fr; gap:12px; }
 .article-body p,.article-body li { font-size:16px; line-height:1.8; }
 .article-body h2 { font-size:33px; }
 .lead-box,.notice { padding:22px; }
 .article-body .sources,.sources li { font-size:12px; }
 .socle-links h2 { font-size:30px; }
 .data-table th,.data-table td { padding:14px 12px; font-size:13px; }
 .p-table-scroll.p-wide-table .data-table { min-width:600px; }
 .alt-table th,.alt-table td { font-size:14px; padding:8px 0; }
 .exit-list .p-table-scroll .data-table { min-width:0; }
}
@media(max-width:350px) {
 .tool-inputs,.tool-result,.sorter-groups,.sorter-result { padding-inline:17px; }
 .tool-nav { flex-direction:column; }
 .tool-nav button { width:100%; min-height:44px; font-size:13px; }
 .level span { font-size:10px; padding-inline:3px; }
}
@media(prefers-reduced-motion:reduce) { .p-tool-links a { transition:none; } }
@media print {
 .p-tool-links,.p-result-status,.contents,.p-table-hint { display:none!important; }
 .p-table-scroll { overflow:visible; border:0; }
 .p-table-scroll.p-wide-table .data-table { min-width:0; }
 .article-layout { display:block; }
 .tool-result { color:black; background:white; border:0; }
 .tool-result .big-result,.result-note,.result-title,.result-table td:first-child { color:black; }
}
