/*
Theme Name: GenZGames
Theme URI: https://www.genzgames.net
Author: GenZGames
Author URI: https://www.genzgames.net
Description: A fast, SEO-optimized HTML5 gaming portal theme (like CrazyGames / Poki) with 31 built-in free browser games (Snake Arena .io, Snake, Worm .io, Bubble Shooter, Candy Match, Market Tycoon, Racing and more), playable Snake .io hero, background music, game sounds, full screen play, Top 10 page, game categories, blog, multi-language switcher, Schema.org markup, Open Graph, sitemap support, legal pages and one-click demo setup. Supports external embed games (GameDistribution, GameMonetize etc.).
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: genzgames
Tags: entertainment, games, blog, grid-layout, custom-logo, custom-menu, featured-images, translation-ready, dark, one-column, two-columns, right-sidebar
*/

:root{
  --bg:#0f0b24;--bg2:#150f33;--card:#1d1645;--card2:#261d5a;--line:rgba(255,255,255,.09);
  --txt:#f4f2ff;--muted:#a9a3cf;--pink:#ff5ea8;--purple:#7b61ff;--yellow:#ffde59;--green:#3ddc84;
  --grad:linear-gradient(135deg,#ff5ea8 0%,#7b61ff 100%);
  --radius:16px;--shadow:0 10px 30px rgba(0,0,0,.35);
  --font:"Poppins","Nunito","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  --wrap:1320px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--font);font-size:16px;line-height:1.65;top:0!important}
img{max-width:100%;height:auto;display:block}
a{color:var(--yellow);text-decoration:none}
a:hover{color:#fff}
h1,h2,h3,h4{line-height:1.25;margin:0 0 .6em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,3.6vw,2.9rem)}h2{font-size:clamp(1.35rem,2.4vw,1.9rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}
button,input,select,textarea{font-family:inherit;font-size:1rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.skip-link:focus{position:fixed;top:8px;left:8px;z-index:9999;background:#fff;color:#000;padding:8px 14px;border-radius:8px;clip:auto;width:auto;height:auto}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 18px}
:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:.8em 1.5em;border-radius:999px;font-weight:800;border:0;cursor:pointer;transition:transform .15s,box-shadow .15s;color:#fff;background:var(--grad);box-shadow:0 8px 24px rgba(255,94,168,.35);line-height:1.2}
.btn:hover{transform:translateY(-2px) scale(1.03);color:#fff}
.btn-ghost{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid var(--line)}
.btn-sm{padding:.5em 1em;font-size:.9rem}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(15,11,36,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:18px;height:68px}
.site-branding{flex-shrink:0;display:flex;align-items:center}
.site-branding img{height:42px;width:auto}
.site-branding .custom-logo-link img{max-height:46px;width:auto}
.site-title-text{font-weight:900;font-size:1.4rem;color:#fff}
.main-nav{flex:1;min-width:0}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.main-nav li{position:relative}
.main-nav a{display:flex;align-items:center;gap:6px;padding:9px 13px;border-radius:12px;color:var(--txt);font-weight:700;font-size:.95rem;white-space:nowrap}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a{background:rgba(255,255,255,.08);color:#fff}
.main-nav .menu-item-has-children>a::after{content:"▾";font-size:.75em;opacity:.7}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:230px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch;gap:2px;z-index:20}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:flex}
.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.search-form{position:relative;display:flex}
.search-form input[type=search]{width:220px;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;border-radius:999px;padding:.6em 1em .6em 2.4em;outline:none;transition:width .2s,background .2s}
.search-form input[type=search]:focus{background:rgba(255,255,255,.14);width:260px}
.search-form::before{content:"🔍";position:absolute;left:.85em;top:50%;transform:translateY(-50%);font-size:.85em;opacity:.8;pointer-events:none}
.search-form button{display:none}
.lang-switch{position:relative}
.lang-switch select{appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23fff'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--line);color:#fff;border-radius:999px;padding:.55em 2em .55em .9em;cursor:pointer;font-weight:700;font-size:.9rem}
.lang-switch select option{background:#1d1645;color:#fff}
.lang-switch ul{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.menu-toggle{display:none;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;width:44px;height:44px;border-radius:12px;font-size:1.3rem;cursor:pointer}
#google_translate_element,.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame{display:none!important}
.goog-text-highlight{background:none!important;box-shadow:none!important}
font{background:none!important;box-shadow:none!important}

/* ---------- Layout ---------- */
.site-main{padding:26px 0 50px;min-height:60vh}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px}
.layout>main,.game-layout>main,.content-layout>main{min-width:0}
.side-cats{position:sticky;top:90px;align-self:start;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.side-cats h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:6px 10px 10px}
.side-cats ul{list-style:none;margin:0;padding:0}
.side-cats a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;color:var(--txt);font-weight:600;font-size:.95rem}
.side-cats a:hover,.side-cats a.active{background:rgba(255,255,255,.07)}
.side-cats .ico{width:32px;height:32px;display:grid;place-items:center;background:rgba(255,255,255,.06);border-radius:10px;font-size:1.05rem}
.side-cats .count{margin-left:auto;font-size:.75rem;color:var(--muted)}

/* ---------- Hero ---------- */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;align-items:center;background:radial-gradient(circle at 15% 20%,rgba(255,94,168,.28),transparent 45%),radial-gradient(circle at 85% 80%,rgba(123,97,255,.35),transparent 50%),var(--bg2);border:1px solid var(--line);border-radius:26px;padding:34px;overflow:hidden;margin-bottom:30px}
.hero-kicker{display:inline-flex;gap:8px;align-items:center;background:rgba(255,222,89,.12);color:var(--yellow);padding:6px 14px;border-radius:999px;font-weight:800;font-size:.85rem;margin-bottom:14px}
.hero h1 span{background:linear-gradient(90deg,#ffde59,#ff5ea8,#9b8cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{color:var(--muted);font-size:1.1rem;max-width:560px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}
.hero-stats{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0;list-style:none}
.hero-stats li{background:rgba(255,255,255,.06);border:1px solid var(--line);padding:10px 14px;border-radius:14px;font-size:.85rem;color:var(--muted)}
.hero-stats strong{display:block;color:#fff;font-size:1.25rem}
.hero-game{position:relative;border-radius:22px;padding:6px;background:var(--grad);box-shadow:0 20px 60px rgba(123,97,255,.45)}
.hero-game iframe{display:block;width:100%;height:560px;border:0;border-radius:17px;background:#0d0a1f}
.hero-game .tag{position:absolute;top:-12px;left:20px;background:var(--yellow);color:#1a1240;font-weight:900;font-size:.8rem;padding:4px 12px;border-radius:999px;z-index:2}

/* ---------- Sections & rows ---------- */
.section{margin:34px 0}
.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.section-head h2{margin:0;display:flex;align-items:center;gap:10px}
.section-head a.more{font-weight:800;font-size:.9rem;background:rgba(255,255,255,.07);padding:7px 14px;border-radius:999px;color:#fff;white-space:nowrap}
.chips{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;margin-bottom:6px}
.chips::-webkit-scrollbar{display:none}
.chip{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);color:#fff;padding:9px 16px;border-radius:999px;font-weight:700;font-size:.92rem;transition:background .15s}
.chip:hover,.chip.active{background:var(--grad);color:#fff;border-color:transparent}

/* ---------- Game cards ---------- */
.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.game-grid.big{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.game-card{position:relative;display:block;border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s;color:#fff;isolation:isolate}
.game-card:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 36px rgba(123,97,255,.4);color:#fff;z-index:2}
.game-card .thumb{aspect-ratio:4/3;width:100%;object-fit:cover;background:var(--card2)}
.game-card .meta{position:absolute;inset:auto 0 0 0;padding:28px 12px 10px;background:linear-gradient(transparent,rgba(10,6,30,.95));opacity:0;transform:translateY(8px);transition:.2s}
.game-card:hover .meta,.game-card:focus .meta{opacity:1;transform:none}
.game-card .meta strong{display:block;font-size:.95rem;line-height:1.25}
.game-card .meta small{color:var(--muted);font-size:.75rem}
.game-card .play-ico{position:absolute;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--purple);font-size:1.3rem;opacity:0;transform:scale(.6);transition:.2s;padding-left:4px}
.game-card:hover .play-ico{opacity:1;transform:scale(1)}
.badge{position:absolute;top:8px;left:8px;z-index:2;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:7px;background:var(--yellow);color:#1a1240}
.badge.hot{background:#ff4d4d;color:#fff}.badge.top{background:var(--grad);color:#fff}
.game-card.with-title .meta{opacity:1;transform:none;position:static;background:none;padding:10px 12px}
.game-card.with-title .meta strong{font-size:.95rem}

/* Top 10 row */
.top-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,1fr);gap:18px;overflow-x:auto;padding:6px 4px 16px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.top-item{position:relative;display:flex;align-items:flex-end;scroll-snap-align:start;padding-left:46px}
.top-item .rank{position:absolute;left:-4px;bottom:-14px;font-size:7rem;font-weight:900;line-height:1;color:var(--bg);-webkit-text-stroke:3px rgba(255,255,255,.55);z-index:0;font-family:Impact,var(--font);letter-spacing:-.06em}
.top-item .game-card{flex:1;z-index:1}

/* Top games page list */
.toplist{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.toplist li{display:grid;grid-template-columns:70px 200px 1fr auto;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:14px}
.toplist .n{font-size:2.6rem;font-weight:900;text-align:center;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.toplist img{border-radius:14px;aspect-ratio:4/3;object-fit:cover}
.toplist h3{margin:0 0 4px}.toplist p{color:var(--muted);margin:0;font-size:.92rem}

/* ---------- Single game ---------- */
.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}
.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:14px}
.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:#fff}
.breadcrumbs span.sep{margin:0 6px;opacity:.5}
.game-stage{position:relative;background:#0b0820;border-radius:20px;overflow:hidden;border:1px solid var(--line);height:min(72vh,640px);min-height:420px}
.game-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.game-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;cursor:pointer;z-index:2;text-align:center;padding:20px}
.game-cover .bg{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(18px) brightness(.45)}
.game-cover img.icon{position:relative;width:200px;border-radius:18px;box-shadow:var(--shadow)}
.game-cover h2{position:relative;margin:0}
.game-cover .btn{position:relative;font-size:1.25rem;padding:.9em 2.4em}
.game-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 14px;margin-top:12px}
.game-bar .title{flex:1;min-width:180px;display:flex;align-items:center;gap:12px}
.game-bar .title img{width:46px;height:46px;border-radius:12px;object-fit:cover}
.game-bar h1{font-size:1.25rem;margin:0}
.game-bar .stats{font-size:.8rem;color:var(--muted)}
.icon-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.07);border:1px solid var(--line);color:#fff;padding:8px 14px;border-radius:12px;cursor:pointer;font-weight:700;font-size:.9rem}
.icon-btn:hover{background:rgba(255,255,255,.14)}
.icon-btn.voted{background:var(--grad);border-color:transparent}
.game-info{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:24px;margin-top:20px}
.game-info .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.howto{background:rgba(61,220,132,.08);border:1px solid rgba(61,220,132,.25);border-radius:14px;padding:14px 18px;margin:16px 0}
.side-box{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:16px;margin-bottom:20px}
.side-box h2,.side-box .widget-title{font-size:1.05rem;margin-bottom:12px}
.mini-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.mini-list a{display:flex;gap:12px;align-items:center;color:#fff;font-weight:700;font-size:.92rem;padding:6px;border-radius:12px}
.mini-list a:hover{background:rgba(255,255,255,.06)}
.mini-list img{width:80px;aspect-ratio:4/3;object-fit:cover;border-radius:10px;flex-shrink:0}
.mini-list small{display:block;color:var(--muted);font-weight:500;font-size:.75rem}
.is-fullscreen .game-stage{border-radius:0}

/* ---------- Ads ---------- */
.gzg-ad{margin:18px auto;text-align:center;overflow:hidden;max-width:100%}
.gzg-ad .label{display:block;font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}

/* ---------- Blog ---------- */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.post-card{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s}
.post-card:hover{transform:translateY(-4px)}
.post-card .pc-thumb{aspect-ratio:16/9;object-fit:cover;width:100%;background:var(--card2)}
.post-card .pc-thumb.ph{display:grid;place-items:center;font-size:3rem;background:var(--grad)}
.post-card .pc-body{padding:18px;display:flex;flex-direction:column;flex:1}
.post-card h2,.post-card h3{font-size:1.15rem;margin-bottom:8px}
.post-card h2 a,.post-card h3 a{color:#fff}
.post-card p{color:var(--muted);font-size:.93rem}
.post-meta{font-size:.8rem;color:var(--muted);margin-bottom:8px}
.post-card .more{margin-top:auto;font-weight:800}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px}
.entry{background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,40px)}
.entry-header{margin-bottom:20px}
.entry-thumb{border-radius:16px;margin-bottom:24px;width:100%}
.entry-content{font-size:1.05rem}
.entry-content h2{margin-top:1.6em}.entry-content h3{margin-top:1.3em}
.entry-content a{text-decoration:underline;text-underline-offset:3px}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content blockquote{margin:1.4em 0;padding:14px 20px;border-left:4px solid var(--pink);background:rgba(255,255,255,.04);border-radius:0 12px 12px 0}
.entry-content table{width:100%;border-collapse:collapse;margin:1em 0}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.entry-content img{border-radius:12px}
.entry-content code{background:rgba(255,255,255,.08);padding:2px 6px;border-radius:6px}
.alignwide{max-width:none}.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text,.wp-element-caption{font-size:.85rem;color:var(--muted);text-align:center}
.widget{background:var(--bg2);border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:20px}
.widget ul{list-style:none;margin:0;padding:0}.widget li{padding:6px 0;border-bottom:1px solid var(--line)}
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:34px 0 0}
.page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border-radius:12px;background:var(--card);color:#fff;font-weight:700}
.page-numbers.current,.page-numbers:hover{background:var(--grad);color:#fff}
.page-header{margin-bottom:20px}
.page-header p,.archive-description{color:var(--muted);max-width:820px}
.post-navigation .nav-links{justify-content:space-between}
.post-navigation a{display:block;background:var(--card);padding:12px 16px;border-radius:14px;color:#fff;max-width:420px}

/* comments */
.comments-area{margin-top:30px}
.comment-list{list-style:none;padding:0}.comment-list .children{list-style:none;padding-left:24px}
.comment-body{background:var(--card);border-radius:14px;padding:14px;margin-bottom:12px}
.comment-meta{font-size:.85rem;color:var(--muted)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea,.gzg-form input,.gzg-form textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:.8em 1em;color:#fff}
.comment-form .submit,.gzg-form button{background:var(--grad);color:#fff;border:0;padding:.8em 1.8em;border-radius:999px;font-weight:800;cursor:pointer}
.gzg-form p{margin-bottom:14px}.gzg-form label{display:block;font-weight:700;margin-bottom:4px}
.gzg-form .hp{position:absolute;left:-9999px}
.notice-ok{background:rgba(61,220,132,.15);border:1px solid var(--green);padding:12px 16px;border-radius:12px;margin-bottom:16px}

/* SEO text + FAQ */
.seo-text{background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,36px);color:var(--muted)}
.seo-text h2,.seo-text h3{color:#fff}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:10px}
.faq summary{cursor:pointer;font-weight:800;color:#fff}
.faq details p{margin:10px 0 0}

/* ---------- Footer ---------- */
.site-footer{background:#0a0719;border-top:1px solid var(--line);padding:46px 0 24px;color:var(--muted);font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.site-footer h2{font-size:1rem;color:#fff;margin-bottom:12px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer a{color:var(--muted)}.site-footer a:hover{color:#fff}
.socials{display:flex;gap:10px;margin-top:14px}
.socials a{width:40px;height:40px;display:grid;place-items:center;background:rgba(255,255,255,.07);border-radius:12px;color:#fff;font-weight:800;font-size:.85rem}
.footer-legal{border-top:1px solid var(--line);margin-top:30px;padding-top:20px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.footer-legal ul{display:flex;flex-wrap:wrap;gap:6px 18px}
.footer-legal li{margin:0}
.back-top{position:fixed;right:18px;bottom:18px;width:46px;height:46px;border-radius:50%;background:var(--grad);color:#fff;border:0;font-size:1.2rem;cursor:pointer;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.2s;z-index:50}
.back-top.show{opacity:1;pointer-events:auto}

/* 404 */
.e404{text-align:center}
.e404 .big{font-size:clamp(5rem,15vw,9rem);font-weight:900;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.e404 iframe{width:100%;max-width:520px;height:560px;border:0;border-radius:18px;margin:20px auto;display:block;background:#0d0a1f}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .main-nav a{padding:9px 9px;font-size:.9rem}
  .search-form input[type=search]{width:170px}
  .search-form input[type=search]:focus{width:200px}
}
@media (max-width:1024px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0f0b24}
  .side-cats{display:none}
  .hero{grid-template-columns:minmax(0,1fr);padding:24px}
  .game-layout,.content-layout{grid-template-columns:minmax(0,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .menu-toggle{display:inline-grid;place-items:center}
  .main-nav{position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--bg);padding:18px;overflow:auto;transform:translateX(100%);transition:transform .25s;z-index:99}
  .main-nav.open{transform:none}
  .main-nav ul{flex-direction:column;align-items:stretch}
  .main-nav a{font-size:1.05rem;padding:13px 14px}
  .main-nav .sub-menu{position:static;display:flex;box-shadow:none;background:transparent;border:0;padding:0 0 0 14px}
  .main-nav .menu-item-has-children>a::after{display:none}
  .header-tools .search-form{display:none}
  .main-nav .search-form{display:flex;margin-bottom:14px}
  .main-nav .search-form input[type=search]{width:100%}
}
@media (min-width:1025px){.main-nav .search-form{display:none}}
@media (max-width:640px){
  .wrap{padding:0 12px}
  .header-inner{height:62px;gap:10px}
  .main-nav{top:62px}
  .site-branding img{height:34px}
  .lang-switch select{max-width:122px;padding-right:1.7em;font-size:.82rem}
  .hero{padding:18px;border-radius:20px}
  .hero-game iframe{height:470px}
  .game-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .game-grid.big{grid-template-columns:repeat(2,1fr)}
  .game-card .meta{opacity:1;transform:none;padding:22px 8px 6px}
  .game-card .meta strong{font-size:.82rem}
  .game-card .meta small{display:none}
  .top-row{grid-auto-columns:78%}
  .toplist li{grid-template-columns:44px 110px 1fr;gap:10px}
  .toplist li .btn{grid-column:1/-1;justify-content:center}
  .toplist .n{font-size:1.8rem}
  .toplist p{display:none}
  .game-stage{height:calc(100vh - 150px);min-height:440px;border-radius:14px}
  .footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Block widgets (search, latest posts) in the sidebar */
.widget .wp-block-search__input,.widget input[type=search]{background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;border-radius:12px;padding:.6em 1em}
.widget .wp-block-search__button{background:var(--grad);color:#fff;border:0;border-radius:12px;padding:.6em 1.1em;font-weight:800;cursor:pointer}
.widget .wp-block-search__label{font-weight:800;margin-bottom:6px;display:block}
.widget h2,.widget .wp-block-heading{font-size:1.05rem}
.widget li a{color:#fff}

/* ---------- Music button ---------- */
.music-btn{display:inline-flex;align-items:center;gap:5px;height:40px;padding:0 10px;flex-shrink:0;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff;cursor:pointer;font-size:1rem}
.music-btn .eq{display:inline-flex;gap:2px;align-items:flex-end;height:14px}
.music-btn .eq i{width:3px;height:4px;background:var(--pink);border-radius:2px}
.music-btn.on{background:var(--grad);border-color:transparent}
.music-btn.on .eq i{background:#fff;animation:gzgEq .8s infinite ease-in-out}
.music-btn.on .eq i:nth-child(2){animation-delay:.2s}.music-btn.on .eq i:nth-child(3){animation-delay:.4s}
@keyframes gzgEq{0%,100%{height:4px}50%{height:14px}}
.music-btn:not(.on){opacity:.75}

/* ---------- Full screen game ---------- */
.fs-exit{display:none;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:20;height:38px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.65);color:#fff;font-size:.9rem;font-weight:800;cursor:pointer}
.game-stage:fullscreen,.game-stage.pseudo-fs{position:fixed;inset:0;z-index:10000;width:100vw;height:100vh;height:100dvh;min-height:0;border-radius:0;border:0;background:#0b0820}
.game-stage:fullscreen .fs-exit,.game-stage.pseudo-fs .fs-exit,.hero-game.pseudo-fs .fs-exit{display:block}
.hero-game:fullscreen{padding:0;border-radius:0;background:#0d0a1f}
.hero-game:fullscreen iframe{height:100vh;border-radius:0}
.hero-game.pseudo-fs{position:fixed;inset:0;z-index:10000;padding:0;border-radius:0;background:#0d0a1f}
.hero-game.pseudo-fs iframe{height:100vh;height:100dvh;border-radius:0}
.hero-game.pseudo-fs .tag,.hero-game.pseudo-fs .hero-fs,.hero-game:fullscreen .tag,.hero-game:fullscreen .hero-fs{display:none}
body.gzg-fs-lock{overflow:hidden}
.hero-fs{position:absolute;bottom:-14px;right:20px;z-index:3;background:var(--yellow);color:#1a1240;border:0;font-weight:900;font-size:.8rem;padding:6px 14px;border-radius:999px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.35)}
@media (max-width:1024px){.hero-game iframe{height:520px}}
@media (max-width:640px){.hero-game iframe{height:440px}.music-btn{padding:0 10px;height:38px}.music-btn .eq{display:none}}

.lang-switch select{max-width:150px}
.search-form input[type=search]{width:190px}
.search-form input[type=search]:focus{width:220px}
@media (max-width:1300px){.search-form input[type=search]{width:150px}.search-form input[type=search]:focus{width:180px}.main-nav a{padding:9px 8px;font-size:.88rem}}
@media (max-width:1150px) and (min-width:1025px){.header-tools .search-form{display:none}.main-nav .search-form{display:none}}
@media (max-width:640px){
  .lang-switch select{max-width:92px;font-size:.78rem;padding-left:.6em}
  .site-branding img{height:30px}
  .header-tools{gap:6px}
  .music-btn{width:38px;justify-content:center;padding:0}
  .menu-toggle{width:40px;height:40px}
}
