/* Feuille unique du site. #f5b800 et #12312a viennent de config.py. */
@font-face{font-family:"Barlow SC";src:url(fonts/barlow-semi-condensed-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow SC";src:url(fonts/barlow-semi-condensed-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Source Serif 4";src:url(fonts/source-serif-4.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}

:root{
  --paper:#f3f6f1;--card:#ffffff;--ink:#12312a;--muted:#48645a;--line:#c7d5cb;--tint:#e4ece5;
  --accent:#f5b800;--accent-ink:#12312a;--plus:#1c6646;--minus:#96392c;
  --sans:"Barlow SC","Arial Narrow",Arial,sans-serif;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;
  --text:46rem;--wide:66rem;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#0e231e;--card:#15302a;--ink:#e9f0ea;--muted:#a9bdb0;--line:#2c4c41;--tint:#183a31;--plus:#86d6ae;--minus:#f2aa9e}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 var(--serif);overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:var(--sans);font-weight:700;line-height:1.1;margin:0}
h1{font-size:clamp(2.1rem,4vw + 1.1rem,3.1rem);letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,2.2vw + 1.1rem,2.2rem);margin-top:2.6rem}
h3{font-size:1.3rem;margin-top:1.7rem}
p,ul,ol,dl,table{margin:1rem 0}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:.16em;text-underline-offset:.2em}
a:hover{background:var(--accent);color:var(--accent-ink);text-decoration-color:transparent}
a:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
strong{font-weight:650}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:-999rem;top:0;background:var(--accent);color:var(--accent-ink);padding:.8rem 1rem;font-family:var(--sans)}
.skip:focus{left:0;z-index:5}
.wrap{max-width:var(--text);margin-inline:auto;padding-inline:1.15rem}
.wrap.wide{max-width:var(--wide)}

/* En-tête : marque, puis menu sur une seule ligne défilante */
.site-head{border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;flex-direction:column}
.brand{display:inline-flex;align-items:center;gap:.6rem;min-height:3.25rem;font:700 1.45rem/1 var(--sans);text-decoration:none;align-self:flex-start}
.brand:hover{background:none;color:inherit}
.brand img{width:2.1rem;height:2.1rem}
.nav{display:flex;gap:1.4rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin-inline:-1.15rem;padding-inline:1.15rem;font:500 1.1rem/1 var(--sans)}
.nav::-webkit-scrollbar{display:none}
.nav a{flex:0 0 auto;display:flex;align-items:center;min-height:2.9rem;text-decoration:none;border-bottom:.2rem solid transparent}
.nav a:hover{background:none;color:inherit;border-bottom-color:var(--accent)}
@media (min-width:60rem){
  .site-head .wrap{flex-direction:row;align-items:center;justify-content:space-between}
  .nav{margin:0;padding:0;overflow:visible}
}

/* Fil d'Ariane */
.crumb{font:500 1rem/1.4 var(--sans);color:var(--muted);margin:1.3rem 0 .9rem}
.crumb ol{display:flex;flex-wrap:wrap;gap:.2rem .5rem;list-style:none;margin:0;padding:0}
.crumb li + li::before{content:"/";margin-right:.5rem;color:var(--line)}
.crumb a{text-decoration-thickness:.1em}

.updated{font:500 1rem/1.4 var(--sans);color:var(--muted);margin:.7rem 0 0}
.lead{font-size:1.2rem;line-height:1.55;margin-top:1rem}
.hero-img{width:100%;margin:1.4rem 0 1.6rem;background:#12312a}
.note{border-left:.3rem solid var(--line);padding:.1rem 0 .1rem 1rem;color:var(--muted)}
main{padding-bottom:3rem}
main li{margin:.35rem 0}

/* Panneaux directionnels : les liens vers les comparatifs */
.signs{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.65rem}
.signs li{margin:0}
.sign{display:flex;flex-direction:column;justify-content:center;min-height:4.1rem;padding:.6rem 2.4rem .6rem 1rem;background:var(--accent);color:var(--accent-ink);text-decoration:none;font:700 1.25rem/1.15 var(--sans);clip-path:polygon(0 0,calc(100% - 1.5rem) 0,100% 50%,calc(100% - 1.5rem) 100%,0 100%)}
.sign small{font:500 1rem/1.3 var(--sans);margin-top:.15rem}
.sign:hover,.sign:focus-visible{background:var(--ink);color:var(--paper);outline:none}
@media (min-width:38rem){.signs{grid-template-columns:1fr 1fr}}
@media (min-width:60rem){.signs.three{grid-template-columns:1fr 1fr 1fr}}
.plain{list-style:none;padding:0}
.plain li{padding:.55rem 0;border-top:1px solid var(--line);font-family:var(--sans);font-size:1.15rem;font-weight:500;margin:0}
.plain li:last-child{border-bottom:1px solid var(--line)}
.plain span{display:block;color:var(--muted);font-size:1rem}

/* Accueil */
.home-hero{display:grid;gap:1rem;padding-top:1.6rem}
.home-hero .hero-img{margin:0}
@media (min-width:60rem){.home-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:2.5rem;padding-top:2.6rem}}
.universe{border-top:.35rem solid var(--ink);margin-top:3rem;padding-top:.2rem}
.universe h2{margin-top:1rem}
.universe > p{max-width:var(--text);margin-top:.5rem}
.cols{display:grid;gap:0 2.5rem}
@media (min-width:60rem){.cols{grid-template-columns:1.6fr 1fr}}
.cols h3{font-size:1.15rem;color:var(--muted);font-weight:500;margin-top:1.3rem}

