/* ==========================================================================
   NEXUS GAMING v3 — Premium Gaming & eSports Theme
   Inspired by commercial gaming store themes (Gameze-style)
   ========================================================================== */

/* --- TOKENS --- */
:root {
  --nx-black:#05050a;--nx-bg:#0b0b14;--nx-bg-2:#0f0f1a;--nx-bg-card:#12121e;
  --nx-bg-card-h:#181830;--nx-surface:#1a1a2c;--nx-border:#252544;--nx-border-s:#1a1a34;
  /* Accent: electric blue-violet */
  --nx-accent:#6c5ce7;--nx-accent-l:#a29bfe;--nx-accent-d:#4a3fbf;
  --nx-accent-glow:rgba(108,92,231,.18);--nx-accent-glow-s:rgba(108,92,231,.08);
  /* Secondary: neon cyan */
  --nx-cyan:#00cec9;--nx-cyan-d:#00a8a3;--nx-cyan-glow:rgba(0,206,201,.15);
  /* Warm accent: gold */
  --nx-gold:#fdcb6e;--nx-gold-d:#e4ad3a;
  /* Hot accent: magenta/red for badges */
  --nx-hot:#e84393;--nx-hot-glow:rgba(232,67,147,.15);
  /* Text */
  --nx-text:#eaeaf2;--nx-text-2:#a0a0bc;--nx-text-m:#5c5c78;--nx-text-inv:#0b0b14;
  /* Fonts */
  --nx-fh:'Outfit','Segoe UI',system-ui,sans-serif;
  --nx-fb:'Source Sans 3','Segoe UI',system-ui,sans-serif;
  --nx-fm:'JetBrains Mono','Consolas',monospace;
  /* Sizes */
  --nx-xs:.75rem;--nx-sm:.875rem;--nx-base:1rem;--nx-md:1.125rem;--nx-lg:1.25rem;
  --nx-xl:1.5rem;--nx-2xl:1.875rem;--nx-3xl:2.25rem;--nx-4xl:3rem;--nx-5xl:3.75rem;
  /* Spacing */
  --sp1:.25rem;--sp2:.5rem;--sp3:.75rem;--sp4:1rem;--sp5:1.25rem;--sp6:1.5rem;
  --sp8:2rem;--sp10:2.5rem;--sp12:3rem;--sp16:4rem;--sp20:5rem;--sp24:6rem;
  /* Layout */
  --container:1280px;--wide:1440px;--narrow:780px;--sidebar:340px;--gut:1.5rem;
  /* Radii */
  --r-sm:4px;--r:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-2xl:20px;
  /* Shadows */
  --sh-sm:0 1px 4px rgba(0,0,0,.5);--sh:0 4px 12px rgba(0,0,0,.5);
  --sh-md:0 6px 24px rgba(0,0,0,.6);--sh-lg:0 12px 40px rgba(0,0,0,.7);
  --sh-glow:0 0 30px rgba(108,92,231,.2);
  /* Transitions */
  --tr:220ms cubic-bezier(.4,0,.2,1);--tr-s:450ms cubic-bezier(.4,0,.2,1);
  /* Z */
  --z-drop:100;--z-sticky:200;--z-over:300;--z-modal:400;--z-top:500;
}

/* --- RESET --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--nx-fb);font-size:var(--nx-base);line-height:1.65;color:var(--nx-text);background:var(--nx-bg);overflow-x:hidden;min-height:100vh}
img{max-width:100%;height:auto;display:block}
a{color:var(--nx-accent-l);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--nx-cyan)}
a:focus-visible{outline:2px solid var(--nx-accent);outline-offset:2px;border-radius:var(--r-sm)}
::selection{background:var(--nx-accent);color:#fff}

/* Body texture */
body::after{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;
  background-image:radial-gradient(circle at 15% 20%,rgba(108,92,231,.04) 0%,transparent 40%),
  radial-gradient(circle at 85% 80%,rgba(0,206,201,.03) 0%,transparent 40%);
}

