/* logiciel-gestion-de-tresorerie.fr — famille V9-cellier recomposée en registre « réserve de
   trésorerie » (habillage : Design-Familles/_habillages/logiciel-gestion-de-tresorerie.fr.md).
   Préfixes trs- (coque/structure, tokens) / flx- (composants actifs : accent, jauge, volet,
   formulaire). Police UNIQUE : Roboto Serif variable, romain + italique (aucune police de
   corps séparée — trait natif V9). Mode de capture B : hero éditorial SANS formulaire, bouton
   primaire -> volet latéral portant le formulaire (zéro défilement). Invariants V9 : rayons
   discrets, filets ton sur ton à peine visibles, alternance stricte crème/surface/surface-
   warm/encre (jamais deux fois le même fond de suite), accent RÉSERVÉ aux chiffres-clés et
   repères d'étiquette, jamais un fond de section entier. */

@font-face{font-family:"Roboto Serif";font-style:normal;font-weight:100 900;font-display:swap;
  src:url("/fonts/roboto-serif-variable.woff2") format("woff2")}
@font-face{font-family:"Roboto Serif";font-style:italic;font-weight:100 900;font-display:swap;
  src:url("/fonts/roboto-serif-italic-variable.woff2") format("woff2")}

:root{
  --trs-ink: oklch(0.230 0.024 200);
  --trs-ink-2: oklch(0.420 0.020 200);
  --trs-ink-3: oklch(0.580 0.014 200);
  --trs-paper: oklch(0.965 0.012 80);
  --trs-paper-2: oklch(0.928 0.016 78);
  --trs-paper-3: oklch(0.890 0.020 76);
  --trs-paper-photo: oklch(0.855 0.020 74);
  --trs-on-ink: oklch(0.965 0.012 80);
  --trs-on-ink-2: oklch(0.760 0.018 80);
  --flx-accent: oklch(0.440 0.095 198);
  --flx-accent-deep: oklch(0.300 0.080 198);
  --flx-accent-soft: oklch(0.730 0.060 198);
  --flx-accent-tint: oklch(0.930 0.024 198);
  --trs-rule: oklch(0.860 0.012 78);
  --trs-rule-strong: oklch(0.560 0.018 60);
  --trs-rule-on-dark: oklch(0.480 0.024 60);
  --flx-field-line: oklch(0.500 0.028 200);
  --flx-danger: oklch(0.550 0.180 25);

  --trs-font: "Roboto Serif", Georgia, serif;

  --trs-maxw: 76rem;
  --trs-radius: 10px;
  --trs-radius-sm: 6px;
  --trs-shadow: 0 18px 40px oklch(0.230 0.024 200 / 0.12);
  --trs-shadow-sm: 0 8px 20px oklch(0.230 0.024 200 / 0.08);
  --trs-sp-1: 0.5rem; --trs-sp-2: 1rem; --trs-sp-3: 1.75rem; --trs-sp-4: 2.75rem; --trs-sp-5: 4.75rem;
  --trs-hdr-h: 64px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;overflow-x:hidden;background:var(--trs-paper);color:var(--trs-ink);
  font-family:var(--trs-font);font-weight:400;font-size:16.5px;line-height:1.66;
  -webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--flx-accent-deep);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--flx-accent)}
