/*
Theme Name: Temps et Usages
*/
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;700&family=Onest:wght@400;700&display=swap');

/* ==========================================================================
   GABARIT « FICHE DE LOGICIEL » — un CATALOGUE, pas un journal.
   Quatre traits, et ce sont les seuls qui font reconnaitre la famille :
   1. un RAIL LATERAL de 64 px, sombre, colle a gauche sur toute la hauteur ;
   2. une COLONNE DE FILTRES de 260 px, permanente, sur l'accueil ET en rubrique,
      separee du contenu par un FILET VERTICAL de 2 px a l'accent ;
   3. des fiches posees en LIGNES horizontales de 120 px — vignette carree de 96 px,
      nom, une phrase, etiquettes de fonction, colonne de tarification a droite ;
   4. un INDEX A-Z en pied d'accueil, calcule sur les titres reels.
   Ni note sur 5, ni nombre d'avis, ni prix ecrit en dur : la colonne de droite
   n'affiche une tarification que si l'article porte la meta, sinon elle le dit.
   ========================================================================== */

/* ---------- 1. JETONS ------------------------------------------------------ */
:root{
  --fond:#f6f7fa;            /* le blanc bleute du catalogue */
  --encre:#131720;           /* le bleu encre, jamais #000 */
  --doux:#272B34;            /* le gris de service : phrases, dates, comptes */
  --filet:#C6C8CC;           /* le gris des filets de tableau */
  --surf:#E1E3E6;            /* l'aplat de surface — attendu par jr_vignette */
  --nuit:#131720;            /* la bande sombre et le rail : sombres dans LES DEUX themes */
  --nuit-encre:#eceff5;
  --nuit-doux:#81848A;
  --accent:#235fa8;       /* bleu encre du catalogue, tire par site */
  --accent2:#235fa8;     /* l'ambre : chiffres, cases, colonne « ne convient pas » */
  --accent-txt:color-mix(in srgb, #235fa8 0%, #070c16);
  --plein:color-mix(in srgb, #235fa8 80%, #070c16);
  --plein-txt:#4C4F56;
  --accent2-txt:color-mix(in srgb, #235fa8 0%, #17100a);
  --accent-nuit:color-mix(in srgb, #235fa8 62%, #4C4F56);
  --accent2-nuit:color-mix(in srgb, #235fa8 64%, #4C4F56);
  --titre:'Plus Jakarta Sans', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --courant:'Onest', 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --rayon:8px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --fond:#0f1218; --accent2:#5f9bd6; --accent:#5f9bd6; --encre:#eceff5; --doux:#85888E; --filet:#12151B; --surf:#101319;
    --nuit:#101319; --nuit-encre:#eceff5; --nuit-doux:#85888E;
    --accent-txt:color-mix(in srgb, #235fa8 0%, #ffffff);
    --plein:color-mix(in srgb, #5f9bd6 62%, #ffffff);
    --plein-txt:#0f1218;
    --accent2-txt:color-mix(in srgb, #235fa8 0%, #ffffff);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --fond:#0f1218; --accent2:#5f9bd6; --accent:#5f9bd6; --encre:#eceff5; --doux:#85888E; --filet:#12151B; --surf:#101319;
  --nuit:#101319; --nuit-encre:#eceff5; --nuit-doux:#85888E;
  --accent-txt:color-mix(in srgb, #235fa8 0%, #ffffff);
  --plein:color-mix(in srgb, #5f9bd6 62%, #ffffff);
  --plein-txt:#0f1218;
  --accent2-txt:color-mix(in srgb, #235fa8 0%, #ffffff);
  color-scheme:dark;
}

/* ---------- 2. SOCLE ------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;padding-left:64px;background:var(--fond);color:var(--encre);
  font-family:var(--courant);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
:focus-visible{outline:2px solid var(--accent-txt);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--titre);font-weight:600;margin:0;line-height:1.2;
  letter-spacing:-.014em;text-wrap:balance}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit}
.sb-oeil,.sb-oeil-txt{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sb-oeil:focus{left:.5rem;top:.5rem;width:auto;height:auto;padding:.5rem .8rem;
  background:var(--encre);color:var(--fond);z-index:99;border-radius:var(--rayon)}
.lg-compte{font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;color:var(--doux);
  background:var(--surf);border-radius:99px;padding:.06rem .42rem;flex:0 0 auto}
.lg-compte--date{background:none;padding:0}
.jr-plaque{border-radius:var(--rayon);background:var(--surf);color:var(--doux);
  font-family:var(--titre);display:flex;align-items:center;justify-content:center}

/* ---------- 3. LE RAIL LATERAL DE 64 PX ------------------------------------ */
.lg-rail{position:fixed;left:0;top:0;bottom:0;width:64px;z-index:45;
  background:var(--nuit);color:var(--nuit-encre);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding-block:.9rem 1rem;gap:1.5rem;border-right:1px solid rgba(255,255,255,.08)}
.lg-rail-mono{display:inline-flex;width:30px;color:var(--accent-nuit)}
.lg-rail-mono:hover{text-decoration:none}
.lg-rail-mono svg{width:100%;height:auto;fill:currentColor}
.lg-rail-liens{display:flex;flex-direction:column;align-items:center;gap:1.35rem;
  writing-mode:vertical-rl;text-orientation:mixed}
.lg-rail-lien{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--nuit-doux);padding-block:.2rem;border-right:2px solid transparent}
.lg-rail-lien:hover{text-decoration:none;color:var(--nuit-encre)}
.lg-rail-lien.is-actif{color:var(--nuit-encre);border-right-color:var(--accent2-nuit)}
.lg-rail-pied{margin-top:auto;writing-mode:vertical-rl;font-size:10.5px;letter-spacing:.16em;
  color:var(--nuit-doux);font-variant-numeric:tabular-nums}

/* ---------- 4. LA BARRE HAUTE ---------------------------------------------- */
.lg-tete{position:sticky;top:0;z-index:40;background:var(--fond);
  border-bottom:1px solid var(--filet)}
.lg-tete-in{width:min(1320px,100% - 2.4rem);margin-inline:auto;
  display:flex;align-items:center;gap:1.2rem;min-height:64px;padding-block:.6rem}
.lg-marque a{display:flex;flex-direction:column;gap:.05rem}
.lg-marque a:hover{text-decoration:none}
.lg-marque-mot{font-family:var(--titre);font-size:20px;font-weight:700;letter-spacing:-.022em}
.lg-marque-base{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux)}
.lg-cherche{display:flex;gap:.4rem;margin-left:auto}
.lg-cherche input{font:inherit;font-size:14px;width:400px;max-width:100%;
  padding:.5rem .75rem;border:1px solid var(--filet);border-radius:var(--rayon);
  background:var(--surf);color:var(--encre)}
.lg-cherche input::placeholder{color:var(--doux)}
.lg-cherche input:focus{border-color:var(--accent-txt);background:var(--fond)}
.lg-cherche button{font-size:13px;font-weight:700;padding:.5rem .9rem;cursor:pointer;
  border:1px solid var(--plein);border-radius:var(--rayon);background:var(--plein);color:var(--plein-txt)}
.lg-bouton-contour{font-size:13px;font-weight:700;padding:.5rem .9rem;white-space:nowrap;
  border:1px solid var(--filet);border-radius:var(--rayon);color:var(--encre)}
.lg-bouton-contour:hover{text-decoration:none;border-color:var(--accent-txt);color:var(--accent-txt)}
.lg-burger{display:none;background:none;border:1px solid var(--filet);border-radius:var(--rayon);
  padding:.5rem .55rem;cursor:pointer;margin-left:auto}
.lg-burger span{display:block;width:18px;height:1.6px;background:var(--encre);margin:3.5px 0}
.lg-tete-repli{display:none;border-top:1px solid var(--filet);padding:.6rem min(1.2rem,4vw) .9rem}
.lg-tete-repli a{display:flex;justify-content:space-between;align-items:center;gap:.6rem;
  padding:.5rem 0;font-size:14.5px;font-weight:500;border-bottom:1px solid var(--filet)}

/* ---------- 5. LE BLOC DE RECHERCHE (aplat de surface, aucune image) -------- */
.lg-entree{background:var(--surf);border-bottom:1px solid var(--filet)}
.lg-entree-in{width:min(1320px,100% - 2.4rem);margin-inline:auto;padding-block:2.4rem 2.2rem;
  max-width:min(1320px,100%)}
.lg-entree-titre{font-size:clamp(26px,3.6vw,38px);font-weight:700;line-height:1.14;
  max-width:22ch}
.lg-entree-texte{margin-top:.8rem;font-size:16.5px;color:var(--doux);max-width:62ch}
.lg-entree-form{display:flex;gap:.5rem;margin-top:1.3rem;flex-wrap:wrap}
.lg-entree-form input{font:inherit;font-size:15px;width:400px;max-width:100%;
  padding:.72rem .9rem;border:1px solid var(--filet);border-radius:var(--rayon);
  background:var(--fond);color:var(--encre)}
.lg-entree-form input::placeholder{color:var(--doux)}
.lg-entree-form button{font-size:14px;font-weight:700;padding:.72rem 1.3rem;cursor:pointer;
  border:1px solid var(--plein);border-radius:var(--rayon);background:var(--plein);color:var(--plein-txt)}
.lg-entree-compte{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:1rem;
  font-size:13px;color:var(--doux);font-variant-numeric:tabular-nums}
.lg-entree-compte strong{color:var(--encre);font-weight:700}

/* ---------- 6. LE PLAN : 260 PX DE FILTRES + FILET VERTICAL 2 PX ------------ */
.lg-plan{width:min(1320px,100% - 2.4rem);margin-inline:auto;
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;
  padding-block:1.8rem 2.6rem;align-items:start}
.lg-filtres{border-right:2px solid var(--accent-txt);padding-right:1.5rem;min-width:0}
.lg-filtres-in{position:sticky;top:80px;display:flex;flex-direction:column;gap:1.5rem}
.lg-flux{padding-left:1.8rem;min-width:0}
.lg-filtre-t{font-family:var(--courant);font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--doux);padding-bottom:.4rem;margin-bottom:.55rem;
  border-bottom:1px solid var(--filet)}
.lg-filtre-liste li{border-bottom:1px solid var(--filet)}
.lg-filtre-liste li:last-child{border-bottom:0}
.lg-filtre-liste a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;
  padding:.42rem 0;font-size:14px;line-height:1.35;color:var(--encre)}
.lg-filtre-liste a.is-actif{color:var(--accent-txt);font-weight:700}
.lg-filtre-liste a.is-actif .lg-compte{color:var(--accent-txt)}
.lg-filtre-liste--tri a{font-size:13.5px;color:var(--doux)}
.lg-filtre-liste--tri a.is-actif{color:var(--accent-txt)}
.lg-lettres{display:flex;flex-wrap:wrap;gap:.28rem}
.lg-lettre{font-size:12px;font-weight:700;min-width:26px;padding:.24rem .35rem;cursor:pointer;
  border:1px solid var(--filet);border-radius:4px;background:var(--fond);color:var(--doux);
  font-variant-numeric:tabular-nums}
.lg-lettre:hover{border-color:var(--accent-txt);color:var(--accent-txt)}
.lg-lettre.is-actif{background:var(--plein);border-color:var(--plein);color:var(--plein-txt)}
.lg-filtre-note{font-size:11.5px;color:var(--doux);margin-top:.5rem;line-height:1.4}
.lg-filtre-nope li{font-size:12.5px;color:var(--doux);padding:.22rem 0 .22rem .95rem;position:relative}
.lg-filtre-nope li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:1.5px;
  background:var(--accent2-txt)}

/* ---------- 7. BLOCS ET CATEGORIES ----------------------------------------- */
.lg-bloc{margin-bottom:2.2rem}
.lg-bloc-tete{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;
  padding-bottom:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--encre)}
.lg-bloc-titre{font-size:20px;font-weight:700;letter-spacing:-.02em}
.lg-bloc-note{font-size:13px;color:var(--doux);flex:1 1 240px}
.lg-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 1.6rem}
.lg-cat{border-bottom:1px solid var(--filet);padding:.42rem 0}
.lg-cat a{display:flex;justify-content:space-between;align-items:center;gap:.5rem}
.lg-cat-nom{font-size:14.5px;font-weight:500;line-height:1.3}
.lg-cat-chapo{display:block;font-size:11.5px;color:var(--doux);line-height:1.35;margin-top:.1rem}

/* ---------- 8. LA LIGNE DE FICHE — 120 PX, VIGNETTE CARREE DE 96 PX -------- */
.lg-lignes{border:1px solid var(--filet);border-radius:var(--rayon);
  background:var(--fond);overflow:hidden}
.lg-ligne{display:grid;grid-template-columns:96px minmax(0,1fr) 160px;gap:1.1rem;
  align-items:center;min-height:120px;padding:.9rem 1.1rem;
  border-top:1px solid var(--filet)}
.lg-ligne:first-child{border-top:0}
.lg-ligne:hover{background:var(--surf)}
.lg-ligne-vig{display:block;width:96px;height:96px;overflow:hidden;border-radius:var(--rayon);
  background:var(--surf);border:1px solid var(--filet)}
.lg-ligne-vig img,.lg-ligne-vig .jr-plaque{width:96px;height:96px;object-fit:cover}
.lg-ligne-corps{min-width:0}
.lg-ligne-rub{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent-txt);margin-bottom:.22rem}
.lg-ligne-nom{font-size:18px;font-weight:600;line-height:1.24}
.lg-ligne-phrase{font-size:14px;color:var(--doux);line-height:1.45;margin-top:.28rem;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lg-etiqs{display:flex;flex-wrap:wrap;gap:.32rem;margin-top:.5rem}
.lg-etiqs li a{display:inline-block;font-size:11.5px;font-weight:500;padding:.14rem .5rem;
  border:1px solid var(--filet);border-radius:4px;background:var(--surf);color:var(--doux)}
.lg-etiqs li a:hover{text-decoration:none;border-color:var(--accent-txt);color:var(--accent-txt)}
.lg-ligne-prix{text-align:right;border-left:1px solid var(--filet);padding-left:1rem;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:.15rem}
.lg-prix-lib{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--doux)}
.lg-prix-val{font-size:15px;font-weight:700;color:var(--accent2-txt);
  font-variant-numeric:tabular-nums;line-height:1.3}
.lg-prix-vide{font-size:12.5px;color:var(--doux);font-style:italic;line-height:1.3}

/* ---------- 9. LA BANDE SOMBRE « COMMENT LIRE UNE FICHE » ------------------ */
.lg-nuit{background:var(--nuit);color:var(--nuit-encre);border-radius:var(--rayon);
  padding:1.9rem 1.7rem;margin-bottom:2.2rem}
.lg-nuit-titre{font-size:19px;font-weight:700;padding-bottom:.6rem;margin-bottom:1.2rem;
  border-bottom:1px solid rgba(255,255,255,.14)}
.lg-nuit-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.lg-nuit-num{display:block;font-family:var(--titre);font-size:26px;font-weight:700;
  line-height:1;color:var(--accent2-nuit);font-variant-numeric:tabular-nums;margin-bottom:.4rem}
.lg-nuit-points h3{font-size:15px;font-weight:600;line-height:1.3;margin-bottom:.4rem}
.lg-nuit-points p{font-size:13.5px;line-height:1.55;color:var(--nuit-doux)}

/* ---------- 10. LES GUIDES ET L'INDEX A-Z ---------------------------------- */
.lg-guides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
.lg-guide{border:1px solid var(--filet);border-radius:var(--rayon);overflow:hidden;
  padding-bottom:.9rem;background:var(--fond)}
.lg-guide-img{display:block;border-bottom:1px solid var(--filet)}
.lg-guide-img img,.lg-guide-img .jr-plaque{width:100%;aspect-ratio:16/9;object-fit:cover}
.lg-guide .lg-ligne-rub,.lg-guide-titre,.lg-guide .lg-ligne-phrase,.lg-guide-pied{
  padding-inline:.9rem}
.lg-guide .lg-ligne-rub{margin-top:.8rem}
.lg-guide-titre{font-size:17px;font-weight:600;line-height:1.26}
.lg-guide-pied{font-size:11.5px;color:var(--doux);margin-top:.6rem;
  font-variant-numeric:tabular-nums}

.lg-index-groupes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));
  gap:1.3rem}