/* Skip link */
.skip-link{position:absolute;top:-100%;left:var(--sp4);z-index:var(--z-top);background:var(--nx-accent);color:#fff;padding:var(--sp3) var(--sp6);font-weight:700;border-radius:0 0 var(--r) var(--r);transition:top var(--tr)}
.skip-link:focus{top:0;color:#fff}

/* Screen reader */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* --- TYPOGRAPHY --- */
h1,h2,h3,h4,h5,h6{font-family:var(--nx-fh);font-weight:700;line-height:1.15;color:var(--nx-text);letter-spacing:-.02em}
h1{font-size:var(--nx-4xl)}h2{font-size:var(--nx-3xl)}h3{font-size:var(--nx-2xl)}
h4{font-size:var(--nx-xl)}h5{font-size:var(--nx-lg)}h6{font-size:var(--nx-md)}
p{margin-bottom:var(--sp6)}

.section-title{font-family:var(--nx-fh);font-size:var(--nx-2xl);font-weight:800;position:relative;padding-bottom:var(--sp4);margin-bottom:var(--sp8)}
.section-title::after{content:'';position:absolute;bottom:0;left:0;width:50px;height:3px;background:linear-gradient(90deg,var(--nx-accent),var(--nx-cyan));border-radius:2px}
.section-title--center{text-align:center}
.section-title--center::after{left:50%;transform:translateX(-50%)}

/* Gradient text utility */
.gradient-text{background:linear-gradient(135deg,var(--nx-accent-l),var(--nx-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* --- LAYOUT --- */
.nx-container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gut)}
.nx-container--wide{max-width:var(--wide)}
.nx-container--narrow{max-width:var(--narrow)}
.nx-section{padding:var(--sp16) 0}
.nx-section--compact{padding:var(--sp10) 0}
.nx-grid{display:grid;gap:var(--gut)}
.nx-grid--2{grid-template-columns:repeat(2,1fr)}
.nx-grid--3{grid-template-columns:repeat(3,1fr)}
.nx-grid--4{grid-template-columns:repeat(4,1fr)}
.nx-content-sidebar{display:grid;grid-template-columns:1fr var(--sidebar);gap:var(--sp10);align-items:start}

/* --- BUTTONS (Gameze-style glowing CTAs) --- */
.nx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp2);
  padding:var(--sp3) var(--sp8);font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:700;
  border:none;border-radius:var(--r-lg);cursor:pointer;transition:all var(--tr);white-space:nowrap;
  text-decoration:none;line-height:1.5;position:relative;overflow:hidden}
.nx-btn--primary{background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-d));color:#fff;
  box-shadow:0 4px 20px rgba(108,92,231,.3)}
.nx-btn--primary:hover{background:linear-gradient(135deg,var(--nx-accent-l),var(--nx-accent));color:#fff;
  box-shadow:0 6px 30px rgba(108,92,231,.45);transform:translateY(-2px)}
.nx-btn--cyan{background:linear-gradient(135deg,var(--nx-cyan),var(--nx-cyan-d));color:var(--nx-text-inv);
  box-shadow:0 4px 20px rgba(0,206,201,.3)}
.nx-btn--cyan:hover{box-shadow:0 6px 30px rgba(0,206,201,.45);transform:translateY(-2px);color:var(--nx-text-inv)}
.nx-btn--outline{background:transparent;border:2px solid var(--nx-border);color:var(--nx-text-2)}
.nx-btn--outline:hover{border-color:var(--nx-accent);color:var(--nx-accent);box-shadow:var(--sh-glow)}
.nx-btn--sm{padding:var(--sp2) var(--sp5);font-size:var(--nx-xs);border-radius:var(--r-md)}
.nx-btn--lg{padding:var(--sp5) var(--sp10);font-size:var(--nx-base);border-radius:var(--r-xl)}
.nx-btn svg{width:16px;height:16px;transition:transform var(--tr)}
.nx-btn:hover svg{transform:translateX(3px)}

/* --- HEADER --- */
.site-header{position:sticky;top:0;z-index:var(--z-sticky);
  background:rgba(11,11,20,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
  border-bottom:1px solid var(--nx-border-s)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--sp6)}
.site-brand{display:flex;align-items:center;gap:var(--sp3);flex-shrink:0}
.site-brand img,.site-brand .custom-logo{max-height:40px;width:auto}
.site-brand__text{font-family:var(--nx-fh);font-size:var(--nx-xl);font-weight:800;letter-spacing:-.03em;color:var(--nx-text);line-height:1}
.site-brand__text span{background:linear-gradient(135deg,var(--nx-accent-l),var(--nx-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Nav */
.primary-nav{flex:1;display:flex;justify-content:center}
.primary-nav ul,.primary-nav>div>ul{display:flex;list-style:none;gap:var(--sp1);align-items:center}
.primary-nav li{position:relative}
.primary-nav a{display:block;padding:var(--sp2) var(--sp4);font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:600;color:var(--nx-text-2);border-radius:var(--r-md);transition:all var(--tr);white-space:nowrap}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:#fff;background:rgba(108,92,231,.12)}
.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--nx-accent-l)}
.primary-nav .sub-menu,.primary-nav .children{position:absolute;top:100%;left:0;min-width:220px;list-style:none;background:var(--nx-bg-2);border:1px solid var(--nx-border);border-radius:var(--r-md);box-shadow:var(--sh-lg);padding:var(--sp2);opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--tr);z-index:var(--z-drop)}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu,.primary-nav li:hover>.children,.primary-nav li:focus-within>.children{opacity:1;visibility:visible;transform:translateY(0)}
.primary-nav .sub-menu a,.primary-nav .children a{padding:var(--sp2) var(--sp4);font-size:var(--nx-sm);border-radius:var(--r)}

