/* ═══════════════════════════════════════════════════════════════════════════
   PROSPECTING MANUAL — ADDITIF CSS decision-ranking
   Sections 140 à 145. À charger après pm-global.css.

   REPRISE DU 21 SEPTEMBRE 2026 (étape 3.7, décision 105). Les anciennes sections
   65 à 71 sont VIDÉES DÉFINITIVEMENT : leur contenu est remplacé ici, et un numéro
   appartient à son contenu (décision 16). Elles rejoignent 48, 54 et 59.
   Ce que le socle porte désormais n'est plus écrit ici : en-têtes de bloc (pm-bh),
   petits boutons (pm-sm), liens de sortie (pm-nl), notes (pm-fn), séparateurs (pm-ss),
   liens de saut (pm-jump), cartes de décision (pm-card-hi), FAQ (pm-faq-h).
   Plancher typographique à 12 px (décision 46), hors étiquettes en capitales
   espacées (11 px) et glyphes.
   Aucune classe du socle n'est redéfinie ; les règles qui ciblent une classe du socle
   sont scopées par `.pm-card-l` ou `.pm-en` (lisibilité sur carte claire).
   Les encres sont écrites en clair ; seules les surfaces lisent une variable (décision 38).
   MISE À JOUR DU 22 SEPTEMBRE 2026 (étape 3.8, chantier B, décision 129) — la règle d'encre forcée de la
   v6.2 n'existe plus sur les pages de la v8 : le socle pose l'encre de base des paragraphes en section 184,
   sans !important. La garde contextuelle de ce fichier a perdu son !important et gagne par ses trois
   classes ; un composant neuf stylise un paragraphe avec deux classes, jamais avec !important.

   ═══════════════════════════════════════════════════════════════════════════ */

/* ═══ 140. OUVERTURE ET PODIUM ══════════════════════════════════════════════
   Carte 1 : titre, encart, verdict (pm-vd), ligne de faits (pm-vd-meta), rien d'autre.
   Carte 2, claire : les rangs 1 à 3 en trois cartes égales ; chaque place porte une
   médaille (or, argent, bronze) et un fond teinté sobre, par sa position dans la grille
   (décisions 108 et 109 ; l'ordre est celui du tableau, vérifié par le contrôle 6).
   La divulgation, sur carte claire, reprend une encre sombre.                          */
.pm-dr .pm-hd{max-width:720px}
.pm-dr .pm-ednote{margin:0 0 18px}
/* la divulgation est en deux temps depuis l'étape 3.8 (décision 129) : la ligne et le bloc sont le socle (157) */

/* Les règles du podium (pm-pod, pm-pod-c, pm-pod-rank, pm-pod-n, pm-pod-tag, pm-pod-d, pm-price-l,
   pm-flag, pm-acts) sont au socle depuis le 21 septembre 2026 : section 151, promues à leur deuxième
   usage, le face à face de vs (décisions 21, 59 et 114). Le podium porte la classe is-ranked. */


/* ═══ 141. LE MIEUX NOTÉ PAR SITUATION — carte claire ═══════════════════════
   Le lecteur cherche « pour une agence », pas « Kestrel ». La situation est donc
   le titre de la carte, dans un bandeau teinté ; le nom de l'outil passe en second. */
.pm-award{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:13px;margin-top:20px}
.pm-aw{overflow:hidden;border-radius:var(--pm-r3);background:#fff;border:1px solid var(--pm-l2);
  box-shadow:var(--pm-shadow-xs)}