:focus-visible{outline:3px solid var(--flx-accent);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.trs-skip{position:absolute;left:-9999px;top:0;background:var(--trs-ink);color:var(--trs-on-ink);padding:12px 18px;z-index:99;border-radius:0 0 8px 0}
.trs-skip:focus{left:0}

.trs-wrap{max-width:var(--trs-maxw);margin:0 auto;padding:0 var(--trs-sp-3)}
.trs-narrow{max-width:72ch}

h1,h2,h3,h4{margin:0 0 .55em;line-height:1.14;letter-spacing:-.004em;font-family:var(--trs-font)}
h1{font-size:clamp(2rem,4.3vw,3.05rem);max-width:22ch;font-weight:380}
h2{font-size:clamp(1.4rem,2.6vw,1.95rem);max-width:26ch;font-weight:380}
h3{font-size:1.05rem;font-weight:600;letter-spacing:.004em}
/* Contraste romain/italique, invariant V9 : le mot-choc en italique forte, le reste en romain. */
em, .trs-choc{font-style:italic;font-weight:650;color:var(--flx-accent-deep)}
.bg-ink em, .bg-ink .trs-choc{color:var(--flx-accent-soft)}
p{margin:0 0 1.05em}
.grf-lede{font-size:clamp(1.02rem,1.3vw,1.14rem);color:var(--trs-ink-2);max-width:64ch}
.bg-ink .grf-lede,.bg-ink p{color:var(--trs-on-ink-2)}
.bg-ink h2,.bg-ink h3{color:var(--trs-on-ink)}
.bg-ink a{color:var(--flx-accent-soft)}

/* Vocabulaire d'étiquette : petites capitales, espacement, filet court — trait V9 recomposé
   (SOLDE DISPONIBLE, PRÉVISIONNEL 30/60/90J, SEUIL DE SÉCURITÉ). */
.trs-label-cap{font-family:var(--trs-font);font-weight:500;font-size:12.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--flx-accent-deep);margin:0 0 8px;display:inline-block;
  border-bottom:1px solid var(--trs-rule-strong);padding-bottom:3px}
.bg-ink .trs-label-cap{color:var(--flx-accent-soft);border-color:var(--trs-rule-on-dark)}

/* ── Fonds (alternance stricte crème/surface/surface-warm/encre) ─────────── */
.bg-paper{background:var(--trs-paper)}
.bg-surface{background:var(--trs-paper-2)}
.bg-surface-2{background:var(--trs-paper-3)}
.bg-accent-tint{background:var(--flx-accent-tint)}
.bg-ink{background:var(--trs-ink);color:var(--trs-on-ink)}
section{padding:var(--trs-sp-5) 0}
section.trs-hero,.trs-hero-editorial{padding:var(--trs-sp-3) 0 var(--trs-sp-4)}

/* ── Topbar + header ─────────────────────────────────────────────────── */
.trs-topbar{background:var(--trs-ink);color:var(--trs-on-ink-2);font-size:13px;overflow:hidden}
.trs-topbar .trs-wrap{display:flex;flex-wrap:wrap;gap:4px 20px;align-items:center;justify-content:space-between;min-height:34px;padding-top:5px;padding-bottom:5px;min-width:0}
.trs-topbar span{min-width:0}
@media (max-width:520px){.trs-topbar span:first-child{display:none}}
.trs-topbar a{color:var(--trs-on-ink)}
.trs-topbar b{font-weight:600;color:var(--trs-on-ink)}
.trs-hdr{position:sticky;top:0;z-index:40;background:var(--trs-paper);border-bottom:1px solid var(--trs-rule);overflow:hidden}
.trs-hdr .trs-wrap{display:flex;align-items:center;gap:12px;min-height:var(--trs-hdr-h);flex-wrap:nowrap;min-width:0}
.trs-brand{display:flex;flex-direction:column;line-height:1.15;text-decoration:none;flex:1 1 auto;min-width:0;overflow:hidden}
.trs-brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-weight:600;font-size:16px;font-family:var(--trs-font);color:var(--trs-ink)}
.trs-brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-weight:500;font-size:11.5px;color:var(--flx-accent-deep);letter-spacing:.03em;text-transform:uppercase}
.trs-burger{display:none;margin-left:auto;flex:0 0 auto;background:none;border:1px solid var(--trs-rule);border-radius:var(--trs-radius-sm);padding:.5rem .7rem;font-size:.85rem;font-family:var(--trs-font);cursor:pointer}
.trs-nav{display:flex;align-items:center;gap:var(--trs-sp-3);margin-left:auto}
.trs-nav>ul{display:flex;gap:var(--trs-sp-2);list-style:none;margin:0;padding:0}
.trs-navi{position:relative}
.trs-navi>button{font-family:var(--trs-font);font-weight:500;font-size:.94rem;background:none;border:none;cursor:pointer;color:var(--trs-ink);padding:.5rem .2rem}
.trs-navi>button:hover{color:var(--flx-accent-deep)}
.trs-drop{position:absolute;top:100%;left:0;background:var(--trs-paper);border:1px solid var(--trs-rule);
  border-radius:var(--trs-radius-sm);box-shadow:var(--trs-shadow);min-width:16rem;padding:.5rem;display:none;flex-direction:column;gap:2px;z-index:50}