/* Header actions */
.header-actions{display:flex;align-items:center;gap:var(--sp3);flex-shrink:0}
.header-search-toggle,.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:rgba(108,92,231,.08);border:1px solid rgba(108,92,231,.2);border-radius:var(--r-md);color:var(--nx-text-2);cursor:pointer;transition:all var(--tr)}
.header-search-toggle:hover,.mobile-menu-toggle:hover{background:rgba(108,92,231,.18);color:var(--nx-accent-l);border-color:var(--nx-accent);box-shadow:var(--sh-glow)}
.mobile-menu-toggle{display:none}
.hamburger{width:18px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.hamburger span{display:block;width:100%;height:2px;background:currentColor;border-radius:1px;transition:transform var(--tr),opacity var(--tr)}
.mobile-menu-toggle[aria-expanded="true"] .hamburger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded="true"] .hamburger span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded="true"] .hamburger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Search overlay */
.search-overlay{position:fixed;inset:0;z-index:var(--z-modal);background:rgba(5,5,10,.96);backdrop-filter:blur(24px);display:flex;align-items:flex-start;justify-content:center;padding-top:18vh;opacity:0;visibility:hidden;transition:all var(--tr-s)}
.search-overlay.is-active{opacity:1;visibility:visible}
.search-overlay__inner{width:100%;max-width:640px;padding:0 var(--gut);transform:translateY(20px);transition:transform var(--tr-s)}
.search-overlay.is-active .search-overlay__inner{transform:translateY(0)}
.search-overlay__close{position:absolute;top:var(--sp6);right:var(--sp6);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(108,92,231,.08);border:1px solid var(--nx-border);border-radius:var(--r-md);color:var(--nx-text-2);cursor:pointer;font-size:var(--nx-xl);transition:all var(--tr)}
.search-overlay__close:hover{background:rgba(108,92,231,.2);color:#fff;border-color:var(--nx-accent)}
.search-overlay .search-field{width:100%;background:var(--nx-bg-2);border:2px solid var(--nx-border);border-radius:var(--r-xl);padding:var(--sp5) var(--sp8);font-family:var(--nx-fh);font-size:var(--nx-2xl);font-weight:600;color:var(--nx-text);outline:none;transition:border-color var(--tr)}
.search-overlay .search-field:focus{border-color:var(--nx-accent);box-shadow:0 0 40px rgba(108,92,231,.15)}
.search-overlay .search-field::placeholder{color:var(--nx-text-m)}

/* Mobile nav */
.mobile-nav{position:fixed;top:72px;left:0;right:0;bottom:0;z-index:var(--z-over);background:var(--nx-bg);overflow-y:auto;transform:translateX(100%);transition:transform var(--tr-s)}
.mobile-nav.is-active{transform:translateX(0)}
.mobile-nav ul{list-style:none;padding:var(--sp4)}
.mobile-nav a{display:block;padding:var(--sp4);font-family:var(--nx-fh);font-size:var(--nx-lg);font-weight:600;color:var(--nx-text-2);border-bottom:1px solid var(--nx-border-s)}
.mobile-nav a:hover{color:var(--nx-accent-l)}
.mobile-nav .sub-menu,.mobile-nav .children{list-style:none;padding-left:var(--sp6)}
.mobile-nav .sub-menu a,.mobile-nav .children a{font-size:var(--nx-base);color:var(--nx-text-m)}

/* --- NEWS TICKER --- */
.news-ticker{background:var(--nx-bg-2);border-bottom:1px solid var(--nx-border-s);overflow:hidden;height:40px}
.news-ticker__inner{display:flex;align-items:center;height:100%;gap:var(--sp4)}
.news-ticker__label{flex-shrink:0;font-family:var(--nx-fh);font-size:var(--nx-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--nx-hot),var(--nx-accent));padding:var(--sp1) var(--sp4);border-radius:var(--r-sm);line-height:1.8;animation:pulse-badge 2s ease-in-out infinite}
@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.7}}
.news-ticker__track{flex:1;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.news-ticker__items{display:flex;gap:var(--sp10);animation:ticker 40s linear infinite;width:max-content}
.news-ticker__items:hover{animation-play-state:paused}
.news-ticker__item{white-space:nowrap;font-size:var(--nx-sm)}
.news-ticker__item a{color:var(--nx-text-2)}
.news-ticker__item a:hover{color:var(--nx-cyan)}
.news-ticker__separator{color:var(--nx-accent-d);flex-shrink:0}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* === HERO === Gameze-style immersive hero with decorative elements */
.hero-section{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;
  background:linear-gradient(160deg,#08081a 0%,#0d0d22 30%,#0f0f1a 100%)}

/* Animated gradient orbs */
.hero-section::before{content:'';position:absolute;width:600px;height:600px;top:-200px;right:-100px;
  background:radial-gradient(circle,rgba(108,92,231,.12) 0%,transparent 70%);
  border-radius:50%;animation:hero-orb 8s ease-in-out infinite alternate}
.hero-section::after{content:'';position:absolute;width:500px;height:500px;bottom:-200px;left:-100px;
  background:radial-gradient(circle,rgba(0,206,201,.08) 0%,transparent 70%);
  border-radius:50%;animation:hero-orb 10s ease-in-out infinite alternate-reverse}
@keyframes hero-orb{0%{transform:translate(0,0) scale(1)}100%{transform:translate(30px,-20px) scale(1.15)}}

/* Grid texture */
.hero-section .hero-texture{position:absolute;inset:0;
  background-image:linear-gradient(rgba(108,92,231,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(108,92,231,.03) 1px,transparent 1px);
  background-size:50px 50px;pointer-events:none}

/* Diagonal accent line */
.hero-section .hero-accent-line{position:absolute;top:0;right:20%;width:2px;height:100%;
  background:linear-gradient(180deg,transparent,rgba(108,92,231,.3),transparent);transform:skewX(-20deg);pointer-events:none}

.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:6px;position:relative;z-index:1}
.hero-card{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:280px;
  border-radius:var(--r-lg);border:1px solid rgba(108,92,231,.1);transition:border-color var(--tr)}
.hero-card:hover{border-color:rgba(108,92,231,.3)}

/* Fallback BG */
.hero-card__bg{position:absolute;inset:0;
  background:radial-gradient(ellipse at 30% 80%,rgba(108,92,231,.1) 0%,transparent 60%),
  radial-gradient(ellipse at 80% 20%,rgba(0,206,201,.06) 0%,transparent 50%),
  linear-gradient(135deg,#14142a 0%,#0c0c1a 100%)}
.hero-card__bg::after{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:30px 30px}

.hero-card__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 8s cubic-bezier(.25,0,.15,1)}
.hero-card:hover .hero-card__image{transform:scale(1.05)}
.hero-card__overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,10,.93) 0%,rgba(5,5,10,.5) 40%,rgba(5,5,10,.15) 100%)}
.hero-card__content{position:relative;z-index:1;padding:var(--sp8);width:100%}
.hero-card--primary{min-height:530px;grid-row:1/3}
.hero-card--primary .hero-card__content{padding:var(--sp12) var(--sp10) var(--sp10)}

.hero-card__badge{display:inline-flex;align-items:center;gap:var(--sp2);font-family:var(--nx-fh);font-size:var(--nx-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;
  background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-d));padding:var(--sp1) var(--sp4);
  border-radius:var(--r);margin-bottom:var(--sp4);line-height:1.6;box-shadow:0 2px 12px rgba(108,92,231,.3)}

