/*
Theme Name: Game Hub GeneratePress Child
Theme URI: https://example.com
Description: Game Hub UI child theme for GeneratePress. Game data and importer functionality live in the Game Hub Core plugin.
Author: Your Site
Template: generatepress
Version: 2.0.21
Text Domain: game-hub
*/

:root{
  --bg:#0e1015;
  --panel:#161a24;
  --panel-alt:#1b2030;
  --card:#1a1f2c;
  --border:rgba(255,255,255,0.07);
  --text:#f2f3f7;
  --text-dim:#8d94aa;
  --green:#34e0a1;
  --orange:#ff9f52;
  --blue:#5aa8ff;
  --gold:#ffcf5c;
  --radius:12px;
  --radius-lg:18px;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Inter', sans-serif; background:var(--bg); color:var(--text); display:flex; min-height:100vh;}
h1,h2,h3,.logo,.nav a,.section-title{font-family:'Space Grotesk', sans-serif;}
a{color:inherit;}
img{max-width:100%; display:block;}

/* Sidebar left */
.sidebar{
  width:258px; flex-shrink:0; background:var(--panel);
  border-right:1px solid var(--border); display:flex; flex-direction:column;
  padding:20px 16px; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.logo{display:flex; align-items:center; gap:9px; font-size:20px; font-weight:700; margin-bottom:22px; text-decoration:none; color:var(--text);}
.logo-badge{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg,var(--green),var(--blue));display:flex;align-items:center;justify-content:center;font-size:16px;}
.logo-badge-img{background:none;padding:0;overflow:hidden;}
.logo-badge-img img{width:100%;height:100%;object-fit:cover;border-radius:9px;display:block;}
.nav{list-style:none; display:flex; flex-direction:column; gap:2px; margin-bottom:18px;}
.nav a{display:flex; align-items:center; gap:11px; padding:9px 9px; border-radius:8px; color:var(--text-dim); text-decoration:none; font-size:16.5px; font-weight:500; cursor:pointer; transition:background .15s,color .15s;}
.nav a:hover{background:rgba(255,255,255,.04); color:var(--text);}
.nav a.active{color:var(--green); background:rgba(52,224,161,.08);}
.nav a .ic{width:19px; text-align:center; font-size:16px;}
.nav a .ic.ic-img{display:inline-flex; align-items:center; justify-content:center; width:19px; height:19px;}
.nav a .ic.ic-img img{width:18px; height:18px; object-fit:contain; border-radius:4px; display:block;}
.nav-divider{height:1px; background:var(--border); margin:10px 0;}
.cat-nav .cat-extra{display:none;}
.cat-nav.expanded .cat-extra{display:list-item;}
.side-list .side-extra{display:none;}
.side-list.expanded .side-extra{display:list-item;}
.side-game-thumb{width:26px !important; height:26px !important; border-radius:6px; overflow:hidden; flex-shrink:0;}
.side-game-thumb img{width:100%; height:100%; object-fit:cover; border-radius:6px; display:block;}
.side-list a{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.show-more-btn{display:flex; align-items:center; gap:6px; width:100%; background:none; border:none; padding:9px; margin:-2px 0 0; color:var(--text-dim); font-size:14px; font-weight:500; font-family:inherit; cursor:pointer; text-align:left; border-radius:8px; transition:background .15s,color .15s;}
.show-more-btn:hover{background:rgba(255,255,255,.04); color:var(--text);}
.show-more-btn .arrow{font-size:20px;margin-top:4px; transition:transform .15s;}
.show-more-btn.expanded .arrow{transform:rotate(180deg);}
.lang-select{display:flex; align-items:center; justify-content:space-between; background:var(--panel-alt); border:1px solid var(--border); border-radius:8px; padding:7px 11px; font-size:15px; margin-bottom:16px; cursor:pointer;}
.foot-links{display:flex; flex-direction:column; gap:7px; margin-bottom:auto;}
.foot-links a{color:var(--text-dim); font-size:15.5px; text-decoration:none; cursor:pointer;}
.foot-links a:hover{color:var(--text);}
.sidebar-copy{font-size:14px; color:#565c72; margin-top:16px;}

/* Main */
.main{flex:1; min-width:0; display:flex; flex-direction:column;}
.topbar{padding:16px; border-bottom:1px solid var(--border); position:sticky; top:0; background:var(--bg); z-index:5;}
.topbar-inner{display:flex;align-items:center;}
.search-form{width:100%; max-width:480px; margin:0 auto; display:flex; align-items:center; gap:9px; background:var(--panel-alt); border:1px solid var(--border); border-radius:10px; padding:0 14px; color:var(--text-dim); font-size:13.5px;}
.search-form .search-icon{width:17px; height:17px; flex-shrink:0; color:var(--text-dim);}
.search-form input{flex:1; background:none; border:0; color:var(--text); font-size:13.5px; padding:10px 0; outline:none; font-family:'Inter',sans-serif;}
.search-form button{background:none;border:0;color:var(--text-dim);cursor:pointer;font-size:14px;}

/* ===== 3-column single/home view ===== */
.content-3col{display:flex; gap:20px; align-items:flex-start; padding:22px 16px;}
.center-col{flex:1 1 560px; min-width:0;}
.right-col{width:400px; flex-shrink:0;}
.right-col-title{font-size:14px; color:var(--text-dim); margin-bottom:12px; font-weight:600; text-transform:uppercase; letter-spacing:.04em;}
.right-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px;}
.mini-card{cursor:pointer; border-radius:12px; overflow:hidden; background:var(--card); border:1px solid var(--border); transition:transform .15s; text-decoration:none; display:block; color:var(--text);}
.mini-card:hover{transform:translateY(-2px); border-color:var(--mini-glow, var(--green));}
.mini-thumb{aspect-ratio: 5 / 3; display:flex; align-items:center; justify-content:center; font-size:40px; background-size:cover; background-position:center;}
.mini-title{padding:11px 12px 13px; font-size:14px; font-weight:600; line-height:1.3;}

.hero{border-radius:12px 12px 0 0; overflow:hidden; position:relative; aspect-ratio:16/8; background:#000;}
.hero-cover{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; cursor:pointer;}
.hero-cover-bg{position:absolute; inset:0; filter:blur(6px) brightness(.55); opacity:.9; background-size:cover; background-position:center;}
.hero-icon-box{position:relative; width:100px; height:100px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:44px; box-shadow:0 14px 30px -8px rgba(0,0,0,.6); overflow:hidden; background-size:cover; background-position:center;}
.play-btn{position:relative; background:var(--green); color:#08130e; font-weight:700; font-size:14px; border:0; padding:11px 26px; border-radius:9px; cursor:pointer;}
.hero iframe{width:100%; height:100%; border:0; display:none;}
.hero.playing .hero-cover{display:none;}
.hero.playing iframe{display:block;}

/* Fullscreen player mode */
.hero.fullscreen{
  position:fixed; inset:0; z-index:1000; width:100vw; height:100vh;
  aspect-ratio:auto; border-radius:0; border:0;
}
.hero-exit-btn{
  display:none; position:absolute; top:46px; right:16px; z-index:1001;
  background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.2); color:#fff;
  width:38px; height:38px; border-radius:9px; cursor:pointer; font-size:16px;
}
.hero.fullscreen .hero-exit-btn{display:block;}
body.player-fullscreen{overflow:hidden;}
body.player-fullscreen .sidebar,
body.player-fullscreen .topbar,
body.player-fullscreen .right-col,
body.player-fullscreen .quick-strip,
body.player-fullscreen .article-panel,
body.player-fullscreen .player-bar,
body.player-fullscreen footer,
body.player-fullscreen .footer-copy{display:none !important;}
body.player-fullscreen .content-3col{padding:0;}
body.player-fullscreen .main{width:100%;}

.player-bar{display:flex; align-items:center; justify-content:space-between; background:var(--panel-alt); border:1px solid var(--border); border-top:0; border-radius:0 0 var(--radius) var(--radius); padding:10px 16px; margin-top:-1px;}
.player-bar-title{display:flex; align-items:center; gap:9px; font-weight:600; font-size:14.5px;}
.player-bar-title .mini-ic{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px; background-size:cover; background-position:center;}
.fs-btn{background:none; border:1px solid var(--border); color:var(--text-dim); width:30px; height:30px; border-radius:7px; cursor:pointer;}

/* Game reactions + share */
.player-bar-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;}
.reaction-btn,.share-btn{height:34px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025);color:var(--text-dim);display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;font:500 13px/1 'Inter',sans-serif;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s;}
.reaction-btn:hover,.share-btn:hover,.fs-btn:hover{background:rgba(255,255,255,.055);color:var(--text);border-color:rgba(255,255,255,.14);}
.reaction-btn:active,.share-btn:active{transform:translateY(1px);}
.reaction-icon,.share-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px;}
.reaction-icon svg,.share-icon svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.reaction-like.active{color:var(--green);border-color:rgba(52,224,161,.32);background:rgba(52,224,161,.09);}
.reaction-dislike.active{color:#ff6680;border-color:rgba(255,102,128,.32);background:rgba(255,102,128,.08);}
.share-btn{color:var(--blue);}
.player-bar-actions .fs-btn{flex:0 0 34px;width:34px;height:34px;margin-left:16px;}
.share-panel{position:absolute;right:50px;top:calc(100% + 10px);z-index:60;width:min(390px,calc(100vw - 32px));padding:14px;background:var(--panel-alt);border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 18px 38px -16px rgba(0,0,0,.8);}
.share-panel[hidden]{display:none;}
.share-panel-title{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--text);}
.share-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.share-option{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text-dim);text-decoration:none;text-align:center;padding:9px 6px;font:500 11px/1.2 'Inter',sans-serif;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.share-option:hover{color:var(--text);border-color:rgba(255,255,255,.16);}
button.share-option{width:100%;}

