/* ====== TOKENS — extraits de sortlist.fr (screenshot homepage, 05/09/2026) + favicon officiel ====== */
:root{
  --bg:#ffffff; --bg-alt:#f5f5f5; --bg-footer:#fafafa;
  --dark:#020219; --accent:#315ff3; --accent-dark:#1f45d1;
  --pastel-blue:#ddeafb; --pastel-blue-text:#1d4ed8;
  --pastel-green-bg:#dbeed2; --pastel-green-text:#2f7a3d;
  --pastel-pink-bg:#fbdfe8; --pastel-pink-text:#c22a63;
  --pastel-amber-bg:#fbeccb; --pastel-amber-text:#a9660a;
  --pastel-gray:#ececec;
  --muted:#63636b; --border:#e5e5e7; --white:#ffffff;
  --serif:'Playfair Display', Georgia, serif;
  --sans:'Inter', system-ui, -apple-system, sans-serif;
  --wordmark:'Poppins', var(--sans);
  --r:10px; --r-lg:20px; --r-full:999px;
  --max:1180px; --max-sm:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; font-family:var(--sans); background:var(--bg); color:#1a1a1a; line-height:1.6; overflow-x:hidden;}
.wrap h1, .wrap h2, .wrap h3{font-family:var(--serif); font-weight:800; margin:0 0 .5em; color:#111;}
a{color:inherit;}
img{max-width:100%;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 1.5rem;}

/* ====== HEADER (calqué sur sortlist.fr) ====== */
header.top{border-bottom:1px solid var(--border); padding:0; background:var(--white); position:sticky; top:0; z-index:100;}
header.top .wrap{display:flex; justify-content:space-between; align-items:center; gap:1rem; height:64px;}
.wordmark{font-family:var(--wordmark); font-weight:800; font-size:1.4rem; letter-spacing:-.02em; color:#111; text-decoration:none; flex-shrink:0;}
.btn-primary{display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:.65rem 1.3rem; border-radius:var(--r-full); font-weight:700; font-size:.88rem; border:none; cursor:pointer; white-space:nowrap;}
.btn-primary:hover{background:var(--accent-dark);}

.nav-main{display:flex; align-items:center; gap:1.6rem; flex:1; margin-left:2rem;}
.nav-item{position:relative;}
.nav-item > button{background:none; border:none; font:inherit; font-size:.9rem; font-weight:500; color:#2a2a2a; display:flex; align-items:center; gap:.3rem; cursor:pointer; padding:.4rem 0;}
.nav-item > button::after{content:''; width:7px; height:7px; border-right:2px solid #8a8a8a; border-bottom:2px solid #8a8a8a; transform:rotate(45deg); margin-top:-3px;}
.nav-dropdown{position:absolute; top:calc(100% + .8rem); left:50%; transform:translateX(-50%); background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:0 12px 32px rgba(0,0,0,.1); padding:1.2rem; display:none; width:560px; z-index:110;}
.nav-item:hover .nav-dropdown, .nav-item:focus-within .nav-dropdown{display:block;}
.nav-dropdown .groups{display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem 1.6rem;}
.nav-dropdown .group p{font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin:0 0 .5rem; font-weight:700;}
.nav-dropdown .group ul{list-style:none; margin:0; padding:0; display:grid; gap:.35rem;}
.nav-dropdown .group a{font-size:.85rem; color:#2a2a2a; text-decoration:none;}
.nav-dropdown .group a:hover{color:var(--accent);}

.nav-right{display:flex; align-items:center; gap:1rem;}
.nav-search{position:relative; display:flex; align-items:center; gap:.4rem; border:1px solid var(--border); border-radius:var(--r-full); padding:.5rem .9rem; font-size:.85rem; color:var(--muted); width:190px;}
.nav-search input{border:none; outline:none; font:inherit; width:100%; background:none;}
.search-results{display:none; position:absolute; top:calc(100% + .6rem); left:0; right:0; min-width:280px; background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); box-shadow:0 12px 32px rgba(0,0,0,.12); padding:.5rem; z-index:120; max-height:340px; overflow-y:auto;}
.search-results.show{display:block;}
.search-result{display:flex; flex-direction:column; gap:.1rem; padding:.6rem .7rem; border-radius:var(--r); text-decoration:none; color:inherit;}
.search-result:hover{background:var(--bg-alt);}
.search-result .sr-title{font-size:.85rem; font-weight:600; color:#111;}
.search-result .sr-cat{font-size:.72rem; color:var(--muted);}
.search-empty{margin:0; padding:.6rem .7rem; font-size:.82rem; color:var(--muted);}
.nav-icon{width:22px; height:22px; color:#5a5a5a;}
.hamburger{display:none; background:none; border:none; cursor:pointer; padding:.3rem; margin-left:.3rem;}
.hamburger span{display:block; width:22px; height:2px; background:#1a1a1a; margin:5px 0; border-radius:2px;}

.mobile-panel{display:none; position:fixed; inset:64px 0 0 0; background:#fff; z-index:99; overflow-y:auto; padding:1.2rem 1.5rem 3rem;}
.mobile-panel.open{display:block;}
.mobile-panel details{border-bottom:1px solid var(--border); padding:.9rem 0;}
.mobile-panel summary{font-weight:600; font-size:.98rem; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center;}
.mobile-panel summary::-webkit-details-marker{display:none;}
.mobile-panel .group{margin:.8rem 0;}
.mobile-panel .group p{font-size:.72rem; text-transform:uppercase; color:var(--muted); margin:0 0 .4rem;}
.mobile-panel .group ul{list-style:none; margin:0 0 0; padding:0; display:grid; gap:.5rem;}
.mobile-panel .group a{font-size:.9rem; color:#2a2a2a; text-decoration:none;}
.mobile-panel .btn-primary{display:block; text-align:center; margin-top:1.2rem;}

@media(max-width:900px){
  .nav-main, .nav-search{display:none;}
  .hamburger{display:block;}
  .nav-right .btn-primary{padding:.55rem 1rem; font-size:.82rem;}
}
@media(max-width:520px){
  .nav-right .btn-primary{display:none;}
}

.breadcrumb{font-size:.8rem; color:var(--muted); margin:1.2rem 0; overflow-wrap:anywhere;}
.breadcrumb a{text-decoration:none; color:var(--accent);}

.cat-label{display:inline-flex; align-items:center; gap:.35rem; font-size:.78rem; font-weight:600; color:var(--pastel-blue-text); background:var(--pastel-blue); padding:.3rem .75rem; border-radius:var(--r-full); margin-bottom:1rem;}
h1{font-size:2.1rem; line-height:1.2; max-width:24ch;}
h1 .hl{color:var(--accent);}

/* ====== POINTS-CLÉS (module_key_takeaways — même composant que le blog) ====== */
.takeaways{margin:1.4rem 0 2.2rem; position:relative; background:linear-gradient(135deg, #eef0fe 0%, #f3f0fd 100%); border-radius:var(--r-lg); padding:1.8rem 1.6rem 1.8rem 2rem; border-left:6px solid #5b4fe0;}
.takeaways h2{font-family:var(--sans); font-weight:800; font-size:1.15rem; margin:0 0 1.1rem; color:#111;}
.tk-list{list-style:none; margin:0; padding:0; display:grid; gap:1.1rem;}
.tk-list li{position:relative; padding-left:1.6rem; font-size:.95rem; color:#2a2a33; line-height:1.55;}
.tk-list li::before{content:'✓'; position:absolute; left:0; top:.1rem; color:#5b4fe0; font-weight:800; font-size:1rem;}
.tk-list b{color:#111;}
.tk-list a{color:#5b4fe0; text-decoration:underline;}

/* ====== LAYOUT AVEC TOC STICKY ====== */
.page-layout{display:grid; grid-template-columns:190px minmax(0,1fr); gap:2.2rem; align-items:start;}
nav.toc{position:sticky; top:5.2rem; font-size:.82rem;}
nav.toc .toc-label{font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); font-weight:700; margin-bottom:.7rem;}
nav.toc ul{list-style:none; margin:0; padding:0; border-left:2px solid var(--border);}
nav.toc li{margin:0;}
nav.toc a{display:block; padding:.4rem 0 .4rem .9rem; color:var(--muted); text-decoration:none; border-left:2px solid transparent; margin-left:-2px; transition:color .15s, border-color .15s;}
nav.toc a:hover{color:#1a1a1a;}
nav.toc a.active{color:var(--accent); border-left-color:var(--accent); font-weight:600;}
@media(max-width:980px){
  .page-layout{grid-template-columns:minmax(0,1fr);}
  nav.toc{position:static; margin-bottom:1.5rem;}
  nav.toc ul{border-left:none; display:flex; overflow-x:auto; gap:.4rem; padding-bottom:.4rem; -webkit-overflow-scrolling:touch;}
  nav.toc a{border-left:none; border:1px solid var(--border); border-radius:var(--r-full); padding:.4rem .8rem; white-space:nowrap; margin-left:0;}
  nav.toc a.active{background:var(--pastel-blue); border-color:var(--pastel-blue);}
}

main.content{min-width:0;}

/* ====== VERDICT ====== */
section.verdict{background:var(--dark); color:#fff; border-radius:var(--r-lg); padding:2.2rem; margin:0 0 2.2rem; position:relative; overflow:hidden;}
section.verdict::before{content:''; position:absolute; top:-50%; right:-10%; width:460px; height:460px; max-width:70%; background:radial-gradient(circle, rgba(49,95,243,.45), transparent 70%); pointer-events:none;}
.verdict-tag{font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#8fa8ff; position:relative;}
.verdict-grid{display:flex; gap:1.6rem; align-items:flex-start; flex-wrap:wrap; position:relative; margin-top:.9rem;}
.verdict-logo{width:76px; height:76px; border-radius:var(--r); background:#fff; flex-shrink:0; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.verdict-logo img{width:44px; height:44px;}
.verdict-body{flex:1; min-width:0;}
.verdict h2{color:#fff; font-size:1.8rem; margin-bottom:.6rem;}
.verdict-bullets{list-style:none; margin:0 0 1.1rem; padding:0; display:grid; gap:.55rem;}
.verdict-bullets li{position:relative; padding-left:1.8rem; font-size:.95rem; color:#e7e9f5; line-height:1.5;}
.verdict-bullets li::before{content:'✓'; position:absolute; left:0; top:.15rem; width:20px; height:20px; border-radius:50%; background:var(--accent); color:#fff; font-size:.7rem; line-height:20px; text-align:center;}
.verdict-cta{display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:.7rem 1.4rem; border-radius:var(--r-full); font-weight:700; font-size:.9rem;}
.verdict-meta{font-size:.74rem; color:#8b8b93; margin-top:1rem;}

/* ====== METHOD ====== */
section.method{background:var(--bg-alt); border-radius:var(--r-lg); padding:1.8rem 1.6rem; margin-bottom:2.2rem;}
section.method h3{font-size:1.05rem;}
.criteria{display:grid; grid-template-columns:repeat(5,1fr); gap:.7rem; margin:1.1rem 0;}
.criterion{background:#fff; border-radius:var(--r); padding:.7rem .5rem; text-align:center;}
.criterion .pct{font-weight:800; color:var(--accent); font-size:1.1rem;}
.criterion .lbl{font-size:.72rem; color:var(--muted); margin-top:.15rem;}
.legit{font-size:.9rem; color:#3a3a3a; border-left:3px solid var(--accent); padding-left:1rem; margin-top:1rem;}
@media(max-width:640px){ .criteria{grid-template-columns:repeat(2,1fr);} }

/* ====== SECTIONS ====== */
section.block{margin:2.6rem 0; scroll-margin-top:5rem;}
section.block h2{font-size:1.45rem;}
.lede{color:var(--muted); font-size:.94rem; max-width:65ch; margin-top:-.3rem;}

.alt-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin-top:1.3rem;}
.alt-card{border:1px solid var(--border); border-radius:var(--r-lg); padding:1.3rem; background:#fff;}
.alt-card h3{font-family:var(--sans); font-weight:700; font-size:1rem; margin:0 0 .4rem; display:flex; align-items:center; gap:.5rem;}
.alt-card img{width:22px; height:22px; border-radius:4px;}
.alt-when{font-size:.87rem; color:var(--muted); margin:0;}
.alt-when b{color:#1a1a1a;}
@media(max-width:640px){ .alt-grid{grid-template-columns:1fr;} }

ul.exhaustive{columns:2; gap:2rem; padding-left:1.1rem; font-size:.9rem; margin-top:1rem;}
ul.exhaustive li{margin-bottom:.5rem; break-inside:avoid; color:#333;}
ul.exhaustive b{color:#111;}
@media(max-width:640px){ ul.exhaustive{columns:1;} }

table{width:100%; border-collapse:collapse; margin-top:1rem; font-size:.88rem;}
th,td{text-align:left; padding:.65rem .7rem; border-bottom:1px solid var(--border); vertical-align:top;}
thead th{font-size:.72rem; text-transform:uppercase; letter-spacing:.03em; color:var(--muted); border-bottom:2px solid #1a1a1a; font-weight:700;}
tbody tr:hover{background:var(--bg-alt);}
td.win{color:var(--pastel-green-text); font-weight:700;}
.table-wrap{overflow-x:auto; -webkit-overflow-scrolling:touch;}
.table-wrap table{min-width:520px;}

/* face à face */
.vs-block{border:1px solid var(--border); border-radius:var(--r-lg); padding:1.6rem; margin-top:1.4rem; background:#fff;}
.vs-head{display:flex; align-items:center; gap:.6rem; margin-bottom:.6rem; flex-wrap:wrap;}
.vs-head img{width:28px; height:28px; border-radius:6px;}
.vs-head .x{color:var(--muted); font-weight:700;}
.vs-summary{font-size:.92rem; color:#333; margin-bottom:1rem;}
.vs-limits{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; font-size:.85rem;}
.vs-limits div{background:var(--bg-alt); border-radius:var(--r); padding:.9rem 1rem;}
.vs-limits b{display:block; margin-bottom:.3rem;}
@media(max-width:640px){.vs-limits{grid-template-columns:1fr;}}

/* exemples projets */
.cases{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.3rem;}
.case-card{border:1px solid var(--border); border-radius:var(--r-lg); padding:1.2rem; background:#fff;}
.case-card .sector{display:inline-block; font-size:.7rem; font-weight:700; color:var(--pastel-green-text); background:var(--pastel-green-bg); padding:.2rem .6rem; border-radius:var(--r-full); margin-bottom:.6rem;}
.case-card h3{margin:0 0 .3rem; font-family:var(--sans); font-size:.98rem;}
.case-card p{font-size:.85rem; color:var(--muted); margin:0;}
@media(max-width:780px){.cases{grid-template-columns:1fr;}}

.reviews-agg{background:#fff; border:1px solid var(--border); border-radius:var(--r-lg); padding:1.5rem; margin-top:1rem;}
.reviews-agg p{margin:0 0 .7rem; font-size:.92rem;}
.reviews-agg .src{font-size:.74rem; color:var(--muted); margin-top:.6rem;}
.reviews-note, .logo-note{font-size:.83rem; color:#5a4a2a; background:#fff7e0; border:1px dashed #e0c579; border-radius:var(--r); padding:.8rem 1rem; margin-top:1rem;}

.stats-row{display:grid; grid-template-columns:repeat(4,1fr); gap:.9rem; margin-top:1.2rem;}
.stat{border-radius:var(--r-lg); padding:1.1rem; background:var(--bg-alt);}
.stat .n{font-family:var(--serif); font-size:1.5rem; color:var(--accent); display:block; font-weight:800;}
.stat .l{font-size:.76rem; color:var(--muted);}
@media(max-width:640px){.stats-row{grid-template-columns:repeat(2,1fr);}}

.logo-row{display:flex; gap:1rem; margin-top:1rem; flex-wrap:wrap;}
.logo-chip{display:flex; align-items:center; gap:.6rem; border:1px solid var(--border); border-radius:var(--r-full); padding:.5rem 1rem .5rem .5rem; background:#fff;}
.logo-chip img{width:28px; height:28px; border-radius:50%;}
.logo-chip span{font-size:.85rem; font-weight:600;}

.sponsored{border:2px solid var(--accent); border-radius:var(--r-lg); padding:1.3rem 1.5rem; margin-top:1.3rem; position:relative; background:#eef2ff;}
.sponsored .badge{position:absolute; top:-11px; left:1.3rem; background:var(--accent); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.25rem .6rem; border-radius:var(--r-full);}

/* points ouverts — voir .claude/docs/open-points.md */
[data-open-point]{position:relative;}
[data-open-point]::before{
  content:"⚑ Point ouvert";
  position:absolute; top:-11px; left:1.3rem;
  background:#c8791c; color:#fff; font-size:.68rem; font-weight:700;
  letter-spacing:.04em; text-transform:uppercase;
  padding:.25rem .6rem; border-radius:var(--r-full);
}
.sponsored[data-open-point]::before{left:auto; right:1.3rem;}

/* wizard */
.wizard{background:var(--bg-alt); border-radius:var(--r-lg); padding:1.6rem; margin-top:1.4rem;}
.wizard-q{margin-bottom:1.3rem;}
.wizard-q p{font-weight:600; margin:0 0 .6rem; font-size:.92rem;}
.wizard-opts{display:flex; gap:.6rem; flex-wrap:wrap;}
.wizard-opts label{border:1px solid var(--border); background:#fff; border-radius:var(--r-full); padding:.5rem 1rem; font-size:.85rem; cursor:pointer; display:flex; align-items:center; gap:.4rem;}
.wizard-opts input{accent-color:var(--accent);}
.wizard-result{display:none; margin-top:1.2rem; background:var(--dark); color:#fff; border-radius:var(--r-lg); padding:1.3rem 1.5rem;}
.wizard-result.show{display:block;}
.wizard-result .rname{font-family:var(--serif); font-size:1.3rem; color:#fff;}
.wizard-result p{font-size:.88rem; color:#d6d9ee; margin:.4rem 0 0;}
.wizard-fallback{font-size:.85rem; color:var(--muted);}

.faq details{border-bottom:1px solid var(--border); padding:.9rem 0;}
.faq summary{cursor:pointer; font-weight:600; list-style:none; font-size:.95rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+'; float:right; color:var(--accent);}
.faq details[open] summary::after{content:'–';}
.faq p{margin:.6rem 0 0; color:var(--muted); font-size:.9rem;}

.cta-affiliate{display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:.7rem 1.3rem; border-radius:var(--r-full); font-weight:700; font-size:.87rem; margin-top:.6rem;}

/* EEAT author — carte façon "À propos de l'auteur" */
.author-card{display:flex; gap:1.2rem; align-items:flex-start; border:1px solid var(--border); border-radius:var(--r-lg); padding:1.5rem 1.7rem; margin:2.6rem 0; background:#fff; flex-wrap:wrap;}
.author-avatar{width:64px; height:64px; border-radius:50%; background:var(--pastel-blue); color:var(--pastel-blue-text); display:flex; align-items:center; justify-content:center; font-weight:800; font-family:var(--serif); font-size:1.1rem; flex-shrink:0; overflow:hidden;}
.author-avatar img{width:100%; height:100%; object-fit:cover;}
.author-eyebrow{font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-bottom:.3rem;}
.author-name{font-family:var(--sans); font-weight:800; font-size:1.05rem; margin-bottom:.5rem;}
.author-bio{font-size:.88rem; color:#3a3a3a; line-height:1.6; max-width:70ch;}
.author-foot{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; margin-top:.9rem;}
.author-foot .see-all{font-size:.85rem; color:var(--accent); text-decoration:none; font-weight:600;}
.author-social{display:flex; gap:1.1rem; flex-wrap:wrap;}
.author-social a{display:flex; align-items:center; gap:.4rem; font-size:.83rem; color:#3a3a3a; text-decoration:none;}
.author-social svg{width:16px; height:16px; flex-shrink:0;}

/* sources */
.sources{font-size:.8rem; color:var(--muted); margin-top:2rem;}
.sources ol{padding-left:1.2rem;}
.sources li{margin-bottom:.3rem;}
.sources a{color:var(--accent); text-decoration:none;}

/* ====== CAROUSEL "À découvrir" (maillage interne) ====== */
.discover{margin:3.2rem 0 1rem;}
.discover-head{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:1rem; gap:1rem;}
.discover-head h2{font-size:1.4rem; margin:0;}
.discover-nav{display:flex; gap:.5rem;}
.discover-nav button{width:36px; height:36px; border-radius:50%; border:1px solid var(--border); background:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1rem; color:#333;}
.discover-nav button:hover{background:var(--bg-alt);}
.discover-track{display:flex; gap:1rem; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:.6rem; -webkit-overflow-scrolling:touch; scrollbar-width:thin;}
.discover-card{scroll-snap-align:start; flex:0 0 270px; border:1px solid var(--border); border-radius:var(--r-lg); background:#fff; padding:1.2rem; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.5rem;}
.discover-card:hover{border-color:var(--accent);}
.discover-card .dc-cat{font-size:.7rem; font-weight:700; color:var(--pastel-blue-text); background:var(--pastel-blue); padding:.2rem .6rem; border-radius:var(--r-full); align-self:flex-start;}
.discover-card.soon .dc-cat{color:var(--muted); background:var(--pastel-gray);}
.discover-card img{border-radius:8px;}
.discover-card h3{font-family:var(--sans); font-size:1rem; margin:0; color:#111;}
.discover-card p{font-size:.83rem; color:var(--muted); margin:0;}
.discover-card.soon{opacity:.6; cursor:default;}

/* ====== HOMEPAGE — hero, grille verdicts, grille SEO groupée ====== */
.hero-grid{display:grid; grid-template-columns:1.3fr 1fr; gap:2.4rem; align-items:center; margin-top:.6rem;}
.hero-media img{width:100%; height:100%; max-height:420px; object-fit:cover; border-radius:var(--r-lg);}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr; gap:1.4rem;}
  .hero-media{order:-1;}
  .hero-media img{max-height:260px;}
}

.trust-line{font-size:.85rem; font-weight:600; color:var(--muted); margin-top:.6rem;}

.team-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.3rem;}
.team-grid .author-card{margin:0;}
@media(max-width:760px){ .team-grid{grid-template-columns:1fr;} }

.plain-list{margin:1rem 0 0; padding-left:1.2rem; font-size:.92rem; color:#333; display:grid; gap:.6rem;}
.plain-list li{line-height:1.55;}
.plain-list b{color:#111;}

.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:1.3rem;}
.cat-card{border:1px solid var(--border); border-radius:var(--r-lg); background:#fff; padding:1.4rem; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:.6rem;}
.cat-card:hover{border-color:var(--accent);}
.cat-card.soon{opacity:.55; cursor:default;}
.cat-card h3{font-family:var(--sans); font-size:1.05rem; margin:0;}
.cat-card p{font-size:.85rem; color:var(--muted); margin:0;}
@media(max-width:900px){ .cat-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .cat-grid{grid-template-columns:1fr;} }

.seo-cats{display:grid; grid-template-columns:1fr 1fr; gap:1.8rem 2.4rem; margin-top:1.4rem;}
.seo-group h3{font-family:var(--sans); font-weight:700; font-size:.95rem; margin:0 0 .7rem; color:#111;}
.pill-list{display:flex; flex-wrap:wrap; gap:.5rem;}
.cat-pill{display:inline-flex; align-items:center; gap:.35rem; font-size:.82rem; border:1px solid var(--border); border-radius:var(--r-full); padding:.4rem .8rem; color:var(--muted); background:#fff;}
.cat-pill.soon{opacity:.7;}
@media(max-width:760px){ .seo-cats{grid-template-columns:1fr;} }

/* ====== FOOTER (identique sortlist.fr) ====== */
footer.site{margin-top:3rem; background:var(--bg-footer); border-top:1px solid var(--border); padding:2.6rem 0 0; font-size:.85rem; color:var(--muted);}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:2rem; padding-bottom:2rem;}
.foot-brand .wordmark{font-size:1.3rem; display:inline-block; margin-bottom:.9rem;}
.foot-brand p{font-size:.85rem; line-height:1.6; max-width:32ch;}
.foot-social{display:flex; gap:.6rem; margin-top:1rem;}
.foot-social a{width:34px; height:34px; border-radius:50%; background:var(--pastel-blue); color:var(--pastel-blue-text); display:flex; align-items:center; justify-content:center;}
.foot-social svg{width:16px; height:16px;}
.foot-col p{font-size:.85rem; font-weight:700; color:#111; margin:0 0 .9rem;}
.foot-col ul{list-style:none; margin:0; padding:0; display:grid; gap:.6rem;}
.foot-col a{text-decoration:none; color:var(--muted); font-size:.85rem;}
.foot-col a:hover{color:var(--accent);}
.foot-bottom{border-top:1px solid var(--border); padding:1.1rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.8rem; font-size:.8rem;}
.foot-legal a{color:var(--muted); text-decoration:none; margin-right:.9rem;}
.foot-legal a:hover{color:var(--accent);}
.lang-pill{border:1px solid var(--border); border-radius:var(--r-full); padding:.4rem .9rem; font-size:.8rem; display:inline-flex; align-items:center; gap:.4rem;}

@media(max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;}
  .foot-brand{grid-column:span 2;}
}
@media(max-width:560px){
  .foot-grid{grid-template-columns:1fr;}
  .foot-brand{grid-column:auto;}
}

/* ====== CTA dans les tableaux ====== */
tfoot td{border-bottom:none; padding-top:1rem;}
.table-cta{display:inline-block; background:var(--accent); color:#fff; text-decoration:none; padding:.45rem .9rem; border-radius:var(--r-full); font-weight:700; font-size:.78rem; white-space:nowrap;}
.table-cta:hover{background:var(--accent-dark);}

/* ====== Resserrage des marges sur mobile — évite l'impression de contenu "décalé" ====== */
@media(max-width:480px){
  .wrap{padding:0 1rem;}
  h1{font-size:1.7rem;}
  .takeaways{padding:1.4rem 1.1rem 1.4rem 1.3rem; border-left-width:5px;}
  section.verdict{padding:1.4rem 1.2rem;}
  section.method{padding:1.4rem 1.1rem;}
  .alt-card, .vs-block, .case-card, .reviews-agg, .author-card, .wizard{padding:1.1rem;}
  .criteria{gap:.5rem;}
  .criterion{padding:.6rem .3rem;}
}