.trs-navi[data-open="1"] .trs-drop{display:flex}
.trs-drop ul{list-style:none;margin:0;padding:0}
.trs-drop a{display:block;padding:.55rem .7rem;border-radius:6px;font-size:.92rem;text-decoration:none;color:var(--trs-ink)}
.trs-drop a:hover{background:var(--flx-accent-tint);color:var(--flx-accent-deep)}
.trs-drop small{display:block;font-size:.76rem;color:var(--trs-ink-3);font-weight:400}
.trs-cta{background:var(--flx-accent-deep);color:var(--trs-paper) !important;border-radius:var(--trs-radius-sm);padding:.6rem 1.05rem;
  font-weight:600;text-decoration:none;font-size:.9rem;white-space:nowrap;border:none;cursor:pointer;font-family:var(--trs-font)}
.trs-cta:hover{background:var(--flx-accent)}
/* Anti-doublon G68 : masqué par app.js tant que le bouton du hero est dans l'écran */
.trs-dup-masque{display:none !important}
@media (max-width:900px){
  .trs-nav>ul{display:none}
  .trs-hdr>.trs-wrap>.trs-cta{display:none}
  .trs-burger{display:inline-flex}
  .trs-hdr[data-nav="1"] .trs-nav{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--trs-paper);
    border-bottom:1px solid var(--trs-rule);padding:var(--trs-sp-2);box-shadow:var(--trs-shadow)}
  .trs-hdr[data-nav="1"] .trs-nav>ul{display:flex;flex-direction:column}
  .trs-hdr[data-nav="1"]>.trs-wrap>.trs-cta{display:inline-block;margin-top:.5rem;text-align:center;order:99}
  .trs-hdr:not([data-nav="1"]) .trs-nav{display:none}
  .trs-drop{position:static;box-shadow:none;border:none;display:flex;padding-left:.5rem}
}

/* ── Hero mode B : éditorial, SANS formulaire, 2 boutons ─────────────────
   Bouton primaire -> ouvre le volet latéral (zéro défilement). Bouton fantôme -> ancre
   méthode/FAQ. La photo occupe le fond ou une colonne, jamais un formulaire dans le hero. */
.trs-hero{position:relative}
.trs-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--trs-sp-4);align-items:center}
@media (max-width:900px){.trs-hero-grid{display:flex;flex-direction:column}}
.trs-badge{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--flx-accent-deep);
  background:var(--flx-accent-tint);border-radius:999px;padding:.32rem .8rem;margin-bottom:var(--trs-sp-2);text-transform:uppercase}
