/* Technical layout of a fiche rewritten by the writing machine (pilot only, inc-pilote-fiche-technique.php).
   A serious comparator, not a decoration magazine: sober sans-serif headings, labels first, verdict and
   "pour qui" up top, the computation folded, numbered analysis with a table of contents. Theme tokens only. */
.fiche-wrap.ft{--ft-r:calc(12px*var(--rk,1))}
.fiche-wrap.ft .fiche section{padding:0}
.fiche-wrap.ft h1,.fiche-wrap.ft h2,.fiche-wrap.ft h3,.fiche-wrap.ft .serif,.fiche-wrap.ft .box-t{font-family:var(--sans);letter-spacing:-.005em}
.fiche-wrap.ft .fiche-h1{font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.2;letter-spacing:-.015em}
.fiche-wrap.ft .sec-head h2,.fiche-wrap.ft .collections-pills h2,.fiche-wrap.ft .synth-head h2{font-size:clamp(20px,2vw,26px);font-weight:700;letter-spacing:-.01em}

/* Labels and headings. */
.ft-k{margin:0 0 4px;font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--forest)}
.fiche-wrap.ft .ft-h{font-size:20px;line-height:1.35;font-weight:700;color:var(--ink);margin:0 0 12px}
.ft-sous{margin:-4px 0 10px;font-size:13.5px;line-height:1.45;color:var(--ink-soft)}
.fiche-wrap.ft .box-t{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--forest)}
.fiche-wrap.ft .box-t svg{color:var(--forest)}

/* "Notre avis en 30 secondes": a plain note, not a quote. */
.fiche-wrap.ft .summary30.ft-bref{background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--forest);border-radius:var(--ft-r);padding:14px 18px;margin:20px 0 0}
.fiche-wrap.ft .summary30.ft-bref p{font-size:15.5px;line-height:1.6;color:var(--ink)}
.fiche-wrap.ft .summary30.ft-bref .ft-sous{margin:4px 0 0;font-weight:600;color:var(--ink)}

/* L'essentiel: verdict and "pour qui", side by side. */
.ft-essentiel{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin:16px 0 4px}
.ft-col{background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--forest);border-radius:var(--ft-r);padding:20px 22px}
.ft-qui{border-top-color:var(--forest-2)}
.ft-col-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.ft-note{font-size:26px;font-weight:800;line-height:1;color:var(--forest);font-variant-numeric:tabular-nums;white-space:nowrap}
.ft-note small{font-size:13px;font-weight:600;color:var(--ink-mute)}
.ft-col p{margin:0 0 10px;font-size:15px;line-height:1.6;color:var(--ink-soft)}
.ft-col b{color:var(--ink)}
.ft-col .ft-v-intro{color:var(--ink)}
.ft-col .ft-v-attention{padding:9px 12px;border-radius:8px;background:color-mix(in srgb,var(--gold) 11%,transparent)}
.ft-col .ft-k{margin-bottom:4px}
.ft-col .ft-k-non{margin-top:14px;color:var(--ink-soft)}
.ft-col .ft-non{border-left:3px solid var(--gold);padding-left:10px}
.ft-liste{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:7px}
.ft-liste li{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.45;color:var(--ink)}
.ft-ic{flex-shrink:0;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--mint);color:var(--forest);display:grid;place-items:center}
.ft-ic svg{width:12px;height:12px}
.fiche-wrap.ft .redaction-signature{margin:12px 0 0;font-size:12.5px;font-style:normal;color:var(--ink-mute)}

/* Specifications: two columns on a computer whatever the site's card variant, rows striped. */
@media(min-width:861px){
  .fiche-wrap.ft .two-cards.specs-cards{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);max-width:none;align-items:start}
  .fiche-wrap.ft .two-cards.specs-cards>:only-child{grid-column:1 / -1}
}
.fiche-wrap.ft .card-box,.fiche-wrap.ft .pc{border-radius:var(--ft-r)}
.fiche-wrap.ft .specs td{padding:9px 10px}
.fiche-wrap.ft .specs tr:nth-child(even) td{background:color-mix(in srgb,var(--mint) 45%,transparent)}