/* Language dropdown */
.lang-wrap{position:relative; margin-bottom:16px;}
.lang-dropdown{
  display:none; position:absolute; top:calc(100% + 6px); left:0; right:0;
  background:var(--panel-alt); border:1px solid var(--border); border-radius:10px;
  padding:6px; z-index:30; box-shadow:0 14px 30px -10px rgba(0,0,0,.6);
}
.lang-wrap.open .lang-dropdown{display:block;}
.lang-wrap.open .lang-select span.arrow{transform:rotate(180deg);}
.lang-select span.arrow{transition:transform .15s; display:inline-block;}
.lang-item{display:flex; align-items:center; gap:9px; padding:8px 9px; border-radius:7px; font-size:13px; cursor:pointer; color:var(--text);}
.lang-item:hover{background:rgba(255,255,255,.05);}
.lang-item .flag{font-size:15px;}
.lang-item .check{margin-left:auto; color:var(--green); font-size:12px; visibility:hidden;}
.lang-item.selected .check{visibility:visible;}

.quick-strip{display:grid; grid-template-columns:repeat(6,1fr); gap:12px; margin-top:18px;}
.quick-strip .qcard{cursor:pointer; border-radius:11px; overflow:hidden; background:var(--card); border:1px solid var(--border); transition:transform .15s; text-decoration:none; display:block; color:var(--text);}
.quick-strip .qcard:hover{transform:translateY(-2px);}
.quick-strip .qthumb{aspect-ratio: 5 / 3; display:flex; align-items:center; justify-content:center; font-size:26px; background-size:cover; background-position:center;}
.quick-strip .qtitle{font-size:12px; padding:7px 8px 9px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

.article-panel{margin-top:22px; background:var(--panel-alt); border:1px solid var(--border); border-radius:var(--radius-lg); padding:28px 17px;}
.article-panel h1{font-size:22px; margin-bottom:14px;}
.article-panel h2,.article-panel h3{font-size:16px; margin:20px 0 8px;}
.article-panel p{color:#c7cbdb; font-size:14px; line-height:1.7; margin-bottom:8px;}
.article-panel ul,.article-panel ol{margin:8px 0 0 20px; color:#c7cbdb; font-size:14px; line-height:1.9;}
.tags{display:flex; flex-wrap:wrap; gap:8px; margin-top:22px;}
.tag{background:rgba(52,224,161,.1); color:var(--green); border:1px solid rgba(52,224,161,.25); padding:6px 13px; border-radius:7px; font-size:12.5px; font-weight:600; text-decoration:none; display:inline-block; cursor:default;}

/* ===== plain grid views (categories/archive/search) ===== */
.content{padding:24px 28px 10px;}
.section-title{font-size:24px; font-weight:700; margin-bottom:16px;}
.section-desc{color:var(--text-dim); font-size:14px; margin:-10px 0 18px;}
.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:20px;}
.game-card{cursor:pointer; border-radius:var(--radius); overflow:hidden; background:var(--card); border:1px solid var(--border); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; text-decoration:none; display:block; color:var(--text);}
.game-card:hover{transform:translateY(-4px); box-shadow:0 12px 26px -10px rgba(0,0,0,.55); border-color:var(--card-glow, var(--green));}
.thumb{aspect-ratio: 5 / 3; display:flex; align-items:center; justify-content:center; font-size:32px; color:rgba(255,255,255,.9); background-size:cover; background-position:center;}
.game-title{padding:10px 11px 12px; font-size:13.5px; font-weight:600;}
.empty-state{color:var(--text-dim); font-size:14px; padding:20px 0;}

/* Static pages */
.static-panel{background:var(--panel-alt); border:1px solid var(--border); border-radius:var(--radius-lg); padding:32px; max-width:780px; margin:0 auto;}
.static-panel h1{font-size:24px; margin-bottom:14px;}
.static-panel p{color:#c7cbdb; font-size:14px; line-height:1.7; margin-bottom:10px;}
.static-panel ul,.static-panel ol{margin:12px 0 0 20px; color:#c7cbdb; font-size:14px; line-height:1.9;}
.static-panel a{color:var(--green);}

/* pagination */
.pagination{display:flex; gap:8px; margin:22px 0 10px; flex-wrap:wrap;}
.pagination a,.pagination span{padding:8px 13px; border-radius:8px; background:var(--card); border:1px solid var(--border); color:var(--text-dim); text-decoration:none; font-size:13px;}
.pagination .current{color:var(--green); border-color:var(--green);}
.pagination a:hover{color:var(--text);}

footer{
    margin-top:30px;
    border-top:1px solid var(--border);
    padding:30px 28px;
    display:grid;
    grid-template-columns:minmax(0,480px) auto;
    gap:36px;
    align-items:center;
}

.footer-brand{
    width:100%;
    max-width:480px;
}

.footer-brand .logo{margin-bottom:10px;}

footer .footer-description{
    width:100%;
    max-width:480px;
    color:var(--text-dim) !important;
    font-size:15px !important;
    font-weight:400 !important;
    line-height:1.5 !important;
    white-space:normal;
}
.socials{display:flex; gap:9px; margin-top:12px;}
.socials a{width:32px; height:32px; border-radius:8px; background:var(--panel-alt); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; color:var(--text-dim); text-decoration:none; font-size:13px;}
.socials a:hover{color:var(--text); border-color:var(--text-dim);}
.socials a svg{display:block;}
.footer-copy{text-align:center; padding:14px; color:#565c72; font-size:14.5px; border-top:1px solid var(--border);}

@media(max-width:1080px){
  .content-3col{flex-direction:column;}
  .right-col{width:100%;}
  .right-grid{grid-template-columns:repeat(4,1fr);}
  .quick-strip{grid-template-columns:repeat(4,1fr);}
}
@media(max-width:820px){
  .sidebar{position:fixed; left:-260px; z-index:20; transition:left .2s; top:0;}
  .sidebar.open{left:0; box-shadow:0 0 0 100vmax rgba(0,0,0,.5);}
  .menu-toggle{display:block !important;}
  .right-grid{grid-template-columns:repeat(2,1fr);}
  .quick-strip{grid-template-columns:repeat(3,1fr);}
  .hero{aspect-ratio:4/3;}
  .player-bar{flex-wrap:wrap;gap:10px;}
  .player-bar-title{min-width:0;flex:1 1 auto;}
  .player-bar-title > span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .player-bar-actions{flex:1 0 100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-left:0;}
  .reaction-btn,.share-btn,.player-bar-actions .fs-btn{width:100%;height:40px;padding:0 8px;}
  .player-bar-actions .fs-btn{margin-left:0;}
  .share-panel{right:0;top:calc(100% + 8px);}
}
@media(max-width:520px){
  .player-bar{padding:10px;}
  .player-bar-actions{gap:6px;}
  .reaction-btn,.share-btn,.player-bar-actions .fs-btn{height:44px;border-radius:9px;font-size:12px;gap:5px;}
  .reaction-icon,.share-icon{width:17px;height:17px;flex-basis:17px;}
  .reaction-icon svg,.share-icon svg{width:17px;height:17px;}
  .share-btn span:last-child{display:none;}
  .share-options{grid-template-columns:repeat(2,minmax(0,1fr));}
  .share-panel{width:calc(100vw - 28px);right:-2px;}
}
.menu-toggle{display:none; background:none; border:0; color:var(--text); font-size:32px; cursor:pointer; margin-right:10px;}

/* ===== v1.3.2: Breadcrumb + configurable footer ===== */
.gh-breadcrumb-wrap{padding:18px 16px 0;}
.gh-breadcrumb{font-size:13px;color:var(--text-dim);margin-bottom:16px;}
.gh-breadcrumb ol{display:flex;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0;}
.gh-breadcrumb li{display:flex;align-items:center;}
.gh-breadcrumb li+li:before{content:'›';margin:0 8px;color:#565c72;}
.gh-breadcrumb a{color:var(--text-dim);text-decoration:none;}
.gh-breadcrumb a:hover{color:var(--text);}
.gh-breadcrumb [aria-current="page"]{color:#c7cbdb;}
.footer-nav{display:flex;align-items:center;margin-left:auto;}
.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;}
.footer-menu li{margin:0;padding:0;}
.footer-menu a{display:block;color:var(--text-dim);text-decoration:none;font-size:15px;white-space:nowrap;}
.footer-menu a:hover{color:var(--text);}
@media(max-width:700px){
  footer{justify-content:flex-start;}
  .footer-brand{
      flex:1 1 100%;
      max-width:100%;
  }
  .footer-description{
      max-width:100%;
  }
  .footer-nav{width:100%;margin-left:0;}
  .footer-menu{gap:10px 18px;}
}

/* Native Fullscreen API element */
.hero:fullscreen,
.hero:-webkit-full-screen{
  width:100vw;
  height:100vh;
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
  border-radius:0;
  background:#000;
}
.hero:fullscreen .hero-exit-btn,
.hero:-webkit-full-screen .hero-exit-btn{display:block;}

/* ===== v1.3.4: Blog archive + single article ===== */
.blog-archive{padding-bottom:30px;}
.blog-header{max-width:980px;margin:0 auto 24px;}
.blog-header h1{font-size:30px;line-height:1.2;margin-bottom:10px;}
.blog-intro{max-width:760px;color:var(--text-dim);font-size:15px;line-height:1.75;}
.blog-intro p{margin-bottom:10px;}

.blog-list{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.blog-card{min-width:0;overflow:hidden;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.blog-card:hover{transform:translateY(-3px);border-color:rgba(52,224,161,.3);box-shadow:0 14px 30px -18px rgba(0,0,0,.75);}
.blog-card-thumb{display:block;width:100%;aspect-ratio:5/3;overflow:hidden;background:var(--card);}
.blog-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease;}
.blog-card:hover .blog-card-thumb img{transform:scale(1.025);}
.blog-card-body{padding:20px 22px 22px;}
.blog-card-meta{color:#6f768c;font-size:12.5px;margin-bottom:8px;}
.blog-card-body h2{font-size:20px;line-height:1.35;margin:0 0 10px;}
.blog-card-body h2 a{text-decoration:none;color:var(--text);}
.blog-card-body h2 a:hover{color:var(--green);}
.blog-card-body p{color:var(--text-dim);font-size:14px;line-height:1.7;margin-bottom:15px;}
.blog-read-more{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:14px;text-decoration:none;font-weight:650;}
.blog-read-more:hover{text-decoration:underline;}
.blog-archive .pagination{max-width:1180px;margin:24px auto 10px;}

.blog-single-wrap{padding-bottom:40px;}
.blog-single-wrap > .gh-breadcrumb{max-width:920px;margin-left:auto;margin-right:auto;}
.blog-article{max-width:920px;margin:0 auto;background:var(--panel-alt);border:1px solid var(--border);border-radius:var(--radius-lg);padding:38px 44px 44px;overflow:hidden;}
.blog-article-header{margin-bottom:24px;}
.blog-article-header h1{font-size:34px;line-height:1.22;letter-spacing:-.02em;margin:0 0 12px;}
.blog-article-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#71798f;font-size:13px;}
.blog-featured-image{margin:0 0 30px;border-radius:14px;overflow:hidden;background:var(--card);}
.blog-featured-image img{width:100%;height:auto;display:block;}
.blog-content{color:#c7cbdb;font-size:16px;line-height:1.82;overflow-wrap:anywhere;}
.blog-content > *:first-child{margin-top:0;}
.blog-content p{margin:0 0 18px;}
.blog-content h2{font-size:25px;line-height:1.35;color:var(--text);margin:34px 0 14px;}
.blog-content h3{font-size:20px;line-height:1.4;color:var(--text);margin:28px 0 12px;}
.blog-content h4{font-size:17px;line-height:1.45;color:var(--text);margin:24px 0 10px;}
.blog-content ul,.blog-content ol{margin:0 0 20px 24px;padding:0;}
.blog-content li{margin:6px 0;}
.blog-content a{color:var(--green);text-underline-offset:3px;}
.blog-content img{height:auto;border-radius:12px;margin:8px auto 22px;}
.blog-content figure{max-width:100%;margin:24px 0;}
.blog-content figure img{margin:0 auto;}
.blog-content figcaption{text-align:center;color:#71798f;font-size:13px;line-height:1.55;margin-top:8px;}
.blog-content blockquote{margin:24px 0;padding:16px 20px;border-left:3px solid var(--green);background:rgba(52,224,161,.055);border-radius:0 10px 10px 0;}
.blog-content blockquote p:last-child{margin-bottom:0;}
.blog-content table{width:100%;border-collapse:collapse;margin:24px 0;display:block;overflow-x:auto;}
.blog-content th,.blog-content td{padding:11px 13px;border:1px solid var(--border);text-align:left;min-width:120px;}
.blog-content th{color:var(--text);background:var(--card);}
.blog-content hr{border:0;border-top:1px solid var(--border);margin:30px 0;}
.blog-content .wp-block-button__link{display:inline-block;background:var(--green);color:#07120e;text-decoration:none;border-radius:9px;padding:10px 18px;font-weight:700;}
.blog-page-links{margin-top:28px;color:var(--text-dim);}

@media(max-width:900px){
  .blog-list{grid-template-columns:1fr;}
  .blog-article{padding:30px 28px 34px;}
}
@media(max-width:700px){
  .blog-header h1{font-size:26px;}
  .blog-article{padding:24px 20px 28px;border-radius:14px;}
  .blog-article-header h1{font-size:28px;}
  .blog-content{font-size:15px;line-height:1.75;}
  .blog-content h2{font-size:22px;}
  .blog-content h3{font-size:19px;}
}


/* Footer responsive improvements */
footer{
    grid-template-columns:minmax(0,480px) auto;
}
@media(max-width:1200px){
    footer{
        grid-template-columns:1fr;
    }
    .footer-nav{
        width:100%;
        margin-left:0;
    }
}
@media(max-width:700px){
    footer{
        padding:24px 18px;
        grid-template-columns:1fr;
    }
    .footer-brand,
    .footer-description{
        max-width:100%;
        width:100%;
    }
    .footer-menu{
        flex-wrap:wrap;
        gap:12px 18px;
    }
}


/* v2.0.10: real thumbnail images keep the existing card layout */
.thumb,
.mini-thumb,
.qthumb{
  position:relative;
  overflow:hidden;
}
.thumb img,
.mini-thumb img,
.qthumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.game-thumb-fallback{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,var(--panel-alt),var(--card));
}


/* ===== v2.0.14: desktop toggle sidebar like reference UI =====
   Mobile/tablet styles from v2.0.10 remain unchanged. */
@media(min-width:821px){

  /* Header becomes a full desktop bar: toggle + logo/site name + search. */
  .topbar{
    padding:12px 16px;
    z-index:50;
  }

  .topbar-inner{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
  }

  .topbar .menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    margin:0;
    padding:0;
    background:none;
    border:0;
    border-radius:8px;
    color:var(--text);
    font-size:28px;
    line-height:1;
  }

  .topbar .menu-toggle:hover{
    background:rgba(255,255,255,.05);
  }

  .desktop-topbar-brand{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    color:var(--text);
    text-decoration:none;
    font-family:'Space Grotesk',sans-serif;
    font-size:18px;
    font-weight:700;
    white-space:nowrap;
  }

  .desktop-topbar-brand .logo-badge{
    width:30px;
    height:30px;
    flex:0 0 30px;
    margin:0;
  }

  .topbar .search-form{
    width:100%;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
  }

  /* Normal desktop state = full sidebar, same visual structure as original. */
  .sidebar{
    width:258px;
    min-width:258px;
    flex:0 0 258px;
    transition:width .18s ease, min-width .18s ease, flex-basis .18s ease, padding .18s ease;
  }

  /* Collapsed state = icon rail only. */
  body.gh-sidebar-collapsed .sidebar{
    width:64px;
    min-width:64px;
    flex-basis:64px;
    padding-left:12px;
    padding-right:12px;
    overflow-x:hidden;
  }

  body.gh-sidebar-collapsed .sidebar > .logo{
    display:none;
  }

  body.gh-sidebar-collapsed .sidebar .nav{
    width:40px;
    overflow:hidden;
  }

  body.gh-sidebar-collapsed .sidebar .nav a{
    width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    justify-content:center;
    gap:0;
    overflow:hidden;
    white-space:nowrap;
    font-size:0;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic{
    width:40px;
    flex:0 0 40px;
    margin:0;
    font-size:16px;
    text-align:center;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic.ic-img{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic.ic-img img{
    width:20px;
    height:20px;
    margin:auto;
  }

  body.gh-sidebar-collapsed .sidebar .side-game-thumb{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px;
    border-radius:7px;
    padding:7px;
  }

  body.gh-sidebar-collapsed .sidebar .side-game-thumb img{
    width:26px;
    height:26px;
  }

  /* Text-only / secondary controls disappear in icon mode. */
  body.gh-sidebar-collapsed .sidebar .show-more-btn,
  body.gh-sidebar-collapsed .sidebar .lang-wrap,
  body.gh-sidebar-collapsed .sidebar .foot-links,
  body.gh-sidebar-collapsed .sidebar .sidebar-copy,
  body.gh-sidebar-collapsed .sidebar .nav-divider{
    display:none;
  }

  /* Keep More Games fixed; freed sidebar width goes to center/player area. */
  .right-col{
    width:400px;
    flex:0 0 400px;
  }

  .center-col{
    min-width:0;
  }
}

/* Original mobile header should not show the new desktop brand. */
@media(max-width:820px){
  .desktop-topbar-brand{
    display:none;
  }
}


/* ===== v2.0.15: desktop brand lives in header only ===== */
@media(min-width:821px){
  .sidebar > .logo{
    display:none !important;
  }
}


/* ===== v2.0.16: full-width desktop header + professional sidebar icons ===== */
@media(min-width:821px){
  :root{ --gh-desktop-header-h:64px; }

  .topbar{
    position:fixed !important;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:var(--gh-desktop-header-h);
    padding:11px 16px !important;
    z-index:100;
    background:var(--panel) !important;
    border-bottom:1px solid var(--border);
  }

  .topbar-inner{
    height:100%;
    width:100%;
  }

  .main{
    padding-top:var(--gh-desktop-header-h);
  }

  .sidebar{
    top:var(--gh-desktop-header-h) !important;
    height:calc(100vh - var(--gh-desktop-header-h)) !important;
  }

  .sidebar > .logo{
    display:none !important;
  }

  .right-col{
    width:400px;
    flex:0 0 400px;
  }

  .center-col{
    min-width:0;
  }
}

.nav a .ic.nav-svg{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.nav a .ic.nav-svg svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media(max-width:820px){
  .nav a .ic.nav-svg svg{
    width:18px;
    height:18px;
  }
}


/* ===== v2.0.17: tablet UI (701px–1024px) =====
   Mobile <=700px intentionally keeps the original v2.0.10 UI. */
@media(min-width:701px) and (max-width:1024px){

  :root{
    --gh-tablet-header-h:60px;
  }

  /* Full-width header, same visual language as desktop. */
  .topbar{
    position:fixed !important;
    top:0;
    left:0;
    right:0;
    width:100%;
    height:var(--gh-tablet-header-h);
    padding:9px 12px !important;
    z-index:100;
    background:var(--panel) !important;
    border-bottom:1px solid var(--border);
  }

  .topbar-inner{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    height:100%;
  }

  .topbar .menu-toggle{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    flex:0 0 38px;
    width:38px;
    height:38px;
    margin:0;
    padding:0;
    background:none;
    border:0;
    border-radius:8px;
    color:var(--text);
    font-size:27px;
    line-height:1;
  }

  .desktop-topbar-brand{
    display:flex !important;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
    color:var(--text);
    text-decoration:none;
    font-family:'Space Grotesk',sans-serif;
    font-size:17px;
    font-weight:700;
    white-space:nowrap;
  }

  .desktop-topbar-brand .logo-badge{
    width:28px;
    height:28px;
    flex:0 0 28px;
    margin:0;
  }

  .topbar .search-form{
    flex:1 1 auto;
    width:auto;
    max-width:430px;
    min-width:180px;
    margin-left:auto;
    margin-right:0;
  }

  /* Push page below header. */
  .main{
    padding-top:var(--gh-tablet-header-h);
  }

  /* Override the old <=820px mobile drawer rules:
     tablet gets a persistent toggleable sidebar below the header. */
  .sidebar{
    position:sticky !important;
    left:auto !important;
    top:var(--gh-tablet-header-h) !important;
    width:220px;
    min-width:220px;
    flex:0 0 220px;
    height:calc(100vh - var(--gh-tablet-header-h)) !important;
    padding:18px 12px;
    z-index:30;
    box-shadow:none !important;
    transition:width .18s ease,min-width .18s ease,flex-basis .18s ease,padding .18s ease;
  }

  .sidebar.open{
    left:auto !important;
    box-shadow:none !important;
  }

  .sidebar > .logo{
    display:none !important;
  }

  /* Tablet collapsed rail. */
  body.gh-sidebar-collapsed .sidebar{
    width:60px;
    min-width:60px;
    flex-basis:60px;
    padding-left:10px;
    padding-right:10px;
    overflow-x:hidden;
  }

  body.gh-sidebar-collapsed .sidebar .nav{
    width:40px;
    overflow:hidden;
  }

  body.gh-sidebar-collapsed .sidebar .nav a{
    width:40px;
    height:40px;
    min-height:40px;
    padding:0;
    justify-content:center;
    gap:0;
    overflow:hidden;
    white-space:nowrap;
    font-size:0;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic{
    width:40px;
    flex:0 0 40px;
    margin:0;
    font-size:16px;
    text-align:center;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic.ic-img{
    width:40px;
    height:40px;
    flex:0 0 40px;
  }

  body.gh-sidebar-collapsed .sidebar .nav a .ic.ic-img img{
    width:20px;
    height:20px;
    margin:auto;
  }

  body.gh-sidebar-collapsed .sidebar .side-game-thumb{
    width:40px !important;
    height:40px !important;
    flex:0 0 40px;
    border-radius:7px;
    padding:7px;
  }

  body.gh-sidebar-collapsed .sidebar .side-game-thumb img{
    width:26px;
    height:26px;
  }

  body.gh-sidebar-collapsed .sidebar .show-more-btn,
  body.gh-sidebar-collapsed .sidebar .lang-wrap,
  body.gh-sidebar-collapsed .sidebar .foot-links,
  body.gh-sidebar-collapsed .sidebar .sidebar-copy,
  body.gh-sidebar-collapsed .sidebar .nav-divider{
    display:none;
  }

  /* Main game area: use available tablet width cleanly. */
  .content-3col{
    width:100%;
    max-width:100%;
    padding:18px 14px;
    gap:18px;
  }

  .center-col{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* On tablet the secondary games move below the main player. */
  .right-col{
    width:100% !important;
    flex:0 0 100% !important;
  }

  .right-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
  }

  .hero{
    aspect-ratio:16/9;
  }

  /* Undo the mobile-only stacked action bar for tablet. */
  .player-bar{
    flex-wrap:nowrap;
    gap:10px;
  }

  .player-bar-actions{
    flex:0 0 auto;
    display:flex;
    grid-template-columns:none;
    width:auto;
    margin-left:auto;
    gap:8px;
  }

  .reaction-btn,
  .share-btn,
  .player-bar-actions .fs-btn{
    width:auto;
    height:34px;
    padding:0 10px;
  }

  .player-bar-actions .fs-btn{
    margin-left:10px;
  }

  .quick-strip{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

/* Mobile is intentionally left as the original UI. */


/* ===== v2.0.19: denser game-list grid ===== */
@media(max-width:700px){
  .content .grid,
  .blog-archive .grid,
  .game-grid,
  .grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .game-card{
    min-width:0;
  }

  .game-title{
    padding:8px 9px 10px;
    font-size:12.5px;
    line-height:1.3;
  }
}


/* ===== v2.0.21: dynamic full-row pagination =====
   Desktop/tablet keep the natural auto-fill grid. JS reads the actual
   rendered column count and chooses the server page size from that.
   Mobile <=700px keeps the existing 2-column UI unchanged. */
@media(min-width:701px){
  .gh-game-list-grid{
    grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  }
}