.trs-hero-copy{display:flex;flex-direction:column}
.trs-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:var(--trs-sp-2)}
.trs-hero-reassure{font-size:.83rem;color:var(--trs-ink-2);margin-top:.7rem}
.bg-ink .trs-hero-reassure{color:var(--trs-on-ink-2)}
@media (max-width:480px){
  section.trs-hero{padding:.85rem 0 1.1rem}
  .trs-badge{margin-bottom:.4rem}
  .trs-hero-copy h1{margin-bottom:.35em}
  .trs-hero-copy .grf-lede{margin-bottom:.6em}
  .trs-hero-actions{margin-top:.6rem;gap:.55rem}
  .trs-hero-reassure{margin-top:.45rem;font-size:.78rem}
  .trs-hero-photo-wrap{margin-top:.75rem}
}
.trs-hero-photo-wrap{border-radius:var(--trs-radius);overflow:hidden;box-shadow:var(--trs-shadow-sm)}
.trs-hero-photo{width:100%;aspect-ratio:4/3;object-fit:cover}
.trs-btn-ghost{display:inline-block;background:transparent;color:var(--trs-ink) !important;border:1.5px solid var(--trs-rule-strong);
  border-radius:var(--trs-radius-sm);padding:.75rem 1.15rem;font-weight:600;font-size:.97rem;cursor:pointer;font-family:var(--trs-font);text-decoration:none;text-align:center}
.trs-btn-ghost:hover{border-color:var(--flx-accent)}
.bg-ink .trs-btn-ghost{color:var(--trs-on-ink) !important;border-color:var(--trs-rule-on-dark)}

/* ── Bande de repères chiffrés (section 2 de l'accueil, jamais un chiffre client inventé) ── */
.trs-reperes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--trs-sp-3);text-align:center}
@media (max-width:700px){.trs-reperes{grid-template-columns:1fr}}
.trs-repere b{display:block;font-family:var(--trs-font);font-weight:380;font-size:1.9rem;color:var(--flx-accent-deep)}
.trs-repere span{font-size:.85rem;color:var(--trs-ink-2)}

/* ── Cartouches (agrément) ─────────────────────────────────────────────── */
.trs-cartouches{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--trs-sp-3)}
@media (max-width:820px){.trs-cartouches{grid-template-columns:1fr}}
.trs-cartouches>div{background:var(--trs-paper);border:1px solid var(--trs-rule);border-radius:var(--trs-radius);padding:var(--trs-sp-3);box-shadow:var(--trs-shadow-sm)}
.trs-cartouches h3{color:var(--flx-accent-deep);margin-bottom:.3rem}

/* ── Volet latéral (formulaire, mode B) — zéro défilement pour l'atteindre ──
   Panneau fixe depuis la droite, ouvert par data-volet="1" sur <html>. Fond assombri
   cliquable pour fermer. Formulaire identique en contenu à formCard(). */
.trs-volet-backdrop{position:fixed;inset:0;background:oklch(0.230 0.024 200 / 0.45);opacity:0;pointer-events:none;
  transition:opacity .22s ease;z-index:70}
html[data-volet="1"] .trs-volet-backdrop{opacity:1;pointer-events:auto}
.trs-volet{position:fixed;top:0;right:0;bottom:0;width:min(26rem,92vw);background:var(--trs-paper);
  box-shadow:-18px 0 40px oklch(0.230 0.024 200 / 0.18);transform:translateX(100%);
  transition:transform .26s ease, visibility 0s linear .26s;
  z-index:71;overflow-y:auto;padding:var(--trs-sp-3);visibility:hidden}
html[data-volet="1"] .trs-volet{transform:translateX(0);visibility:visible;transition:transform .26s ease, visibility 0s linear 0s}
.trs-volet-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--trs-sp-2)}
.trs-volet-close{background:none;border:1px solid var(--trs-rule);border-radius:var(--trs-radius-sm);
  width:2.2rem;height:2.2rem;font-size:1.1rem;cursor:pointer;color:var(--trs-ink)}
.trs-volet-title{font-family:var(--trs-font);font-weight:380;font-size:1.25rem;margin:0}

/* ── Barre d'appel mobile fixe (2 boutons) ────────────────────────────── */
.trs-callbar{display:none}
@media (max-width:900px){
  .trs-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:0;
    background:var(--trs-paper);border-top:1px solid var(--trs-rule);box-shadow:0 -8px 20px oklch(0.230 0.024 200 / 0.10)}
  .trs-callbar a,.trs-callbar button{flex:1;text-align:center;padding:.85rem .5rem;font-weight:600;font-size:.92rem;
    border:none;font-family:var(--trs-font);cursor:pointer;text-decoration:none}
  .trs-callbar .trs-call-primary{background:var(--flx-accent-deep);color:var(--trs-paper)}
  .trs-callbar .trs-call-secondary{background:var(--trs-paper);color:var(--trs-ink);border-left:1px solid var(--trs-rule)}
  body{padding-bottom:3.4rem}
}

