/* ============================================================
   SPAWNPOINT – style.css | Mobile-First | BEM
   Breakpoints: 480 | 640 | 768 | 1024 | 1280px
   ============================================================ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { background: #0a0806; color: #f0ece8; font-family: 'Sora', sans-serif; font-size: 15px; line-height: 1.6; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }
:focus-visible { outline: 2px solid #FF6B35; outline-offset: 3px; border-radius: 4px; }

/* ── TOKENS ── */
:root {
  /* Cores */
  --accent:     #FF6B35;
  --accent-dim: #e05520;
  --danger:     #FF2D55;
  --gold:       #FFD60A;
  --green:      #00C97B;
  --bg:         #0a0806;
  --bg2:        #120f0a;
  --bg3:        #1c1610;
  --text:       #f0ece8;
  --muted:      #8a7a6a;
  --border:     rgba(255,255,255,0.07);
  --border-hover: rgba(255,107,53,0.4);

  /* Fontes */
  --font-display: 'Bebas Neue', cursive;
  --font-body:    'Sora', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  /* Border radius */
  --r-sm:  4px;
  --r-md:  8px;
  --r-lg:  12px;
  --r-xl:  16px;

  /* Misc */
  --ease:     0.2s ease;
  --header-h: 60px;
  --bottom-h: 64px;
}

/* ── UTILITÁRIOS ── */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:absolute; top:-100%; left:16px; z-index:9999; background:var(--accent); color:#fff; font-weight:700; font-size:12px; padding:8px 16px; border-radius:4px; transition:top var(--ease); }
.skip-link:focus { top:8px; }
.container { width:100%; max-width:1440px; margin-inline:auto; padding-inline:16px; }
@media(min-width:768px)  { .container { padding-inline:32px; } }
@media(min-width:1280px) { .container { padding-inline:48px; } }

