/* ==========================================================================
   Mon Canapé Convertible — feuille de style
   Mobile first. Mise en page reprise du thème précédent ; typographie refondue :
   Fraunces pour les titres, Plus Jakarta Sans pour le texte, et une échelle
   de tailles où rien ne descend sous 13 px.
   ========================================================================== */

@font-face{font-family:'Fraunces';src:url('../fonts/fraunces.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Plus Jakarta Sans';src:url('../fonts/plusjakarta.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Outfit';src:url('../fonts/outfit.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'Figtree';src:url('../fonts/figtree.woff2') format('woff2');font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:'Manrope';src:url('../fonts/manrope.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito';src:url('../fonts/nunito.woff2') format('woff2');font-weight:200 1000;font-style:normal;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  /* Couleurs — DA « Warm Modernism & Pop Tactile » : blanc coquille d'œuf,
     noir carbone, orange brûlé. accent, ink et paper sont surchargés par le personnalisateur. */
  --paper:#fcfcfa;            /* fond général : blanc coquille d'œuf */
  --surface:#fff;             /* cartes, encarts, menus déroulants */
  --soft:#f2f1ec;             /* blocs de fond épurés */
  --ink:#181b20;              /* titres, menu, blocs sombres : noir carbone (16,8:1) */
  --text:#2a2d33;             /* texte courant */
  --muted:#5b5f66;            /* texte secondaire (6,3:1) */
  --line:#e5e5e0;             /* liserés, séparateurs */
  --accent:#ff4500;           /* boutons d'affiliation « Block » : orange vif, texte carbone (5:1) */
  --accent-hover:#ff6f3d;
  --accent-deco:#ff5722;      /* tirets épais, puces géométriques, filets : corail vif */
  --accent-text:#c2410c;      /* liens et surtitres : orange brûlé lisible (5:1) */
  --on-accent:#181b20;
  --green:#2e7d32;            /* badges, réassurance, points forts */
  --violet:#6200ee;           /* étiquettes « coup de cœur » */
  --klein:#002fa7;            /* contour de focus clavier */
  --shadow-pop:4px 4px 0 var(--ink);
  --footer-bg:var(--ink);
  --title-weight:600;
  --title-spacing:-.022em;
  --font-scale:100%;
  --read-line:1.75;

  /* Vocabulaire commun du réseau (DESIGN-SYSTEMS.md) : mêmes noms partout,
     valeurs propres au site. Les états sont obligatoires. */
  --ds-fond:var(--paper);
  --ds-surface:var(--surface);
  --ds-encre:var(--ink);
  --ds-doux:var(--muted);
  --ds-trait:var(--line);
  --ds-accent:var(--accent);
  --ds-accent-f:var(--accent-hover);
  --ds-second:var(--accent-text);
  --ds-succes:#2e7d32;
  --ds-alerte:#b45309;
  --ds-rupture:#b91c1c;
  --ds-titre:var(--font-title);
  --ds-corps:var(--font-body);
  --ds-r-bouton:var(--radius);
  --ds-r-carte:var(--radius);
  --ds-mesure:var(--measure);
  --ds-gouttiere:var(--gutter);
  --ds-conteneur:var(--max);

  /* Polices */
  --font-title:'Fraunces',Georgia,'Times New Roman',serif;
  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;

  /* Échelle typographique — minimum 13 px */
  --t-xs:.8125rem;                                     /* 13 : surtitres, méta, mentions */
  --t-sm:.9375rem;                                     /* 15 : navigation, boutons, listes secondaires */
  --t-base:1.0625rem;                                  /* 17 : texte courant */
  --t-read:clamp(1.0625rem,1rem + .25vw,1.1875rem);    /* 17 → 19 : lecture d'article */
  --t-lead:clamp(1.125rem,1.05rem + .35vw,1.3125rem);  /* 18 → 21 : chapôs, introductions */
  --t-h4:1.1875rem;                                    /* 19 */
  --t-h3:clamp(1.375rem,1.2rem + .7vw,1.625rem);       /* 22 → 26 */
  --t-h2:clamp(1.75rem,1.35rem + 1.6vw,2.5rem);        /* 28 → 40 */
  --t-h1:clamp(2.125rem,1.5rem + 2.6vw,3.5rem);        /* 34 → 56 */
  --t-display:clamp(2.5rem,1.6rem + 3.6vw,4.375rem);   /* 40 → 70 : accueil */

  /* Rythme */
  --gutter:20px;                 /* élargie à partir de 701 px */
  --max:1480px;
  --measure:46rem;
  --radius:4px;
  --section:clamp(56px,7vw,104px);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:var(--font-scale);scroll-behavior:smooth;scroll-padding-top:32px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--font-body);font-size:var(--t-base);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:has(dialog[open]){overflow:hidden}
::selection{background:var(--accent);color:var(--on-accent)}
a{color:inherit;text-decoration:none;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
h1,h2,h3,h4,p{margin:0}
h1,h2,h3{color:var(--ink);font-family:var(--font-title);font-weight:var(--title-weight);line-height:1.1;letter-spacing:var(--title-spacing);font-optical-sizing:auto;text-wrap:balance}
h4{color:var(--ink);font-family:var(--font-body);font-weight:700;line-height:1.35}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3)}
h4{font-size:var(--t-h4)}
:is(h1,h2,h3,h4) strong{font-weight:inherit}
p+p{margin-top:1em}
ul,ol{padding-left:1.3rem}
:is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--klein);outline-offset:4px}
section[id],h2[id],h3[id]{scroll-margin-top:32px}
[hidden]{display:none!important}

