/* Blog Foot Inside : listes d'articles (25/09/2026) et, depuis le 26/09/2026,
   les articles eux-memes (WordPress eteint, articles rendus par blog.py).
   Charge sur les pages du blog via extra_css de gabarits.page(), et par le
   bloc « articles du blog » des hubs (lien pose dans le bloc lui-meme). */

/* ---- Listes (/blog/, categories, auteurs, bloc des hubs) ---- */
.bl-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:22px}
.bl-carte{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);
  overflow:hidden;background:#fff}
.bl-img{display:block;aspect-ratio:16/9;background:var(--bg-3);overflow:hidden}
.bl-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.bl-carte:hover .bl-img img{transform:scale(1.03)}
.bl-corps{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px}
.bl-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.bl-cat{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:11px;color:var(--nuit-2);
  text-decoration:none}
.bl-cat:hover{text-decoration:underline}
.bl-corps h2{font-size:17px;line-height:1.35;margin:0;font-weight:700;font-family:var(--f);font-style:normal;
  letter-spacing:-.01em}
.bl-corps h2 a{color:var(--ink);text-decoration:none}
.bl-corps h2 a:hover{text-decoration:underline;text-underline-offset:2px}
.bl-corps p{margin:0;font-size:14px;line-height:1.6;color:var(--ink-2)}
.bl-grille + .pager{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:32px}
@media (max-width:1000px){ .bl-grille{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:640px){ .bl-grille{grid-template-columns:1fr;gap:18px} }

/* Bloc « Les articles du blog » sous un hub du comparateur */
.hub-articles{border-top:1px solid var(--line);margin-top:8px}
.hub-art-reste{margin-top:22px;border:1px solid var(--line);border-radius:var(--r-card);background:#fff}
.hub-art-reste summary{cursor:pointer;padding:14px 18px;font-weight:600;list-style:none}
.hub-art-reste summary::-webkit-details-marker{display:none}
.hub-art-reste summary::after{content:"+";float:right;font-weight:700;color:var(--nuit-2)}
.hub-art-reste[open] summary::after{content:"−"}
.hub-art-reste ul{margin:0;padding:4px 18px 16px;list-style:none;columns:2;column-gap:32px}
.hub-art-reste li{padding:6px 0;break-inside:avoid;font-size:14px;line-height:1.45}
.hub-art-reste li a{color:var(--ink);text-decoration:none}
.hub-art-reste li a:hover{text-decoration:underline}
.hub-art-reste li time{display:block;font-size:12px;color:var(--ink-3)}
@media (max-width:760px){ .hub-art-reste ul{columns:1} }

/* ---- Article ---- */
.art-page{padding-top:8px;padding-bottom:64px}
.art-grille{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.art{min-width:0}
.art-page-seule .art{max-width:820px;margin:0 auto}
.art-tete{padding:18px 0 22px}
.art-cat{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--nuit-2);text-decoration:none;margin-bottom:12px}
.art-cat:hover{text-decoration:underline}
/* Cibles tactiles (audit mobile du 27/09/2026) : ces etiquettes faisaient 18 px
   de haut a 360 px, sous le minimum de 24 px (WCAG 2.2). */
@media (max-width:820px){ .bl-cat,.art-cat{display:inline-flex;align-items:center;min-height:32px} }
.art-tete h1{font-size:clamp(28px,3.3vw,42px);line-height:1.14;letter-spacing:-.025em;margin:0 0 14px}
.art-meta{margin:0;font-size:14px;color:var(--ink-3)}
.art-meta a{color:var(--ink);font-weight:600;text-decoration:none}
.art-meta a:hover{text-decoration:underline}
.art-une{margin:0 0 26px;border-radius:var(--r-card);overflow:hidden;background:var(--bg-3)}
.art-une img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

.art-sommaire{margin:0 0 28px;border:1px solid var(--line);border-radius:var(--r-card);background:var(--bg-3)}
.art-sommaire summary{cursor:pointer;padding:14px 18px;font-weight:700;font-size:15px;list-style:none}
.art-sommaire summary::-webkit-details-marker{display:none}
.art-sommaire summary::after{content:"+";float:right;color:var(--nuit-2)}
.art-sommaire[open] summary::after{content:"−"}
.art-sommaire ol{margin:0;padding:0 18px 16px 38px;font-size:14.5px;line-height:1.55}
.art-sommaire li{padding:3px 0}
.art-sommaire a{color:var(--ink-2);text-decoration:none}
.art-sommaire a:hover{color:var(--nuit-2);text-decoration:underline}

/* Corps : le HTML de WordPress, habille ici. */
.art-corps{font-size:17px;line-height:1.75;color:#262626;overflow-wrap:break-word}
.art-corps > *:first-child{margin-top:0}
.art-corps p{margin:0 0 18px}
.art-corps h2{font-family:var(--ft2);font-style:italic;font-weight:800;font-stretch:80%;font-size:27px;
  line-height:1.2;color:var(--nuit);margin:40px 0 14px;scroll-margin-top:90px}
.art-corps h3{font-size:21px;font-weight:700;line-height:1.3;margin:30px 0 12px;color:var(--ink)}
.art-corps h4{font-size:18px;font-weight:700;margin:24px 0 10px}
/* Titres remontes d'un niveau par gabarits.hierarchie_titres() (29/09/2026) :
   meme allure qu'a leur niveau d'origine (classe hnN). */
.art-corps h2.hn3{font-family:var(--f);font-style:normal;font-stretch:normal;font-size:21px;font-weight:700;
  line-height:1.3;color:var(--ink);margin:30px 0 12px}
.art-corps h3.hn4{font-size:18px;font-weight:700;line-height:1.18;margin:24px 0 10px;color:inherit}
.art-corps a{color:var(--nuit-2);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.art-corps a:hover{color:var(--ink)}
.art-corps strong,.art-corps b{color:var(--ink);font-weight:700}
.art-corps ul,.art-corps ol{margin:0 0 20px;padding-left:24px}
.art-corps li{margin-bottom:8px}
.art-corps img{max-width:100%;height:auto;border-radius:8px}
.art-corps hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.art-corps blockquote{margin:24px 0;padding:6px 0 6px 20px;border-left:4px solid var(--fluo-f);
  color:var(--ink-2);font-style:italic}
.art-corps figure{margin:24px 0}
.art-corps figcaption,.art-corps .wp-caption-text{font-size:13.5px;line-height:1.5;color:var(--ink-3);
  margin-top:8px;text-align:center;font-style:normal}
.art-corps .wp-caption{max-width:100%}
.art-corps .aligncenter{display:block;margin-left:auto;margin-right:auto}
.art-corps .alignleft{float:left;margin:6px 22px 14px 0;max-width:50%}
.art-corps .alignright{float:right;margin:6px 0 14px 22px;max-width:50%}
.art-corps::after{content:"";display:table;clear:both}
/* Tableau plus large que la colonne : il defile dans son cadre, jamais la page.
   Les !important battent les largeurs en style integre de certains articles
   (min-width:480px, width:750px : debordement mesure sur mobile le 26/09/2026). */
.art-corps table{display:block;overflow-x:auto;border-collapse:collapse;width:auto!important;
  max-width:100%!important;min-width:0!important;margin:0 0 24px;font-size:15px;line-height:1.5}
.art-corps th,.art-corps td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.art-corps th{background:var(--bg-4);font-weight:700;color:var(--ink)}
.art-corps iframe{max-width:100%}

/* Galeries WordPress */
.art-corps .gallery{display:grid;gap:10px;margin:24px 0;grid-template-columns:repeat(3,minmax(0,1fr))}
.art-corps .gallery-columns-1{grid-template-columns:1fr}
.art-corps .gallery-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.art-corps .gallery-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.art-corps .gallery-item{margin:0}
.art-corps .gallery-item img{width:100%;height:auto;display:block}
.art-corps .gallery br{display:none}
@media (max-width:640px){ .art-corps .gallery{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* Boutons d'achat des anciens articles (Meks, boite de notation) : au style du site. */
.art-corps .mks_button,.art-corps .taq-button{display:inline-flex;align-items:center;gap:8px;
  padding:12px 24px;border-radius:999px;background:var(--nuit)!important;color:#fff!important;
  font-weight:700;font-size:15px;text-decoration:none!important;line-height:1.2}
.art-corps .mks_button:hover,.art-corps .taq-button:hover{background:var(--nuit-2)!important}

/* Boite de notation (plugin de notation de l'ancien blog), figee. Trois
   formats coexistent (mesure du 26/09/2026 sur 654 boites) : barre de note,
   criteres en pourcentage, note finale en chiffres. Toutes les notes reelles
   restent affichees ; seule une barre a 0 % (aucune note donnee, 394 boites)
   est masquee. Le vote des lecteurs est fige en texte. */
.art-corps .review_wrap{margin:28px 0;border:1px solid var(--line);border-radius:var(--r-card);
  background:var(--bg-3);padding:18px 20px}
.art-corps .review_wrap br{display:none}
.art-corps .review_wrap p{margin:0}
.art-corps .review-box{display:flex;flex-direction:column;gap:12px}
.art-corps .review-box-header{font-family:var(--f);font-style:normal;font-stretch:100%;font-weight:700;
  font-size:18px;line-height:1.3;color:var(--ink);margin:0}
.art-corps .review-item p{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 5px}
.art-corps .review-item span[data-width]{display:block;height:8px;border-radius:99px;background:var(--fluo-f)}
.art-corps .post-large-rate{display:block;position:relative;width:180px;height:10px;border-radius:99px;
  background:var(--line);overflow:hidden}
.art-corps .post-large-rate > span{display:block;height:100%;background:var(--fluo-f)}
.art-corps .post-large-rate:has(> span[style*="width:0%"]){display:none}
.art-corps .review-summary{display:flex;align-items:center;justify-content:flex-start;gap:18px;flex-wrap:wrap}
.art-corps .review-final-score p{font-size:30px;font-weight:800;line-height:1;color:var(--nuit)}
.art-corps .review-final-score p + p{font-size:13px;font-weight:500;color:var(--ink-3);margin-top:4px}
.art-corps .review-short-summary{display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  font-size:15px;line-height:1.6;color:var(--ink-2)}
.art-corps .user-rate-wrap{font-size:14px;color:var(--ink-3)}
.art-corps .user-rate-wrap .user-rate{display:none}

/* Videos YouTube : chargees au clic (aucun cookie YouTube avant) */
.art-corps .g1-fluid-wrapper{width:auto!important;max-width:100%;margin:24px 0}
.art-corps .g1-fluid-wrapper-inner{position:relative;height:0;overflow:hidden;border-radius:10px;background:#000}
.art-corps .g1-fluid-wrapper-inner > .fi-video{position:absolute;inset:0;margin:0;aspect-ratio:auto}
.fi-video{position:relative;aspect-ratio:16/9;margin:24px 0;border-radius:10px;overflow:hidden;background:#000}
.fi-video img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;opacity:.85}
.fi-video-lire{position:absolute;left:50%;top:50%;width:74px;height:74px;margin:-37px 0 0 -37px;border:0;
  border-radius:50%;background:var(--fluo);cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.fi-video-lire::after{content:"";position:absolute;left:29px;top:22px;border-style:solid;
  border-width:15px 0 15px 24px;border-color:transparent transparent transparent var(--nuit)}
.fi-video-lire:hover{transform:scale(1.06)}
.fi-video-lien{position:absolute;right:12px;bottom:10px;font-size:12.5px;color:#fff!important;
  background:rgba(0,0,0,.55);padding:4px 10px;border-radius:999px;text-decoration:none!important}
.fi-video.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Publications Instagram, TikTok, X : une carte avec le lien (aucun script
   tiers charge, donc aucun cookie avant consentement) */
.fi-embed,.art-corps .twitter-tweet,.art-corps .wp-embedded-content{display:block;margin:24px 0;
  border:1px solid var(--line);border-radius:var(--r-card);background:#fff;padding:16px 18px;
  font-style:normal;color:var(--ink-2);max-width:560px}
.fi-embed p{margin:6px 0 10px;font-weight:600;color:var(--ink)}
.fi-embed-src{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3)}
.art-corps .twitter-tweet{border-left:4px solid var(--ink)}
.art-corps .twitter-tweet p{margin:0 0 10px;font-size:15.5px}
.art-corps .wp-embedded-content{border-left:4px solid var(--fluo-f)}
.art-corps .wp-embedded-content p{margin:0}

/* Colonne laterale */
.art-cote{position:sticky;top:18px;display:flex;flex-direction:column;gap:20px;padding-top:18px}
.art-box{border:1px solid var(--line);border-radius:var(--r-card);background:#fff;padding:18px}
.art-box-titre{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:6px}
.art-box-sous{margin:0 0 14px;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink)}
.art-box-offres{background:var(--nuit);border-color:var(--nuit);color:#fff}
.art-box-offres .art-box-titre{color:var(--fluo)}
.art-box-offres .art-box-sous{color:#fff}
.art-box-btn{display:flex;width:100%;margin-top:10px;min-width:0}
.art-box-offres .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.art-minis{display:flex;flex-direction:column;gap:8px}
.art-mini{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:center;padding:8px;
  border-radius:10px;background:rgba(255,255,255,.07);text-decoration:none;color:#fff}
.art-mini:hover{background:rgba(255,255,255,.14)}
.art-mini-img{width:56px;height:56px;border-radius:8px;background:#fff;overflow:hidden;display:flex;
  align-items:center;justify-content:center}
.art-mini-img img{max-width:100%;max-height:100%;object-fit:contain}
.art-mini-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.art-mini-nom{font-size:13px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical}
.art-mini-prix{font-size:14px;font-weight:700;color:var(--fluo)}
.art-recents{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.art-recents a{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;text-decoration:none;
  color:var(--ink);align-items:start}
.art-rec-img{width:64px;height:48px;border-radius:6px;overflow:hidden;background:var(--bg-3)}
.art-rec-img img{width:100%;height:100%;object-fit:cover;display:block}
.art-rec-txt{font-size:13.5px;line-height:1.35;font-weight:600;display:flex;flex-direction:column;gap:3px}
.art-rec-txt time{font-size:12px;font-weight:400;color:var(--ink-3)}
.art-recents a:hover .art-rec-txt{text-decoration:underline}

/* Articles d'actualite ecrits en session (28/09/2026). « L'essentiel » : le
   resume factuel en tete d'article, le passage que les moteurs citent.
   .art-portrait : une photo verticale ne prend pas toute la colonne (une
   900 x 1200 affichee a 800 px de large ferait plus d'un ecran de haut). */
.art-corps .art-essentiel{margin:0 0 30px;padding:18px 22px 4px;border:1px solid var(--line);
  border-left:4px solid var(--fluo-f);border-radius:var(--r-card);background:var(--bg-3)}
.art-corps .art-essentiel-titre{display:block;margin:0 0 10px;font-size:12px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--nuit-2)}
.art-corps .art-essentiel ul{margin:0 0 14px;padding-left:20px}
.art-corps .art-essentiel li{margin-bottom:7px;font-size:16px;line-height:1.6}
.art-corps figure.art-portrait{max-width:460px;margin-left:auto;margin-right:auto}
.art-corps .art-sources{font-size:14px;line-height:1.6;color:var(--ink-3)}
.art-corps .art-sources a{font-weight:400}

/* Sous l'article */
.art-offres{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.art-offres-tete{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-bottom:18px}
.art-offres-tete h2{font-size:26px;margin:0}
.art-offres-tete a{font-weight:700;color:var(--nuit-2);text-decoration:none;white-space:nowrap}
.art-offres-tete a:hover{text-decoration:underline}
.art-coms{margin-top:48px;padding-top:36px;border-top:1px solid var(--line);max-width:820px}
.art-coms h2{font-size:24px;margin:0 0 18px}
.art-coms ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.art-com{border:1px solid var(--line);border-radius:var(--r-card);padding:14px 16px;background:#fff}
.art-com-rep{margin-left:32px;background:var(--bg-3)}
.art-com-tete{display:flex;gap:12px;align-items:baseline;font-size:14px;margin-bottom:6px}
.art-com-tete time{color:var(--ink-3);font-size:12.5px}
.art-com-txt{font-size:15px;line-height:1.6;color:var(--ink-2)}
.art-com-txt p{margin:0 0 8px}
.art-coms-ferme{margin:16px 0 0;font-size:14px;color:var(--ink-3)}
.art-aussi{margin-top:48px;padding-top:36px;border-top:1px solid var(--line)}
.art-aussi h2{font-size:26px;margin:0}

@media (max-width:1100px){
  .art-grille{grid-template-columns:minmax(0,1fr);gap:8px}
  .art-cote{position:static;padding-top:24px}
}
@media (max-width:640px){
  .art-corps{font-size:16.5px}
  .art-corps h2{font-size:23px}
  .art-corps .alignleft,.art-corps .alignright{float:none;margin:18px auto;max-width:100%}
  .art-com-rep{margin-left:14px}
}

/* Description d'une categorie (29/09/2026, /category/promotion/ « illisible ») :
   1er paragraphe sous le H1, le reste ici, sous les articles (blog.description_categorie). */
.cat-texte{margin-top:40px;padding-top:10px;border-top:1px solid var(--line);max-width:78ch}
.cat-texte h2{font-size:22px;font-weight:700;line-height:1.3;margin:26px 0 10px;color:var(--ink)}
.cat-texte p{font-size:15.5px;line-height:1.72;color:var(--ink-2);margin:0 0 14px}
.cat-texte a{color:var(--nuit-2);text-decoration:underline;text-underline-offset:2px;font-weight:500}
.cat-texte strong{color:var(--ink);font-weight:600}
@media (max-width:820px){.cat-texte h2{font-size:19px}}