.lg-grp-lettre{display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  font-size:22px;font-weight:700;padding-bottom:.3rem;margin-bottom:.5rem;
  border-bottom:2px solid var(--accent-txt);font-variant-numeric:tabular-nums}
.lg-grp-liste li{padding:.24rem 0;border-bottom:1px solid var(--filet)}
.lg-grp-liste a{font-size:13.5px;line-height:1.35;color:var(--encre)}

/* ---------- 11. RUBRIQUE --------------------------------------------------- */
.lg-ariane{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--doux);display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.lg-rub-tete{padding-bottom:1.1rem;margin-bottom:1.4rem;border-bottom:2px solid var(--encre)}
.lg-rub-titre{font-size:clamp(23px,3.2vw,34px);font-weight:700;margin-top:.6rem}
.lg-rub-chapo{font-size:16px;color:var(--doux);margin-top:.5rem;max-width:66ch}
.lg-rub-compte{font-size:12.5px;font-weight:700;color:var(--accent-txt);margin-top:.6rem;
  font-variant-numeric:tabular-nums}
.lg-vide-filtre{margin-top:1rem;padding:.9rem 1rem;font-size:14px;color:var(--doux);
  border:1px dashed var(--filet);border-radius:var(--rayon)}
.lg-pagination{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.6rem;font-size:13.5px;
  font-weight:600}
