
/* PopQuest App Shell v4 (Account-aware, B with subtle C) */

.pq-app{display:flex;min-height:100vh;background:#fff}
.pq-sidebar{
  position:fixed !important;
  left:0; top:0;
  width:var(--pq-sidebar-w);
  height:100vh;
  background:#000 !important;
  color:#fff;
  border-right:0 !important;
  overflow:hidden;
  z-index: 100;
}
body.admin-bar .pq-sidebar{top:32px}
@media (max-width:782px){body.admin-bar .pq-sidebar{top:46px}}

.pq-sidebar__inner{
  height:100%;
  display:flex;
  flex-direction:column;
  padding: 18px 20px;
  gap:14px;
  overflow:auto;
}
.pq-sidebar__logo{display:block;margin-bottom:22px}
.pq-sidebar__logo img{max-width:160px;height:auto;display:block}

/* Logo responsiveness + prevent giant rendering */
.pq-sidebar__logo img,
.pq-sidebar__logoImg,
.pq-sb-brand__img,
.pq-bottomNav__logo{
  width:100%;
  max-width:190px;
  max-height:64px;
  height:auto;
  object-fit:contain;
}

.pq-sidebar__logoText{font-family:'PQ Franklin',sans-serif;font-size:22px;letter-spacing:.2px;color:#fff}
.pq-sidebar__menu{list-style:none;margin:0;padding:0}
.pq-sidebar__menu a{color:#fff;text-decoration:none;display:block;padding:10px 0;font-family:'PQ Franklin',sans-serif;transition:.2s ease}
.pq-sidebar__menu a:hover{color:#91F88D}
.pq-sidebar__menu .current-menu-item>a{color:#91F88D}
.pq-sidebar__spacer{flex:1}
/* Sidebar safety: keep nav text readable regardless of global rules */
.pq-sidebar, .pq-sidebar *{color:inherit;}
.pq-sidebar a, .pq-sidebar button, .pq-sidebar .menu a{color:#fff !important;}
.pq-sidebar a:hover{color:#91F88D !important;}

.pq-app-content{flex:1;background:#fff;padding:12px 36px;border:none;box-shadow:none;color: inherit;margin-left:260px;min-width:0}

.pq-joinBtn{justify-content:center;font-family:'PQ Franklin',sans-serif}
.pq-acctBtn__avatar img{border-radius:999px}
.pq-acctBtn__meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:1;min-width:0}
.pq-acctBtn__name{font-family:'PQ Franklin',sans-serif;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pq-acctBtn__sub{opacity:.75;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pq-acctBtn__chev{opacity:.7}

/* Drawer */
.pq-acctDrawer{margin-top:10px;border:1px solid #1a1a1a;background:#0a0a0a;border-radius:14px;padding:12px}
.pq-acctDrawer__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.pq-stat{border:1px solid #1a1a1a;border-radius:12px;padding:8px 10px}
.pq-stat__label{display:block;opacity:.7;font-size:11px;margin-bottom:3px}
.pq-stat__val{display:block;font-family:'PQ Franklin',sans-serif;font-size:13px;white-space:nowrap}
.pq-delta{opacity:.85;font-size:11px;margin-left:6px;color:#91F88D}
.pq-acctDrawer__metaLine{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.pq-chip{border:1px solid #1a1a1a;background:#070707;color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;opacity:.9}
.pq-acctDrawer__links{display:flex;flex-direction:column;gap:8px}
.pq-acctLink{color:#fff;text-decoration:none;border:1px solid #1a1a1a;background:#080808;border-radius:12px;padding:10px 12px;font-family:'PQ Franklin',sans-serif}
.pq-acctLink:hover{color:#91F88D;border-color:#2a2a2a}

/* Guest join pop */
.pq-joinPop{margin-top:10px;border:1px solid #1a1a1a;background:#0a0a0a;border-radius:14px;padding:12px}
.pq-joinPop__title{font-family:'PQ Franklin',sans-serif;font-size:14px;margin-bottom:6px}
.pq-joinPop__copy{opacity:.85;font-size:12px;line-height:1.35;margin-bottom:10px}
.pq-joinPop__actions{display:flex;gap:8px}
.pq-joinPop__primary,.pq-joinPop__secondary{flex:1;text-align:center;text-decoration:none;border-radius:12px;padding:10px 10px;font-family:'PQ Franklin',sans-serif}
.pq-joinPop__primary{background:#91F88D;color:#000}
.pq-joinPop__secondary{border:1px solid #1a1a1a;background:#080808;color:#fff}
.pq-joinPop__fine{opacity:.65;font-size:11px;margin-top:10px}

/* Keep theme header visible (we use the theme header + hamburger everywhere) */

/* Mobile */
.pq-bottomNav{display:none !important;}
@media (max-width:1024px){
  /* On mobile we keep the theme header and hide the left sidebar */
  .pq-app{display:block}
  .pq-sidebar{display:none}
  .pq-app-content{padding:0 0 18px}
}

/* Mobile sheet styling now lives in theme style.css (light, no black overlay). */

.pq-sidebar__logoImg{width:100%;max-width:170px;height:auto;display:block}

/* pq-shell-spacing-fix */
@media (min-width:1024px){
  .pq-app-content > *:first-child{margin-top:0 !important}
  .pq-app-content .pq-container{margin-top:0 !important;padding-top:24px !important}
  .pq-app-content #main{margin-top:0 !important;padding-top:0 !important}
}


/* v4.2 header removal (desktop + mobile)
   Many of your plugins/themes use div wrappers rather than <header>.
   We hide common header containers ONLY when they are direct children of the app content area.
*/
@media (min-width:1024px){
  .pq-app-content > header,
  .pq-app-content > .site-header,
  .pq-app-content > .pq-header,
  .pq-app-content > .pqTopBar,
  .pq-app-content > .pq-topbar,
  .pq-app-content > #pqHeader,
  .pq-app-content > #site-header,
  .pq-app-content > .header,
  .pq-app-content > .header-wrap,
  .pq-app-content > .pq-header-wrap,
  .pq-app-content > [id*="header"]:not(#header),
  .pq-app-content > [class*="header-wrap"],
  .pq-app-content > [class*="site-header"]{
    display:none !important;
    height:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* Do NOT hide the theme header on mobile. */


/* ===== PopQuest App Shell v4.4 - Desktop content not pushed down =====
   Some plugin/theme combos end up with vertical centering or an inherited
   top spacer on wrappers. Force top alignment and remove top spacing
   in the app content stack.
*/
.pq-app-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  min-height:100vh;
  padding-top:0 !important;
}
.pq-container{
  width:100%;
  margin:0 !important;
  padding-top:0 !important;
}
.pq-container > *:first-child,
.pq-app-content > *:first-child,
#main,
main#main{
  margin-top:0 !important;
  padding-top:0 !important;
}
/* If any wrapper is using grid/flex centering, neutralise it */
.pq-app-content,
.pq-container,
#page,
#content,
.site,
.site-content{
  place-content:initial !important;
}
/* Logged-in admin bar already adds html margin-top; don't add extra */
body.admin-bar .pq-app-content{ padding-top:0 !important; }

@media (min-width:1025px){ .pq-app{ align-items:stretch !important; } }


/* ===== App content: ensure readable text on white ===== */
.pq-app-content{color: inherit;}
.pq-app-content a{color:inherit;}
.pq-app-content a:hover{color:#91F88D;}

/* Prevent accidental white-on-white from plugin styles */
/* =============================
   Sidebar: account block above nav
   ============================= */
.pq-sidebar__account--top{margin:0 0 10px}

/* Guest join CTA (top) */
.pq-joinTop{border:1px solid #1a1a1a;background:#0a0a0a;border-radius:14px;padding:12px}
.pq-joinTop__title{font-family:'PQ Franklin',sans-serif;font-size:14px;margin:0 0 10px;color:#fff;line-height:1.2}
.pq-joinTop__actions{display:flex;gap:8px;flex-wrap:wrap}
.pq-joinTop__primary,.pq-joinTop__secondary{text-decoration:none;border-radius:999px;padding:10px 12px;font-family:'PQ Franklin',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.35px;font-size:12px;display:inline-flex;align-items:center;justify-content:center}
.pq-joinTop__primary{background:#91F88D;color:#000}
.pq-joinTop__secondary{border:1px solid #1a1a1a;background:#080808;color:#fff}


/* === PQ tweak: account box + CTA feels native, and "points" not "£" === */
.pq-sidebar__account{ position: sticky; bottom: 0; }

.pq-acctBtn{
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
}
.pq-acctBtn:hover{ background: rgba(255,255,255,.10); }

.pq-acctBtn__name{ color:#fff; }
.pq-acctBtn__sub{ color: rgba(255,255,255,.65); }

.pq-acctDrawer{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.88);
}
.pq-stat{ border-color: rgba(255,255,255,.12); }
.pq-stat__label{ color: rgba(255,255,255,.65); }
.pq-stat__val{ color:#fff; }
.pq-delta{ color:#91F88D; }

/* Logged-out CTA */
.pq-joinTop__primary{
  display:block;
  width:100%;
  margin-top:10px;
  text-align:center;
  padding:12px 14px;
  border-radius:14px;
  background:#91F88D;
  color:#000 !important;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.pq-joinTop__primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(145,248,141,.35);
}


/* ======================
   SIDEBAR ACCOUNT (native / social)
   ====================== */
.pq-sidebar__account{ padding: 0 14px 14px; }

.pq-acctBtn{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 12px;
  border-radius:18px;
  background: rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.14);
  color:#fff;
  text-align:left;
}
.pq-acctBtn:hover{ background: rgba(255,255,255,0.09); }
.pq-acctBtn__avatar img{ width:38px; height:38px; border-radius:999px; }
.pq-acctBtn__name{ font-family: var(--pq-font-head, 'Archivo Black', system-ui, sans-serif); letter-spacing:.3px; }
.pq-acctBtn__sub{ opacity:.75; font-size:12px; }

.pq-acctDrawer{
  margin-top:10px;
  padding:12px;
  border-radius:18px;
  background: rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
  color:#fff;
}
.pq-acctDrawer__links a{ color:#fff; }
.pq-acctLink:hover{ color: var(--pq-green,#91F88D); }

/* Join / register CTA */
.pq-joinTop{
  padding:12px;
  margin: 0 14px 14px;
  border-radius:18px;
  background: rgba(145,248,141,0.14);
  border:1px solid rgba(145,248,141,0.35);
  color:#fff;
}
.pq-joinTop__title{ font-family: var(--pq-font-head,'Archivo Black',system-ui,sans-serif); font-size:14px; line-height:1.15; }
.pq-joinTop__primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  background: var(--pq-green,#91F88D);
  color:#000 !important;
  font-family:'PQFranklin',system-ui,sans-serif;
  text-transform:uppercase;
  letter-spacing:.6px;
}
.pq-joinTop__secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:999px;
  background: rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.14);
  color:#fff !important;
}
.pq-joinTop__primary:hover{ transform: translateY(-1px); }


/* =====================
   Sidebar account card (native)
   ===================== */
.pq-acctCard{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);backdrop-filter:saturate(120%) blur(2px);} 
.pq-acctCard__avatar{width:54px;height:54px;border-radius:999px;overflow:hidden;display:block;border:1px solid rgba(255,255,255,.18);} 
.pq-acctCard__avatar img{width:100%;height:100%;object-fit:cover;display:block;} 
.pq-acctCard__meta{display:flex;flex-direction:column;gap:2px;} 
.pq-acctCard__name{color:#fff;text-decoration:none;font-family:'Archivo Black', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;font-size:14px;letter-spacing:.3px;text-transform:uppercase;line-height:1.05;} 
.pq-acctCard__handle{color:rgba(255,255,255,.72);font-size:12px;} 
.pq-acctCard__stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:2px;} 
.pq-acctStat{border-radius:14px;border:1px solid rgba(255,255,255,.12);padding:8px 8px;background:rgba(0,0,0,.25);} 
.pq-acctStat__label{display:block;font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:rgba(255,255,255,.7);} 
.pq-acctStat__val{display:block;margin-top:2px;color:#fff;font-size:13px;font-weight:700;} 
.pq-acctCard__links{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px;} 
.pq-acctMiniLink{color:#fff;text-decoration:none;font-size:12px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);} 
.pq-acctMiniLink:hover{transform:translateY(-1px);} 
.pq-acctMiniLink--muted{opacity:.85;} 
.pq-acctCTA{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:14px;background:#91F88D;color:#000 !important;text-decoration:none;font-family:'Archivo Black', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;letter-spacing:.4px;text-transform:uppercase;} 
.pq-acctCTA:hover{transform:translateY(-1px);} 
@media (max-width: 768px){.pq-acctCard{padding:10px;border-radius:16px;}.pq-acctCard__stats{grid-template-columns:repeat(3,1fr);} }


/* ================================
   4.6 Platform Sidebar
================================ */

.pq-app {
  display: flex;
  align-items: flex-start;
}

.pq-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  width: 260px;
  background: #000;
  padding: 32px 20px;
  color: #fff;
}

.pq-account-header {
  margin-bottom: 32px;
}

.pq-account-name {
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 4px;
}

.pq-account-handle {
  opacity: 0.6;
  font-size: 13px;
  margin-bottom: 18px;
}

.pq-account-points {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 10px;
}

.pq-account-meta {
  font-size: 14px;
  opacity: 0.85;
  display: flex;
  gap: 8px;
}

.pq-account-cta {
  margin-bottom: 32px;
}

.pq-cta-title {
  font-weight: 800;
  font-size: 20px;
  margin-bottom: 6px;
}

.pq-cta-sub {
  font-size: 14px;
  opacity: .7;
  margin-bottom: 16px;
}

.pq-cta-button {
  display: block;
  background: #91F88D;
  color: #000;
  text-align: center;
  padding: 12px;
  border-radius: 14px;
  font-weight: 800;
  text-transform: uppercase;
  box-shadow: 0 0 20px rgba(145,248,141,.4);
  margin-bottom: 12px;
}

.pq-cta-login {
  font-size: 13px;
  opacity: .7;
}

.pq-cta-login a {
  color: #91F88D;
}


/* ===========================
   Sidebar (Instagram-style)
   =========================== */
:root{ --pq-sidebar-w: 270px; --pq-green:#91F88D; }

.pq-sidebar{ width: var(--pq-sidebar-w); flex: 0 0 var(--pq-sidebar-w); background:#000; color:#fff; }
.pq-sidebar__inner{
  position: fixed;
  left: 0; top: 0;
  width: var(--pq-sidebar-w);
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 18px 20px;
  box-sizing: border-box;
}

/* Respect WP admin bar */
body.admin-bar .pq-sidebar__inner{ top: 32px; height: calc(100vh - 32px); }
@media (max-width: 782px){
  body.admin-bar .pq-sidebar__inner{ top: 46px; height: calc(100vh - 46px); }
}

/* Ensure content doesn't tuck under fixed sidebar if the sidebar is taken out of flow */
@media (min-width: 1024px){
  .pq-app-content{ margin-left: var(--pq-sidebar-w); }
}

/* Brand */
.pq-sb-brand{ margin: 6px 0 18px; }
.pq-sb-brand__link{ display:inline-flex; align-items:center; }
.pq-sb-brand__img{
  display:block;
  width:100%;
  height:auto;
  max-width:180px;
  max-height:52px;
  object-fit:contain;
}
@media (max-width: 1024px){
  .pq-sb-brand__img{ max-width:160px; max-height:48px; }
}
@media (max-width: 480px){
  .pq-sb-brand__img{ max-width:140px; max-height:44px; }
}
@media (max-width: 1280px){
  .pq-sb-brand__img{ max-width: 220px; }
}
@media (max-width: 1100px){
  .pq-sb-brand__img{ max-width: 200px; }
}

/* legacy text mark (kept for safety) */
.pq-sb-brand__mark{ color:#fff; font-size:22px; line-height:1; font-family: 'Archivo Black', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; letter-spacing:.5px; }
.pq-sb-brand__mark--green{ color: var(--pq-green); }

/* Card */
.pq-sb-card{
  background: transparent;
  border: 1px solid rgba(145,248,141,.22);
  border-radius: 18px;
  padding: 14px 14px 12px;
  box-shadow: none;
}
.pq-sb-card__top{ display:flex; flex-direction:column; gap:2px; }
.pq-sb-name{ font-weight: 800; letter-spacing:.2px; font-size: 14px; text-transform: uppercase; font-family:'PQFranklin', Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.pq-sb-handle{ color: rgba(255,255,255,.72); font-size: 13px; }

/* Stats row */
.pq-sb-stats{ display:grid; grid-template-columns:1fr; gap:8px; margin-top: 12px; }
.pq-sb-stat{
  display:flex; align-items:center; justify-content:space-between;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(145,248,141,.18);
}
.pq-sb-stat__label{ font-size: 12px; color: rgba(255,255,255,.72); }
.pq-sb-stat__val{ font-size: 12px; color:#fff; font-weight:700; }

/* Compatibility: some templates use __value */
.pq-sb-stat__value{ font-size: 12px; color:#fff; font-weight:700; }

/* Top gain / drop line */
.pq-sb-entityLine{ display:inline-flex; align-items:center; gap:8px; justify-content:flex-end; }

/* Stack Top gains / Biggest drops rows so labels aren't cramped */
.pq-sb-stat.pq-sb-stat--entityLine{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:6px;
}
.pq-sb-stat.pq-sb-stat--entityLine .pq-sb-stat__label{ margin-bottom:0; }
.pq-sb-stat.pq-sb-stat--entityLine .pq-sb-stat__value{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.pq-sb-entityLink{ color:#fff; text-decoration:none; font-weight:800; }
.pq-sb-entityLink:hover{ text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 2px; }
.pq-sb-entityText{ color:#fff; font-weight:800; }

/* Percent badge */
.pq-sb-badge{
  display:inline-flex; align-items:center; gap:4px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .2px;
  line-height: 1;
  white-space: nowrap;
}
.pq-sb-badge__arrow{ font-size: 10px; line-height: 1; }
.pq-sb-badge--up{ background: var(--pq-green); color:#000; box-shadow: 0 0 0 2px rgba(145,248,141,.18); }
.pq-sb-badge--down{ background: #ff5b5b; color:#000; box-shadow: 0 0 0 2px rgba(255,91,91,.18); }

/* CTA */
.pq-sb-card--cta .pq-sb-handle{ margin-top: 4px; }
.pq-sb-cta{
  display:flex; align-items:center; justify-content:center;
  margin-top: 12px;
  width: 100%;
  padding: 10px 12px;
  border-radius:18px;
  background: var(--pq-green);
  color:#000 !important;
  font-family:'PQFranklin', Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:800;
  text-transform: uppercase;
  letter-spacing:.6px;
  transition: transform .12s ease, box-shadow .12s ease;
}
.pq-sb-cta:hover{ transform: translateY(-1px); box-shadow: 0 10px 26px rgba(145,248,141,.35); }
.pq-sb-small{ margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.72); }
.pq-sb-small a{ color: #fff; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* Nav */
.pq-sb-nav{ display:flex; flex-direction:column; gap: 8px; margin-top: 6px; }
.pq-sb-nav__item{
  display:flex;
  align-items:center;
  padding: 10px 12px;
  border-radius: 14px;
  color:#fff !important;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  font-weight: 700;
  transition: background .12s ease, transform .12s ease, border-color .12s ease;
}
.pq-sb-nav__item:hover{
  background: rgba(145,248,141,.12);
  border-color: rgba(145,248,141,.28);
  transform: translateY(-1px);
}

/* Active state */
.pq-sb-nav__item.is-active,
.pq-sb-nav__item[aria-current="page"]{
  background: rgba(145,248,141,.14);
  border-color: rgba(145,248,141,.42);
}



/* Sidebar sub menu (Games) */
.pq-sb-nav__subToggle{
  width:100%;
  margin-top:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  font: inherit;
  cursor: pointer;
  transition: transform .12s ease, background-color .12s ease, border-color .12s ease;
}
.pq-sb-nav__subToggle:hover{
  background: rgba(145,248,141,.12);
  border-color: rgba(145,248,141,.28);
  transform: translateY(-1px);
}

.pq-sb-nav__subToggle.is-active,
.pq-sb-nav__subToggle[aria-current="page"]{
  background: rgba(145,248,141,.14);
  border-color: rgba(145,248,141,.42);
  color: #fff;
}
.pq-sb-nav__subMenu{
  margin: 8px 0 0 10px;
  padding: 0;
  list-style: none;
  border-left: 1px solid rgba(255,255,255,.12);
}
.pq-sb-nav__subItem{
  display:block;
  padding: 8px 12px;
  color: rgba(255,255,255,.86);
  text-decoration: none;
  border-radius: 10px;
  margin: 6px 0 0 10px;
  border: 1px solid transparent;
}
.pq-sb-nav__subItem:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
}

.pq-sb-nav__subItem.is-active,
.pq-sb-nav__subItem[aria-current="page"]{
  background: rgba(145,248,141,.12);
  border-color: rgba(145,248,141,.30);
  color:#fff;
}

/* Footer hint */
.pq-sb-footer{ display:flex; align-items:center; gap:10px; padding: 12px 2px 2px; color: rgba(255,255,255,.55); font-size: 12px; }
.pq-sb-footer__dot{ width:8px; height:8px; border-radius:999px; background: var(--pq-green); box-shadow: 0 0 0 6px rgba(145,248,141,.12); }

/* Keep sidebar hidden on small screens (mobile uses bottom/top nav) */
@media (max-width: 1023px){
  .pq-sidebar{ display:none !important; }
  .pq-app-content{ margin-left: 0 !important; }
}


/* =========================================================
   PQ THEME OVERRIDES (v4.6.5) — sticky/fixed sidebar + responsive logo
   Only intended to fix layout issues without touching plugins.
   ========================================================= */
@media (min-width: 901px){
  /* Ensure the app shell uses body scrolling and sidebar stays put */
  html, body { height: 100%; }
  .pq-app { min-height: 100vh; }

  /* Sidebar should be fixed like Instagram desktop */
  .pq-sidebar{
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    height: auto !important;
    width: var(--pq-sidebar-w, 260px) !important;
    background: #000 !important;
    color: #fff !important;
    border-right: 1px solid rgba(255,255,255,.08) !important;
    padding: 0 !important; /* inner handles padding */
    z-index: 1000 !important;
  }

  /* Admin bar offsets */
  body.admin-bar .pq-sidebar{ top: 32px !important; }
  @media (max-width: 782px){
    body.admin-bar .pq-sidebar{ top: 46px !important; }
  }

  .pq-sidebar__inner{
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 18px 16px !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }

  /* Main content offset */
  .pq-app-content{
    margin-left: var(--pq-sidebar-w, 260px) !important;
    width: auto !important;
    min-height: 100vh !important;
  }

  /* Logo: responsive + capped so big source file doesn't blow layout */
  .pq-sidebar__top{
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 8px 0 18px !important;
  }
  .pq-sidebar__logo,
  .pq-sidebar__logoImg,
  .pq-sidebar__top img{
    max-width: 190px !important;
    width: 100% !important;
    height: auto !important;
    max-height: 68px !important;
    object-fit: contain !important;
    display: block !important;
  }
}

/* Mobile/tablet: sidebar hidden (header handles nav) */
@media (max-width: 900px){
  .pq-sidebar{ display:none !important; }
  .pq-app-content{ margin-left:0 !important; }
}



/* === PopQuest: hard overrides (v4.6.7) === */
.pq-sidebar{position:fixed !important;background:#000 !important;}
.pq-sb-brand__img{max-width:180px !important;max-height:52px !important;width:100% !important;height:auto !important;object-fit:contain !important;}
@media (max-width:1024px){.pq-sb-brand__img{max-width:160px !important;max-height:48px !important;}}
@media (max-width:480px){.pq-sb-brand__img{max-width:140px !important;max-height:44px !important;}}
.pq-sb-card{background:transparent !important;box-shadow:none !important;}

/* ===============================
   Sidebar + Mobile header additions
   (no existing styles changed)
================================ */

/* Feed toggle (FOR YOU / ALL) */
.pq-sb-feedToggle{justify-content:center;display:flex;gap:8px;margin:0 0 10px 0;}
.pq-feedBtn{appearance:none;border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.06);color:#fff;border-radius:999px;padding:6px 10px;font:inherit;font-weight:700;letter-spacing:.02em;cursor:pointer;}
.pq-feedBtn.is-active{border-color:rgba(145,248,141,0.55);box-shadow:0 0 0 2px rgba(145,248,141,0.12) inset;}

/* Bottom-nav Games submenu */
.pq-bottomNav__group{position:relative;}
.pq-bottomNav__submenu{position:absolute;left:0;top:calc(100% + 8px);min-width:170px;background:rgba(0,0,0,0.92);border:1px solid rgba(255,255,255,0.12);border-radius:16px;padding:10px;box-shadow:0 12px 30px rgba(0,0,0,0.35);z-index:50;}
.pq-bottomNav__subitem{display:block;padding:10px 12px;border-radius:12px;color:#fff;text-decoration:none;font-weight:700;}
.pq-bottomNav__subitem:hover{background:rgba(255,255,255,0.08);}


/* === Sidebar patch v4.6.17 === */
.pq-sb-brand { display:block; text-decoration:none; margin: 6px 0 14px; }
.pq-sb-brand__logo { width: 100%; max-width: 220px; height: auto; object-fit: contain; display:block; }
@media (max-width: 900px){
  .pq-sb-brand__logo { max-width: 160px; }
  /* Extra top padding so fixed mobile header doesn't overlap content */
  .pq-app-content { padding-top: calc(110px + 24px); }
}

/* Ensure sidebar stays solid black */
.pq-app-sidebar,
.pq-app-sidebar__inner { background: #000; }

/* Keep sticky behaving and avoid covering footer */
.pq-app-sidebar__inner { position: sticky; top: 0; max-height: 100vh; overflow: auto; padding-bottom: 24px; }
.pq-sb-bottomPad { height: 140px; }

/* Games submenu */
.pq-sb-nav__group { margin: 0; padding: 0; }
.pq-sb-nav__group > summary { list-style: none; cursor: pointer; }
.pq-sb-nav__group > summary::-webkit-details-marker { display:none; }
.pq-sb-nav__sub { padding-left: 10px; padding-top: 8px; }
.pq-sb-nav__subItem { display:block; padding: 12px 14px; border-radius: 14px; color: #fff; text-decoration:none; opacity:.92; }
.pq-sb-nav__subItem:hover { opacity:1; }
.pq-sb-nav__subItem.is-active { outline: 2px solid rgba(145,248,141,.55); outline-offset: -2px; }



/* 4.6.18 padding + toggle alignment fix */

.pq-sidebar {
  padding: 36px 28px !important;
}

.pq-sidebar .pq-logo {
  margin-bottom: 24px !important;
}

.pq-sidebar-nav {
  margin-top: 18px !important;
}

.pq-feed-toggle {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 16px 0 22px 0;
}

.pq-feed-toggle button,
.pq-feed-toggle a {
  text-align: center;
}



/* Feed toggle (homepage only) */
.pq-feed-toggle{
  display:flex;
  gap:10px;
  justify-content:center;
  margin:12px 0 14px;
  position:relative;
  z-index:3;
}
.pq-feed-toggle a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:12px;
  font-weight:800;
  letter-spacing:.02em;
  font-size:12px;
  line-height:1;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  pointer-events:auto;
}
.pq-feed-toggle a.is-active{
  background:var(--pq-green);
  border-color:var(--pq-green);
  color:#000;
}



/* Hide visible scrollbars in sidebar while keeping scroll */
.pq-sidebar__inner{
  scrollbar-width:none; /* Firefox */
  -ms-overflow-style:none; /* IE/Edge legacy */
}
.pq-sidebar__inner::-webkit-scrollbar{width:0;height:0;}
/* Mobile nav + feed toggle + legacy sheet rules removed.
   We use the theme header on mobile and the light bottom sheet styles in style.css. */



/* ===== PopQuest v4.6.26 – Sidebar polish ===== */

/* Hide internal scrollbars while still allowing scroll (desktop + mobile) */
.pq-sidebar,
.pq-sidebar__inner,
.pq-sidebar__scroll {
  scrollbar-width: none;           /* Firefox */
  -ms-overflow-style: none;        /* IE/Edge legacy */
}
.pq-sidebar::-webkit-scrollbar,
.pq-sidebar__inner::-webkit-scrollbar,
.pq-sidebar__scroll::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

/* Extra hardening for systems that force visible scrollbars */
.pq-sidebar__inner{
  scrollbar-color: transparent transparent; /* Firefox */
}
.pq-sidebar__inner::-webkit-scrollbar-thumb,
.pq-sidebar__inner::-webkit-scrollbar-track{ background: transparent !important; }

/* Logged-out CTA: slick, readable, square-ish card */
.pq-sb-cta{
  background: #0b0b0b !important;
  border: 1px solid rgba(145,248,141,0.35) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: stretch !important;
  text-align: left !important;
  min-height: 180px;
  justify-content: center;
}
.pq-sb-cta__headline{
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: 0.02em !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
}
.pq-sb-cta__copy{
  color: rgba(255,255,255,0.88) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.pq-sb-cta__btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px 14px !important;
  border-radius: 14px !important;
  background: var(--pq-green) !important;
  color: #000 !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.02em !important;
}
.pq-sb-cta__btn:focus,
.pq-sb-cta__btn:hover{
  filter: brightness(1.04);
  color:#000 !important;
}

/* Ensure REGISTER stays black even if global theme/plugin hover rules apply */
.pq-sb-cta__btn,
.pq-sb-cta__btn:link,
.pq-sb-cta__btn:visited{
  color:#000 !important;
}
.pq-sb-cta__btn:hover,
.pq-sb-cta__btn:active,
.pq-sb-cta__btn:focus{
  color:#000 !important;
}



/* =========================
   Sidebar mini hamburger menu
   (Instagram-style "More")
   ========================= */
.pq-sb-miniMenu{
  margin:10px 0 8px;
}
.pq-sb-miniMenu > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  user-select:none;
  text-transform:uppercase;
  letter-spacing:.3px;
  font-weight:800;
}
.pq-sb-miniMenu > summary::-webkit-details-marker{display:none;}
.pq-sb-miniMenu > summary::marker{content:"";}
.pq-sb-miniMenu[open] > summary{
  box-shadow:0 0 0 3px rgba(145,248,141,.18), 0 10px 24px rgba(0,0,0,.35);
  border-color:rgba(145,248,141,.35);
}
.pq-sb-miniMenu__icon{
  width:18px;
  display:inline-flex;
  flex-direction:column;
  gap:4px;
  align-items:center;
  justify-content:center;
}
.pq-sb-miniMenu__icon span{
  display:block;
  height:2px;
  width:100%;
  background:#fff;
  border-radius:2px;
}
.pq-sb-miniMenu__label{
  font-size:12px;
  line-height:1;
}

/* =========================
   Collapsible CSE dashboard
   ========================= */
.pq-sb-dash{ margin-top: 2px; }
.pq-sb-dash > summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  user-select:none;
  text-transform:uppercase;
  letter-spacing:.3px;
  font-weight:900;
  font-size:12px;
}
.pq-sb-dash > summary::-webkit-details-marker{display:none;}
.pq-sb-dash > summary::marker{content:"";}
.pq-sb-dash > summary::after{
  content:"▾";
  opacity:.85;
  font-size:12px;
  line-height:1;
  transform: translateY(-1px);
}
.pq-sb-dash[open] > summary::after{ content:"▴"; }
.pq-sb-dash__body{ padding-top: 10px; }
.pq-sb-miniMenu__panel{
  margin-top:8px;
  padding:8px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.10);
}
.pq-sb-miniMenu__item{
  display:flex;
  align-items:center;
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.25px;
  text-transform:uppercase;
  font-size:12px;
  background:transparent;
}
.pq-sb-miniMenu__item:hover{
  background:rgba(145,248,141,.10);
  box-shadow:0 0 0 1px rgba(145,248,141,.22) inset;
}
.pq-sb-miniMenu__group{
  margin:4px 0;
}
.pq-sb-miniMenu__group > summary::-webkit-details-marker{display:none;}
.pq-sb-miniMenu__group > summary::marker{content:"";}
.pq-sb-miniMenu__item--summary{
  cursor:pointer;
}
.pq-sb-miniMenu__sub{
  padding:6px 0 2px;
}
.pq-sb-miniMenu__subItem{
  display:flex;
  align-items:center;
  width:100%;
  padding:9px 12px;
  border-radius:14px;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
  text-transform:uppercase;
  font-size:11px;
  margin-left:8px;
  background:transparent;
}
.pq-sb-miniMenu__subItem:hover{
  background:rgba(255,255,255,.06);
}

@media (max-width: 768px){
  .pq-sb-miniMenu{ margin:8px 0 6px; }
  .pq-sb-miniMenu > summary{ padding:9px 10px; border-radius:14px; }
  .pq-sb-miniMenu__panel{ border-radius:16px; }
}


/* =====================================================
   Desktop content centring (SAFE)
   - Only affects main content column, never the sidebar.
   - Keeps existing plugin/layout widths but centres the block.
   ===================================================== */
@media (min-width: 1024px){
  /* The shell already offsets content with margin-left for the fixed sidebar.
     We just centre the *inner* page containers within the available column. */
  .pq-app-content .pq-container,
  .pq-app-content .cse-entity-inner,
  .pq-app-content .cse-index-inner,
  .pq-app-content .cse-archive-inner,
  .pq-app-content .pqn-cse-top10__grid,
  .pq-app-content .pqehd-bottom-inner,
  .pq-app-content .pqn-fresh-feed,
  .pq-app-content .pqn-fresh-feed__inner{
    width: 100%;
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
  }

  /* Ensure side padding so centred content doesn't kiss the edges */
  .pq-app-content{
    padding-left: 36px;
    padding-right: 36px;
    box-sizing: border-box;
  }

  /* If any of the containers already have padding, don't double it */
  .pq-app-content .pq-container,
  .pq-app-content .cse-entity-inner,
  .pq-app-content .cse-index-inner,
  .pq-app-content .cse-archive-inner,
  .pq-app-content .pqn-cse-top10__grid,
  .pq-app-content .pqehd-bottom-inner{
    padding-left: 0;
    padding-right: 0;
  }
}


@media (min-width:1025px){
  /* Center the main content stack within the area to the right of the sidebar */
  .pq-app-content{padding-left:36px;padding-right:36px;}
  .pq-app-content .pq-container{max-width:1060px;margin-left:auto !important;margin-right:auto !important;}
}




/* === CSE Dashboard: prevent flash when saved closed === */
.pq-cseDash--collapsed details.pq-sb-dash[data-pq-dash="cse"] > .pq-sb-dash__body{display:none !important;}
.pq-cseDash--collapsed details.pq-sb-dash[data-pq-dash="cse"] > summary::after{content:"▾" !important;}
/* === HARD OVERRIDE: Logged-out REGISTER must NEVER turn green === */
.pq-app-sidebar .pq-sb-cta__btn,
.pq-app-sidebar .pq-sb-cta__btn:link,
.pq-app-sidebar .pq-sb-cta__btn:visited,
.pq-app-sidebar .pq-sb-cta__btn:hover,
.pq-app-sidebar .pq-sb-cta__btn:focus,
.pq-app-sidebar .pq-sb-cta__btn:active {
  color: #000 !important;
}
/* SOURCE pill: black background + WHITE text (even though it's a link) */
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn,
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn:link,
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn:visited,
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn:hover,
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn:focus,
body.wp-singular.single-popquest_news_card .pq-app .pqn-source-wrap > a.pqn-source-btn:active {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important; /* beats rare Safari/Webkit overrides */
  background: #000 !important;              /* keeps pill black */
}


/* =========================
   FIX: prevent double-scroll on desktop
   - Root cause: WP admin-bar adds html margin-top (32/46px) and our shell uses 100vh.
   - Fix: subtract admin-bar height from shell min-heights & fixed sidebar height.
   - Also: kill nested sidebar scroll containers on desktop.
   ========================= */

body.admin-bar .pq-app{ min-height: calc(100vh - 32px) !important; }
body.admin-bar .pq-app-content{ min-height: calc(100vh - 32px) !important; }
body.admin-bar .pq-sidebar{ top: 32px !important; height: calc(100vh - 32px) !important; }

@media (max-width: 782px){
  body.admin-bar .pq-app{ min-height: calc(100vh - 46px) !important; }
  body.admin-bar .pq-app-content{ min-height: calc(100vh - 46px) !important; }
  body.admin-bar .pq-sidebar{ top: 46px !important; height: calc(100vh - 46px) !important; }
}

@media (min-width: 1024px){
  .pq-sidebar{ overflow: hidden !important; }
  .pq-sidebar__inner,
  .pq-app-sidebar__inner{
    overflow: hidden !important;
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    max-height: none !important;
  }
}