/* Bouton Amazon : 48 px de haut, pleine largeur sur mobile */
.btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:3rem;width:100%;padding:.4rem 1.2rem;background:var(--accent);color:var(--accent-ink);font:700 1.2rem/1.15 var(--sans);text-decoration:none;border:2px solid var(--accent-ink);border-radius:3px}
.btn:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
@media (prefers-color-scheme:dark){.btn{border-color:var(--accent)}}
@media (min-width:48rem){.btn{display:inline-flex;width:auto;min-width:19rem}}

/* Fiche produit d'un classement */
.pick{background:var(--card);border:1px solid var(--line);border-left:.45rem solid var(--accent);padding:1.1rem 1.1rem 1.3rem;margin:1.6rem 0}
.pick-head{display:flex;align-items:center;gap:.8rem;margin:0 0 .6rem}
.rank{font:700 2.7rem/1 var(--sans)}
.tag{background:var(--ink);color:var(--paper);font:700 1.05rem/1 var(--sans);padding:.4rem .65rem}
.pick h2{margin:0;font-size:clamp(1.45rem,1.5vw + 1.1rem,1.8rem)}
.pick h3{font-size:1.15rem;margin-top:1rem}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem;font-family:var(--sans);margin:1rem 0 .4rem}
.specs div{border-top:1px solid var(--line);padding:.45rem 0}
.specs dt{color:var(--muted);font-weight:500;line-height:1.3}
.specs dd{margin:0;font-weight:700;font-size:1.15rem;line-height:1.25}
.pc{display:grid;gap:0 1.6rem}
@media (min-width:40rem){.pc{grid-template-columns:1fr 1fr}}
.pc ul{list-style:none;padding:0;margin:.4rem 0}
.pc li{position:relative;padding-left:1.5rem;margin:.35rem 0;line-height:1.45}
.pc li::before{position:absolute;left:0;top:-.05rem;font:700 1.3rem/1.45 var(--sans)}
.plus li::before{content:"+";color:var(--plus)}
.minus li::before{content:"\2212";color:var(--minus)}
.ideal{background:var(--tint);padding:.7rem .9rem;margin:1rem 0 1.1rem}

/* Tableau comparatif : fiches empilées sur mobile, tableau à partir de 768 px */
.cmp{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:1.05rem;line-height:1.3}
.cmp th,.cmp td{text-align:left;vertical-align:top;padding:.6rem .7rem;border-bottom:1px solid var(--line)}
.cmp thead th{font-weight:500;color:var(--muted);border-bottom:2px solid var(--ink)}
.cmp th[scope=row]{font-weight:700}
@media (max-width:47.99rem){
  .cmp thead{position:absolute;left:-999rem}
  .cmp,.cmp tbody,.cmp tr,.cmp td,.cmp th{display:block}
  .cmp tr{background:var(--card);border:1px solid var(--line);margin-bottom:.7rem;padding:.7rem .9rem}
  .cmp th,.cmp td{border:0;padding:.2rem 0}
  .cmp th[scope=row]{font-size:1.2rem;padding-bottom:.35rem}
  .cmp td{display:flex;justify-content:space-between;gap:1rem}
  .cmp td::before{content:attr(data-label);color:var(--muted);flex:0 0 44%}
  .cmp td > span{text-align:right}
}
/* Tableaux des guides : même principe */
.data{width:100%;border-collapse:collapse;font-family:var(--sans);font-size:1.05rem;line-height:1.3}
.data th,.data td{text-align:left;vertical-align:top;padding:.55rem .6rem;border-bottom:1px solid var(--line)}
.data thead th{font-weight:500;color:var(--muted);border-bottom:2px solid var(--ink)}
@media (max-width:47.99rem){
  .data thead{position:absolute;left:-999rem}
  .data,.data tbody,.data tr,.data td,.data th{display:block}
  .data tr{background:var(--card);border:1px solid var(--line);margin-bottom:.7rem;padding:.7rem .9rem}
  .data th,.data td{border:0;padding:.2rem 0}
  .data th[scope=row]{font-size:1.2rem;font-weight:700;padding-bottom:.3rem}
  .data td{display:flex;justify-content:space-between;gap:1rem}
  .data td::before{content:attr(data-label);color:var(--muted);flex:0 0 44%}
  .data td > span{text-align:right}
}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:.2rem 0 .2rem 3rem;margin:.8rem 0}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2.1rem;height:2.1rem;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font:700 1.2rem/1 var(--sans)}
.faq h3{margin-top:1.5rem}
.faq p{margin-top:.4rem}
.next{border-top:.35rem solid var(--ink);margin-top:3rem}

.site-foot{border-top:1px solid var(--line);background:var(--tint);padding:1.6rem 0 2.2rem;font-size:1rem;line-height:1.55}
.site-foot p{margin:.6rem 0}
.site-foot .links{font:500 1.1rem/1.4 var(--sans);display:flex;flex-wrap:wrap;gap:.3rem 1.4rem}