.lg-pagination .page-numbers{padding:.4rem .75rem;border:1px solid var(--filet);
  border-radius:var(--rayon);font-variant-numeric:tabular-nums}
.lg-pagination .current{background:var(--plein);border-color:var(--plein);color:var(--plein-txt)}

/* ---------- 12. LA FICHE (single) ------------------------------------------ */
.lg-art{width:min(1320px,100% - 2.4rem);margin-inline:auto;padding-block:1.8rem 2.4rem}
.lg-art-tete{padding-bottom:1.2rem;border-bottom:2px solid var(--encre)}
.lg-art-titre{font-size:clamp(27px,4vw,40px);font-weight:700;line-height:1.1;margin-top:.7rem}
.lg-art-chapo{font-size:18px;color:var(--doux);line-height:1.5;margin-top:.8rem;max-width:70ch}
.lg-art-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:.9rem;
  font-size:12.5px;color:var(--doux);font-variant-numeric:tabular-nums}
.lg-art-corps{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2.2rem;
  margin-top:1.8rem;align-items:start}
.lg-art-texte{min-width:0;max-width:min(760px,100%)}
.lg-art-illu{margin:0 0 1.5rem}
.lg-art-illu img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rayon);
  border:1px solid var(--filet)}
.lg-art-illu figcaption{font-size:12px;color:var(--doux);margin-top:.4rem;line-height:1.4}