.hero-card__title{font-weight:800;line-height:1.15;color:#fff;margin-bottom:var(--sp3)}
.hero-card--primary .hero-card__title{font-size:var(--nx-3xl)}
.hero-card:not(.hero-card--primary) .hero-card__title{font-size:var(--nx-lg)}
.hero-card__title a{color:inherit}
.hero-card__title a:hover{color:var(--nx-cyan)}

.hero-card__excerpt{font-size:var(--nx-sm);color:rgba(255,255,255,.6);max-width:500px;margin-bottom:var(--sp5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-card__meta{display:flex;align-items:center;gap:var(--sp3);font-size:var(--nx-xs);color:rgba(255,255,255,.4);margin-bottom:var(--sp5)}
.hero-card__meta-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.3)}

.hero-side{display:grid;grid-template-rows:1fr 1fr;gap:6px}

/* Hero placeholder for empty slots */
.hero-placeholder{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px dashed rgba(108,92,231,.15);
  display:flex;align-items:center;justify-content:center;min-height:260px;
  background:radial-gradient(ellipse at center,rgba(108,92,231,.04) 0%,transparent 70%),var(--nx-bg-2)}
.hero-placeholder__text{font-family:var(--nx-fh);font-size:var(--nx-sm);color:var(--nx-text-m);text-align:center}

/* === POST CARDS === */
.post-card{background:var(--nx-bg-card);border:1px solid var(--nx-border-s);border-radius:var(--r-lg);overflow:hidden;
  transition:all var(--tr);position:relative}
.post-card::before{content:'';position:absolute;inset:-1px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,rgba(108,92,231,.2),transparent 50%);opacity:0;transition:opacity var(--tr);z-index:0;pointer-events:none}
.post-card:hover{transform:translateY(-4px);box-shadow:var(--sh-md),0 0 30px rgba(108,92,231,.08)}
.post-card:hover::before{opacity:1}

.post-card__thumbnail{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--nx-bg-2)}
.post-card__thumbnail img{width:100%;height:100%;object-fit:cover;transition:transform var(--tr-s)}
.post-card:hover .post-card__thumbnail img{transform:scale(1.06)}
.post-card__thumbnail-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,10,.6) 0%,transparent 60%);pointer-events:none}