.pm-aw-t{padding:12px 18px;background:linear-gradient(135deg,rgba(37,99,235,.11),rgba(79,70,229,.09));
  border-bottom:1px solid rgba(99,102,241,.16);font-family:var(--pm-fb);font-size:var(--pm-fs-sm);font-weight:700;
  letter-spacing:normal;color:#3730A3}
.pm-aw-b{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;padding:16px 18px}
.pm-aw-b>img{width:38px;height:38px;border-radius:11px}
.pm-aw-n{display:flex;align-items:baseline;gap:8px;font-family:var(--pm-fb);font-size:var(--pm-fs-body);font-weight:700;
  letter-spacing:normal;color:#0F172A}
.pm-aw-n span{font-family:var(--pm-fm);font-size:var(--pm-fs-meta);font-weight:500;letter-spacing:0;color:var(--pm-ink-l3)}
.pm-aw-d{margin:6px 0 0;font-size:var(--pm-fs-meta);line-height:1.62;color:var(--pm-ink-l2)}


/* ═══ 142. LE TABLEAU ET LA MÉTHODE — carte sombre, tri par colonne ═══════ */
.pm-rk-sort{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:20px 0 15px}
.pm-rk-sort p{margin:0 5px 0 0;font-family:var(--pm-fm);font-size:var(--pm-fs-xs);letter-spacing:.12em;
  text-transform:uppercase;}
.pm-rk-o{padding:6px 14px;border-radius:var(--pm-r-pill);background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);color:var(--pm-ink-d2);font-family:var(--pm-fb);font-size:var(--pm-fs-meta);
  font-weight:600;cursor:pointer;transition:background var(--pm-t1),color var(--pm-t1),border-color var(--pm-t1)}
.pm-rk-o:hover{background:rgba(255,255,255,.08);color:#F2F5FF}
.pm-rk-o[aria-pressed="true"]{background:rgba(99,102,241,.22);border-color:rgba(129,140,248,.44);color:#C7D2FE}
.pm-rk{width:100%;min-width:880px;border-collapse:collapse;font-size:var(--pm-fs-meta)}
.pm-rk thead th{padding:9px 12px;text-align:left;white-space:nowrap;font-family:var(--pm-fm);font-size:var(--pm-fs-xs);
  letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--pm-ink-d2);
  border-bottom:1px solid rgba(255,255,255,.13)}
.pm-rk td{padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.06);color:#D5DCF0;vertical-align:middle}
.pm-rk tbody tr:last-child td{border-bottom:none}
.pm-rk tbody tr:hover td{background:rgba(255,255,255,.03)}
.pm-rk tbody tr.is-1 td{background:rgba(99,102,241,.10)}
.pm-rk-p{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:8px;
  background:rgba(255,255,255,.06);font-family:var(--pm-fb);font-size:var(--pm-fs-meta);font-weight:700;color:var(--pm-ink-d2)}
.pm-rk tbody tr.is-1 .pm-rk-p{background:var(--pm-grad);color:#fff}
.pm-rk-tool{display:flex;align-items:center;gap:10px}
.pm-rk-tool img{width:27px;height:27px;border-radius:8px;flex-shrink:0}
.pm-rk-tool b{font-family:var(--pm-fb);font-size:var(--pm-fs-ui);font-weight:700;letter-spacing:normal;color:#F2F5FF}
.pm-rk-sc{font-family:var(--pm-fb);font-size:var(--pm-fs-sm);font-weight:700;letter-spacing:normal;color:#F2F5FF}
.pm-rk-best{font-size:var(--pm-fs-meta);color:#D5DCF0}
.pm-rk-act{display:flex;align-items:center;gap:6px;justify-content:flex-end;white-space:nowrap}

/* bandeau de méthode, sous la note datée du tableau : la question « pourquoi cet
   ordre » se pose ici, pas trois blocs plus bas. Trois ou quatre tuiles selon
   HAS_PAID_LINKS ; la grille s'adapte. */
.pm-meth{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:11px;margin-top:18px;
  padding-top:20px;border-top:1px solid rgba(255,255,255,.09)}
.pm-meth-c{padding:15px 17px;border-radius:var(--pm-r3);background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.09)}
.pm-meth-c b{display:block;font-family:var(--pm-fd);font-size:var(--pm-fs-xl);font-weight:800;letter-spacing:-.02em;
  line-height:1;color:#F2F5FF}
.pm-meth-c span{display:block;margin-top:6px;font-family:var(--pm-fm);font-size:var(--pm-fs-xs);letter-spacing:.1em;
  text-transform:uppercase;color:var(--pm-ink-d2)}
.pm-meth-c em{display:block;margin-top:9px;font-style:normal;font-size:var(--pm-fs-meta);line-height:1.58;color:#D5DCF0}


/* ═══ 143. LES SIX EN DÉTAIL — carte claire, six fiches ═══════════════════ */
.pm-ent{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.pm-en{position:relative;padding:22px 24px;border-radius:var(--pm-r4);background:#fff;
  border:1px solid var(--pm-l2);box-shadow:var(--pm-shadow-xs)}
.pm-en.is-1{border-color:rgba(99,102,241,.34);box-shadow:0 0 0 1px rgba(99,102,241,.1),var(--pm-shadow-sm)}
.pm-en-h{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:15px;align-items:center}
.pm-en-h>img{width:44px;height:44px;border-radius:13px}
.pm-en-n{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;font-family:var(--pm-fd);font-size:var(--pm-fs-h3);font-weight:800;
  letter-spacing:-.02em;color:#0F172A}
.pm-en-n em{font-family:var(--pm-fm);font-style:normal;font-size:var(--pm-fs-meta);font-weight:500;letter-spacing:.04em;color:var(--pm-ink-l3)}
.pm-en-r{margin-top:3px;font-size:var(--pm-fs-meta);color:var(--pm-ink-l3)}
.pm-en-sc{text-align:right;font-family:var(--pm-fd);font-size:var(--pm-fs-2xl);font-weight:800;letter-spacing:-.02em;
  line-height:1;color:#0F172A}
.pm-en-sc span{display:block;margin-top:4px;font-family:var(--pm-fm);font-size:var(--pm-fs-meta);font-weight:500;
  letter-spacing:.1em;color:var(--pm-ink-l3)}
.pm-en-say{margin:16px 0 0;font-size:var(--pm-fs-ui);line-height:1.72;color:var(--pm-ink-l2);max-width:74ch}
.pm-en-say b{font-weight:700;color:#0F172A}
.pm-en-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:20px 30px;margin-top:20px}
.pm-en-lab{display:flex;align-items:center;height:18px;font-family:var(--pm-fm);font-size:var(--pm-fs-xs);
  letter-spacing:.11em;text-transform:uppercase;color:var(--pm-ink-l3);margin-bottom:12px}
/* les deux colonnes partagent le même pas de ligne : les barres tombent en face
   des marqueurs, ligne pour ligne */
.pm-en .pm-sc-row{min-height:34px;padding:0}
.pm-en-pc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.pm-en-pc li{display:grid;grid-template-columns:19px minmax(0,1fr);gap:10px;align-items:center;
  min-height:34px;padding:4px 0;font-size:var(--pm-fs-meta);line-height:1.5;color:var(--pm-ink-l2)}
.pm-en-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:20px;padding-top:16px;border-top:1px solid var(--pm-l2)}
.pm-en-price{font-family:var(--pm-fm);font-size:var(--pm-fs-meta);color:var(--pm-ink-l3)}
.pm-en-price b{font-family:var(--pm-fb);font-size:var(--pm-fs-sm);font-weight:700;color:#0F172A;margin-right:5px}
.pm-en-price .pm-stale{color:#92400E}
.pm-en-cta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
/* la vidéo de l'éditeur vit dans la fiche de l'outil qu'elle montre (décision 27) */
.pm-en .pm-vid{aspect-ratio:16/10;border-radius:var(--pm-r3);gap:8px}
.pm-en .pm-vid-play{width:40px;height:40px;font-size:var(--pm-fs-meta)}
.pm-en .pm-vid-t{font-size:var(--pm-fs-meta);text-align:center;padding:0 12px;line-height:1.45}

/* la v6.2 force l'encre de tout paragraphe du conteneur en !important (défaut 10, socle
   section 79) : les trois paragraphes de ce template posés sur carte claire la reprennent */
.pm-page-wrap .pm-card-l .pm-aw-d{color:var(--pm-ink-l2)}
.pm-page-wrap .pm-card-l .pm-en-say{color:var(--pm-ink-l2)}
.pm-page-wrap .pm-card-l .pm-sec-intro{color:var(--pm-ink-l2)}

/* lisibilité des composants du socle posés sur carte claire (barres de dimensions,
   coches) : encres écrites en clair, jamais lues sur une variable (décision 38) */
.pm-card-l .pm-sc-lab{color:var(--pm-ink-l3)}
.pm-card-l .pm-sc-lab i{color:var(--pm-ink-l3)}
.pm-card-l .pm-sc-trk{background:var(--pm-l2)}
.pm-card-l .pm-sc-v{color:#0F172A}
.pm-card-l .pm-sc-v[data-band="bad"]{color:#B91C1C}
.pm-card-l .pm-sc-v[data-band="weak"]{color:#B45309}
.pm-card-l .pm-sc-v[data-band="ok"]{color:#4D7C0F}
.pm-card-l .pm-sc-v[data-band="good"]{color:#15803D}
.pm-card-l .pm-sc-v[data-band="top"]{color:#047857}
.pm-card-l .pm-ck{background:rgba(21,128,61,.12);color:#15803D}
.pm-card-l .pm-cx{background:rgba(185,28,28,.1);color:#B91C1C}


/* ═══ 144. EN PROFONDEUR ET « ALSO REVIEWED » — carte claire ═══════════════ */
.pm-sec-intro{margin:0 0 24px;font-size:var(--pm-fs-sm);line-height:1.72;color:var(--pm-ink-l2);max-width:70ch}
.pm-dr-more{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pm-dr-more-i{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:var(--pm-r-pill);
  background:#fff;border:1px solid var(--pm-l2);font-size:var(--pm-fs-meta);font-weight:600;color:var(--pm-ink-l2);text-decoration:none;
  transition:border-color var(--pm-t1),color var(--pm-t1)}
.pm-dr-more-i:hover{border-color:rgba(99,102,241,.5);color:#0F172A}
.pm-dr-more-i b{font-family:var(--pm-fb);font-size:var(--pm-fs-meta);font-weight:700;color:#0F172A}


/* ═══ 145. RESPONSIVE DU TEMPLATE ══════════════════════════════════════════ */
@media (max-width:768px){
  .pm-en .pm-sc-row,.pm-en-pc li{min-height:0}
  .pm-award{grid-template-columns:minmax(0,1fr)}
  .pm-en{padding:20px 18px}
  .pm-en-h{grid-template-columns:38px minmax(0,1fr) auto;gap:12px}
  .pm-en-h>img{width:38px;height:38px;border-radius:11px}
  .pm-en-n{font-size:var(--pm-fs-lead)}
  .pm-en-sc{font-size:var(--pm-fs-xl)}
  .pm-en-col{grid-template-columns:minmax(0,1fr);gap:18px}
  .pm-en-foot{flex-direction:column;align-items:stretch}
  .pm-en-cta{width:100%}
  .pm-en-cta .pm-btn,.pm-en-cta .pm-sm{flex:1;justify-content:center}
  .pm-meth{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  .pm-rk-sort p{width:100%;margin-bottom:2px}
  /* séance 246 : les trois boutons d'une fiche se partageaient 305 px et passaient chacun sur deux lignes — « Try » en premier, sur
     toute la largeur, puis « + Compare » et « Our review » côte à côte */
  .pm-en-cta .pm-btn{order:-1;flex:1 1 100%}
  .pm-en-cta .pm-sm{flex:1 1 0}
}
/* Séance 246 : le classement en cartes quand il ne tient plus (mécanique commune : socle, section 192). Rang, logo, nom et note
   sur la première ligne ; prix d'entrée, essai et « For » (le dernier mot de « Best for ») avec le libellé de leur colonne,
   lu à l'écran seulement (texte de remplacement vide : un lecteur d'écran lit l'en-tête de colonne) ; une cellule vide perd son
   libellé (un « Trial » seul affirmerait un essai) ; les trois boutons sur une ligne. */
@container (max-width:879px){
  body .pm-wide .pm-rk tbody tr:not([hidden]){display:flex;flex-wrap:wrap;align-items:center;column-gap:12px;padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08);border-radius:14px}
  body .pm-wide .pm-rk tbody tr:last-child{border-bottom:none}
  body .pm-wide .pm-rk tbody tr.is-1{background:rgba(99,102,241,.13)}
  body .pm-wide .pm-rk tbody tr::after{content:"";order:4;flex-basis:100%;height:12px}
  body .pm-wide .pm-rk tbody tr td:nth-child(1){order:1}
  body .pm-wide .pm-rk tbody tr td:nth-child(2){order:2;flex:1 1 0;min-width:0}
  body .pm-wide .pm-rk tbody tr td:nth-child(3){order:3}
  body .pm-wide .pm-rk tbody tr td:nth-child(n+4):nth-child(-n+6){order:5;margin:0 18px 0 0}
  body .pm-wide .pm-rk tbody tr td:nth-child(7){order:7;flex:1 1 100%;margin-top:12px}
  body .pm-wide .pm-rk tbody tr td:nth-child(n+4):nth-child(-n+6)::before{display:block;margin:0 0 3px;font-family:var(--pm-fm);font-size:var(--pm-fs-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--pm-ink-d2)}
  body .pm-wide .pm-rk tbody tr td:nth-child(4)::before{content:"Entry price";content:"Entry price" / ""}
  body .pm-wide .pm-rk tbody tr td:nth-child(5)::before{content:"Trial";content:"Trial" / ""}
  body .pm-wide .pm-rk tbody tr td:nth-child(6)::before{content:"For";content:"For" / ""}
  body .pm-wide .pm-rk tbody tr td:is(:nth-child(4),:nth-child(5)):empty,body .pm-wide .pm-rk tbody tr td:nth-child(6):has(.pm-rk-best:empty){display:none}
  body .pm-wide .pm-rk tbody tr td:nth-child(4){font-weight:600;color:#F2F5FF}
  body .pm-wide .pm-rk-sc{font-size:var(--pm-fs-lead)}
}
/* une boîte assez large (560 px et plus, une tablette) : les boutons gardent leur taille, à droite des libellés */
@container (min-width:560px) and (max-width:879px){
  body .pm-wide .pm-rk tbody tr td:nth-child(7){order:6;flex:0 0 auto;margin:0 0 0 auto}
  body .pm-wide .pm-rk-act .pm-sm{flex:0 0 auto;padding-left:14px;padding-right:14px}
}