/* le tableau de fiche : deux colonnes, une ligne par meta REELLEMENT presente */
.lg-fiche-cadre{border:1px solid var(--filet);border-radius:var(--rayon);
  background:var(--surf);padding:1.1rem 1.2rem;margin-bottom:1.6rem}
.lg-fiche-t{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--doux);padding-bottom:.45rem;margin-bottom:.7rem;border-bottom:1px solid var(--filet)}
.lg-tableau-large{overflow-x:auto}
.lg-fiche{width:100%;border-collapse:collapse;font-size:14.5px}
.lg-fiche th{width:42%;text-align:left;font-weight:500;color:var(--doux);
  padding:.52rem .6rem .52rem 0;border-bottom:1px solid var(--filet);vertical-align:top}
.lg-fiche td{padding:.52rem 0;border-bottom:1px solid var(--filet);font-weight:600;
  font-variant-numeric:tabular-nums}
.lg-fiche tr:last-child th,.lg-fiche tr:last-child td{border-bottom:0}
.lg-fiche-note{font-size:11.5px;color:var(--doux);margin-top:.7rem;line-height:1.45}

/* le tableau de fonctions a cases */
.lg-fonctions-bloc{margin:1.8rem 0;border:1px solid var(--filet);border-radius:var(--rayon);
  padding:1.1rem 1.2rem}