/* Placeholder */
.placeholder-image{width:100%;height:100%;min-height:160px;display:flex;align-items:center;justify-content:center;position:relative;
  background:radial-gradient(ellipse at 50% 100%,rgba(108,92,231,.06) 0%,transparent 60%),linear-gradient(135deg,var(--nx-surface),var(--nx-bg-2))}
.placeholder-image::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(108,92,231,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(108,92,231,.025) 1px,transparent 1px);background-size:20px 20px}
.placeholder-image::after{content:'▶';display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;border:2px solid rgba(108,92,231,.2);color:rgba(108,92,231,.3);
  font-size:18px;position:relative;z-index:1}

.post-card__body{padding:var(--sp5) var(--sp5) var(--sp6);position:relative;z-index:1}
.post-card__category{display:inline-block;font-family:var(--nx-fh);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--nx-cyan);margin-bottom:var(--sp2)}
.post-card__title{font-family:var(--nx-fh);font-size:var(--nx-md);font-weight:700;line-height:1.3;margin-bottom:var(--sp3)}
.post-card__title a{color:var(--nx-text)}
.post-card__title a:hover{color:var(--nx-accent-l)}
.post-card__excerpt{font-size:var(--nx-sm);color:var(--nx-text-2);line-height:1.6;margin-bottom:var(--sp4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.post-card__meta{display:flex;align-items:center;gap:var(--sp3);font-size:var(--nx-xs);color:var(--nx-text-m)}
.post-card__author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid var(--nx-accent-d)}
.post-card__meta-sep{width:3px;height:3px;border-radius:50%;background:var(--nx-text-m)}

/* Featured card */
.post-card--featured{min-height:320px;display:flex;align-items:flex-end;border:none;border-radius:var(--r-xl)}
.post-card--featured .post-card__thumbnail{position:absolute;inset:0;aspect-ratio:auto;border-radius:var(--r-xl)}
.post-card--featured .post-card__thumbnail::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,10,.92) 0%,rgba(5,5,10,.3) 50%,transparent 100%)}
.post-card--featured .post-card__body{position:relative;z-index:1;padding:var(--sp8)}
.post-card--featured .post-card__title{font-size:var(--nx-2xl);color:#fff}
.post-card--featured .post-card__title a{color:#fff}

/* Horizontal card */
.post-card--horizontal{display:grid;grid-template-columns:200px 1fr}
.post-card--horizontal .post-card__thumbnail{aspect-ratio:auto;height:100%}
.post-card--horizontal .post-card__body{display:flex;flex-direction:column;justify-content:center;padding:var(--sp4) var(--sp5)}
.post-card--horizontal .post-card__excerpt{display:none}

/* Numbered trending */
.numbered-post{display:grid;grid-template-columns:40px 1fr;gap:var(--sp4);align-items:start;padding:var(--sp4) 0;border-bottom:1px solid var(--nx-border-s)}
.numbered-post:last-child{border-bottom:none}
.numbered-post__rank{font-family:var(--nx-fh);font-size:var(--nx-2xl);font-weight:800;
  background:linear-gradient(135deg,var(--nx-accent-d),var(--nx-accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;padding-top:var(--sp1)}
.numbered-post__title{font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:700;line-height:1.4;margin-bottom:var(--sp1)}
.numbered-post__title a{color:var(--nx-text)}
.numbered-post__title a:hover{color:var(--nx-accent-l)}
.numbered-post__meta{font-size:var(--nx-xs);color:var(--nx-text-m)}

/* --- CATEGORY SECTIONS --- */
.category-section{border-top:1px solid var(--nx-border-s)}
.category-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp8)}
.category-header__title{font-size:var(--nx-xl);font-weight:800;position:relative;padding-left:var(--sp4)}
.category-header__title::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:70%;background:linear-gradient(180deg,var(--nx-accent),var(--nx-cyan));border-radius:2px}
.category-header__link{font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:600;color:var(--nx-text-m);transition:color var(--tr)}
.category-header__link:hover{color:var(--nx-accent-l)}

/* --- NEWSLETTER CTA (Gameze-style with glow) --- */
.newsletter-cta{position:relative;overflow:hidden;border-radius:var(--r-2xl);padding:var(--sp16) var(--sp10);text-align:center;
  background:linear-gradient(160deg,rgba(108,92,231,.08) 0%,var(--nx-bg-2) 40%,rgba(0,206,201,.06) 100%);
  border:1px solid rgba(108,92,231,.15)}
.newsletter-cta::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:400px;height:400px;
  background:radial-gradient(circle,rgba(108,92,231,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none}
.newsletter-cta::after{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:2px;
  background:linear-gradient(90deg,transparent,var(--nx-accent),var(--nx-cyan),transparent)}
.newsletter-cta__title{font-size:var(--nx-2xl);font-weight:800;margin-bottom:var(--sp3);position:relative}
.newsletter-cta__desc{color:var(--nx-text-2);font-size:var(--nx-md);max-width:480px;margin:0 auto var(--sp8);position:relative}
.newsletter-cta__form{display:flex;gap:var(--sp3);max-width:480px;margin:0 auto;position:relative}
.newsletter-cta__input{flex:1;background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--r-lg);padding:var(--sp4) var(--sp6);font-family:var(--nx-fb);font-size:var(--nx-sm);color:var(--nx-text);outline:none;transition:all var(--tr)}
.newsletter-cta__input:focus{border-color:var(--nx-accent);box-shadow:0 0 20px rgba(108,92,231,.15)}
.newsletter-cta__input::placeholder{color:var(--nx-text-m)}
.newsletter-cta__hint{font-size:var(--nx-sm);color:var(--nx-text-m);font-style:italic;position:relative}

/* --- SINGLE POST --- */
.single-hero{position:relative;min-height:420px;display:flex;align-items:flex-end;overflow:hidden}
.single-hero__bg{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(108,92,231,.1) 0%,transparent 60%),radial-gradient(ellipse at 80% 30%,rgba(0,206,201,.06) 0%,transparent 50%),linear-gradient(180deg,#12122a,#0b0b14)}
.single-hero__bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(108,92,231,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(108,92,231,.02) 1px,transparent 1px);background-size:40px 40px}
.single-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}
.single-hero__overlay{position:absolute;inset:0;background:linear-gradient(0deg,var(--nx-bg) 0%,rgba(11,11,20,.6) 50%,rgba(11,11,20,.25) 100%)}
.single-hero__content{position:relative;z-index:1;padding-bottom:var(--sp12)}
.single-hero__category{display:inline-flex;font-family:var(--nx-fh);font-size:var(--nx-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-d));padding:var(--sp1) var(--sp4);border-radius:var(--r);margin-bottom:var(--sp4);line-height:1.6;box-shadow:0 2px 12px rgba(108,92,231,.3)}
.single-hero__title{font-size:var(--nx-4xl);font-weight:800;line-height:1.12;max-width:800px;margin-bottom:var(--sp5);color:#fff}
.single-hero__meta{display:flex;align-items:center;gap:var(--sp4);flex-wrap:wrap;color:var(--nx-text-2);font-size:var(--nx-sm)}
.single-hero__author{display:flex;align-items:center;gap:var(--sp2)}
.single-hero__author img{width:32px;height:32px;border-radius:50%;border:2px solid var(--nx-accent-d)}

/* Post content */
.post-content{font-size:var(--nx-md);line-height:1.8;color:var(--nx-text)}
.post-content>*+*{margin-top:var(--sp6)}
.post-content h2{font-size:var(--nx-2xl);margin-top:var(--sp12);padding-top:var(--sp8);border-top:1px solid var(--nx-border-s)}
.post-content h3{font-size:var(--nx-xl);margin-top:var(--sp10)}
.post-content a{color:var(--nx-accent-l);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--nx-accent-d)}
.post-content a:hover{color:var(--nx-cyan)}
.post-content img{border-radius:var(--r-md)}
.post-content blockquote{border-left:3px solid var(--nx-accent);padding:var(--sp5) var(--sp8);background:var(--nx-bg-2);border-radius:0 var(--r-md) var(--r-md) 0;margin:var(--sp8) 0;font-style:italic;color:var(--nx-text-2)}
.post-content blockquote p:last-child{margin-bottom:0}
.post-content ul,.post-content ol{padding-left:var(--sp6)}
.post-content li{margin-bottom:var(--sp2)}
.post-content li::marker{color:var(--nx-accent)}
.post-content pre{background:var(--nx-bg-2);border:1px solid var(--nx-border);border-radius:var(--r-md);padding:var(--sp5) var(--sp6);overflow-x:auto;font-family:var(--nx-fm);font-size:var(--nx-sm)}
.post-content code{font-family:var(--nx-fm);font-size:.9em;background:var(--nx-bg-2);padding:.15em .4em;border-radius:var(--r-sm);color:var(--nx-accent-l)}
.post-content pre code{background:none;padding:0;color:var(--nx-text)}
.post-content table{width:100%;border-collapse:collapse;margin:var(--sp8) 0}
.post-content th,.post-content td{padding:var(--sp3) var(--sp4);border:1px solid var(--nx-border);text-align:left}
.post-content th{background:var(--nx-bg-2);font-family:var(--nx-fh);font-weight:700;font-size:var(--nx-sm);text-transform:uppercase;color:var(--nx-accent-l)}
.post-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--nx-border),transparent);margin:var(--sp10) 0}

