/* assets/css/ffd-charts.css — même grammaire visuelle que les graphiques GIEC */
.ffd-block{--ink:#1B1A17;--muted:#6E6A5F;--line:#E4DFD3;--paper:#fff;font-family:"Helvetica Neue",Arial,system-ui,sans-serif;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 2rem}
.ffd-block .ffd-boot{color:var(--muted);font-size:.9rem}

.ffd-toolbar{display:flex;flex-direction:column;gap:10px;margin:0 0 10px}
.ffd-seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;align-self:flex-start}
.ffd-seg--right{align-self:flex-end}
.ffd-seg[hidden]{display:none}
.ffd-seg button{font:inherit;font-size:12px;font-weight:700;border:0;background:#fff;color:var(--muted);padding:6px 12px;cursor:pointer}
.ffd-seg button+button{border-left:1px solid var(--line)}
.ffd-seg button.on{background:var(--ink);color:#fff}
.ffd-legend{display:flex;flex-wrap:wrap;gap:7px 9px}
.ffd-chip{display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:12px;font-weight:700;border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;cursor:pointer;color:var(--ink)}
.ffd-chip small{font-weight:500;color:var(--muted)}
.ffd-chip .sw{width:14px;height:11px;border-radius:2px;display:inline-block}
.ffd-chip .sw--amort{border:1px dashed #8C877B;background:#fff}
.ffd-chip .sw--line{height:0;border-top:3px solid var(--ink);border-radius:2px;width:18px}
.ffd-chip .sw--ev{width:15px;height:15px;border-radius:50%;background:var(--ink);color:#fff;font-size:9px;font-weight:800;display:inline-grid;place-items:center}
.ffd-chip .sw--line+.sw--line{margin-left:6px}
.ffd-chip .sw--thin{border-top-width:2px}
.ffd-chip .sw--dash{border-top-style:dashed}
.ffd-chip .sw--proj{width:18px;height:11px;border-radius:2px;background:repeating-linear-gradient(45deg,#F4F1EA 0 3px,#E4DFD3 3px 5px);border-top:2px dashed var(--muted)}
.ffd-chip .sw--dots{width:18px;height:0;border-top:3px dotted var(--muted)}
.ffd-chip.off{opacity:.4;background:#EEEAE0;text-decoration:line-through}

/* Le graphique garde une largeur lisible : défilement horizontal dans son cadre sur mobile. */
.ffd-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px}
.ffd-chart svg{display:block;width:100%;min-width:860px;height:auto;overflow:visible}
.ffd-axisband{fill:rgba(27,26,23,.05);pointer-events:none}
.ffd-hit{cursor:pointer}
.ffd-hit.on{fill:rgba(27,26,23,.14)}
.ffd-guide{stroke:#1B1A17;stroke-width:1;stroke-dasharray:3 3;pointer-events:none;opacity:.6}
.ffd-ser-hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:help}
[data-ser]{cursor:help}
polygon[data-ser].ffd-ser-on,rect[data-ser].ffd-ser-on{filter:brightness(1.12) saturate(1.15)}
path[data-ser].ffd-ser-on:not(.ffd-ser-hit){stroke-width:3.4}
.ffd-hint{font-size:11.5px;color:var(--muted);margin:.4rem 0 0}
.ffd-hatch{display:inline-block;width:14px;height:10px;vertical-align:-1px;background:repeating-linear-gradient(45deg,#4F8A52 0 2px,#fff 2px 4px);border:1px solid #4F8A52}

.ffd-ev{cursor:help}
.ffd-events{list-style:none;padding:0;margin:1rem 0 0;display:grid;grid-template-columns:1fr;gap:8px 18px;font-size:12px;line-height:1.45}
@media (min-width:768px){.ffd-events{grid-template-columns:repeat(2,1fr)}}
.ffd-events li{display:flex;gap:9px;align-items:flex-start}
.ffd-events__n,.ffd-tip__ev{flex:none;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;font-weight:800;display:inline-grid;place-items:center}
.ffd-tip__ev{background:#fff;color:var(--ink);margin-right:6px;vertical-align:-3px}
.ffd-tip hr{border:0;border-top:1px solid rgba(255,255,255,.25);margin:7px 0}
.ffd-sq{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:-1px}
.ffd-h--first{margin-top:0}
.ffd-table tr.is-proj td{color:var(--muted);font-style:italic}
.ffd-tip__muted{opacity:.75;font-size:11px}
.ffd-card__total b.ffd-card__infl{color:var(--muted);font-size:13px}
.ffd-seg small{font-weight:500;opacity:.75}
.ffd-shift{margin:1rem 0 0;font-size:12.5px}
.ffd-shift__t{font-weight:700;margin:0 0 .5rem}
.ffd-shift ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:4px 18px}
@media (min-width:768px){.ffd-shift ul{grid-template-columns:repeat(2,1fr)}}
.ffd-shift li{display:flex;align-items:baseline;gap:7px}
.ffd-shift b.up{color:#2F7A5B}
.ffd-shift b.down{color:#C0504D}
.ffd-shift small{color:var(--muted)}
.ffd-table--open .ffd-table__wrap{margin-top:0}
.ffd-table td.up{color:#2F7A5B;font-weight:700}
.ffd-table td.down{color:#C0504D;font-weight:700}
.ffd-evol td:first-child{white-space:normal;min-width:200px}
.ffd-h{font-size:15.5px;font-weight:800;margin:1.6rem 0 .7rem}
.ffd-cards{display:grid;grid-template-columns:1fr;gap:12px}
@media (min-width:480px){.ffd-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.ffd-cards{grid-template-columns:repeat(3,1fr)}}
.ffd-card{border:1px solid var(--line);border-top:4px solid var(--c);border-radius:12px;padding:12px 14px}
.ffd-card h4{font-size:14.5px;font-weight:800;margin:0}
.ffd-card__when{font-size:11.5px;color:var(--muted);margin:.15rem 0 .5rem}
.ffd-card__main{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);font-weight:800;color:var(--c);margin:0 0 .5rem;line-height:1.2}
.ffd-card__bn{font-size:.62em;font-weight:700;margin-left:.45em;opacity:.85}
.ffd-card__main small{display:block;font-size:11px;font-weight:600;color:var(--muted)}
.ffd-card dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:12px;margin:0}
.ffd-card dt{color:var(--muted)}
.ffd-card dd{margin:0;font-weight:700;text-align:right}
.ffd-card__total{display:flex;align-items:baseline;gap:12px;margin:.7rem 0 0;padding-top:.6rem;border-top:1px solid var(--line);font-size:12px}
.ffd-card__total span{color:var(--muted);margin-right:auto}
.ffd-card__total b{font-size:15px;font-weight:800;color:var(--c)}
.ffd-card__note{font-size:10.5px;color:var(--muted);margin:.5rem 0 0}

.ffd-table{margin:1.4rem 0 0;font-size:12px}
.ffd-table summary{cursor:pointer;font-weight:700}
.ffd-table__wrap{overflow-x:auto;margin-top:.6rem}
.ffd-table table{border-collapse:collapse;width:100%;min-width:680px}
.ffd-table th,.ffd-table td{padding:4px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
.ffd-table th:first-child,.ffd-table td:first-child{text-align:left}
.ffd-table th{font-size:11px;color:var(--muted)}

.ffd-notes{font-size:12px;line-height:1.55;margin-top:1.2rem;color:#3A3832}
.ffd-notes p{margin:0 0 .6rem}
.ffd-method summary{cursor:pointer;font-weight:700;margin-bottom:.6rem}
.ffd-method p{color:var(--muted);font-size:11.5px}
.ffd-notes .ffd-src{font-size:11px;color:var(--muted)}
.ffd-notes a{color:inherit}

.ffd-tip{position:fixed;z-index:9999;pointer-events:none;background:var(--ink);color:#fff;padding:9px 11px;border-radius:8px;font-size:12px;line-height:1.55;max-width:300px;box-shadow:0 6px 20px rgba(0,0,0,.25);opacity:0;transition:opacity .1s;left:0;top:0}
.ffd-tip .k{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px}
.ffd-tip .k--amort{border:1px dashed #ccc}

/* ---- fil d'ariane du dossier ---- */
.ffd-fil{--ink:#1B1A17;--muted:#6E6A5F;--line:#E4DFD3;font-family:"Helvetica Neue",Arial,system-ui,sans-serif;font-size:13px;line-height:1.4;margin:0 0 24px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ffd-fil ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;list-style:none;margin:0;padding:0}
.ffd-fil li{display:inline-flex;align-items:center;color:var(--muted)}
.ffd-fil li+li::before{content:"›";margin:0 9px;color:#B8B2A4}
.ffd-fil a{color:var(--muted);text-decoration:none}
.ffd-fil a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ffd-fil a:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:2px}
.ffd-fil [aria-current="page"]{color:var(--ink);font-weight:700}

/* ---- sommaire du dossier ---- */
.ffd-sommaire{display:grid;grid-template-columns:1fr;gap:16px;margin:0 0 2rem;font-family:"Helvetica Neue",Arial,system-ui,sans-serif}
@media (min-width:768px){.ffd-sommaire{grid-template-columns:repeat(3,1fr)}}
.ffd-scard{display:flex;flex-direction:column;gap:9px;text-decoration:none;color:#1B1A17;background:#fff;border:1px solid #E4DFD3;border-radius:14px;padding:20px 18px 16px;transition:border-color .14s,transform .14s}
.ffd-scard:hover{border-color:#1B1A17;transform:translateY(-2px);text-decoration:none}
.ffd-scard:focus-visible{outline:2px solid #1B1A17;outline-offset:2px}
.ffd-scard__k{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6E6A5F}
.ffd-scard__t{font-size:1.15em;font-weight:800;line-height:1.2;text-wrap:balance}
.ffd-scard__d{font-size:13.5px;color:#3A3832;line-height:1.55;flex:1}
.ffd-scard__go{font-size:12.5px;font-weight:700;display:inline-flex;align-items:center;gap:6px}
.ffd-scard__go::after{content:"→";transition:transform .14s}
.ffd-scard:hover .ffd-scard__go::after{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.ffd-scard,.ffd-scard__go::after{transition:none}.ffd-scard:hover{transform:none}}