.lg-fonctions{width:100%;border-collapse:collapse;font-size:14.5px}
.lg-fonctions th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--doux);padding:0 .6rem .45rem 0;
  border-bottom:2px solid var(--filet)}
.lg-fonctions td{padding:.55rem .6rem .55rem 0;border-bottom:1px solid var(--filet)}
.lg-fonctions tr:last-child td{border-bottom:0}
.lg-case{display:inline-block;width:14px;height:14px;margin-right:.45rem;vertical-align:-2px;
  border:1.6px solid var(--plein);border-radius:3px;position:relative;background:var(--plein)}
.lg-case::after{content:"";position:absolute;left:3.4px;top:.6px;width:4px;height:8px;
  border:solid var(--plein-txt);border-width:0 1.8px 1.8px 0;transform:rotate(42deg)}
.lg-case-txt{font-size:13.5px;font-weight:600;color:var(--accent-txt)}

/* l'encadre double « a qui ca convient / a qui ca ne convient pas » */
.lg-convient{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem;
  margin:1.8rem 0}
.lg-convient-col{border:1px solid var(--filet);border-radius:var(--rayon);
  padding:1rem 1.1rem;background:var(--surf)}
.lg-convient-col--oui{border-left:4px solid var(--accent-txt)}
.lg-convient-col--non{border-left:4px solid var(--accent2-txt)}
.lg-convient-col h2{font-size:14px;font-weight:700;margin-bottom:.6rem}
.lg-convient-col li{font-size:14px;line-height:1.5;color:var(--doux);
  padding:.24rem 0 .24rem 1rem;position:relative}
.lg-convient-col--oui li::before{content:"";position:absolute;left:0;top:.72em;width:7px;height:7px;
  border-radius:2px;background:var(--accent-txt)}
.lg-convient-col--non li::before{content:"";position:absolute;left:0;top:.92em;width:8px;height:2px;
  background:var(--accent2-txt)}