/* Tags */
.post-tags{display:flex;flex-wrap:wrap;gap:var(--sp2);padding-top:var(--sp8);border-top:1px solid var(--nx-border-s);margin-top:var(--sp10)}
.post-tags__label{font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:700;color:var(--nx-text-2);margin-right:var(--sp2);line-height:2}
.post-tags a{display:inline-block;padding:var(--sp1) var(--sp3);font-size:var(--nx-xs);font-weight:600;color:var(--nx-text-m);background:var(--nx-bg-2);border:1px solid var(--nx-border-s);border-radius:var(--r);transition:all var(--tr)}
.post-tags a:hover{color:var(--nx-accent-l);border-color:var(--nx-accent-d);background:var(--nx-accent-glow-s);box-shadow:0 0 12px rgba(108,92,231,.1)}

/* Author box */
.author-box{display:flex;gap:var(--sp6);background:var(--nx-bg-card);border:1px solid var(--nx-border-s);border-radius:var(--r-xl);padding:var(--sp8);margin-top:var(--sp10)}
.author-box__avatar{flex-shrink:0;width:72px;height:72px;border-radius:50%;border:2px solid var(--nx-accent-d);object-fit:cover}
.author-box__name{font-family:var(--nx-fh);font-size:var(--nx-lg);font-weight:700;margin-bottom:var(--sp1)}
.author-box__name a{color:var(--nx-text)}
.author-box__name a:hover{color:var(--nx-accent-l)}
.author-box__bio{font-size:var(--nx-sm);color:var(--nx-text-2);line-height:1.65}

