/* ===========================================================
   Pixel Arena — magazine jeu vidéo (dark / néon)
   =========================================================== */
:root{
  --bg:#0d1117;
  --panel:#161b27;
  --panel-2:#1c2333;
  --line:#27304a;
  --txt:#c7d0e0;
  --txt-dim:#8b97ad;
  --white:#f4f7ff;
  --violet:#7c3aed;
  --violet-2:#a855f7;
  --cyan:#06b6d4;
  --cyan-2:#22d3ee;
  --green:#34d399;
  --red:#f87171;
  --orange:#fbbf24;
  --radius:14px;
  --shadow:0 10px 30px rgba(0,0,0,.45);
  --glow-v:0 0 24px rgba(124,58,237,.45);
  --glow-c:0 0 22px rgba(6,182,212,.40);
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  background:
    radial-gradient(900px 480px at 88% -8%, rgba(124,58,237,.16), transparent 60%),
    radial-gradient(760px 420px at 4% 4%, rgba(6,182,212,.12), transparent 60%),
    var(--bg);
  color:var(--txt);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.brand,.note-num,.pill,.cat-tag{
  font-family:'Chakra Petch','Rajdhani',sans-serif;
  letter-spacing:.4px;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(13,17,23,.82);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.hbar{display:flex;align-items:center;gap:26px;height:70px}
.brand{
  display:flex;align-items:center;gap:10px;
  font-weight:700;font-size:1.45rem;color:var(--white);
  text-transform:uppercase;
}
.brand .logo{
  width:34px;height:34px;border-radius:9px;
  background:linear-gradient(135deg,var(--violet),var(--cyan));
  box-shadow:var(--glow-v);
  display:grid;place-items:center;color:#fff;font-size:1.1rem;
}
.brand b{
  background:linear-gradient(90deg,var(--violet-2),var(--cyan-2));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.nav{display:flex;gap:6px;margin-left:auto;flex-wrap:wrap}
.nav a{
  padding:9px 14px;border-radius:9px;font-weight:600;font-size:.93rem;
  color:var(--txt-dim);transition:.18s;
}
.nav a:hover{color:var(--white);background:var(--panel-2);box-shadow:inset 0 0 0 1px var(--line)}
.nav a.is-active{color:var(--white);background:linear-gradient(135deg,rgba(124,58,237,.25),rgba(6,182,212,.18));box-shadow:inset 0 0 0 1px rgba(124,58,237,.5)}

/* ---------- hero featured ---------- */
.hero{padding:38px 0 18px}
.hero-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}
.feat-main,.feat-side{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow);
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:340px;padding:26px;
}
.feat-main{min-height:420px}
.feat-side{min-height:201px}
.thumb{
  position:absolute;inset:0;z-index:0;
}
.thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(7,10,16,.88))}
.tg-1{background:linear-gradient(135deg,#7c3aed,#06b6d4 90%)}
.tg-2{background:linear-gradient(135deg,#ec4899,#7c3aed)}
.tg-3{background:linear-gradient(135deg,#0ea5e9,#22d3ee)}
.tg-4{background:linear-gradient(135deg,#f59e0b,#ef4444)}
.tg-5{background:linear-gradient(135deg,#10b981,#06b6d4)}
.tg-6{background:linear-gradient(135deg,#6366f1,#a855f7)}
.tg-7{background:linear-gradient(135deg,#8b5cf6,#ec4899)}
.tg-8{background:linear-gradient(135deg,#0891b2,#3b82f6)}
.feat-main .inner,.feat-side .inner{position:relative;z-index:1}
.feat-main h2,.feat-side h3{position:relative;z-index:1;color:#fff}
.feat-main h2{font-size:2rem;line-height:1.15;margin:10px 0 8px}
.feat-side h3{font-size:1.15rem;line-height:1.2;margin-top:8px}
.feat-main p{position:relative;z-index:1;color:#dfe6f5;max-width:46ch}
.cat-tag{
  position:relative;z-index:1;display:inline-block;
  font-size:.72rem;font-weight:700;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;color:#fff;
  background:rgba(124,58,237,.85);box-shadow:var(--glow-v);
}
.cat-tag.cyan{background:rgba(6,182,212,.85);box-shadow:var(--glow-c)}
.meta{position:relative;z-index:1;color:#aab6cc;font-size:.82rem;margin-top:10px}

/* ---------- sections ---------- */
section.block{padding:42px 0}
.sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:14px}
.sec-head h2{
  font-size:1.55rem;color:var(--white);position:relative;padding-left:16px;
}
.sec-head h2::before{
  content:"";position:absolute;left:0;top:6px;bottom:6px;width:5px;border-radius:4px;
  background:linear-gradient(180deg,var(--violet),var(--cyan));box-shadow:var(--glow-v);
}
.sec-head a{color:var(--cyan-2);font-weight:600;font-size:.9rem}
.sec-head a:hover{text-decoration:underline}

/* ---------- grille articles ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:.2s;box-shadow:0 4px 14px rgba(0,0,0,.3);
}
.card:hover{transform:translateY(-5px);border-color:rgba(124,58,237,.55);box-shadow:var(--shadow),var(--glow-v)}
.card .ph{height:158px;position:relative}
.card .ph .cat-tag{position:absolute;top:12px;left:12px}
.card .body{padding:16px 17px 18px}
.card h3{color:var(--white);font-size:1.08rem;line-height:1.25;margin-bottom:8px}
.card .meta{color:var(--txt-dim);font-size:.8rem;margin-top:0}
.card p{font-size:.9rem;color:var(--txt-dim);margin-top:6px}

/* ---------- derniers tests ---------- */
.tests-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.test-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:.2s;position:relative;
}
.test-card:hover{transform:translateY(-5px);border-color:rgba(6,182,212,.55);box-shadow:var(--shadow),var(--glow-c)}
.test-card .ph{height:130px;position:relative}
.score-badge{
  position:absolute;bottom:-20px;right:14px;
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;font-family:'Chakra Petch',sans-serif;
  font-weight:700;font-size:1.15rem;color:#fff;
  border:3px solid var(--panel);
}
.s-hi{background:linear-gradient(135deg,#10b981,#06b6d4);box-shadow:0 0 16px rgba(16,185,129,.6)}
.s-mid{background:linear-gradient(135deg,#f59e0b,#fbbf24);box-shadow:0 0 16px rgba(245,158,11,.55)}
.s-low{background:linear-gradient(135deg,#ef4444,#f87171);box-shadow:0 0 16px rgba(239,68,68,.5)}
.test-card .body{padding:24px 16px 17px}
.test-card h3{color:var(--white);font-size:1rem;line-height:1.25}
.test-card .plat{color:var(--txt-dim);font-size:.78rem;margin-top:6px}

/* ---------- bons plans ---------- */
.deals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.deal{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;display:flex;gap:15px;align-items:center;transition:.2s;
}
.deal:hover{transform:translateY(-4px);border-color:rgba(124,58,237,.5);box-shadow:var(--shadow)}
.deal .ph{width:78px;height:78px;border-radius:11px;flex-shrink:0}
.deal h3{color:var(--white);font-size:1rem;line-height:1.2}
.deal .prices{margin-top:7px;display:flex;align-items:baseline;gap:9px}
.deal .old{color:var(--txt-dim);text-decoration:line-through;font-size:.88rem}
.deal .new{color:var(--cyan-2);font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:1.25rem}
.deal .badge-off{
  background:rgba(52,211,153,.16);color:var(--green);
  font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px;
  border:1px solid rgba(52,211,153,.4);
}

/* ---------- footer ---------- */
.site-footer{
  border-top:1px solid var(--line);background:#0a0e15;
  padding:42px 0 26px;margin-top:30px;
}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px}
.site-footer h4{color:var(--white);font-size:1rem;margin-bottom:13px}
.site-footer p,.site-footer li{color:var(--txt-dim);font-size:.88rem;list-style:none}
.site-footer li{margin-bottom:7px}
.site-footer li a:hover{color:var(--cyan-2)}
.foot-bottom{
  border-top:1px solid var(--line);margin-top:28px;padding-top:18px;
  text-align:center;color:var(--txt-dim);font-size:.82rem;
}

/* =========================================================
   PAGE TEST DE JEU
   ========================================================= */
.breadcrumb{padding:18px 0 0;color:var(--txt-dim);font-size:.85rem}
.breadcrumb a:hover{color:var(--cyan-2)}
.breadcrumb span{color:var(--white)}

.game-hero{
  position:relative;border-radius:18px;overflow:hidden;margin-top:16px;
  border:1px solid var(--line);box-shadow:var(--shadow);
  padding:38px 34px;display:flex;flex-wrap:wrap;gap:28px;align-items:center;
}
.game-hero .bg{position:absolute;inset:0;z-index:0;background:linear-gradient(135deg,#7c3aed 0%,#06b6d4 100%)}
.game-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,11,18,.9),rgba(8,11,18,.55))}
.game-hero>*{position:relative;z-index:1}
.gh-left{flex:1 1 380px}
.gh-left h1{color:#fff;font-size:2.3rem;line-height:1.1;margin-bottom:14px}
.plats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pill{
  background:rgba(13,17,23,.6);border:1px solid rgba(255,255,255,.22);
  color:#fff;font-size:.78rem;font-weight:600;padding:5px 13px;border-radius:999px;
}
.gh-left .lede{color:#e7ecf8;font-size:1.02rem;max-width:54ch}
.gh-left .meta{color:#cfd8ea;margin-top:12px}
.score-circle{
  width:128px;height:128px;border-radius:50%;flex-shrink:0;
  display:grid;place-items:center;text-align:center;
  background:linear-gradient(135deg,#10b981,#06b6d4);
  box-shadow:0 0 34px rgba(6,182,212,.7);border:4px solid rgba(255,255,255,.18);
}
.score-circle .n{font-family:'Chakra Petch',sans-serif;font-weight:700;font-size:2.7rem;color:#fff;line-height:1}
.score-circle .d{color:rgba(255,255,255,.85);font-size:.85rem;font-weight:600}

.test-layout{display:grid;grid-template-columns:1fr 320px;gap:30px;padding:34px 0 20px;align-items:start}

.verdict{
  background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--violet);
  border-radius:12px;padding:20px 22px;margin-bottom:26px;
}
.verdict h2{color:var(--white);font-size:1.15rem;margin-bottom:6px}
.verdict p{color:var(--txt);font-style:italic}

.breakdown{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:22px;margin-bottom:26px;
}
.breakdown h2{color:var(--white);font-size:1.25rem;margin-bottom:16px}
.bar-row{margin-bottom:15px}
.bar-row:last-child{margin-bottom:0}
.bar-top{display:flex;justify-content:space-between;font-size:.92rem;margin-bottom:6px}
.bar-top span:first-child{color:var(--txt)}
.bar-top .v{color:var(--white);font-family:'Chakra Petch',sans-serif;font-weight:700}
.bar-track{height:9px;background:var(--panel-2);border-radius:999px;overflow:hidden;border:1px solid var(--line)}
.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:var(--glow-c)}

.proscons{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.pc-box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.pc-box h3{font-size:1.05rem;margin-bottom:12px}
.pc-box.pros h3{color:var(--green)}
.pc-box.cons h3{color:var(--red)}
.pc-box ul{list-style:none}
.pc-box li{display:flex;gap:9px;margin-bottom:9px;font-size:.93rem;color:var(--txt)}
.pc-box li::before{font-weight:700;flex-shrink:0}
.pc-box.pros li::before{content:"✓";color:var(--green)}
.pc-box.cons li::before{content:"✕";color:var(--red)}

.test-body h2{color:var(--white);font-size:1.4rem;margin:28px 0 12px}
.test-body h3{color:var(--white);font-size:1.12rem;margin:20px 0 8px}
.test-body p{margin-bottom:15px;color:var(--txt)}

/* aside : où acheter */
.buy-box{
  background:var(--panel);border:1px solid var(--line);border-radius:12px;
  padding:22px;position:sticky;top:90px;
}
.buy-box h3{color:var(--white);font-size:1.1rem;margin-bottom:14px}
.buy-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 14px;border:1px solid var(--line);border-radius:10px;
  margin-bottom:10px;background:var(--panel-2);
}
.buy-row .store{color:var(--txt);font-size:.9rem;font-weight:600}
.buy-row .price{color:var(--cyan-2);font-family:'Chakra Petch',sans-serif;font-weight:700}
.btn-buy{
  display:block;text-align:center;width:100%;
  background:linear-gradient(135deg,var(--violet),var(--cyan));
  color:#fff;font-weight:700;padding:11px;border-radius:10px;margin-top:6px;
  box-shadow:var(--glow-v);transition:.18s;font-family:'Chakra Petch',sans-serif;
}
.btn-buy:hover{filter:brightness(1.1);transform:translateY(-2px)}
.buy-note{color:var(--txt-dim);font-size:.76rem;margin-top:12px;text-align:center}

/* ---------- responsive ---------- */
@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .tests-grid{grid-template-columns:repeat(2,1fr)}
  .deals-grid{grid-template-columns:repeat(2,1fr)}
  .test-layout{grid-template-columns:1fr}
  .buy-box{position:static}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .hbar{height:auto;flex-direction:column;align-items:flex-start;padding:12px 0;gap:12px}
  .nav{margin-left:0}
  .cards,.tests-grid,.deals-grid,.proscons,.foot-grid{grid-template-columns:1fr}
  .feat-main h2{font-size:1.55rem}
  .gh-left h1{font-size:1.7rem}
  .game-hero{padding:26px 22px}
}