/* la colonne de droite : sommaire, non-publie, rubrique */
.lg-cote{min-width:0}
.lg-cote-in{position:sticky;top:80px;display:flex;flex-direction:column;gap:1.2rem}
.lg-cote-t{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--doux);padding-bottom:.4rem;margin-bottom:.55rem;border-bottom:1px solid var(--filet)}
.lg-sommaire{border-left:2px solid var(--accent-txt);padding-left:.9rem}
.lg-sommaire ol{counter-reset:lg-s}
.lg-sommaire li{counter-increment:lg-s;padding:.28rem 0;font-size:13.5px;line-height:1.4}
.lg-sommaire li::before{content:counter(lg-s) ".";color:var(--accent-txt);font-weight:700;
  margin-right:.4rem;font-variant-numeric:tabular-nums}
.lg-nonpublie{border:1px dashed var(--filet);border-radius:var(--rayon);padding:.9rem 1rem}
.lg-nonpublie li{font-size:13px;color:var(--doux);padding:.2rem 0 .2rem .9rem;position:relative}
.lg-nonpublie li::before{content:"";position:absolute;left:0;top:.75em;width:7px;height:1.6px;
  background:var(--accent2-txt)}
.lg-cote-note{font-size:11.5px;color:var(--doux);margin-top:.5rem;line-height:1.45}
.lg-cote-bloc{border-top:1px solid var(--filet);padding-top:.9rem}
.lg-cote-rub{font-size:15px;font-weight:600}
.lg-art-signature{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--filet)}
.lg-alternatives{border-top:1px solid var(--filet);background:var(--surf);padding-block:2rem 2.4rem}
.lg-alternatives-in{width:min(1320px,100% - 2.4rem);margin-inline:auto}

/* ---------- 13. LE CORPS DE L'ARTICLE -------------------------------------- */
.lg-corps{font-size:16.5px;line-height:1.72}
.lg-corps p{margin:0 0 1.1rem}
.lg-corps h2{font-size:23px;font-weight:700;margin:2.1rem 0 .7rem;padding-top:.7rem;
  border-top:2px solid var(--encre);scroll-margin-top:88px}
.lg-corps h3{font-size:18.5px;font-weight:600;margin:1.6rem 0 .5rem}
.lg-corps h4{font-size:16px;font-weight:600;margin:1.2rem 0 .4rem;color:var(--doux)}
.lg-corps ul{margin:0 0 1.1rem}
.lg-corps ul li{position:relative;padding-left:1.15rem;margin-bottom:.42rem}
.lg-corps ul li::before{content:"";position:absolute;left:0;top:.68em;width:7px;height:7px;
  border-radius:2px;background:var(--accent-txt)}
.lg-corps ol{list-style:decimal;margin:0 0 1.1rem;padding-left:1.35rem}
.lg-corps ol li{margin-bottom:.42rem;padding-left:.2rem}
.lg-corps ol li::marker{color:var(--accent-txt);font-weight:700}
.lg-corps a{color:var(--accent-txt);text-decoration:underline;text-underline-offset:3px}
.lg-corps blockquote{margin:1.5rem 0;padding:.9rem 1.1rem;background:var(--surf);
  border-left:4px solid var(--accent2-txt);border-radius:0 var(--rayon) var(--rayon) 0;
  font-size:16px;line-height:1.6;color:var(--doux)}
.lg-corps blockquote p:last-child{margin-bottom:0}
.lg-corps figure{margin:1.5rem 0}
.lg-corps img{border-radius:var(--rayon);border:1px solid var(--filet)}
.lg-corps figcaption{font-size:12px;color:var(--doux);margin-top:.4rem;line-height:1.4}
.lg-corps table{width:100%;border-collapse:collapse;font-size:14.5px;margin:1.5rem 0;
  display:block;overflow-x:auto}
.lg-corps th,.lg-corps td{border-bottom:1px solid var(--filet);padding:.55rem .7rem;
  text-align:left;font-variant-numeric:tabular-nums}
.lg-corps th{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux);
  border-bottom:2px solid var(--filet)}
.lg-corps code{font-family:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;font-size:13.5px;
  background:var(--surf);border:1px solid var(--filet);border-radius:4px;padding:.08rem .34rem}
.lg-corps pre{background:var(--nuit);color:var(--nuit-encre);border-radius:var(--rayon);
  padding:1rem 1.1rem;overflow-x:auto;font-size:13.5px;line-height:1.55;margin:1.4rem 0}
.lg-corps pre code{background:none;border:0;color:inherit;padding:0}
.lg-corps hr{border:0;border-top:1px solid var(--filet);margin:2rem 0}