.container{width:calc(100% - var(--gutter)*2);max-width:var(--max);margin-inline:auto}
.section{padding-block:var(--section)}
.screen-reader-text,.skip-link:not(:focus){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:20px;top:20px;padding:14px 18px;background:var(--surface);z-index:99999;font-weight:600}
.icon{width:20px;height:20px;flex:none;vertical-align:middle}
.small{font-size:var(--t-xs);color:var(--muted);line-height:1.55}

/* ---------- Éléments récurrents ---------- */
.eyebrow{font-family:var(--font-body);font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;color:var(--accent-text);margin-bottom:16px}
.eyebrow a{color:inherit}

.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding:14px 24px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-pop);font-family:var(--font-body);font-size:1rem;font-weight:700;line-height:1.3;letter-spacing:0;text-decoration:none;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s}
.button:hover,.wp-block-button__link:hover{text-decoration:none;background:var(--accent-hover);color:var(--on-accent);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.button:active,.wp-block-button__link:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.button .icon{width:20px;height:20px}
.button-outline{background:transparent;border-color:currentColor;color:inherit;box-shadow:none}
.button-outline:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);box-shadow:4px 4px 0 var(--paper)}
.text-link{display:inline-flex;align-items:center;gap:12px;padding:6px 0;border-bottom:1.5px solid currentColor;font-size:var(--t-sm);font-weight:650;line-height:1.4}
.text-link:hover{text-decoration:none;color:var(--accent-text)}
.text-link .icon{width:18px;height:18px;transition:transform .2s}
.text-link:hover .icon{transform:translateX(3px)}
.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:10px;background:none;border:0;border-radius:var(--radius)}
.icon-button:hover{background:var(--soft);color:var(--accent-text)}
.icon-button .icon{width:22px;height:22px}

/* ==========================================================================
   Mise en page — MOBILE FIRST
   Les règles de base visent le téléphone ; les paliers min-width enrichissent
   la mise en page : 701 px (tablette), 1001 px (ordinateur, menu déplié),
   1201 px (grand écran), 1800 px (très grand écran).
   ========================================================================== */

/* ---------- Bandeau & en-tête ---------- */
.announcement{background:var(--ink);color:var(--paper);font-size:var(--t-xs);font-weight:500;letter-spacing:.02em;text-align:center;padding:9px 16px;line-height:1.45}
.site-header{background:var(--paper);position:relative;z-index:30}
.header-main{min-height:68px;display:flex;align-items:center;gap:12px}
.brand{display:inline-flex;flex:none;line-height:0}
.brand:hover{text-decoration:none}
.brand img{height:38px;width:auto}
.custom-logo-link img{max-width:185px;max-height:52px;width:auto}
.header-tagline{display:none;margin-left:auto;font-size:var(--t-sm);color:var(--muted)}
.header-actions{display:flex;align-items:center;gap:0;margin-left:auto}
.header-link{display:none;align-items:center;gap:10px;padding:10px 0 10px 22px;border-left:1px solid var(--line);font-size:var(--t-sm);font-weight:650}
.header-link .icon{width:18px;height:18px}
.menu-toggle{display:inline-grid}

/* Menu replié par défaut (mobile) : ouvert par le bouton, sous-menus en accordéon. */
.main-navigation{position:relative;padding-block:8px;border-top:1px solid var(--line)}
.js .main-navigation{display:none}
.js .main-navigation.is-open{display:block;max-height:75vh;overflow:auto;padding-bottom:20px}
.main-navigation .menu{margin:0;padding:0;list-style:none}
.main-navigation .menu>.menu-item{position:relative;border-bottom:1px solid var(--line)}
.main-navigation .menu>.menu-item>a{display:inline-block;width:calc(100% - 52px);padding:14px 0;font-size:var(--t-base);font-weight:550}
.main-navigation a:hover{color:var(--accent-text);text-decoration:none}
.main-navigation .menu>.current-menu-item>a,.main-navigation .menu>.current-menu-ancestor>a{color:var(--accent-text)}
.submenu-toggle{position:absolute;right:0;top:0;display:inline-grid;place-items:center;width:48px;height:52px;padding:0;border:0;background:none}
.submenu-toggle svg{transition:transform .2s}
.expanded>.submenu-toggle svg{transform:rotate(180deg)}
.sub-menu{display:none;list-style:none}
.main-navigation .sub-menu{margin:0;padding:4px 18px 14px}
.main-navigation .sub-menu li{position:relative}
.main-navigation .sub-menu a{display:block;padding:8px 0;font-size:var(--t-sm)}
.main-navigation .menu-item.expanded>.sub-menu,.main-navigation .menu-item:focus-within>.sub-menu{display:block}

/* ---------- Accueil : introduction ---------- */
.hero{position:relative;display:flex;flex-direction:column}
.hero-visual{position:relative;min-width:0;aspect-ratio:1.25;overflow:hidden;background:var(--soft)}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:36px var(--gutter) 28px;background:var(--soft)}
.hero-copy h1{font-size:var(--t-display);line-height:1.04;letter-spacing:-.025em;max-width:620px;margin-bottom:24px}
.hero-copy h1::after{content:'';display:block;width:44px;height:5px;margin-top:20px;background:var(--accent-deco)}
.hero-intro{font-size:var(--t-lead);line-height:1.6;color:var(--muted);max-width:460px}
.hero-buttons{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:16px 28px;margin-top:34px}
.hero-buttons .button{width:100%}
.hero-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--t-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hero-bottom span:last-child{display:none}