/* Explained notes: one row per criterion, its computation under "Voir le calcul". */
.fiche-wrap.ft .fiche .pn-section{max-width:none;margin:26px 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--ft-r);padding:22px 24px}
.fiche-wrap.ft .pn-section .pn-intro,.fiche-wrap.ft .pn-section .pn-effectifs{max-width:860px;font-size:13.5px;color:var(--ink-mute)}
.fiche-wrap.ft .pn-section h3{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0;padding:14px 0 4px;border-top:1px solid var(--line);font-size:16px;font-weight:700}
.fiche-wrap.ft .pn-section h3 .pn-note{font-size:17px}
.fiche-wrap.ft .pn-section h3+p{max-width:900px;margin:0 0 6px;font-size:14.5px}
.fiche-wrap.ft .pn-section .pn-manque,.fiche-wrap.ft .pn-section .pn-texte{max-width:900px}
.ft-calc{margin:0 0 10px}
.ft-calc summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:13.5px;font-weight:600;color:var(--forest)}
.ft-calc summary::-webkit-details-marker{display:none}
.ft-calc summary::before{content:"+";display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;border:1px solid var(--line);font-size:13px;line-height:1}
.ft-calc[open] summary::before{content:"\2212"}
.ft-calc summary:hover,.ft-calc summary:focus-visible{text-decoration:underline;text-underline-offset:3px}
.ft-calc-in{max-width:780px;padding:6px 0 4px}

/* Detailed analysis: table of contents beside numbered sections. */
.ft-analyse{margin:34px 0 10px}
.ft-analyse-grid{display:grid;grid-template-columns:250px minmax(0,780px);gap:40px;align-items:start}
.ft-sommaire{position:sticky;top:96px;background:var(--paper);border:1px solid var(--line);border-radius:var(--ft-r);padding:14px 16px}
.ft-sommaire ol{margin:6px 0 0;padding:0;list-style:none;counter-reset:ft}
.ft-sommaire li{counter-increment:ft;display:flex;gap:8px;padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.4}
.ft-sommaire li:first-child{border-top:0}
.ft-sommaire li::before{content:counter(ft);min-width:16px;font-weight:700;color:var(--forest);font-variant-numeric:tabular-nums}
.ft-sommaire a{color:var(--ink-soft)}
.ft-sommaire a:hover,.ft-sommaire a:focus-visible{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.fiche-wrap.ft .acc-sections.art-sections{max-width:none;margin:0}
.fiche-wrap.ft .acc-sections .lead{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.65;color:var(--ink)}
.ft-sec{margin:0 0 24px;scroll-margin-top:96px}
.fiche-wrap.ft .ft-sec-h{display:flex;gap:10px;align-items:baseline;margin:0 0 8px;font-size:18px;line-height:1.35;font-weight:700;color:var(--ink)}
.ft-num{flex-shrink:0;display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:7px;background:var(--mint);color:var(--forest);font-size:13px;font-weight:700;transform:translateY(-2px)}
.fiche-wrap.ft .ft-sec .acc-body{padding:0;font-size:16px;line-height:1.7;color:var(--ink-soft)}
.fiche-wrap.ft .ft-sec .acc-body p{margin:0 0 12px}

@media(max-width:1023px){
  .ft-analyse-grid{grid-template-columns:1fr;gap:16px}
  .ft-sommaire{position:static}
}
@media(max-width:860px){
  .ft-essentiel{grid-template-columns:1fr;gap:12px}
  .ft-col{padding:16px}
  .fiche-wrap.ft .ft-h{font-size:18px}
  .fiche-wrap.ft .fiche .pn-section{padding:16px}
  .fiche-wrap.ft .card-box,.fiche-wrap.ft .pc{padding:14px}
  .fiche-wrap.ft .specs td{padding:8px 6px}
  .fiche-wrap.ft .ft-sec-h{font-size:17px}
}