/* Gradientes dos thumbs */
.bg-c1 { background:linear-gradient(135deg,#0d1f33,#1a3355); }
.bg-c2 { background:linear-gradient(135deg,#1f0d33,#3d1a55); }
.bg-c3 { background:linear-gradient(135deg,#1f1a0d,#3d3310); }
.bg-c4 { background:linear-gradient(135deg,#0d1f1f,#104040); }
.bg-c5 { background:linear-gradient(135deg,#1f0d0d,#401010); }
.bg-c6 { background:linear-gradient(135deg,#0d0d1f,#181040); }

/* Scroll reveal — só oculta se JS está ativo (body.js-ready) */
body.js-ready .reveal { opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
body.js-ready .reveal.visible { opacity:1; transform:translateY(0); }
@media(prefers-reduced-motion:reduce) {
  body.js-ready .reveal { opacity:1; transform:none; transition:none; }
  .ticker__inner { animation:none !important; }
}

/* ── COOKIE BANNER ── */
.cookie-banner { position:fixed; bottom:0; left:0; right:0; z-index:1000; background:var(--bg3); border-top:1px solid var(--border); padding:14px 16px; box-shadow:0 -4px 24px rgba(0,0,0,.5); }
.cookie-banner[hidden] { display:none; }
.cookie-banner__inner { max-width:900px; margin:0 auto; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cookie-banner__text { font-size:13px; color:var(--muted); flex:1; min-width:200px; line-height:1.5; }
.cookie-banner__link { color:var(--accent); }
.cookie-banner__actions { display:flex; gap:8px; flex-shrink:0; }
.cookie-banner__btn { font-size:13px; font-weight:700; padding:8px 16px; border-radius:6px; border:none; cursor:pointer; min-height:44px; }
.cookie-banner__btn--accept { background:var(--accent); color:#fff; }
.cookie-banner__btn--decline { background:var(--bg2); color:var(--muted); border:1px solid var(--border); }

/* ── TICKER ── */
.ticker { display:flex; align-items:center; background:var(--accent); color:#fff; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:700; height:30px; overflow:hidden; white-space:nowrap; user-select:none; }
.ticker__label { flex-shrink:0; background:rgba(0,0,0,.25); padding:0 14px; height:100%; display:flex; align-items:center; letter-spacing:2px; font-size:9px; }
.ticker__wrapper { flex:1; overflow:hidden; display:flex; align-items:center; }
.ticker__inner { display:inline-flex; align-items:center; animation:ticker-scroll 40s linear infinite; }
.ticker__inner span { padding:0 48px; flex-shrink:0; }
@keyframes ticker-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── HEADER ── */
.header { position:sticky; top:0; z-index:200; background:rgba(10,8,6,.97); backdrop-filter:blur(16px); border-bottom:1px solid var(--border); height:var(--header-h); transition:box-shadow var(--ease); }
.header.scrolled { box-shadow:0 2px 20px rgba(0,0,0,.5); }
.header__inner { display:flex; align-items:center; gap:12px; height:100%; }
.header__actions { display:none; align-items:center; gap:12px; flex-shrink:0; }
@media(min-width:1024px) { .header__actions { display:flex; } }

/* ── LOGO ── */
.logo { font-family:'Bebas Neue',cursive; font-size:22px; letter-spacing:4px; color:var(--accent); flex-shrink:0; line-height:1; transition:opacity var(--ease); }
.logo:hover { opacity:.85; }
.logo span { color:var(--text); }
@media(min-width:768px) { .logo { font-size:26px; } }

/* ── HAMBURGER ── */
.nav-toggle { display:flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; background:none; border:1px solid var(--border); border-radius:6px; padding:10px; margin-left:auto; flex-shrink:0; transition:border-color var(--ease); }
.nav-toggle:hover { border-color:var(--accent); }
.nav-toggle__bar { display:block; width:100%; height:2px; background:var(--text); border-radius:2px; transition:transform var(--ease), opacity var(--ease); transform-origin:center; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bar:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }
@media(min-width:1024px) { .nav-toggle { display:none; } }

/* ── OVERLAY ── */
.nav-overlay { display:none; position:fixed; inset:0; z-index:198; background:rgba(0,0,0,.6); backdrop-filter:blur(4px); }
.nav-overlay.active { display:block; }

/* ── NAV ── */
.nav { display:flex; flex-direction:column; position:fixed; top:0; left:0; bottom:0; z-index:199; width:min(300px,85vw); background:var(--bg2); border-right:1px solid var(--border); transform:translateX(-100%); transition:transform .28s cubic-bezier(.4,0,.2,1); overflow-y:auto; }
.nav.open { transform:translateX(0); }
.nav__head { display:flex; align-items:center; justify-content:space-between; padding:16px; border-bottom:1px solid var(--border); min-height:60px; flex-shrink:0; }
.nav__brand { font-family:'Bebas Neue',cursive; font-size:18px; letter-spacing:2px; color:var(--accent); }
.nav__close { width:40px; height:40px; background:var(--bg3); border:1px solid var(--border); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:color var(--ease),border-color var(--ease); }
.nav__close:hover { color:var(--accent); border-color:var(--accent); }
.nav__list { padding:8px; flex:1; }
.nav__sep { height:1px; background:var(--border); margin:6px 8px; }
.nav__link { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:600; color:var(--muted); padding:12px; border-radius:6px; transition:color var(--ease),background var(--ease); min-height:48px; }
.nav__link:hover, .nav__link.active { color:var(--accent); background:rgba(255,107,53,.08); }
.nav__extras { padding:12px; border-top:1px solid var(--border); display:flex; flex-direction:column; gap:10px; flex-shrink:0; }

@media(min-width:1024px) {
  .nav { position:static; width:auto; flex:1; background:none; border:none; transform:none; overflow:visible; flex-direction:row; }
  .nav__head, .nav__extras { display:none; }
  .nav__list { display:flex; flex-direction:row; align-items:center; flex-wrap:wrap; padding:0; }
  .nav__sep { width:1px; height:14px; margin:0 4px; }
  .nav__link { font-size:11px; letter-spacing:1px; text-transform:uppercase; padding:6px 9px; min-height:0; }
}

/* ── SEARCH ── */
.search { position:relative; display:flex; align-items:center; }
.search__input { background:var(--bg3); border:1px solid var(--border); border-radius:6px; color:var(--text); font-family:'Sora',sans-serif; font-size:13px; padding:8px 14px 8px 36px; width:185px; min-height:40px; transition:border-color var(--ease),width var(--ease); }
.search__input::placeholder { color:var(--muted); }
.search__input:focus { width:225px; border-color:var(--accent); outline:none; }
.search__input.full { width:100%; padding:12px 14px; font-size:15px; }
.search__icon { position:absolute; left:10px; color:var(--muted); pointer-events:none; display:flex; align-items:center; }
.btn-pro { background:var(--accent); color:#fff; font-weight:700; font-size:11px; letter-spacing:1px; text-transform:uppercase; padding:9px 16px; border:none; border-radius:6px; transition:background var(--ease),transform var(--ease); white-space:nowrap; min-height:40px; }
.btn-pro:hover { background:var(--accent-dim); transform:translateY(-1px); }
.btn-pro.full { width:100%; padding:14px; text-align:center; font-size:14px; }

/* ── SEÇÃO ── */
.section { padding-top:40px; }
.section.last { padding-bottom:48px; }
@media(min-width:768px) { .section { padding-top:56px; } }
.section__hd { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--border); gap:12px; }
.section__title { font-family:'Bebas Neue',cursive; font-size:clamp(20px,4vw,26px); letter-spacing:2px; display:flex; align-items:center; gap:10px; line-height:1; }
.section__title::before { content:''; display:block; width:4px; height:20px; background:var(--accent); border-radius:2px; flex-shrink:0; }
.see-all { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--accent); border:1px solid rgba(255,107,53,.3); padding:6px 14px; border-radius:6px; transition:background var(--ease); white-space:nowrap; flex-shrink:0; min-height:36px; display:flex; align-items:center; }
.see-all:hover { background:rgba(255,107,53,.1); }

/* ── BADGES ── */
.badge { display:inline-flex; align-items:center; font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:3px 9px; border-radius:4px; }
.badge.review    { background:var(--accent); color:#fff; }
.badge.exclusive { background:var(--danger); color:#fff; }
.badge.analysis  { background:#7c3aed; color:#fff; }
.badge.leak      { background:#0ea5e9; color:#fff; }
.badge.esports   { background:var(--gold); color:#000; }

/* ── SCORE BADGE ── */
.score { display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:6px; font-family:'Bebas Neue',cursive; width:42px; height:42px; color:#fff; flex-shrink:0; }
.score.hero { position:absolute; top:16px; right:16px; width:58px; height:58px; background:var(--accent); z-index:2; }
.score .num  { font-size:24px; line-height:1; }
.score .lbl  { font-size:7px; letter-spacing:1px; }
.score.great { background:var(--green); font-size:16px; }
.score.good  { background:var(--gold); font-size:16px; color:#000; }
.score.ok    { background:#ff9f0a; font-size:16px; }
.score.bad   { background:var(--danger); font-size:16px; }

/* ── HERO ── */
.hero { padding-top:20px; display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:1024px) { .hero { grid-template-columns:1fr 300px; padding-top:28px; gap:20px; } }
@media(min-width:1280px) { .hero { grid-template-columns:1fr 340px; } }

.hero__main { position:relative; border-radius:14px; overflow:hidden; cursor:pointer; min-height:280px; }
@media(min-width:480px)  { .hero__main { min-height:340px; } }
@media(min-width:768px)  { .hero__main { min-height:420px; } }
@media(min-width:1024px) { .hero__main { min-height:500px; } }
.hero__bg { position:absolute; inset:0; }
.hero__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,8,6,.97) 0%,rgba(10,8,6,.25) 65%,transparent 100%); display:flex; flex-direction:column; justify-content:flex-end; padding:20px; gap:10px; }
@media(min-width:768px) { .hero__overlay { padding:32px; gap:12px; } }
.hero__title { font-family:'Bebas Neue',cursive; font-size:clamp(28px,5.5vw,54px); line-height:1.05; letter-spacing:1px; color:#fff; }
.hero__desc { font-size:clamp(12px,2vw,14px); color:rgba(240,236,232,.7); max-width:520px; line-height:1.5; display:none; }
@media(min-width:480px) { .hero__desc { display:block; } }
.hero__meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; font-size:11px; color:var(--muted); }
.hero__author { color:var(--accent); font-weight:600; }

.hero__sidebar { display:grid; grid-template-columns:1fr; gap:12px; }
@media(min-width:480px)  { .hero__sidebar { grid-template-columns:repeat(3,1fr); } }
@media(min-width:1024px) { .hero__sidebar { grid-template-columns:1fr; } }

.scard { display:flex; background:var(--bg2); border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; transition:border-color var(--ease); min-height:88px; }
.scard:hover { border-color:rgba(255,107,53,.35); }
.scard__img { width:88px; min-width:88px; display:flex; align-items:center; justify-content:center; font-size:36px; opacity:.15; overflow:hidden; }
.scard__body { padding:12px; display:flex; flex-direction:column; justify-content:center; gap:4px; min-width:0; }
.scard__cat  { font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); }
.scard__title { font-weight:600; font-size:12px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.scard__time  { font-size:11px; color:var(--muted); }

/* ── SCROLL ROW ── */
.scroll-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
@media(max-width:639px) {
  .scroll-row { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; gap:14px; padding-bottom:8px; scrollbar-width:none; }
  .scroll-row::-webkit-scrollbar { display:none; }
  .scroll-row > * { flex:0 0 260px; scroll-snap-align:start; }
}
@media(min-width:640px)  { .scroll-row { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px) { .scroll-row { grid-template-columns:repeat(4,1fr); } }
.scroll-row.three { grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); }
@media(min-width:1024px) { .scroll-row.three { grid-template-columns:repeat(3,1fr); } }

/* ── REVIEW CARD ── */
.rcard { background:var(--bg2); border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; transition:border-color var(--ease),transform var(--ease); }
.rcard:hover, .rcard:focus-visible { border-color:rgba(255,107,53,.35); transform:translateY(-3px); }
.rcard__thumb { height:150px; position:relative; display:flex; align-items:center; justify-content:center; }
.rcard__icon { font-size:60px; opacity:.1; }
.rcard__plat { position:absolute; top:10px; left:10px; background:rgba(10,8,6,.85); border:1px solid var(--border); padding:3px 9px; border-radius:4px; font-size:11px; font-weight:700; letter-spacing:1px; }
.rcard__thumb .score { position:absolute; bottom:-18px; right:14px; border:2px solid var(--bg2); z-index:2; }
.rcard__body { padding:24px 14px 14px; }
.rcard__genre { display:block; font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.rcard__title { font-weight:700; font-size:16px; line-height:1.3; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.rcard__excerpt { font-size:13px; color:var(--muted); line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-bottom:12px; }
.vbar { display:flex; gap:3px; margin-bottom:12px; }
.vbar__pip { height:3px; flex:1; border-radius:2px; background:var(--border); }
.vbar__pip.on   { background:var(--accent); }
.vbar__pip.half { background:var(--gold); }
.rcard__foot { display:flex; align-items:center; justify-content:space-between; font-size:11px; color:var(--muted); border-top:1px solid var(--border); padding-top:10px; }
.rcard__author { color:var(--accent); font-weight:600; }
.rcard__stars  { color:var(--gold); letter-spacing:2px; }

/* ── NEWS ── */
.news-layout { display:grid; grid-template-columns:1fr; gap:32px; }
@media(min-width:1024px) { .news-layout { grid-template-columns:1fr 290px; } }
.news-grid { display:grid; grid-template-columns:1fr; gap:14px; }
@media(min-width:480px)  { .news-grid { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1024px) { .news-grid { grid-template-columns:repeat(3,1fr); } }
.ncard { background:var(--bg2); border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; transition:border-color var(--ease); }
.ncard:hover { border-color:rgba(255,107,53,.2); }
.ncard__thumb { height:120px; position:relative; display:flex; align-items:center; justify-content:center; }
@media(min-width:768px) { .ncard__thumb { height:135px; } }
.ncard__icon { font-size:52px; opacity:.1; }
.ncard__thumb .badge { position:absolute; top:10px; left:10px; }
.ncard__body { padding:14px; }
.ncard__title { font-weight:600; font-size:13px; line-height:1.4; margin-bottom:8px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ncard__meta { font-size:11px; color:var(--muted); display:flex; gap:6px; flex-wrap:wrap; }
.ncard__cat { color:var(--accent); }

/* ── TRENDING ── */
.trending { border-top:1px solid var(--border); padding-top:16px; }
@media(min-width:1024px) { .trending { border-top:none; padding-top:0; } }
.trending__title { font-family:'Bebas Neue',cursive; font-size:19px; letter-spacing:2px; padding-bottom:12px; border-bottom:1px solid var(--border); }
.titem { display:flex; gap:14px; align-items:center; padding:12px 0; border-bottom:1px solid var(--border); cursor:pointer; min-height:56px; }
.titem:hover .titem__title { color:var(--accent); }
.titem__num { font-family:'Bebas Neue',cursive; font-size:26px; color:rgba(255,255,255,.08); width:28px; flex-shrink:0; line-height:1; }
.titem__info { display:flex; flex-direction:column; gap:3px; min-width:0; }
.titem__title { font-size:13px; font-weight:600; line-height:1.35; transition:color var(--ease); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.titem__plat  { font-size:11px; color:var(--muted); }

/* ── PLATAFORMAS ── */
.plat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
@media(min-width:768px) { .plat-grid { grid-template-columns:repeat(6,1fr); gap:14px; } }
.pcard { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:16px 10px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; transition:border-color var(--ease),background var(--ease),transform var(--ease); min-height:100px; }
.pcard:hover { border-color:var(--accent); background:rgba(255,107,53,.05); transform:translateY(-2px); }
.pcard__icon  { font-size:28px; line-height:1; }
.pcard__name  { font-weight:700; font-size:11px; line-height:1.3; }
.pcard__count { font-size:11px; color:var(--muted); }
@media(min-width:768px) { .pcard { padding:20px 14px; } .pcard__icon { font-size:34px; } }

/* ── VIDEO CARD ── */
.vcard { background:var(--bg2); border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; transition:border-color var(--ease); }
.vcard:hover { border-color:rgba(255,107,53,.35); }
.vcard__thumb { position:relative; height:160px; display:flex; align-items:center; justify-content:center; }
@media(min-width:768px) { .vcard__thumb { height:175px; } }
.vcard__icon { font-size:56px; opacity:.1; }
.vcard__play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:52px; height:52px; background:rgba(255,107,53,.9); border-radius:50%; display:flex; align-items:center; justify-content:center; transition:background var(--ease),transform var(--ease); }
.vcard:hover .vcard__play { background:var(--accent); transform:translate(-50%,-50%) scale(1.1); }
.vcard__arrow { width:0; height:0; border-style:solid; border-width:8px 0 8px 15px; border-color:transparent transparent transparent #fff; margin-left:3px; }
.vcard__dur  { position:absolute; bottom:10px; right:10px; background:rgba(0,0,0,.85); color:#fff; font-family:'JetBrains Mono',monospace; font-size:11px; padding:2px 7px; border-radius:4px; }
.vcard__type { position:absolute; top:10px; left:10px; background:var(--danger); color:#fff; font-size:9px; font-weight:700; letter-spacing:2px; padding:3px 9px; border-radius:4px; }
.vcard__body { padding:14px; }
.vcard__title { font-weight:600; font-size:13px; line-height:1.4; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.vcard__meta  { font-size:11px; color:var(--muted); }

/* ── LANÇAMENTOS ── */
.rel-grid { display:grid; grid-template-columns:1fr; gap:24px; }
@media(min-width:768px) { .rel-grid { grid-template-columns:repeat(2,1fr); } }
.ritem { display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--border); cursor:pointer; min-height:60px; }
.ritem:hover .ritem__title { color:var(--accent); }
.ritem__date { background:var(--bg3); border:1px solid var(--border); border-radius:6px; text-align:center; padding:6px 4px; }
.ritem__day   { display:block; font-family:'Bebas Neue',cursive; font-size:20px; line-height:1; color:var(--accent); }
.ritem__month { display:block; font-size:9px; font-weight:700; letter-spacing:1px; color:var(--muted); text-transform:uppercase; }
.ritem__info  { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ritem__title { font-weight:600; font-size:13px; transition:color var(--ease); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ritem__plats { font-size:11px; color:var(--muted); }
.rbadge { font-size:9px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:3px 8px; border-radius:4px; white-space:nowrap; flex-shrink:0; }
.rbadge.launch  { background:rgba(0,201,123,.12); color:var(--green); border:1px solid rgba(0,201,123,.3); }
.rbadge.soon    { background:rgba(255,214,10,.10); color:var(--gold);  border:1px solid rgba(255,214,10,.3); }
.rbadge.awaited { background:rgba(124,58,237,.12); color:#a78bfa;      border:1px solid rgba(124,58,237,.3); }

/* ── OPINIÃO ── */
.opinion { background:linear-gradient(135deg,#1f0d00,#2d1500,#1a0d00); border:1px solid rgba(255,107,53,.2); border-radius:14px; padding:24px; display:grid; grid-template-columns:1fr; gap:24px; cursor:pointer; transition:border-color var(--ease); position:relative; overflow:hidden; }
.opinion::before { content:'"'; position:absolute; right:-10px; top:-50px; font-family:Georgia,serif; font-size:220px; color:rgba(255,107,53,.04); line-height:1; pointer-events:none; user-select:none; }
.opinion:hover { border-color:rgba(255,107,53,.5); }
@media(min-width:640px) { .opinion { grid-template-columns:1fr auto; align-items:center; padding:36px 48px; gap:40px; } }
.opinion__lbl   { display:block; font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.opinion__title { font-family:'Bebas Neue',cursive; font-size:clamp(24px,4vw,38px); letter-spacing:1px; color:#fff; line-height:1.05; margin-bottom:12px; }
.opinion__sub   { font-size:13px; color:rgba(240,236,232,.6); max-width:480px; line-height:1.6; }
.opinion__auth  { display:flex; flex-direction:column; gap:6px; }
@media(min-width:640px) { .opinion__auth { align-items:center; text-align:center; flex-shrink:0; } }
.opinion__avatar { width:58px; height:58px; border-radius:50%; background:linear-gradient(135deg,var(--accent),var(--danger)); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',cursive; font-size:20px; color:#fff; }
.opinion__name  { font-weight:700; font-size:15px; }
.opinion__role  { font-size:11px; color:var(--muted); }

/* ── FOOTER ── */
.footer { background:var(--bg2); border-top:1px solid var(--border); margin-top:56px; }
.footer__inner { display:grid; grid-template-columns:1fr; gap:32px; padding-top:40px; padding-bottom:40px; border-bottom:1px solid var(--border); }
@media(min-width:768px) { .footer__inner { grid-template-columns:210px 1fr; gap:48px; } }
.footer__logo { font-family:'Bebas Neue',cursive; font-size:20px; letter-spacing:4px; color:var(--accent); display:inline-block; margin-bottom:12px; }
.footer__logo span { color:var(--text); }
.footer__tag  { font-size:13px; color:var(--muted); line-height:1.7; }
.footer__social { display:flex; gap:8px; margin-top:16px; }
.slink { width:38px; height:38px; background:var(--bg3); border:1px solid var(--border); border-radius:6px; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:border-color var(--ease),color var(--ease); }
.slink:hover { border-color:var(--accent); color:var(--accent); }
.footer__cols { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
@media(min-width:480px) { .footer__cols { grid-template-columns:repeat(4,1fr); } }
.footer__col h4 { font-weight:700; font-size:11px; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.footer__col li { margin-bottom:8px; }
.footer__col a { font-size:13px; color:var(--muted); transition:color var(--ease); }
.footer__col a:hover { color:var(--accent); }
.footer__bottom { padding:16px 0; }
.footer__bottom .container { display:flex; flex-direction:column; gap:6px; font-size:11px; color:var(--muted); }
@media(min-width:640px) { .footer__bottom .container { flex-direction:row; justify-content:space-between; align-items:center; } }
.footer__legal { display:flex; gap:12px; flex-wrap:wrap; }
.footer__legal a { color:var(--muted); transition:color var(--ease); }
.footer__legal a:hover { color:var(--accent); }

/* ── BACK TO TOP ── */
.btt { position:fixed; bottom:80px; right:16px; z-index:150; width:44px; height:44px; background:var(--accent); color:#fff; border:none; border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .3s,visibility .3s,transform .3s,background var(--ease); box-shadow:0 4px 16px rgba(255,107,53,.4); }
.btt.show { opacity:1; visibility:visible; transform:translateY(0); }
.btt:hover { background:var(--accent-dim); }
@media(min-width:1024px) { .btt { bottom:32px; right:32px; } }

/* ── BOTTOM NAV (mobile) ── */
.bottom-nav { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:190; background:rgba(10,8,6,.97); backdrop-filter:blur(16px); border-top:1px solid var(--border); height:var(--bottom-h); padding-bottom:env(safe-area-inset-bottom); }
.bnav-item { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; color:var(--muted); font-size:10px; font-weight:600; background:none; border:none; transition:color var(--ease); min-height:44px; letter-spacing:.5px; }
.bnav-item:hover, .bnav-item.active { color:var(--accent); }
@media(min-width:1024px) { .bottom-nav { display:none; } }
@media(max-width:1023px) { main { padding-bottom:var(--bottom-h); } .btt { bottom:calc(var(--bottom-h) + 12px); } }

/* ── PRINT ── */
@media print {
  .ticker,.header,.nav-toggle,.bottom-nav,.btt,.footer__social,.btn-pro,.see-all,.cookie-banner { display:none !important; }
  body { background:#fff; color:#000; }
}


/* ══════════════════════════════════════════════════
   NOVOS COMPONENTES – Search, Filters, Article, etc.
   ══════════════════════════════════════════════════ */

/* ── SEARCH OVERLAY ── */
.search-overlay { position:fixed; inset:0; z-index:500; display:flex; flex-direction:column; align-items:center; padding-top:80px; }
.search-overlay[hidden] { display:none; }
.search-overlay__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.75); backdrop-filter:blur(8px); z-index:0; }
.search-overlay__box { position:relative; z-index:1; width:100%; max-width:680px; padding:0 16px; }
.search-overlay__input-wrap { display:flex; align-items:center; gap:12px; background:#1c1610; border:1px solid rgba(255,107,53,.4); border-radius:12px; padding:14px 16px; box-shadow:0 8px 40px rgba(0,0,0,.6); }
.search-overlay__input { flex:1; background:none; border:none; outline:none; color:#f0ece8; font-family:'Sora',sans-serif; font-size:18px; }
.search-overlay__input::placeholder { color:#8a7a6a; }
.search-overlay__close { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.1); border-radius:6px; color:#8a7a6a; font-family:'JetBrains Mono',monospace; font-size:11px; padding:4px 10px; cursor:pointer; white-space:nowrap; flex-shrink:0; transition:background .2s; }
.search-overlay__close:hover { background:rgba(255,255,255,.15); }
.search-overlay__results { background:#120f0a; border:1px solid rgba(255,255,255,.07); border-radius:12px; margin-top:8px; overflow:hidden; max-height:60vh; overflow-y:auto; }

.search-group__label { display:block; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8a7a6a; padding:12px 16px 8px; border-bottom:1px solid rgba(255,255,255,.05); }
.search-result { display:flex; align-items:center; gap:12px; padding:12px 16px; cursor:pointer; transition:background .15s; border-bottom:1px solid rgba(255,255,255,.04); text-decoration:none; color:inherit; }
.search-result:hover, .search-result.focused { background:rgba(255,107,53,.08); }
.search-result__icon { font-size:28px; flex-shrink:0; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:8px; overflow:hidden; }
.search-result__info { flex:1; min-width:0; }
.search-result__title { font-weight:600; font-size:14px; line-height:1.3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.search-result__title mark { background:rgba(255,107,53,.3); color:#ff8c5a; border-radius:2px; padding:0 2px; }
.search-result__meta { font-size:11px; color:#8a7a6a; margin-top:2px; }
.search-result__score { background:#FF6B35; color:#fff; font-family:'Bebas Neue',cursive; font-size:16px; padding:2px 8px; border-radius:6px; flex-shrink:0; }
.search-empty { padding:32px 16px; text-align:center; color:#8a7a6a; font-size:14px; }
.search-hint { padding:12px 16px; font-size:12px; color:#8a7a6a; text-align:center; border-top:1px solid rgba(255,255,255,.05); }

/* ── PAGE HERO ── */
.page-hero { background:linear-gradient(135deg,#1c1610,#0a0806); border-bottom:1px solid rgba(255,255,255,.07); padding:32px 0 28px; }
.page-hero__title { font-family:'Bebas Neue',cursive; font-size:clamp(36px,6vw,56px); letter-spacing:2px; color:#f0ece8; margin-top:10px; line-height:1; }
.page-hero__sub { font-size:14px; color:#8a7a6a; margin-top:8px; max-width:480px; line-height:1.5; }

/* ── BREADCRUMB ── */
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:12px; color:#8a7a6a; }
.breadcrumb a { color:#8a7a6a; transition:color .2s; }
.breadcrumb a:hover { color:#FF6B35; }
.breadcrumb span[aria-current] { color:#f0ece8; }

/* ── REVIEWS PAGE LAYOUT ── */
.reviews-page { display:grid; grid-template-columns:1fr; gap:24px; padding-top:28px; padding-bottom:48px; }
@media(min-width:1024px) { .reviews-page { grid-template-columns:220px 1fr; gap:32px; } }

/* ── FILTERS ── */
.filters { display:none; flex-direction:column; gap:0; }
.filters.mobile-open { display:flex; }
@media(min-width:1024px) { .filters { display:flex; } }

.filters__section { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid rgba(255,255,255,.07); }
.filters__section:last-of-type { border-bottom:none; }
.filters__title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8a7a6a; margin-bottom:12px; }
.filters__group { display:flex; flex-direction:column; gap:4px; }
@media(min-width:1024px) { .filters__group { flex-direction:column; } }

.filter-btn { display:flex; align-items:center; gap:8px; background:none; border:none; color:#8a7a6a; font-family:'Sora',sans-serif; font-size:13px; font-weight:500; padding:8px 10px; border-radius:6px; text-align:left; cursor:pointer; transition:color .2s, background .2s; width:100%; min-height:40px; }
.filter-btn:hover { color:#f0ece8; background:rgba(255,255,255,.05); }
.filter-btn.active { color:#FF6B35; background:rgba(255,107,53,.1); font-weight:700; }

.filters__clear { background:none; border:1px solid rgba(255,107,53,.3); color:#FF6B35; font-family:'Sora',sans-serif; font-size:12px; font-weight:700; padding:10px; border-radius:6px; cursor:pointer; margin-top:8px; transition:background .2s; }
.filters__clear:hover { background:rgba(255,107,53,.1); }
.filters__mobile-toggle { display:flex; align-items:center; gap:8px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.07); color:#f0ece8; font-family:'Sora',sans-serif; font-size:13px; font-weight:600; padding:8px 14px; border-radius:6px; cursor:pointer; }
@media(min-width:1024px) { .filters__mobile-toggle { display:none; } }

/* ── REVIEWS TOOLBAR ── */
.reviews-toolbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.reviews-count { font-size:13px; color:#8a7a6a; }
.reviews-count strong { color:#f0ece8; }

/* ── REVIEWS GRID MAIN ── */
.reviews-grid-main { display:grid; grid-template-columns:1fr; gap:16px; }
@media(min-width:480px) { .reviews-grid-main { grid-template-columns:repeat(2,1fr); } }
@media(min-width:1280px) { .reviews-grid-main { grid-template-columns:repeat(3,1fr); } }

/* ── EMPTY STATE ── */
.empty-state { text-align:center; padding:64px 24px; color:#8a7a6a; }
.empty-state__icon { font-size:48px; display:block; margin-bottom:16px; }
.empty-state__title { font-size:18px; font-weight:700; color:#f0ece8; margin-bottom:8px; }
.empty-state__sub { font-size:14px; }

/* ── READING PROGRESS BAR ── */
.reading-bar { position:fixed; top:0; left:0; right:0; z-index:9999; height:3px; background:rgba(255,255,255,.05); }
.reading-bar__fill { height:100%; background:linear-gradient(90deg,#FF6B35,#FFD60A); width:0%; transition:width .1s linear; }

/* ── ARTICLE HERO ── */
.article-hero { position:relative; min-height:280px; overflow:hidden; display:flex; align-items:flex-end; }
@media(min-width:480px) { .article-hero { min-height:380px; } }
@media(min-width:768px) { .article-hero { min-height:480px; } }
.article-hero__bg { position:absolute; inset:0; }
.article-hero__overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(10,8,6,1) 0%,rgba(10,8,6,.5) 50%,rgba(10,8,6,.1) 100%); }
.article-hero__content { position:relative; z-index:2; width:100%; padding:32px 16px; }
@media(min-width:768px) { .article-hero__content { padding:48px 48px; } }
.article-hero__back { display:inline-flex; align-items:center; gap:6px; color:#8a7a6a; font-size:13px; margin-bottom:16px; transition:color .2s; }
.article-hero__back:hover { color:#FF6B35; }
.article-hero__badge-row { display:flex; align-items:center; gap:8px; margin-bottom:12px; flex-wrap:wrap; }
.article-hero__title { font-family:'Bebas Neue',cursive; font-size:clamp(28px,5vw,56px); line-height:1; letter-spacing:1px; color:#fff; margin-bottom:14px; max-width:800px; }
.article-hero__excerpt { font-size:clamp(13px,2vw,16px); color:rgba(240,236,232,.7); max-width:640px; line-height:1.6; margin-bottom:20px; }
.article-hero__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; font-size:12px; color:#8a7a6a; }
.article-hero__author { display:flex; align-items:center; gap:8px; }
.article-hero__avatar { width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#FF6B35,#FF2D55); display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',cursive; font-size:13px; color:#fff; flex-shrink:0; }
.article-hero__author-name { font-weight:600; color:#f0ece8; }
.article-hero__divider { color:rgba(255,255,255,.2); }

/* ── ARTICLE LAYOUT ── */
.article-layout { display:grid; grid-template-columns:1fr; gap:32px; padding-top:32px; padding-bottom:48px; }
@media(min-width:1024px) { .article-layout { grid-template-columns:1fr 280px; gap:48px; } }
@media(min-width:1280px) { .article-layout { grid-template-columns:1fr 300px; } }

/* ── ARTICLE BODY ── */
.article-body { min-width:0; }
.article-content { line-height:1.8; }
.article-content p { margin-bottom:20px; font-size:16px; color:rgba(240,236,232,.85); }
.article-content h2 { font-family:'Bebas Neue',cursive; font-size:28px; letter-spacing:1px; color:#f0ece8; margin:36px 0 14px; display:flex; align-items:center; gap:10px; }
.article-content h2::before { content:''; display:block; width:3px; height:24px; background:#FF6B35; border-radius:2px; flex-shrink:0; }
.article-content strong { color:#f0ece8; font-weight:700; }
.article-content em { font-style:italic; color:rgba(240,236,232,.7); }
.article-share { display:flex; align-items:center; gap:10px; margin-top:36px; padding-top:24px; border-top:1px solid rgba(255,255,255,.07); flex-wrap:wrap; }
.article-share__label { font-size:12px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8a7a6a; }
.share-btn { display:flex; align-items:center; gap:6px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:#f0ece8; font-family:'Sora',sans-serif; font-size:12px; font-weight:600; padding:8px 14px; border-radius:6px; cursor:pointer; transition:background .2s, border-color .2s; min-height:36px; }
.share-btn:hover { background:rgba(255,107,53,.1); border-color:rgba(255,107,53,.3); color:#FF6B35; }

/* ── REVIEW VERDICT (no artigo) ── */
.review-verdict { background:linear-gradient(135deg,#1c1610,#120f0a); border:1px solid rgba(255,107,53,.2); border-radius:12px; padding:24px; margin-bottom:32px; }
.review-verdict__score-row { display:flex; align-items:center; gap:20px; margin-bottom:20px; }
.review-verdict__num { font-family:'Bebas Neue',cursive; font-size:72px; color:#FF6B35; line-height:1; }
.review-verdict__info { flex:1; }
.review-verdict__label { font-family:'Bebas Neue',cursive; font-size:20px; letter-spacing:2px; color:#f0ece8; display:block; }
.review-verdict__subtitle { font-size:12px; color:#8a7a6a; }
.review-verdict__bar { height:6px; background:rgba(255,255,255,.08); border-radius:3px; margin-top:10px; overflow:hidden; }
.review-verdict__bar-fill { height:100%; background:linear-gradient(90deg,#FF6B35,#FFD60A); border-radius:3px; transition:width 1s ease; }

.review-pros-cons { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px; }
@media(max-width:480px) { .review-pros-cons { grid-template-columns:1fr; } }
.pros-cons__title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.pros-cons__title.pros { color:#00C97B; }
.pros-cons__title.cons { color:#FF2D55; }
.pros-cons__list { list-style:none; display:flex; flex-direction:column; gap:6px; }
.pros-cons__list li { font-size:13px; color:rgba(240,236,232,.75); display:flex; align-items:flex-start; gap:8px; line-height:1.4; }
.pros-cons__list li::before { flex-shrink:0; margin-top:1px; font-size:12px; }
.pros-cons__list.pros li::before { content:'✓'; color:#00C97B; }
.pros-cons__list.cons li::before { content:'✗'; color:#FF2D55; }

/* ── ARTICLE SIDEBAR ── */
.article-sidebar { display:flex; flex-direction:column; gap:20px; }
.sidebar-box { background:#120f0a; border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:20px; }
.sidebar-box__title { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#8a7a6a; margin-bottom:14px; }
.sidebar-platforms { display:flex; flex-wrap:wrap; gap:6px; }
.sidebar-plat-tag { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); color:#f0ece8; font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; }
.sidebar-genre-tag { background:rgba(255,107,53,.1); border:1px solid rgba(255,107,53,.2); color:#FF6B35; font-size:12px; font-weight:600; padding:5px 12px; border-radius:20px; }
.sidebar-stat { display:flex; justify-content:space-between; align-items:center; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:13px; }
.sidebar-stat:last-child { border-bottom:none; }
.sidebar-stat__label { color:#8a7a6a; }
.sidebar-stat__value { color:#f0ece8; font-weight:600; }

/* ── RELATED CARDS ── */
.related-card { background:#120f0a; border:1px solid rgba(255,255,255,.07); border-radius:10px; overflow:hidden; cursor:pointer; transition:border-color .2s,transform .2s; display:block; text-decoration:none; color:inherit; }
.related-card:hover { border-color:rgba(255,107,53,.35); transform:translateY(-3px); }
.related-card__thumb { height:130px; position:relative; display:flex; align-items:center; justify-content:center; }
.related-card__icon { font-size:48px; opacity:.12; }
.related-card__body { padding:14px; }
.related-card__cat { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#FF6B35; display:block; margin-bottom:6px; }
.related-card__title { font-weight:600; font-size:13px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* ── INDEX: Link das review cards para artigo ── */
.rcard, .ncard, .scard, .vcard { cursor:pointer; }

/* ── TOAST NOTIFICATIONS ── */
.toast-container { position:fixed; bottom:80px; left:50%; transform:translateX(-50%); z-index:600; display:flex; flex-direction:column; gap:8px; align-items:center; pointer-events:none; }
@media(min-width:1024px) { .toast-container { bottom:32px; right:24px; left:auto; transform:none; align-items:flex-end; } }
.toast { background:#1c1610; border:1px solid rgba(255,107,53,.3); border-radius:8px; padding:12px 18px; font-size:13px; font-weight:600; color:#f0ece8; box-shadow:0 4px 20px rgba(0,0,0,.5); pointer-events:auto; animation:toast-in .3s ease; white-space:nowrap; }
.toast.success { border-color:rgba(0,201,123,.4); }
.toast.error   { border-color:rgba(255,45,85,.4); }
@keyframes toast-in { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
@keyframes toast-out { to{opacity:0;transform:translateY(12px)} }
.toast.out { animation:toast-out .25s ease forwards; }

/* ── FILTER CHIP ROW (mobile active filters) ── */
.active-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.active-filter-chip { display:inline-flex; align-items:center; gap:6px; background:rgba(255,107,53,.12); border:1px solid rgba(255,107,53,.3); color:#FF6B35; font-size:12px; font-weight:600; padding:4px 12px; border-radius:20px; }
.active-filter-chip button { background:none; border:none; color:#FF6B35; cursor:pointer; font-size:14px; line-height:1; padding:0; margin-left:2px; }


/* ══════════════════════════════════════════════════
   DARK / LIGHT MODE THEMING
   ══════════════════════════════════════════════════ */

/* Light mode: sobrescreve as variáveis de cor */
[data-theme="light"] {
  --bg:     #faf7f4;
  --bg2:    #f2ece6;
  --bg3:    #e8e0d8;
  --text:   #1a1208;
  --muted:  #7a6a5a;
  --border: rgba(0,0,0,0.09);
  --border-hover: rgba(255,107,53,0.5);
}

[data-theme="light"] body { background:#faf7f4; color:#1a1208; }

/* Header */
[data-theme="light"] .header {
  background: rgba(250,247,244,0.97);
  border-bottom-color: rgba(0,0,0,0.1);
}

/* Nav lateral mobile */
[data-theme="light"] .nav { background:#f2ece6; border-right-color:rgba(0,0,0,.1); }
[data-theme="light"] .nav__overlay { background:rgba(0,0,0,.45); }
[data-theme="light"] .nav-overlay.active { background:rgba(0,0,0,.4); }
[data-theme="light"] .nav__link { color:#7a6a5a; }
[data-theme="light"] .nav__link:hover, [data-theme="light"] .nav__link.active { color:#FF6B35; background:rgba(255,107,53,.08); }
[data-theme="light"] .nav__close { background:#e8e0d8; border-color:rgba(0,0,0,.1); color:#7a6a5a; }
[data-theme="light"] .nav__head { border-bottom-color:rgba(0,0,0,.08); }
[data-theme="light"] .nav__sep { background:rgba(0,0,0,.08); }
[data-theme="light"] .nav__extras { border-top-color:rgba(0,0,0,.08); }
[data-theme="light"] .nav-toggle { border-color:rgba(0,0,0,.15); }
[data-theme="light"] .nav-toggle__bar { background:#1a1208; }

/* Search */
[data-theme="light"] .search__input { background:#e8e0d8; border-color:rgba(0,0,0,.1); color:#1a1208; }
[data-theme="light"] .search__input:focus { border-color:#FF6B35; }

/* Cards */
[data-theme="light"] .rcard,
[data-theme="light"] .ncard,
[data-theme="light"] .scard,
[data-theme="light"] .vcard,
[data-theme="light"] .pcard,
[data-theme="light"] .related-card,
[data-theme="light"] .sidebar-box,
[data-theme="light"] .opinion { background:#ffffff; border-color:rgba(0,0,0,.09); }

[data-theme="light"] .rcard:hover, [data-theme="light"] .ncard:hover,
[data-theme="light"] .scard:hover, [data-theme="light"] .vcard:hover,
[data-theme="light"] .pcard:hover { border-color:rgba(255,107,53,.5); }

/* Thumbs: mais claros no light mode */
[data-theme="light"] .bg-c1 { background:linear-gradient(135deg,#c5d8ef,#7aabdb); }
[data-theme="light"] .bg-c2 { background:linear-gradient(135deg,#d8c5ef,#a87add); }
[data-theme="light"] .bg-c3 { background:linear-gradient(135deg,#ede8c0,#c4b55a); }
[data-theme="light"] .bg-c4 { background:linear-gradient(135deg,#c5e8e0,#5abdb3); }
[data-theme="light"] .bg-c5 { background:linear-gradient(135deg,#edc5c5,#db7a7a); }
[data-theme="light"] .bg-c6 { background:linear-gradient(135deg,#c5c8ef,#7a80d8); }

/* Hero overlay no light mode */
[data-theme="light"] .hero__overlay {
  background:linear-gradient(to top,rgba(250,247,244,.99) 0%,rgba(250,247,244,.4) 55%,transparent 100%);
}
[data-theme="light"] .hero__title { color:#1a1208; }
[data-theme="light"] .hero__desc  { color:rgba(26,18,8,.7); }

/* Article hero */
[data-theme="light"] .article-hero__overlay {
  background:linear-gradient(to top,rgba(250,247,244,.99) 0%,rgba(250,247,244,.4) 55%,transparent 100%);
}
[data-theme="light"] .article-hero__title   { color:#1a1208; }
[data-theme="light"] .article-hero__excerpt { color:rgba(26,18,8,.7); }
[data-theme="light"] .article-hero__avatar  { color:#fff; }

/* Trending */
[data-theme="light"] .trending { border-top-color:rgba(0,0,0,.08); }
[data-theme="light"] .titem    { border-bottom-color:rgba(0,0,0,.07); }
[data-theme="light"] .titem__num { color:rgba(0,0,0,.1); }

/* Section headers */
[data-theme="light"] .section__hd   { border-bottom-color:rgba(0,0,0,.09); }
[data-theme="light"] .rcard__foot   { border-top-color:rgba(0,0,0,.07); }
[data-theme="light"] .review-verdict { background:#f2ece6; border-color:rgba(255,107,53,.3); }
[data-theme="light"] .review-verdict__bar { background:rgba(0,0,0,.08); }
[data-theme="light"] .sidebar-stat  { border-bottom-color:rgba(0,0,0,.07); }
[data-theme="light"] .article-share { border-top-color:rgba(0,0,0,.08); }
[data-theme="light"] .share-btn     { background:rgba(0,0,0,.05); border-color:rgba(0,0,0,.1); color:#1a1208; }

/* Footer */
[data-theme="light"] .footer { background:#f2ece6; border-top-color:rgba(0,0,0,.1); }
[data-theme="light"] .footer__inner { border-bottom-color:rgba(0,0,0,.08); }
[data-theme="light"] .slink { background:#e8e0d8; border-color:rgba(0,0,0,.1); }

/* Filters (reviews page) */
[data-theme="light"] .filters__section { border-bottom-color:rgba(0,0,0,.08); }
[data-theme="light"] .filter-btn       { color:#7a6a5a; }
[data-theme="light"] .filter-btn:hover { background:rgba(0,0,0,.05); color:#1a1208; }
[data-theme="light"] .filter-btn.active { color:#FF6B35; background:rgba(255,107,53,.08); }

/* Page hero */
[data-theme="light"] .page-hero { background:linear-gradient(135deg,#f2ece6,#faf7f4); border-bottom-color:rgba(0,0,0,.08); }

/* Search overlay */
[data-theme="light"] .search-overlay__box .search-overlay__input-wrap { background:#ffffff; border-color:rgba(255,107,53,.4); }
[data-theme="light"] .search-overlay__input { color:#1a1208; }
[data-theme="light"] .search-overlay__results { background:#f2ece6; }
[data-theme="light"] .search-result { border-bottom-color:rgba(0,0,0,.05); }
[data-theme="light"] .search-result:hover { background:rgba(255,107,53,.07); }
[data-theme="light"] .search-group__label { border-bottom-color:rgba(0,0,0,.07); color:#7a6a5a; }
[data-theme="light"] .search-hint { color:#7a6a5a; border-top-color:rgba(0,0,0,.07); }

/* Cookie banner */
[data-theme="light"] .cookie-banner { background:#f2ece6; border-top-color:rgba(0,0,0,.1); }
[data-theme="light"] .cookie-banner__btn--decline { background:#e8e0d8; border-color:rgba(0,0,0,.1); color:#7a6a5a; }

/* Bottom nav */
[data-theme="light"] .bottom-nav { background:rgba(250,247,244,.97); border-top-color:rgba(0,0,0,.1); }

/* Breadcrumb */
[data-theme="light"] .breadcrumb a { color:#7a6a5a; }
[data-theme="light"] .breadcrumb span[aria-current] { color:#1a1208; }

/* ── THEME TOGGLE BUTTON ── */
.theme-toggle {
  width: 40px; height: 40px;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  color: var(--text);
  cursor: pointer;
  flex-shrink: 0;
  transition: background var(--ease), border-color var(--ease), color var(--ease);
}
.theme-toggle:hover { border-color: var(--accent); color: var(--accent); }

/* Mostrar lua no dark, sol no light */
.theme-icon--sun  { display: none; }
[data-theme="light"] .theme-icon--moon { display: none; }
[data-theme="light"] .theme-icon--sun  { display: block; }

/* Versão menor para o menu mobile */
.theme-toggle--sm { width:36px; height:36px; }
.nav__theme-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 14px; font-weight: 600; color: var(--muted);
  padding: 0 4px; margin-bottom: 8px;
}


/* ══════════════════════════════════════════════════
   PÁGINA DE NOTÍCIAS
   ══════════════════════════════════════════════════ */

.news-page { padding-top: 28px; padding-bottom: 48px; }

/* Tabs de categoria */
.cat-tabs {
  display: flex; gap: 6px; flex-wrap: wrap;
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
  overflow-x: auto; scrollbar-width: none;
}
.cat-tabs::-webkit-scrollbar { display: none; }
.cat-tab {
  display: flex; align-items: center; gap: 6px;
  background: none; border: 1px solid var(--border);
  border-radius: 20px; padding: 7px 16px;
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  color: var(--muted); cursor: pointer; white-space: nowrap;
  transition: all var(--ease); min-height: 38px;
}
.cat-tab:hover { border-color: var(--accent); color: var(--accent); }
.cat-tab.active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Featured da notícia */
.news-featured {
  position: relative;
  border-radius: var(--r-xl);
  overflow: hidden;
  cursor: pointer;
  margin-bottom: 28px;
  min-height: 240px;
  display: block;
  text-decoration: none;
  color: inherit;
  transition: transform var(--ease);
}
.news-featured:hover { transform: translateY(-2px); }
@media(min-width:480px) { .news-featured { min-height: 300px; } }
@media(min-width:768px) { .news-featured { min-height: 380px; } }
.news-featured__bg {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;  /* inset: 0 fallback */
  background-size: cover;
  background-position: center;
}
.news-featured__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;  /* inset: 0 fallback */
  background: linear-gradient(to top, rgba(10,8,6,.97) 0%, rgba(10,8,6,.5) 55%, rgba(10,8,6,.1) 100%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  box-sizing: border-box;
}
@media(min-width:768px) { .news-featured__overlay { padding: 36px; } }
.news-featured__title {
  font-family: var(--font-display);
  font-size: clamp(20px, 4vw, 38px);
  line-height: 1.05;
  letter-spacing: 1px;
  color: #fff;
  margin: 8px 0 10px;
}
.news-featured__excerpt {
  font-size: 13px;
  color: rgba(240,236,232,.75);
  max-width: 500px;
  line-height: 1.5;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-featured__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  font-size: 11px;
  color: var(--muted);
}
.news-featured__author { color: var(--accent); font-weight: 600; }

[data-theme="light"] .news-featured__overlay {
  background: linear-gradient(to top,rgba(250,247,244,.97) 0%,rgba(250,247,244,.2) 70%,transparent 100%);
}
[data-theme="light"] .news-featured__title   { color: #1a1208; }
[data-theme="light"] .news-featured__excerpt { color: rgba(26,18,8,.7); }

/* Layout principal: grid + sidebar */
.news-main-layout { display: grid; grid-template-columns: 1fr; gap: 28px; }
@media(min-width:1024px) { .news-main-layout { grid-template-columns: 1fr 280px; } }

.news-feed { display: flex; flex-direction: column; gap: 0; }

/* Card de notícia horizontal */
.news-feed-card {
  display: flex; gap: 16px; align-items: flex-start;
  padding: 16px 0; border-bottom: 1px solid var(--border);
  cursor: pointer; text-decoration: none; color: inherit;
  transition: background var(--ease); border-radius: var(--r-md);
}
.news-feed-card:first-child { padding-top: 0; }
.news-feed-card:hover .news-feed-card__title { color: var(--accent); }
.news-feed-card__thumb {
  width: 100px; min-width: 100px; height: 70px;
  border-radius: var(--r-md); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  font-size: 32px;
}
@media(min-width:480px) { .news-feed-card__thumb { width: 120px; min-width: 120px; height: 80px; } }
.news-feed-card__thumb-icon { opacity: .15; }
.news-feed-card__body { flex: 1; min-width: 0; }
.news-feed-card__meta { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 6px; }
.news-feed-card__cat { font-size: 10px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--accent); }
.news-feed-card__time { font-size: 11px; color: var(--muted); }
.news-feed-card__title {
  font-weight: 600; font-size: 14px; line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color var(--ease);
}
.news-feed-card__author { font-size: 11px; color: var(--muted); margin-top: 6px; }

/* Load more */
.load-more {
  display: flex; align-items: center; justify-content: center;
  margin-top: 24px;
}
.btn-load-more {
  background: none; border: 1px solid var(--border); color: var(--text);
  font-family: var(--font-body); font-size: 13px; font-weight: 600;
  padding: 11px 28px; border-radius: var(--r-md); cursor: pointer;
  transition: all var(--ease); min-height: 44px;
}
.btn-load-more:hover { border-color: var(--accent); color: var(--accent); }
.btn-load-more:disabled { opacity: .4; cursor: default; }


/* ══════════════════════════════════════════════════
   PÁGINA DE CALENDÁRIO
   ══════════════════════════════════════════════════ */

/* Mais esperados */
.anticipated-grid {
  display: grid; grid-template-columns: 1fr; gap: 14px; margin-bottom: 40px;
}
@media(min-width:480px) { .anticipated-grid { grid-template-columns: repeat(2,1fr); } }
@media(min-width:1024px) { .anticipated-grid { grid-template-columns: repeat(4,1fr); } }

.ant-card {
  background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r-lg);
  overflow: hidden; cursor: pointer; transition: all var(--ease); text-decoration: none; color: inherit;
  display: block;
}
.ant-card:hover { border-color: var(--border-hover); transform: translateY(-3px); }
.ant-card__thumb {
  height: 110px; position: relative;
  display: flex; align-items: center; justify-content: center; font-size: 52px;
}
.ant-card__thumb-icon { opacity: .12; }
.ant-card__date-badge {
  position: absolute; top: 10px; left: 10px;
  background: rgba(10,8,6,.85); border: 1px solid var(--border);
  border-radius: var(--r-md); padding: 4px 10px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--accent);
}
[data-theme="light"] .ant-card__date-badge { background: rgba(255,255,255,.9); }
.ant-card__body { padding: 12px 14px 14px; }
.ant-card__title { font-weight: 700; font-size: 14px; line-height: 1.3; margin-bottom: 6px; }
.ant-card__plats { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; }
.ant-card__plat { font-size: 10px; font-weight: 700; background: var(--bg3); border-radius: 20px; padding: 2px 8px; color: var(--muted); }

/* Hype stars */
.hype { display: flex; gap: 3px; }
.hype__star { font-size: 12px; color: var(--border); }
.hype__star.on { color: var(--gold); }

/* Platform filter */
.plat-filter {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 32px;
  padding-bottom: 20px; border-bottom: 1px solid var(--border);
}
.plat-filter-btn {
  display: flex; align-items: center; gap: 6px;
  background: none; border: 1px solid var(--border);
  border-radius: 20px; padding: 7px 16px;
  font-family: var(--font-body); font-size: 12px; font-weight: 700;
  color: var(--muted); cursor: pointer; white-space: nowrap;
  transition: all var(--ease); min-height: 38px;
}
.plat-filter-btn:hover { border-color: var(--accent); color: var(--accent); }
.plat-filter-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; }

/* Linha do tempo por mês */
.cal-month { margin-bottom: 36px; }
.cal-month__header {
  font-family: var(--font-display); font-size: 22px; letter-spacing: 2px;
  color: var(--text); margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 2px solid var(--accent);
  display: flex; align-items: center; gap: 10px;
  text-transform: capitalize;
}
.cal-month__count { font-size: 12px; font-weight: 400; color: var(--muted); font-family: var(--font-body); letter-spacing: 0; }
.cal-list { display: flex; flex-direction: column; gap: 10px; }

.cal-item {
  display: grid; grid-template-columns: 52px 1fr auto;
  align-items: center; gap: 14px;
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 14px; cursor: pointer;
  transition: all var(--ease); text-decoration: none; color: inherit;
}
.cal-item:hover { border-color: var(--border-hover); transform: translateX(4px); }
.cal-item__date {
  background: var(--bg3); border: 1px solid var(--border);
  border-radius: var(--r-md); text-align: center; padding: 6px 4px; flex-shrink: 0;
}
.cal-item__day   { display: block; font-family: var(--font-display); font-size: 22px; line-height: 1; color: var(--accent); }
.cal-item__month { display: block; font-size: 9px; font-weight: 700; letter-spacing: 1px; color: var(--muted); text-transform: uppercase; }
.cal-item__info  { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cal-item__header { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cal-item__emoji { font-size: 18px; line-height: 1; flex-shrink: 0; }
.cal-item__title { font-weight: 700; font-size: 14px; }
.cal-item__desc  { font-size: 12px; color: var(--muted); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.cal-item__plats { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.cal-item__plat  { font-size: 10px; font-weight: 700; background: var(--bg3); border-radius: 20px; padding: 2px 8px; color: var(--muted); }
.cal-item__right { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex-shrink: 0; }

/* Badges de tipo */
.type-badge { font-size: 9px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 8px; border-radius: var(--r-sm); }
.type-launch   { background: rgba(0,201,123,.12);  color: var(--green); border: 1px solid rgba(0,201,123,.3); }
.type-dlc      { background: rgba(124,58,237,.12); color: #a78bfa;      border: 1px solid rgba(124,58,237,.3); }
.type-hardware { background: rgba(255,214,10,.1);  color: var(--gold);  border: 1px solid rgba(255,214,10,.3); }


/* ══════════════════════════════════════════════════
   CALENDÁRIO – Loading & API Banner
   ══════════════════════════════════════════════════ */

/* Loading spinner */
.cal-loading {
  display: flex; flex-direction: column; align-items: center;
  gap: 16px; padding: 48px 24px; color: var(--muted);
  font-size: 14px;
}
.cal-loading[hidden] { display: none; }
.cal-loading__spinner {
  width: 36px; height: 36px;
  border: 3px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .cal-loading__spinner { animation: none; } }

/* API banner (status / erro / sucesso) */
.api-banner {
  display: flex; align-items: center; gap: 12px;
  border-radius: var(--r-lg); padding: 14px 18px;
  font-size: 13px; margin-bottom: 24px;
  border: 1px solid;
}
.api-banner[hidden] { display: none; }
.api-banner--success {
  background: rgba(0,201,123,.08);
  border-color: rgba(0,201,123,.3);
  color: var(--green);
}
.api-banner--error {
  background: rgba(255,45,85,.07);
  border-color: rgba(255,45,85,.25);
  color: var(--danger);
}
.api-banner--info {
  background: rgba(255,107,53,.07);
  border-color: rgba(255,107,53,.25);
  color: var(--accent);
}
.api-banner__icon { font-size: 18px; flex-shrink: 0; }
.api-banner__text { flex: 1; line-height: 1.5; }
.api-banner__text a { color: inherit; text-decoration: underline; }
.api-banner__time { font-family: var(--font-mono); font-size: 11px; opacity: .7; flex-shrink: 0; }

/* Badge "Ao vivo" */
.badge-live {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 10px; font-weight: 700; letter-spacing: 1px;
  color: var(--green); background: rgba(0,201,123,.12);
  border: 1px solid rgba(0,201,123,.3);
  border-radius: 20px; padding: 2px 10px;
}
.badge-live::before {
  content: ''; width: 6px; height: 6px;
  background: var(--green); border-radius: 50%;
  animation: pulse-dot 1.5s ease-in-out infinite;
}
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:.3} }

/* Cal item — indicador de data passada */
.cal-item.is-past { opacity: .5; }
.cal-item.is-today .cal-item__day { color: var(--danger); }
.cal-item.is-today { border-color: rgba(255,45,85,.3); }


/* ── IMAGENS REAIS NAS CARDS E HERO ── */
.rcard__thumb[style*="background-image"]  { background-blend-mode: normal; }
.ncard__thumb[style*="background-image"]  { background-blend-mode: normal; }
.news-feed-card__thumb[style*="background-image"] { background-size: cover; background-position: center; }
.article-hero__bg[style*="background-image"] { background-size: cover; background-position: center; }

/* Overlay mais forte quando tem imagem real */
.article-hero__bg[style*="background-image"] + .article-hero__overlay {
  background: linear-gradient(to top, rgba(10,8,6,.98) 0%, rgba(10,8,6,.5) 55%, rgba(10,8,6,.15) 100%);
}
[data-theme="light"] .article-hero__bg[style*="background-image"] + .article-hero__overlay {
  background: linear-gradient(to top, rgba(250,247,244,.98) 0%, rgba(250,247,244,.5) 55%, rgba(250,247,244,.1) 100%);
}

/* Card thumbnail com imagem real — ícone fica sutil */
.rcard__thumb[style*="background-image"] .rcard__icon { font-size: 48px; opacity: .12; }


/* ════════════════════════════════════════════════
   MODO DE LEITURA
   ════════════════════════════════════════════════ */
.btn-read-mode {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--bg3); border: 1px solid var(--border);
  color: var(--muted); border-radius: var(--r-xl);
  font-family: var(--font-body); font-size: 12px; font-weight: 600;
  padding: 7px 14px; cursor: pointer; transition: all .2s;
  white-space: nowrap;
}
.btn-read-mode:hover { border-color: var(--accent); color: var(--accent); }
.btn-read-mode.active { background: var(--accent); border-color: var(--accent); color: #fff; }

body.reading-mode #js-header,
body.reading-mode #js-ticker,
body.reading-mode #js-bottom-nav,
body.reading-mode #js-reading-bar,
body.reading-mode .article-layout__sidebar,
body.reading-mode #js-btt,
body.reading-mode .scroll-row { display: none !important; }

body.reading-mode .article-layout { grid-template-columns: 1fr; }
body.reading-mode .article-layout__main { max-width: 700px; margin: 0 auto; padding-top: 32px; }
body.reading-mode .article-content { font-size: 19px; line-height: 1.85; }
body.reading-mode .article-content p { margin-bottom: 1.4em; }

.read-mode-bar {
  position: sticky; top: 0; z-index: 900;
  background: var(--bg2); border-bottom: 1px solid var(--border);
  padding: 10px 24px; display: none; align-items: center;
  justify-content: space-between; gap: 12px;
}
body.reading-mode .read-mode-bar { display: flex; }
.read-mode-bar__title { font-family: var(--font-display); font-size: 16px; letter-spacing: 1px; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60vw; }
.read-mode-bar__actions { display: flex; gap: 8px; flex-shrink: 0; }
.rmode-btn { background: var(--bg3); border: 1px solid var(--border); color: var(--muted); border-radius: var(--r-md); font-family: var(--font-body); font-size: 12px; font-weight: 600; padding: 5px 12px; cursor: pointer; transition: all .2s; }
.rmode-btn:hover { color: var(--text); border-color: var(--border-hover); }

/* ════════════════════════════════════════════════
   YOUTUBE EMBED
   ════════════════════════════════════════════════ */
.yt-embed-wrap {
  position: relative; width: 100%; padding-top: 56.25%;
  border-radius: var(--r-lg); overflow: hidden;
  margin: 28px 0; background: #000;
  box-shadow: 0 8px 32px rgba(0,0,0,.4);
}
.yt-embed-wrap iframe {
  position: absolute; top: 0; left: 0;
  width: 100%; height: 100%; border: none;
}
.yt-label {
  font-size: 11px; color: var(--muted); letter-spacing: 1px;
  text-transform: uppercase; font-weight: 700;
  margin-bottom: 8px; display: block;
}

/* ════════════════════════════════════════════════
   ARTIGOS RELACIONADOS
   ════════════════════════════════════════════════ */
.related-grid {
  display: grid; grid-template-columns: 1fr;
  gap: 14px; margin-top: 12px;
}
.related-card {
  display: flex; gap: 12px; align-items: flex-start;
  text-decoration: none; color: inherit;
  background: var(--bg2); border: 1px solid var(--border);
  border-radius: var(--r-lg); padding: 12px;
  transition: border-color .2s, transform .2s; cursor: pointer;
}
.related-card:hover { border-color: rgba(255,107,53,.3); transform: translateX(3px); }
.related-card__thumb {
  width: 60px; height: 60px; border-radius: var(--r-md);
  flex-shrink: 0; display: flex; align-items: center;
  justify-content: center; font-size: 22px;
  background-size: cover; background-position: center;
}
.related-card__info { flex: 1; min-width: 0; }
.related-card__title { font-size: 13px; font-weight: 700; color: var(--text); line-height: 1.3; margin-bottom: 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.related-card__meta  { font-size: 11px; color: var(--muted); }
.related-card__score { font-family: var(--font-display); font-size: 20px; color: var(--accent); flex-shrink: 0; align-self: center; }

[data-theme="light"] .related-card { background: var(--bg2); }

/* ════════════════════════════════════════════════
   PÁGINA DE AUTOR
   ════════════════════════════════════════════════ */
.author-hero {
  background: linear-gradient(135deg, var(--bg2) 0%, var(--bg3) 100%);
  border-bottom: 1px solid var(--border); padding: 60px 0 48px;
}
.author-hero__inner { display: flex; gap: 32px; align-items: center; flex-wrap: wrap; }
.author-avatar {
  width: 110px; height: 110px; border-radius: 50%;
  border: 3px solid var(--accent); flex-shrink: 0;
  background: var(--bg3); display: flex; align-items: center;
  justify-content: center; font-family: var(--font-display);
  font-size: 42px; color: var(--accent); overflow: hidden;
  background-size: cover; background-position: center;
}
.author-hero__info { flex: 1; min-width: 200px; }
.author-hero__name { font-family: var(--font-display); font-size: clamp(32px,5vw,52px); letter-spacing: 2px; color: var(--text); line-height: 1; margin-bottom: 6px; }
.author-hero__role { color: var(--accent); font-size: 13px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 14px; }
.author-hero__bio  { font-size: 15px; color: var(--muted); line-height: 1.7; max-width: 520px; margin-bottom: 20px; }
.author-hero__stats { display: flex; gap: 24px; flex-wrap: wrap; }
.author-stat { text-align: center; }
.author-stat__num { font-family: var(--font-display); font-size: 28px; color: var(--accent); line-height: 1; }
.author-stat__label { font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: 1px; text-transform: uppercase; }
.author-socials { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.author-social { display: inline-flex; align-items: center; gap: 6px; background: var(--bg3); border: 1px solid var(--border); color: var(--muted); border-radius: var(--r-md); font-size: 12px; font-weight: 600; padding: 6px 14px; text-decoration: none; transition: all .2s; }
.author-social:hover { border-color: var(--accent); color: var(--accent); }
.author-articles { padding: 48px 0 80px; }
.author-articles__title { font-family: var(--font-display); font-size: 28px; letter-spacing: 2px; color: var(--text); margin-bottom: 28px; display: flex; align-items: center; gap: 12px; }
.author-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