.manifesto-strip{border-bottom:1px solid var(--line)}
.manifesto-strip ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-block:0;padding:20px 0;list-style:none;font-size:var(--t-xs);font-weight:550;color:var(--muted)}
.manifesto-strip li{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.manifesto-strip li::before{content:'';flex:none;width:8px;height:8px;margin-top:5px;background:var(--accent-deco)}

/* ---------- Sections & cartes ---------- */
.section-heading{margin-bottom:28px}
.section-heading .eyebrow{margin-bottom:12px}
.section-heading>p{margin-top:14px;font-size:var(--t-base);line-height:1.6;color:var(--muted)}
.section-heading>.text-link{margin-top:18px}

.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 14px}
.category-card{min-width:0}
.category-card:hover{text-decoration:none}
.category-image{position:relative;aspect-ratio:1;overflow:hidden;background:var(--soft);border-radius:var(--radius)}
.category-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.category-card:hover img{transform:scale(1.035)}
.round-arrow{position:absolute;right:16px;bottom:16px;display:none;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--ink);transform:translateY(70px);transition:transform .25s}
.category-card:hover .round-arrow,.category-card:focus-visible .round-arrow{transform:none}
.category-label{display:flex;flex-direction:column;gap:2px;padding-top:12px}
.category-number{font-size:var(--t-xs);font-weight:800;color:var(--accent-text);font-variant-numeric:tabular-nums}
.category-label h3{font-size:1.125rem;line-height:1.25}
.category-card:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.15em}
.category-label>.icon{display:none;margin-left:auto;align-self:center}