/* signature d'auteur produite par jr_signature — remise au registre du catalogue */
.sb-signature{display:flex;gap:1rem;align-items:flex-start;border:1px solid var(--filet);
  border-radius:var(--rayon);padding:1rem 1.1rem;background:var(--surf)}
.sb-signature img{width:56px;height:56px;border-radius:var(--rayon);flex:0 0 auto}
.sb-signature-nom{font-family:var(--titre);font-weight:700;font-size:15.5px}
.sb-signature-bio{font-size:13.5px;color:var(--doux);margin-top:.25rem;line-height:1.5}
.sb-date{font-size:11.5px;color:var(--doux);margin-top:.4rem;font-variant-numeric:tabular-nums}

/* ---------- 14. PIED DE PAGE ----------------------------------------------- */
.lg-pied{margin-top:2rem;border-top:1px solid var(--filet);background:var(--surf)}
.lg-pied-in{width:min(1320px,100% - 2.4rem);margin-inline:auto;padding-block:2rem 1rem;
  display:grid;grid-template-columns:260px minmax(0,1fr);gap:0}
.lg-pied-marque{border-right:2px solid var(--accent-txt);padding-right:1.5rem}
.lg-pied-mono{display:inline-flex;width:32px;color:var(--accent-txt)}
.lg-pied-mono svg{width:100%;height:auto;fill:currentColor}
.lg-pied-nom{font-family:var(--titre);font-size:19px;font-weight:700;margin-top:.5rem;
  letter-spacing:-.02em}
.lg-pied-base{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--doux);
  margin-top:.15rem}
.lg-pied-note{font-size:12px;color:var(--doux);margin-top:.7rem;line-height:1.5}
.lg-pied-grille{display:grid;grid-template-columns:1.5fr 1fr 1.3fr 1.1fr;gap:0;
  padding-left:1.8rem}
.lg-pied-col{padding-inline:1.3rem;min-width:0}
.lg-pied-col:first-child{padding-left:0}
.lg-pied-col:last-child{padding-right:0}
.lg-pied-col + .lg-pied-col{border-left:1px solid var(--filet)}
.lg-pied-t{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--doux);padding-bottom:.4rem;margin-bottom:.6rem;border-bottom:1px solid var(--filet)}
.lg-pied-liste li{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;
  padding:.26rem 0;font-size:13.5px;line-height:1.4}
.lg-pied-liste--deux{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.2rem}
.lg-pied input[type="search"],.lg-pied input[type="text"]{font:inherit;font-size:13.5px;
  width:100%;padding:.48rem .65rem;border:1px solid var(--filet);border-radius:var(--rayon);
  background:var(--fond);color:var(--encre)}
.lg-pied button[type="submit"],.lg-pied input[type="submit"]{font:inherit;font-size:12.5px;
  font-weight:700;margin-top:.45rem;padding:.48rem .9rem;cursor:pointer;
  border:1px solid var(--plein);border-radius:var(--rayon);background:var(--plein);color:var(--plein-txt)}
.lg-ours{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;
  gap:1rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:.9rem;border-top:1px solid var(--filet);
  font-size:12px;color:var(--doux)}
.lg-bascule{font-size:12px;font-weight:700;padding:.42rem .8rem;cursor:pointer;
  border:1px solid var(--filet);border-radius:var(--rayon);background:var(--fond);color:var(--encre)}

/* ---------- 15. BARRE MOBILE BASSE (structure du modele, couleurs d'ici) ---- */
.sb-nav-mobile{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:var(--fond);border-top:1px solid var(--filet);
  padding-bottom:env(safe-area-inset-bottom)}
.sb-nav-mobile-item{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:.45rem .2rem .5rem;font-size:10px;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;color:var(--doux);text-align:center}
.sb-nav-mobile-item:hover{text-decoration:none}
.sb-nav-mobile-item.is-actif{color:var(--accent-txt)}
.sb-nav-ico{display:block;width:20px;height:20px}
.sb-nav-ico svg{width:100%;height:100%;stroke:currentColor;fill:none}