.related-posts{margin-top:var(--sp16);padding-top:var(--sp12);border-top:1px solid var(--nx-border-s)}
.reading-progress{position:fixed;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--nx-accent),var(--nx-cyan));z-index:calc(var(--z-sticky) + 10);transition:width 50ms linear}

/* --- SIDEBAR --- */
.sidebar{position:sticky;top:calc(72px + var(--sp8))}
.widget{background:var(--nx-bg-card);border:1px solid var(--nx-border-s);border-radius:var(--r-lg);padding:var(--sp6);margin-bottom:var(--sp6)}
.widget__title{font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--nx-text);padding-bottom:var(--sp4);margin-bottom:var(--sp4);border-bottom:1px solid var(--nx-border-s);position:relative}
.widget__title::after{content:'';position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:linear-gradient(90deg,var(--nx-accent),var(--nx-cyan))}
.widget ul{list-style:none}
.widget li{padding:var(--sp2) 0;border-bottom:1px solid var(--nx-border-s)}
.widget li:last-child{border-bottom:none}
.widget a{font-size:var(--nx-sm);color:var(--nx-text-2)}
.widget a:hover{color:var(--nx-accent-l)}
.ad-slot{background:var(--nx-bg-2);border:1px dashed var(--nx-border);border-radius:var(--r-lg);padding:var(--sp8);text-align:center;font-size:var(--nx-xs);color:var(--nx-text-m);text-transform:uppercase;letter-spacing:.1em}

/* --- COMMENTS --- */
.comments-section{margin-top:var(--sp16);padding-top:var(--sp12);border-top:1px solid var(--nx-border-s)}
.comments-section .comments-title{font-size:var(--nx-xl);font-weight:800;margin-bottom:var(--sp8)}
.comment-list{list-style:none}
.comment-list .comment{padding:var(--sp6);margin-bottom:var(--sp4);background:var(--nx-bg-card);border:1px solid var(--nx-border-s);border-radius:var(--r-lg)}
.comment-list .children{list-style:none;margin-top:var(--sp4);padding-left:var(--sp6);border-left:2px solid var(--nx-accent-d)}
.comment-meta{display:flex;align-items:center;gap:var(--sp3);margin-bottom:var(--sp3)}
.comment-meta .avatar{width:36px;height:36px;border-radius:50%}
.comment-meta .fn{font-family:var(--nx-fh);font-weight:700;font-size:var(--nx-sm);color:var(--nx-text)}
.comment-meta .comment-date{font-size:var(--nx-xs);color:var(--nx-text-m)}
.comment-body p{font-size:var(--nx-sm);color:var(--nx-text-2);line-height:1.6}
.comment-reply-link{font-family:var(--nx-fh);font-size:var(--nx-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nx-accent-l)}
.comment-respond{margin-top:var(--sp10)}
.comment-respond .comment-reply-title{font-size:var(--nx-xl);font-weight:800;margin-bottom:var(--sp6)}
.comment-form label{display:block;font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:600;color:var(--nx-text-2);margin-bottom:var(--sp2)}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;background:var(--nx-bg-card);border:1px solid var(--nx-border);border-radius:var(--r-md);padding:var(--sp3) var(--sp4);font-family:var(--nx-fb);font-size:var(--nx-sm);color:var(--nx-text);outline:none;transition:all var(--tr);margin-bottom:var(--sp5)}
.comment-form input:focus,.comment-form textarea:focus{border-color:var(--nx-accent);box-shadow:0 0 16px rgba(108,92,231,.1)}
.comment-form .form-submit .submit{background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-d));color:#fff;padding:var(--sp3) var(--sp8);font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:700;border:none;border-radius:var(--r-lg);cursor:pointer;transition:all var(--tr);box-shadow:0 4px 16px rgba(108,92,231,.25)}
.comment-form .form-submit .submit:hover{box-shadow:0 6px 24px rgba(108,92,231,.4);transform:translateY(-2px)}