/* ── Formulaire (dans le volet) ───────────────────────────────────────── */
.flx-form-card{background:transparent}
.trs-form-title{margin:0 0 .5rem;font-size:1.1rem;font-weight:600}
.flx-field{margin-bottom:var(--trs-sp-2)}
.flx-field label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}
.flx-field input,.flx-field select,.flx-field textarea{width:100%;border:1.5px solid var(--flx-field-line);border-radius:var(--trs-radius-sm);
  padding:.62rem .75rem;font-family:var(--trs-font);font-size:.97rem;background:var(--trs-paper);color:var(--trs-ink)}
.flx-field textarea{min-height:5.5rem;resize:vertical;line-height:1.4}
.flx-field input:focus,.flx-field select:focus,.flx-field textarea:focus{outline:2px solid var(--flx-accent);outline-offset:1px}
.flx-req{color:var(--flx-danger)}
.flx-consent{display:flex;align-items:flex-start;gap:.5rem;font-size:.83rem;margin-bottom:var(--trs-sp-2)}
.flx-consent input{margin-top:.2rem;width:auto}
.flx-hp{position:absolute;left:-9999px}
.flx-reassure{font-size:.82rem;color:var(--trs-ink-2);margin-top:.6rem;text-align:center}
.trs-btn{display:inline-block;background:var(--flx-accent-deep);color:var(--trs-paper) !important;border:none;border-radius:var(--trs-radius-sm);
  padding:.82rem 1.2rem;font-weight:600;font-size:1rem;cursor:pointer;font-family:var(--trs-font);text-decoration:none;text-align:center}
.trs-btn:hover{background:var(--flx-accent)}
.trs-btn-block{width:100%}

/* ── Jauge de trésorerie — module signature (§4 habillage) ────────────────
   Instrument vertical détouré en grand format, encadré trs-paper-3 à filet double
   trs-rule-strong. Le remplissage projette solde_actuel + encaissements_30j -
   decaissements_30j. SEUIL DE SÉCURITÉ = 0 (ne repose sur aucun ratio externe inventé :
   seule mesure honnête = ne pas passer sous zéro sur les 3 données déclarées par le
   visiteur). Rupture de symétrie n°2 : le repère de seuil déborde du cadre à droite. */
.flx-jauge{margin:var(--trs-sp-3) 0}
.flx-jauge-intro{margin-bottom:var(--trs-sp-2)}
.flx-jauge-body{background:var(--trs-paper-3);border:2px solid var(--trs-rule-strong);border-radius:var(--trs-radius);
  padding:var(--trs-sp-3);display:grid;grid-template-columns:1fr 14rem;gap:var(--trs-sp-3);align-items:start;position:relative;overflow:visible}
@media (max-width:760px){.flx-jauge-body{grid-template-columns:1fr}}
.flx-jauge-fields{display:flex;flex-direction:column;gap:var(--trs-sp-2)}
.flx-jauge-fields label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}
.flx-jauge-fields input{width:100%;border:1.5px solid var(--flx-field-line);border-radius:var(--trs-radius-sm);padding:.6rem .7rem;font-family:var(--trs-font);background:var(--trs-paper)}
.flx-jauge-instrument{position:relative;width:5.5rem;height:13rem;margin:0 auto;border:2px solid var(--trs-rule-strong);
  border-radius:8px;overflow:hidden;background:var(--trs-paper)}
.flx-jauge-fill{position:absolute;left:0;right:0;bottom:0;background:var(--flx-accent);
  /* rupture de symétrie n°1 : le niveau se stabilise en cascade (par paliers), jamais un saut direct */
  transition:height .5s cubic-bezier(.2,.7,.3,1);height:0%}