.editorial-section{display:grid;grid-template-columns:1fr;background:var(--ink);color:var(--paper)}
.editorial-visual{position:relative;overflow:hidden;min-height:320px}
.editorial-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:44px var(--gutter) 52px}
.editorial-copy .eyebrow{color:#ff7a4d}
.editorial-copy h2{max-width:520px;font-size:var(--t-h1);margin-bottom:24px}
/* Titres posés sur un fond brun : couleur sable, sinon brun sur brun. */
.editorial-copy :is(h2,h3),.site-footer :is(h1,h2,h3,h4),.bloc-verdict :is(h2,h3),.zone-libre .has-ink-background-color :is(h2,h3){color:var(--paper)}
.editorial-copy p:not(.eyebrow){max-width:480px;font-size:var(--t-base);line-height:1.75;color:#fcfcfad9}
.editorial-copy .button{margin-top:34px}

.post-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.post-card{display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:box-shadow .2s,transform .2s,border-color .2s}
.post-card:hover{border-color:var(--ink);box-shadow:5px 5px 0 var(--ink);transform:translate(-2px,-2px)}
.post-card>:not(.post-image){margin-inline:22px}
.post-card>.text-link{align-self:flex-start;margin-top:auto;margin-bottom:24px}
.post-image{display:block;aspect-ratio:1.3;overflow:hidden;background:var(--soft)}
.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-image:hover img{transform:scale(1.03)}
.image-placeholder{display:grid;place-items:center;height:100%}
.image-placeholder img{width:64px;height:64px;opacity:.9}
.post-card-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin:18px 0 10px;font-size:var(--t-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.post-card-meta a{color:var(--accent-text)}
.post-card-title{font-size:var(--t-h3);line-height:1.22;margin-bottom:12px}
.post-card-title a:hover{text-decoration-thickness:1px}
.post-card p{font-size:var(--t-sm);line-height:1.65;color:var(--muted);margin-bottom:16px}

/* ---------- Pied de page ---------- */
.site-footer{--muted:#b8bbc2;--line:#fcfcfa24;background:var(--footer-bg);color:var(--paper);padding-top:48px}
.site-footer a:hover{color:#ff7a4d}
.footer-main{display:grid;grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:36px}
.footer-brand{grid-column:1/-1}
.footer-brand .brand img{height:46px}
.footer-brand>p{max-width:380px;margin-top:24px;font-size:var(--t-sm);line-height:1.7;color:var(--muted)}
.footer-heading{margin-bottom:18px;font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:10px}
.site-footer li a{font-size:var(--t-sm);color:var(--muted)}
.site-footer .sub-menu{display:none}
.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:12px 24px;padding-block:24px;border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--muted)}
.footer-bottom .legal-links ul{display:flex;flex-wrap:wrap;gap:6px 20px}
.footer-bottom li{margin:0}
.footer-bottom a{color:var(--muted)}
.footer-extra{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--line)}
.footer-widget h2{font-size:var(--t-h2);margin-bottom:20px}

/* ---------- Fil d'Ariane, archives ---------- */
.breadcrumbs{padding-block:18px;font-size:var(--t-xs);color:var(--muted)}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0;padding:0;list-style:none}
.breadcrumbs li+li::before{content:'/';margin-right:10px;opacity:.5}
.breadcrumbs a{text-decoration:underline;text-decoration-color:var(--line)}
.breadcrumbs li:last-child{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.archive-main,.page-main{padding-top:24px}
.archive-heading{max-width:980px;margin-bottom:32px}
.archive-heading h1{margin-bottom:20px}
.archive-description{max-width:46rem;font-size:var(--t-lead);color:var(--muted)}
.archive-description a{text-decoration:underline}
.pagination,.nav-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:64px}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius);font-size:var(--t-sm);font-weight:600}
.page-numbers.current{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.empty-state{padding:28px;background:var(--soft);border-radius:var(--radius)}
.empty-state h2{font-size:var(--t-h3);margin-bottom:12px}
.empty-state .text-link{margin-top:20px}

/* ---------- Article ---------- */
.article-hero{display:flex;flex-direction:column;gap:28px;padding:0 0 40px}
.article-gallery,.article-intro{width:100%;min-width:0}
.gallery-main{position:relative;display:block;overflow:hidden;background:var(--soft);border-radius:var(--radius)}
.gallery-main img{width:100%;height:auto;max-height:680px;object-fit:cover}
.gallery-expand{position:absolute;right:14px;bottom:14px;padding:7px 12px;background:var(--surface);border-radius:var(--radius);font-size:var(--t-xs);font-weight:600}
.article-intro h1{line-height:1.1;margin-bottom:24px}
.byline{display:flex;flex-direction:column;gap:2px;font-size:var(--t-sm);color:var(--muted)}
.byline a{color:var(--ink);text-decoration:underline}
.article-deck{margin-top:24px;font-size:var(--t-lead);line-height:1.6;color:var(--muted)}
.article-offer{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:28px}
.article-read{margin-top:28px}
.price{font-family:var(--font-title);font-size:var(--t-h2);font-weight:500;line-height:1.1}
.price del{font-size:.55em;color:var(--muted);margin-right:6px}

.article-body{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;max-width:820px;padding-block:36px;border-top:1px solid var(--line)}
.article-sidebar{position:relative;padding-bottom:24px;border-bottom:1px solid var(--line)}
.article-sidebar:has(.table-of-contents[hidden]){display:none}
.toc-title{margin-bottom:10px;font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.table-of-contents ol{list-style:none;counter-reset:toc;padding:0;margin:0}
.table-of-contents li{counter-increment:toc;display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:var(--t-sm);line-height:1.45}
.table-of-contents li::before{content:counter(toc,decimal-leading-zero);flex:none;font-size:var(--t-xs);font-weight:700;color:var(--accent-text);padding-top:2px;font-variant-numeric:tabular-nums}
.table-of-contents a:hover{color:var(--accent-text)}
.article-main{min-width:0}

/* ---------- Contenu rédigé ---------- */
.entry-content{font-size:var(--t-read);line-height:calc(var(--read-line) - .05);overflow-wrap:anywhere;min-width:0}
.entry-content>*+*{margin-top:1.15em}
.entry-content h2{font-size:var(--t-h2);margin-top:2em;margin-bottom:.1em}
.entry-content h2::before{content:'';display:block;width:40px;height:5px;margin-bottom:16px;background:var(--accent-deco)}
.entry-content .ccfr-enbref h2::before{content:none}
.entry-content h3{font-size:var(--t-h3);margin-top:1.7em}
.entry-content h4{font-size:var(--t-h4);margin-top:1.5em}
.entry-content h2+*,.entry-content h3+*,.entry-content h4+*{margin-top:.6em}
.entry-content>:first-child{margin-top:0}
.entry-content a:not(.button):not(.wp-block-button__link){color:var(--accent-text);text-decoration:underline;text-decoration-thickness:1px}
.entry-content a:not(.button):not(.wp-block-button__link):hover{color:var(--ink);background:#ff57221f;text-decoration-color:var(--accent-deco);text-decoration-thickness:2px}
.entry-content strong{font-weight:700}
.entry-content li+li{margin-top:.4em}
.entry-content li::marker{color:var(--accent-deco)}
.entry-content img{height:auto;max-width:100%;border-radius:var(--radius)}
.entry-content iframe{max-width:100%}
.entry-content .wp-block-embed iframe,.entry-content iframe[src*="youtube"]{width:100%;height:auto;aspect-ratio:16/9}
.entry-content blockquote{margin:2em 0;padding:4px 0 4px 18px;border-left:3px solid var(--accent-deco);font-family:var(--font-title);font-size:var(--t-h3);line-height:1.4}
.entry-content blockquote p{font-size:inherit}
.entry-content blockquote cite{display:block;margin-top:10px;font-family:var(--font-body);font-size:var(--t-sm);font-style:normal;color:var(--muted)}
.entry-content table{width:100%;border-collapse:collapse;font-size:var(--t-sm);line-height:1.55}
.entry-content th,.entry-content td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.entry-content th{background:var(--soft);font-weight:650}
.entry-content .wp-block-table,.entry-content figure:has(>table){overflow-x:auto;-webkit-overflow-scrolling:touch}
.entry-content figcaption{margin-top:10px;font-size:var(--t-xs);line-height:1.5;color:var(--muted)}
.entry-content details{padding:16px 0;border-bottom:1px solid var(--line)}
.entry-content summary{font-weight:650;cursor:pointer}
.entry-content hr{border:0;border-top:1px solid var(--line);margin-block:2.5em}
.entry-content .alignwide{max-width:1280px}
.entry-content .alignfull{width:100%;max-width:none}
.page-main>.entry-content,.page-main>.archive-heading{max-width:var(--measure);margin-inline:auto}
.page-featured{width:100%;max-height:620px;object-fit:cover;margin-bottom:48px;border-radius:var(--radius)}
.page-links{display:flex;gap:12px}

/* Encarts produits par les automatisations : ramenés aux couleurs du site,
   quelle que soit la couleur écrite en ligne dans le contenu publié. */
.entry-content .ccfr-enbref{background:var(--soft)!important;color:var(--ink)!important;border:0!important;border-left:3px solid var(--accent-deco)!important;border-radius:var(--radius)!important;padding:20px 22px!important;margin:0 0 2em!important;text-align:left!important}
.entry-content .ccfr-enbref h2{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;margin:0 0 10px!important;color:var(--ink)!important;font-family:var(--font-body)!important;font-size:var(--t-xs)!important;font-weight:700!important;letter-spacing:.12em;text-transform:uppercase}
.entry-content .ccfr-enbref h2 svg{stroke:var(--accent-text)!important;width:20px;height:20px}
.entry-content .ccfr-enbref p{color:var(--ink)!important;font-size:var(--t-read)!important;line-height:1.7!important}
.entry-content table[style],.entry-content figure[style] table{font-size:var(--t-sm)!important}
.entry-content :is(th,td)[style]{border-color:var(--line)!important;padding:12px 14px!important}
.entry-content th[style]{background:var(--soft)!important}
.entry-content .wp-block-quote{margin:1.5em 0;padding:18px 22px;border-left:3px solid var(--accent-deco);background:var(--soft);border-radius:0 var(--radius) var(--radius) 0;font-family:var(--font-body);font-size:var(--t-read);line-height:1.7}

/* ---------- Blocs du contrat Socle ---------- */
.bloc-title{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.bloc-title .icon{width:20px;height:20px;color:var(--accent-text)}
.bloc-bref{width:calc(100% - var(--gutter)*2);max-width:calc(250px + var(--measure) + 110px);margin:0 auto 8px;padding:20px 22px;background:var(--soft);border-left:3px solid var(--accent-deco);border-radius:var(--radius);font-size:var(--t-read);line-height:1.7}
.bloc-points,.bloc-faq,.bloc-achat{margin-top:56px}
.bloc-points h2,.bloc-faq h2{font-size:var(--t-h2);margin-bottom:24px}
.bloc-points-grid{display:grid;grid-template-columns:1fr;gap:20px}
.bloc-points-col{padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.bloc-points-col ul{list-style:none;margin:0;padding:0}
.bloc-points-col li{display:flex;gap:10px;padding:6px 0;font-size:var(--t-sm);line-height:1.55}
.bloc-points-col .icon{width:18px;height:18px;margin-top:2px}
.is-plus .icon{color:var(--green)}
.is-minus .icon{color:var(--accent-text)}
.bloc-ideal{margin-top:20px;font-size:var(--t-sm)}
.bloc-verdict{margin-top:20px;padding:24px 28px;background:var(--ink);color:var(--paper);border-radius:var(--radius)}
.bloc-verdict p:last-child{font-family:var(--font-title);font-size:var(--t-h3);line-height:1.35}
.bloc-faq details{padding:18px 0;border-bottom:1px solid var(--line)}
.bloc-faq summary{display:flex;justify-content:space-between;gap:16px;list-style:none;font-size:var(--t-base);font-weight:650;cursor:pointer}
.bloc-faq summary::-webkit-details-marker{display:none}
.bloc-faq summary .icon{transition:transform .2s}
.bloc-faq details[open] summary .icon{transform:rotate(180deg)}
.bloc-faq details>div{padding-top:10px;color:var(--muted)}
.bloc-achat{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;padding:26px 28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.bloc-achat .bloc-title{color:var(--muted)}
.bloc-achat .button{width:100%}
.transparence{display:flex;gap:10px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-size:var(--t-xs);line-height:1.6;color:var(--muted)}
.transparence .icon{width:18px;height:18px;margin-top:1px}
.cta-collant{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -8px 24px #0000000f}
.cta-collant p{display:flex;flex-direction:column;font-size:var(--t-sm);line-height:1.3;min-width:0}
.cta-collant-model{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cta-collant-price{color:var(--muted)}
.cta-collant .button{min-height:48px;flex:none;gap:10px;padding-inline:16px}

/* ---------- Formulaires (Contact Form 7 et commentaires) ---------- */
.wpcf7 form{max-width:var(--measure)}
.wpcf7 label{display:block;font-size:var(--t-sm);font-weight:600}
.wpcf7 :is(input[type=text],input[type=email],input[type=url],input[type=tel],select,textarea){width:100%;margin-top:6px;padding:13px 15px;border:1px solid #cfcac2;border-radius:var(--radius);background:var(--surface);font-size:max(16px,var(--t-base));font-weight:400}
.wpcf7 textarea{min-height:180px}
.wpcf7 input[type=submit]{width:100%;min-height:54px;padding:14px 28px;border:2px solid var(--ink);box-shadow:var(--shadow-pop);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);font-weight:650;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--accent-hover)}
.wpcf7 .wpcf7-not-valid-tip{font-size:var(--t-xs);color:var(--accent-text)}
.wpcf7 .wpcf7-response-output{margin:20px 0 0!important;padding:14px 16px!important;border-radius:var(--radius);font-size:var(--t-sm)}

/* ---------- Divers ---------- */
.author-box{display:flex;gap:20px;margin-top:48px;padding:28px 0;border-block:1px solid var(--line)}
.author-box img{width:64px;height:64px;border-radius:50%}
.author-name{font-weight:700;margin-bottom:4px}
.author-box p:last-child{font-size:var(--t-sm);color:var(--muted)}
.related-section{border-top:1px solid var(--line)}
.home-guide{border-top:1px solid var(--line);padding-bottom:0}
.home-guide .guide-heading{max-width:var(--max);margin-bottom:8px}
.home-guide .guide-heading h2{max-width:900px;font-size:var(--t-h1)}
.home-guide .article-body{border-top:0}
.zone-libre{margin-block:0}
.comments-area{margin-top:56px}
.comments-area h2{font-size:var(--t-h3);margin-bottom:16px}
.comment-list{padding-left:0;list-style:none;font-size:var(--t-sm)}
.comment-body{padding:20px 0;border-bottom:1px solid var(--line)}
.comment-meta{font-size:var(--t-xs)}
.comment-author img{display:inline-block;vertical-align:middle;margin-right:10px;border-radius:50%}
.comment-form label{display:block;font-size:var(--t-sm);font-weight:600;margin-bottom:4px}
.comment-form input:not([type=checkbox]):not([type=submit]),.comment-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:max(16px,var(--t-base))}
.comment-form input[type=submit]{padding:14px 24px;border:0;border-radius:var(--radius);background:var(--ink);color:var(--paper);font-weight:650}
.comment-form-cookies-consent label{display:inline}
.not-found{max-width:860px;padding-block:64px 88px}
.not-found h1{margin-bottom:24px}
.not-found>p{font-size:var(--t-lead);color:var(--muted)}
.not-found .text-link{margin-top:24px}
.search-form{display:flex;gap:10px;max-width:680px;margin-block:24px}
.search-form input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:max(16px,var(--t-base))}
.search-form .button{padding-inline:18px;justify-content:center}
.search-dialog{width:min(860px,calc(100% - 32px));padding:0;border:0;border-radius:var(--radius);background:var(--paper);color:var(--ink)}
dialog::backdrop{background:#181b20c4;backdrop-filter:blur(3px)}
.search-dialog-inner{position:relative;padding:60px 22px 32px}
.search-dialog h2{font-size:var(--t-h1)}
.search-hint{font-size:var(--t-sm);color:var(--muted)}
.dialog-close{position:absolute;right:14px;top:14px;z-index:1}
.lightbox{max-width:95vw;max-height:95vh;padding:30px 10px 10px;border:0;background:var(--surface)}
.lightbox img{max-width:85vw;max-height:80vh;object-fit:contain}

/* ==========================================================================
   ≥ 701 px — tablette
   ========================================================================== */
@media(min-width:701px){
  :root{--gutter:clamp(20px,4.4vw,76px)}
  .header-main{min-height:80px}
  .brand img{height:44px}
  .custom-logo-link img{max-width:260px;max-height:64px}
  .header-actions{gap:14px}
  .header-link{display:inline-flex}

  .hero{display:grid;grid-template-columns:46% 54%;min-height:540px}
  .hero-visual{grid-column:2;grid-row:1;aspect-ratio:auto}
  .hero-copy{grid-column:1;grid-row:1;justify-content:center;padding:56px 36px 32px var(--gutter)}
  .hero-copy h1::after{width:56px;margin-top:26px}
  .hero-buttons{width:auto}
  .hero-buttons .button{width:auto}
  .hero-bottom{margin-top:40px}
  .manifesto-strip ul{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;padding-block:22px;font-size:var(--t-sm)}
  .manifesto-strip li{align-items:center;gap:12px;line-height:inherit}
  .manifesto-strip li::before{margin-top:0}

  .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:44px}
  .section-heading>p{max-width:300px;margin-top:0}
  .section-heading>.text-link{margin-top:0;flex:none}
  .category-grid{grid-template-columns:repeat(3,1fr);gap:40px 24px}
  .category-image{aspect-ratio:1.45}
  .round-arrow{display:grid}
  .category-label{flex-direction:row;align-items:baseline;gap:14px;padding-top:18px}
  .category-label h3{font-size:var(--t-h3);line-height:1.12}
  .category-label>.icon{display:block}
  .editorial-section{grid-template-columns:1fr 1fr;min-height:500px}
  .editorial-visual{min-height:460px}
  .editorial-copy{padding:56px 36px}
  .post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}

  .site-footer{padding-top:72px}
  .footer-main{grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:56px}
  .footer-brand{grid-column:auto}
  .footer-brand .brand img{height:56px}
  .footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}

  .breadcrumbs{padding-block:24px}
  .breadcrumbs li:last-child{max-width:560px}
  .archive-heading{margin-bottom:52px}
  .empty-state{padding:56px}

  .article-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;padding:8px 0 64px}
  .article-hero.without-image{display:block;max-width:960px}
  .article-body{padding-block:56px}
  .entry-content{line-height:var(--read-line)}
  .entry-content blockquote{padding-left:28px}
  .entry-content .ccfr-enbref{padding:24px 28px!important}
  .bloc-bref{padding:26px 30px}
  .bloc-points-grid{grid-template-columns:1fr 1fr}
  .bloc-achat .button{width:auto}
  .cta-collant .button{gap:20px;padding-inline:24px}
  .wpcf7 input[type=submit]{width:auto}
  .not-found{padding-block:96px 140px}
  .search-dialog-inner{padding:64px}
  .lightbox{padding:40px}
}

/* ==========================================================================
   ≥ 1001 px — ordinateur : menu déplié, sommaire en colonne
   ========================================================================== */
@media(min-width:1001px){
  .header-main{min-height:96px;gap:24px}
  .brand img{height:52px}
  .menu-toggle{display:none}
  .main-navigation,.js .main-navigation{display:block;padding-block:0;max-height:none;overflow:visible}
  .main-navigation .menu{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 36px}
  .main-navigation .menu>.menu-item{display:flex;align-items:center;border-bottom:0}
  .main-navigation .menu>.menu-item>a{display:block;width:auto;padding:16px 0;font-size:var(--t-sm)}
  .submenu-toggle{position:static;width:28px;height:44px}
  .main-navigation .sub-menu{position:absolute;left:-24px;top:100%;width:280px;padding:14px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 30px #0000000f;z-index:10}
  .main-navigation .sub-menu .sub-menu{left:100%;top:0}

  .hero{grid-template-columns:44% 56%;min-height:580px}
  .hero-bottom span:last-child{display:inline}
  .manifesto-strip ul{flex-wrap:nowrap;justify-content:space-between}
  .section-heading>p{max-width:400px}
  .editorial-section{min-height:600px}
  .editorial-copy{padding:80px clamp(28px,6vw,100px)}
  .post-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  .footer-main{grid-template-columns:2fr 1.2fr 1fr}

  .article-hero{gap:clamp(36px,6vw,96px)}
  .article-body{grid-template-columns:210px minmax(0,1fr);gap:5%;max-width:var(--max)}
  .article-sidebar{padding-bottom:0;border-bottom:0}
  .article-sidebar:has(.table-of-contents[hidden]){display:block}
  .table-of-contents{position:sticky;top:28px}
}
@media(hover:hover) and (min-width:1001px){.main-navigation .menu-item:hover>.sub-menu{display:block}}

/* ==========================================================================
   ≥ 1201 px — grand écran
   ========================================================================== */
@media(min-width:1201px){
  .header-tagline{display:block}
  .header-actions{margin-left:0}
  .hero{min-height:640px}
  .hero-copy{padding:72px 56px 36px var(--gutter)}
  .hero-bottom{margin-top:56px}
  .footer-main{gap:64px}
  .article-body{grid-template-columns:250px minmax(0,var(--measure));gap:clamp(40px,7%,110px);justify-content:center}
}

/* ≥ 1800 px — très grand écran */
@media(min-width:1800px){
  .hero{min-height:740px}
  .hero-copy{padding-left:max(var(--gutter),calc((100vw - var(--max))/2))}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media print{
  .site-header,.announcement,.site-footer,.article-sidebar,.hero-buttons,.search-dialog,.lightbox,.related-section,.gallery-expand,.comments-area,.cta-collant,.zone-libre{display:none!important}
  .container{width:100%}
  .article-hero,.article-body{display:block}
  .article-gallery{max-width:50%}
  .entry-content{font-size:11pt}
  body{background:#fff;color:#000}
  a{text-decoration:underline}
}

/* ---------- Blocs des fiches (données Socle) ---------- */
.badge-dispo{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;font-size:var(--t-xs);font-weight:700;line-height:1.3;color:#fff}
.badge-dispo::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.85}
.badge-dispo.is-succes{background:var(--ds-succes)}
.badge-dispo.is-alerte{background:var(--ds-alerte)}
.badge-dispo.is-rupture{background:var(--ds-rupture)}
.bloc-achat .badge-dispo{margin-top:8px}
.bloc-specs{margin-top:56px}
.bloc-specs h2{font-size:var(--t-h2);margin-bottom:20px}
.specs-cles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none}
.specs-cles li{display:flex;flex-direction:column;gap:2px;padding:14px 16px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius)}
.specs-cles span{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.specs-cles strong{font-size:var(--t-base);color:var(--ink)}
.specs-table{overflow-x:auto}
.specs-table table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}
.specs-table th,.specs-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.specs-table th{width:40%;font-weight:650;color:var(--muted)}
.bloc-galerie{margin-bottom:40px}
.bloc-galerie ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.bloc-galerie a{display:block;aspect-ratio:1;overflow:hidden;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius)}
.bloc-galerie img{width:100%;height:100%;object-fit:contain;transition:transform .3s}
.bloc-galerie a:hover img{transform:scale(1.04)}
.bloc-video{margin-top:48px}
.bloc-video iframe{width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:var(--radius)}
.bloc-alternatives{margin-top:56px;padding:24px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-pop)}
.bloc-alternatives h2{font-size:var(--t-h3);margin-bottom:8px}
.bloc-alternatives ul{margin:16px 0 0;padding:0;list-style:none}
.bloc-alternatives li{border-top:1px solid var(--line)}
.bloc-alternatives a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-weight:650}
.bloc-reassurance{background:var(--soft);border-top:1px solid var(--line)}
.bloc-reassurance ul{display:grid;gap:12px;margin-block:0;padding:22px 0;list-style:none}
.bloc-reassurance li{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-sm)}
.bloc-reassurance .icon{color:var(--ds-succes);width:20px;height:20px}
.transparence a{color:var(--accent-text);text-decoration:underline}
@media(min-width:701px){
  .specs-cles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bloc-galerie ul{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bloc-reassurance ul{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1001px){.bloc-galerie ul{grid-template-columns:repeat(8,minmax(0,1fr))}}

/* ---------- Réglages du personnalisateur : boutons, cartes, en-tête ---------- */
.btn-plein .button,.btn-plein .wp-block-button__link,.btn-plein .wpcf7 input[type=submit]{border-color:var(--accent);box-shadow:none}
.btn-plein .button:hover,.btn-plein .wp-block-button__link:hover{border-color:var(--accent-hover);transform:translateY(-1px);box-shadow:0 8px 20px #0000001f}
.btn-contour .button,.btn-contour .wp-block-button__link{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:none}
.btn-contour .button:hover,.btn-contour .wp-block-button__link:hover{background:var(--accent);color:var(--on-accent);border-color:var(--accent);transform:none;box-shadow:none}
.btn-contour .editorial-copy .button{color:var(--paper);border-color:var(--paper)}
.cards-ombre .post-card:hover{border-color:var(--line);box-shadow:0 16px 36px #0000001a;transform:translateY(-3px)}
.cards-aucun .post-card:hover{border-color:var(--line);box-shadow:none;transform:none}
.has-sticky-header .site-header{position:sticky;top:0;transition:box-shadow .2s}
.has-sticky-header .site-header.is-stuck{box-shadow:0 6px 18px #0000001a}
.admin-bar.has-sticky-header .site-header{top:32px}
@media(max-width:782px){.admin-bar.has-sticky-header .site-header{top:46px}}

/* ---------- Retour en haut & barre de lecture ---------- */
.back-to-top{position:fixed;right:20px;bottom:20px;z-index:45;display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--ink);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-pop);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{text-decoration:none;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.btn-plein .back-to-top{border-color:var(--accent);box-shadow:none}
.btn-contour .back-to-top{background:var(--surface);color:var(--ink);box-shadow:none}
body:has(.cta-collant:not([hidden])) .back-to-top{bottom:92px}
.reading-progress{position:fixed;left:0;right:0;top:0;z-index:60;height:4px;pointer-events:none}
.reading-progress span{display:block;height:100%;width:100%;background:var(--accent-deco);transform-origin:left;transform:scaleX(0)}
.admin-bar .reading-progress{top:32px}
@media(min-width:701px){.back-to-top{right:28px;bottom:28px}}
@media print{.back-to-top,.reading-progress{display:none!important}}

/* ---------- Contenu produit par le robot de rédaction ---------- */
.entry-content .chapeau{font-size:var(--t-lead);line-height:1.6;font-weight:500;color:var(--ink)}
.entry-content .methodo{padding:12px 16px;background:var(--soft);border-left:3px solid var(--line);border-radius:0 var(--radius) var(--radius) 0;font-size:var(--t-sm);line-height:1.6;color:var(--muted)}
.entry-content .methodo__l{white-space:nowrap;color:var(--accent-text)}
.entry-content .exergue{margin:2em 0;padding:22px 24px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-pop)}
.entry-content .exergue::before{content:'';display:block;width:32px;height:4px;margin-bottom:12px;background:var(--accent-deco)}
.entry-content .exergue p{margin:0;font-family:var(--font-title);font-size:var(--t-h3);line-height:1.35;color:var(--ink)}
.btn-plein .entry-content .exergue,.btn-contour .entry-content .exergue{box-shadow:none}
.entry-content .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.entry-content .table tr:has(strong) td{background:var(--soft)}
.entry-content .lien-categorie{padding:12px 16px;background:var(--soft);border-radius:var(--radius);font-size:var(--t-sm)}
.entry-content strong.vif{color:var(--accent-text)}
/* La passe typographique du robot accentue parfois le nom de classe. */
.entry-content [class="lien-catégorie"]{padding:12px 16px;background:var(--soft);border-radius:var(--radius);font-size:var(--t-sm)}

/* ==========================================================================
   Tests de canapés (type « test ») — visuels à gauche, données à droite.
   Toutes les couleurs passent par les jetons : changer l'accent dans le
   personnalisateur (orange → violet…) recolore la page entière.
   ========================================================================== */
.test-hero{display:flex;flex-direction:column;gap:28px;padding:0 0 40px}
.test-visuels,.test-donnees{min-width:0}
.test-visuel-principal{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-pop)}
.test-visuel-principal img{width:100%;height:100%;object-fit:cover}
.test-vignettes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}
.test-vignettes button{display:block;width:100%;aspect-ratio:4/3;padding:0;overflow:hidden;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.test-vignettes button:hover{border-color:var(--ink)}
.test-vignettes button.is-active{border:2px solid var(--ink);box-shadow:3px 3px 0 var(--accent-deco)}
.test-vignettes img{width:100%;height:100%;object-fit:cover}
.test-donnees h1{font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:1.08;margin-bottom:18px}
.test-donnees .eyebrow{margin-bottom:12px}
.test-offre{display:grid;gap:12px;margin:24px 0 0;padding:20px;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-pop)}
.test-prix{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px}
.test-offre .small{margin:0;font-size:var(--t-xs);color:var(--muted)}
.test-offre .button{width:100%}
.test-cases{margin-top:24px}
.test-cases-titre{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-family:var(--font-body);font-size:var(--t-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.test-cases-titre::before{content:"";width:22px;height:4px;background:var(--accent-deco)}
.test-cases dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.test-cases dl>div{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius)}
.test-cases dt{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.test-cases dd{margin:0;font-weight:600;color:var(--ink);line-height:1.35}
.test-cases-couchage dl>div{background:var(--soft);border-color:var(--ink)}
.test-coloris{margin:20px 0 0;font-size:var(--t-sm);color:var(--muted)}
.test-coloris strong{color:var(--ink)}
.test-illustration{margin:2em 0 2.4em;overflow:hidden;background:var(--surface);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow-pop)}
.test-illustration img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.test-fiche .entry-content h2{position:relative;padding-top:18px}
.test-fiche .entry-content h2::before{content:"";position:absolute;left:0;top:0;width:44px;height:5px;background:var(--accent-deco)}
.test-fiche .entry-content ul li::marker{color:var(--accent-deco)}

@media(min-width:701px){
  .test-offre{grid-template-columns:1fr auto;align-items:center}
  .test-offre .small{grid-column:1}
  .test-offre .button{grid-column:2;grid-row:1/span 2;width:auto}
  .test-cases dl{grid-template-columns:repeat(4,minmax(0,1fr))}
  .test-cases:not(.test-cases-couchage) dl{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:1001px){
  .test-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:start;padding:8px 0 64px}
  .test-visuels{position:sticky;top:28px}
  .test-hero .test-cases dl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .test-hero .test-cases:not(.test-cases-couchage) dl{grid-template-columns:repeat(3,minmax(0,1fr))}
  .test-offre{grid-template-columns:1fr}
  .test-offre .button{grid-column:1;grid-row:auto;width:100%}
}
@media(min-width:1201px){
  .test-offre{grid-template-columns:1fr auto}
  .test-offre .button{grid-column:2;grid-row:1/span 2;width:auto}
}
@media print{.test-vignettes,.test-offre .button{display:none!important}.test-hero{display:block}}
.test-pastilles{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.test-pastilles li{padding:6px 12px;background:var(--soft);border:1.5px solid var(--ink);border-radius:999px;font-size:var(--t-xs);font-weight:700;color:var(--ink)}
.test-offre .price{font-size:clamp(2rem,4vw,2.6rem)}
.test-rassure{display:flex;flex-wrap:wrap;gap:6px 18px;grid-column:1/-1;margin:4px 0 0;padding:12px 0 0;border-top:1px solid var(--line);list-style:none;font-size:var(--t-xs);font-weight:600;color:var(--text)}
.test-rassure li{display:flex;align-items:center;gap:6px}
.test-rassure svg{width:16px;height:16px;color:var(--green)}