/* --- FOOTER --- */
.site-footer{background:var(--nx-black);border-top:1px solid var(--nx-border-s);margin-top:var(--sp24);position:relative}
.site-footer::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;max-width:500px;height:2px;
  background:linear-gradient(90deg,transparent,var(--nx-accent),var(--nx-cyan),transparent)}
.footer-main{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:var(--sp10);padding:var(--sp16) 0}
.footer-brand__logo{font-family:var(--nx-fh);font-size:var(--nx-xl);font-weight:800;color:var(--nx-text);margin-bottom:var(--sp4)}
.footer-brand__logo span{background:linear-gradient(135deg,var(--nx-accent-l),var(--nx-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.footer-brand__desc{font-size:var(--nx-sm);color:var(--nx-text-m);line-height:1.7;max-width:300px;margin-bottom:var(--sp6)}
.footer-social{display:flex;gap:var(--sp3)}
.footer-social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(108,92,231,.08);border:1px solid rgba(108,92,231,.15);border-radius:var(--r-md);color:var(--nx-text-m);font-size:var(--nx-xs);font-weight:700;transition:all var(--tr)}
.footer-social a:hover{background:var(--nx-accent);color:#fff;border-color:var(--nx-accent);box-shadow:0 4px 16px rgba(108,92,231,.3)}
.footer-col__title{font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--nx-text);margin-bottom:var(--sp5)}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:var(--sp2)}
.footer-col a{font-size:var(--nx-sm);color:var(--nx-text-m)}
.footer-col a:hover{color:var(--nx-accent-l)}
.footer-bottom{border-top:1px solid var(--nx-border-s);padding:var(--sp6) 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--sp4)}
.footer-bottom__copy{font-size:var(--nx-xs);color:var(--nx-text-m)}
.footer-bottom__links{display:flex;gap:var(--sp6)}
.footer-bottom__links a{font-size:var(--nx-xs);color:var(--nx-text-m)}
.footer-bottom__links a:hover{color:var(--nx-accent-l)}

/* --- ARCHIVE / 404 --- */
.archive-header{padding:var(--sp16) 0 var(--sp10);border-bottom:1px solid var(--nx-border-s);margin-bottom:var(--sp10)}
.archive-header__eyebrow{font-family:var(--nx-fh);font-size:var(--nx-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--nx-accent-l);margin-bottom:var(--sp3);display:block}
.archive-header__title{font-size:var(--nx-4xl);font-weight:800}
.archive-header__desc{margin-top:var(--sp4);color:var(--nx-text-2);max-width:600px}
.error-404{text-align:center;padding:var(--sp24) 0}
.error-404__code{font-family:var(--nx-fh);font-size:8rem;font-weight:900;line-height:1;
  background:linear-gradient(135deg,rgba(108,92,231,.2),rgba(0,206,201,.1));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--sp4)}
.error-404__title{font-size:var(--nx-3xl);font-weight:800;margin-bottom:var(--sp4)}
.error-404__desc{color:var(--nx-text-2);font-size:var(--nx-md);max-width:480px;margin:0 auto var(--sp8)}
.pagination{display:flex;align-items:center;justify-content:center;gap:var(--sp2);padding-top:var(--sp12)}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--sp3);font-family:var(--nx-fh);font-size:var(--nx-sm);font-weight:600;color:var(--nx-text-2);background:var(--nx-bg-card);border:1px solid var(--nx-border-s);border-radius:var(--r-md);transition:all var(--tr)}
.pagination .page-numbers:hover{border-color:var(--nx-accent);color:var(--nx-accent-l);box-shadow:var(--sh-glow)}
.pagination .page-numbers.current{background:linear-gradient(135deg,var(--nx-accent),var(--nx-accent-d));border-color:var(--nx-accent);color:#fff;box-shadow:0 4px 16px rgba(108,92,231,.3)}
.breadcrumbs{font-size:var(--nx-xs);color:var(--nx-text-m);padding:var(--sp4) 0}
.breadcrumbs a{color:var(--nx-text-m)}
.breadcrumbs a:hover{color:var(--nx-accent-l)}
.breadcrumbs .separator{margin:0 var(--sp2);opacity:.5}

/* Forms */
input[type="text"],input[type="email"],input[type="url"],input[type="search"],textarea{appearance:none}
body.using-mouse *:focus{outline:none}