.flx-jauge-fill[data-etat="negatif"]{background:var(--flx-danger)}
.flx-jauge-seuil{position:absolute;left:-.6rem;right:-1.6rem;bottom:50%;border-top:2px dashed var(--trs-rule-strong);
  display:flex;justify-content:flex-end}
/* rupture de symétrie n°2 : le repère de seuil déborde du cadre de l'encadré, côté droit */
.flx-jauge-seuil-label{position:absolute;right:-1.55rem;top:-.65rem;background:var(--trs-paper);border:1px solid var(--trs-rule-strong);
  border-radius:3px;padding:.1rem .35rem;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--flx-accent-deep);white-space:nowrap}
.flx-jauge-result{grid-column:1/-1;border-top:1px solid var(--trs-rule-strong);padding-top:var(--trs-sp-2);margin-top:var(--trs-sp-1)}
.flx-jauge-result h3{color:var(--flx-accent-deep)}
.flx-jauge-result[data-solved] {background:var(--flx-accent-tint);border-radius:var(--trs-radius-sm);padding:var(--trs-sp-2);border-top:none}

/* ── Loi box ──────────────────────────────────────────────────────────── */
.prd-law-box{border:1px solid var(--flx-field-line);border-left:5px solid var(--flx-accent-deep);
  border-radius:var(--trs-radius);background:var(--trs-paper-2);padding:var(--trs-sp-3);margin:var(--trs-sp-3) 0}
.bg-ink .prd-law-box{background:oklch(0.320 0.028 200)}
.prd-law-box h3{margin-bottom:.4rem;font-size:1.02rem}

/* ── Méthode / déroulé ────────────────────────────────────────────────── */
.trs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--trs-sp-3)}
@media (max-width:900px){.trs-steps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.trs-steps{grid-template-columns:1fr}}
.trs-steps h3{color:var(--flx-accent-deep)}
.bg-ink .trs-steps h3{color:var(--flx-accent-soft)}

/* ── Cartes (segments, cross-links) ──────────────────────────────────── */
.trs-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--trs-sp-3)}
@media (max-width:700px){.trs-cards{grid-template-columns:1fr}}
.trs-cards a{display:block;background:var(--trs-paper);border:1px solid var(--trs-rule);border-radius:var(--trs-radius);
  padding:var(--trs-sp-3);text-decoration:none;color:var(--trs-ink);box-shadow:var(--trs-shadow-sm)}
.trs-cards a:hover{border-color:var(--flx-accent)}
.trs-cards strong{display:block;font-family:var(--trs-font);font-weight:600;font-size:1.05rem;margin-bottom:.3rem;color:var(--trs-ink)}
.trs-cards span{font-size:.9rem;color:var(--trs-ink-2)}

/* ── Tableau ──────────────────────────────────────────────────────────── */
.trs-tw{overflow-x:auto}
.trs-tw table{border-collapse:collapse;width:100%;min-width:480px;background:var(--trs-paper);border-radius:var(--trs-radius);overflow:hidden;box-shadow:var(--trs-shadow-sm)}
.trs-tw caption{text-align:left;font-size:.85rem;color:var(--trs-ink-2);padding:.5rem 0}
.trs-tw th,.trs-tw td{border:1px solid var(--trs-rule);padding:.6rem .8rem;text-align:left;font-size:.94rem}
.trs-tw th{background:var(--trs-paper-2);font-weight:600}

/* ── Liste répétée générique ──────────────────────────────────────────── */
.trs-rep{padding-left:1.15em;margin:0 0 1.1em}
.trs-rep li{margin-bottom:.5em}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.prd-faq details{border:1px solid var(--trs-rule);border-radius:var(--trs-radius-sm);padding:.8rem 1rem;margin-bottom:.6rem;background:var(--trs-paper)}
.prd-faq summary{cursor:pointer;font-weight:600;font-family:var(--trs-font)}
.prd-faq details[open] summary{color:var(--flx-accent-deep)}
.prd-faq-answer{margin-top:.6rem}