/* ---------- 16. REPLIS — jamais un debordement horizontal ------------------- */
@media (max-width: 1180px){
  .lg-plan{grid-template-columns:minmax(0,1fr)}
  .lg-filtres{border-right:0;border-bottom:2px solid var(--accent-txt);padding-right:0;
    padding-bottom:1.2rem;margin-bottom:1.5rem}
  .lg-filtres-in{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.2rem 1.8rem}
  .lg-flux{padding-left:0}
  .lg-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg-nuit-points{grid-template-columns:minmax(0,1fr);gap:1.1rem}
  .lg-guides{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lg-art-corps{grid-template-columns:minmax(0,1fr)}
  .lg-cote-in{position:static}
  .lg-art-texte{max-width:100%}
  .lg-pied-in{grid-template-columns:minmax(0,1fr)}
  .lg-pied-marque{border-right:0;border-bottom:2px solid var(--accent-txt);padding-right:0;
    padding-bottom:1.2rem;margin-bottom:1.4rem}
  .lg-pied-grille{padding-left:0;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.4rem}
  .lg-pied-col:nth-child(odd){padding-left:0;border-left:0}
}
@media (max-width: 900px){
  body{padding-left:0}
  .lg-rail{display:none}
  .lg-burger{display:block}
  .lg-tete-repli{display:block}
  .lg-cherche{display:none}
  .lg-bouton-contour{margin-left:auto}
}
@media (max-width: 760px){
  .lg-tete-in{gap:.7rem}
  .lg-bouton-contour{display:none}
  .lg-entree-in{padding-block:1.7rem 1.6rem}
  .lg-entree-form input{width:100%}
  .lg-entree-form button{width:100%}
  .lg-filtres-in{grid-template-columns:minmax(0,1fr)}
  .lg-cats,.lg-guides,.lg-convient,.lg-index-groupes,
  .lg-pied-grille,.lg-pied-liste--deux{grid-template-columns:minmax(0,1fr)}
  .lg-pied-col{padding-inline:0;border-left:0}
  .lg-pied-col + .lg-pied-col{border-left:0;border-top:1px solid var(--filet);
    padding-top:1rem;margin-top:.3rem}
  /* la ligne de fiche s'empile : la vignette passe a 72 px, la tarification sous le nom */
  .lg-ligne{grid-template-columns:72px minmax(0,1fr);row-gap:.7rem;min-height:0;padding:.9rem}
  .lg-ligne-vig,.lg-ligne-vig img,.lg-ligne-vig .jr-plaque{width:72px;height:72px}
  .lg-ligne-prix{grid-column:2;text-align:left;border-left:0;padding-left:0;
    border-top:1px solid var(--filet);padding-top:.55rem;flex-direction:row;
    align-items:baseline;gap:.5rem}
  .lg-nuit{padding:1.4rem 1.2rem}
  .lg-art-corps{gap:1.6rem}
  .lg-corps h2{scroll-margin-top:72px}
  .sb-nav-mobile{display:flex}
  body{padding-bottom:64px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;
    scroll-behavior:auto!important}
}
@media print{
  .lg-rail,.lg-filtres,.lg-tete,.sb-nav-mobile,.lg-bascule,.lg-cote,.lg-alternatives{display:none!important}
  body{padding-left:0;background:#fff;color:#000}
  .lg-plan,.lg-art-corps{display:block}
  .lg-lignes,.lg-fiche-cadre,.lg-fonctions-bloc{border-color:#999}
}

/* garde-fou : un display:grid/flex de classe bat l attribut hidden (vu le 04/09) */
[hidden]{display:none!important}

/* P-470 — la 1re carte de l accueil porte grid-column:span 2 en style INLINE.
   Sur telephone la grille n a plus qu une colonne : le span fabrique une colonne
   implicite dimensionnee sur le contenu (526px dans un ecran de 390) et pousse la page.
   !important est indispensable : on annule un style inline. */
@media (max-width:760px){.sb-grille>*{grid-column:auto!important}}

/* P-470 — la plume cite ses sources en URL BRUTE entre parentheses. Une URL ne
   contient aucun point de coupure : le paragraphe fait 677px de large dans une colonne
   de 329 et la page deborde de 351px sur telephone. Le piege : AUCUN element ne depasse
   le viewport (getBoundingClientRect ne voit rien), c est le contenu qui deborde de son
   propre element — seul scrollWidth > clientWidth le montre. */
.sb-corps{overflow-wrap:anywhere}

/* P-491 — display:contents : le h1 de la marque n existe pas pour la mise en page. */
.sb-marque-h1{display:contents}

/* sb-contraste-fix 20260905 (texte recalcule contre le fond mesure, R-0122) */
@media (prefers-color-scheme: light){.button{color:#C6C7C9 !important}.lg-lettre{color:#C6C7C9 !important}}


/* sb-contraste-fix-begin 20260905 (texte recalcule contre les fonds mesures, R-0122 ; bloc remplace a chaque tour) */
@media (prefers-color-scheme: light){button:not([class]){color:#C6C7C9 !important}}
/* sb-contraste-fix-end */