/* ── Avis ─────────────────────────────────────────────────────────────── */
.flx-avis{margin:0}
.trs-lede-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:var(--trs-sp-2)}
.trs-avis-moy{font-weight:600}
.trs-stars{color:var(--flx-accent-deep);letter-spacing:.05em}
.flx-avis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--trs-sp-2)}
@media (max-width:900px){.flx-avis-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.flx-avis-grid{grid-template-columns:1fr}}
.flx-avis-card{background:var(--trs-paper);border:1px solid var(--trs-rule);border-radius:var(--trs-radius);padding:var(--trs-sp-2);box-shadow:var(--trs-shadow-sm)}
.bg-ink .flx-avis-card{background:oklch(0.320 0.028 200);border-color:oklch(0.40 0.03 200)}
.bg-ink .flx-avis-card p{color:var(--trs-on-ink-2)}
.trs-avis-auteur{font-size:.85rem;color:var(--trs-ink-2);margin:0}
.bg-ink .trs-avis-auteur{color:var(--trs-on-ink-2)}

/* ── Breadcrumb / updated ────────────────────────────────────────────── */
.trs-breadcrumb{font-size:.82rem;color:var(--trs-ink-2);margin:var(--trs-sp-2) 0 0}
.trs-breadcrumb ol{list-style:none;display:flex;gap:.4rem;padding:0;margin:0;flex-wrap:wrap}
.trs-breadcrumb li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--trs-rule-strong)}
.trs-breadcrumb a{color:var(--trs-ink-2)}
.trs-breadcrumb [aria-current]{color:var(--trs-ink);font-weight:600}
.trs-updated{font-size:.8rem;color:var(--trs-ink-2);margin-top:var(--trs-sp-2)}

/* ── Footer ───────────────────────────────────────────────────────────── */
.trs-ft{background:var(--trs-ink);color:var(--trs-on-ink-2)}
.trs-ft .trs-wrap{padding-top:var(--trs-sp-4);padding-bottom:var(--trs-sp-3)}
.trs-ft h4{color:var(--trs-on-ink);font-size:.95rem;font-family:var(--trs-font);font-weight:600}
.trs-ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--trs-sp-3)}
@media (max-width:780px){.trs-ft-grid{grid-template-columns:1fr}}
.trs-ft a{color:var(--trs-on-ink-2);text-decoration:none;font-size:.9rem}
.trs-ft a:hover{color:var(--trs-on-ink);text-decoration:underline}
.trs-ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.foot-sources{font-size:.78rem;color:var(--trs-on-ink-2);border-top:1px solid var(--trs-rule-on-dark);padding-top:var(--trs-sp-2);margin-top:var(--trs-sp-3)}
.foot-sources a{color:var(--flx-accent-soft)}
.trs-ft-end{font-size:.78rem;color:var(--trs-on-ink-2);margin-top:var(--trs-sp-3)}

/* ── Blog ─────────────────────────────────────────────────────────────── */
.trs-blog-index{display:grid;grid-template-columns:1fr 1fr;gap:var(--trs-sp-3)}
@media (max-width:780px){.trs-blog-index{grid-template-columns:1fr}}
.trs-blog-index a{display:block;background:var(--trs-paper);border:1px solid var(--trs-rule);border-radius:var(--trs-radius);
  padding:var(--trs-sp-3);text-decoration:none;color:var(--trs-ink);box-shadow:var(--trs-shadow-sm)}
.trs-blog-index strong{display:block;font-family:var(--trs-font);font-weight:600;font-size:1.1rem;margin-bottom:.3rem}
.trs-blog-index span{font-size:.9rem;color:var(--trs-ink-2)}
.trs-hero-editorial{padding-top:var(--trs-sp-2)}
