/* TheNexus / 2026-10 — storefront polish wave 1.
 * Pure CSS; no third-party fonts, JS, price logic or checkout side effects.
 * All selectors are scoped to the explicit public-page body classes declared
 * by the existing PHP templates. Admin, payment callbacks and emails untouched. */
body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
        .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
        .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page){
  --nxp-ink:#eef8f0;
  --nxp-subtle:#b1c5b7;
  --nxp-stroke:rgba(154,225,178,.19);
  --nxp-strong-stroke:rgba(103,240,150,.43);
  --nxp-pane:#101b15;
  --nxp-raised:#15231a;
  --nxp-green:#6cf0a0;
  --nxp-shadow:0 14px 34px rgba(0,0,0,.17);
}
/* One calm, legible navigation/search language across the commercial and
 * editorial site. Native menu semantics and [hidden] are unchanged. */
body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
        .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
        .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page) .nx4-header{
  border-bottom:1px solid rgba(138,218,163,.14);
  box-shadow:0 8px 27px rgba(0,0,0,.23);
}
body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
        .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
        .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page) :is(
        .nx4-nav-btn,.nx4-search,.nx4-icon-btn,.nx4-switch-btn){
  transition:background-color .17s ease,color .17s ease,border-color .17s ease;
}
body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
        .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
        .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page) :is(
        button,a,input,select,textarea,summary,[role="button"],[role="tab"]):focus-visible{
  outline:2px solid #9affc8;outline-offset:3px;
}
body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
        .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
        .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page)
  :is(.nx4-dd,.nx4-mega,[data-nx-menu-panel]):not([hidden]){
  border-color:var(--nxp-stroke);
  box-shadow:0 22px 56px rgba(0,0,0,.30);
}
/* Make the home page browseable: tidy headings, easier-to-scan cards, only
 * actual product art and actual offer badges from the server. */
body.nx-home-v4 :is(.nxh-head h2,.nxh-join h2){
  color:var(--nxp-ink);
  font-weight:760;letter-spacing:-.025em;
  line-height:1.2;text-wrap:balance;
}
body.nx-home-v4 .nxh-section{scroll-margin-top:80px}
body.nx-home-v4 :is(.nxh-step-n,.nxh-card-icon){flex-shrink:0}
body.nx-home-v4 :is(.nxh-steps>li,.nxh-trust-list>li,.nxh-card,.nxh-deal){
  border-radius:16px;
  border-color:var(--nxp-stroke);
  box-shadow:var(--nxp-shadow);
}
body.nx-home-v4 .nxh-head .nxh-more{
  min-height:40px;display:inline-flex;align-items:center;gap:8px;
  color:#91f5b7;font-weight:680;
}
body.nx-home-v4 .nxh-deal-name{
  line-height:1.45;overflow-wrap:anywhere;
}
body.nx-home-v4 .nxh-deal-price{
  font-variant-numeric:tabular-nums;
}
body.nx-home-v4 .nxh-join-actions :is(a,button){min-height:46px}
body.nx-home-v4 .nxh-card-copy{min-width:0}
/* Game discovery and gift-card discovery use the same deliberate hierarchy.
 * Do not interfere with search, filtering, card links or lazy image sources. */
body.nx-games-hub .nxc-bar-row{row-gap:13px}
body.nx-games-hub .nxc-search{min-width:0}
body.nx-games-hub .nxc-search input{
  min-height:48px;border-radius:13px;
  background:rgba(7,20,12,.87);
  border-color:var(--nxp-stroke);
  color:var(--nxp-ink);
}
body.nx-games-hub .nxc-search input::placeholder{color:#a6b8aa}
body.nx-games-hub .nxc-seg{border-radius:12px}
body.nx-games-hub .nxg-filter-btn{
  min-height:42px;border-radius:10px;
}
body.nx-games-hub :is(.nxt-card,.nxc-empty){
  border-color:var(--nxp-stroke);
  border-radius:16px;
}
body.nx-games-hub .nxt-card{
  box-shadow:var(--nxp-shadow);
  transition:transform .18s ease,border-color .18s ease;
}
body.nx-games-hub .nxc-empty{
  color:var(--nxp-subtle);line-height:1.6;
}
/* Existing game hub and product checkout remain functionally authoritative. */
body:is(.nx-game-hub,.nx64-product-page)
  :is(.nx4b-box,.nx4b-step,.nx4-dg,.nx4-how){
  border-radius:17px;
}
body:is(.nx-game-hub,.nx64-product-page)
  :is(.nx4b-step-h,.nx4-sec-h){
  letter-spacing:-.017em;line-height:1.28;
}
body:is(.nx-game-hub,.nx64-product-page)
  :is(.nx4-pack,.ck-method-card){
  transition:border-color .17s ease,background-color .17s ease,transform .17s ease;
}
body:is(.nx-game-hub,.nx64-product-page)
  .ck-method input:checked+.ck-method-card{
  border-color:var(--nxp-green);
  box-shadow:inset 0 0 0 1px rgba(97,243,151,.16);
}
body:is(.nx-game-hub,.nx64-product-page)
  :is(.ck-submit-btn,.nx4b-submit){
  min-height:46px;
  font-weight:780;
}
/* Signed-in account and authentication screens: preserve all tab/OTP
 * state, disabled fields and current identity providers. */
body.nx31-account-page .acc5-h1{
  font-size:clamp(25px,3vw,38px);letter-spacing:-.03em;
  line-height:1.2;color:var(--nxp-ink);
}
body.nx31-account-page :is(.acc-card,.acc-auth-card){
  border:1px solid var(--nxp-stroke);
  border-radius:17px;
  box-shadow:var(--nxp-shadow);
}
body.nx31-account-page .acc-tabs{
  border-radius:12px;gap:5px;
}
body.nx31-account-page .acc-tab{
  min-height:45px;border-radius:10px;
}
body.nx31-account-page .acc-tab[aria-selected="true"]{
  border-color:var(--nxp-strong-stroke);
}
body.nx31-account-page .acc-field input{
  min-height:46px;border-radius:11px;
  color:var(--nxp-ink);
}
body.nx31-account-page .acc-field input::placeholder{
  color:#9eb5a5;
}
body.nx31-account-page .acc-form .th-btn{
  min-height:48px;border-radius:11px;
}
body.nx31-account-page .acc-field .pw-eye{
  min-width:42px;min-height:42px;
}
/* Account listings: make filters pleasant on touch devices without hiding
 * any listing, filters, prices or current empty/loading states. */
body.nx-accounts-market :is(.acc-filter-field,.acc-seo,.acc-empty-sell){
  border-radius:16px;
}
body.nx-accounts-market :is(.acc-sel,#f-sort,#f-rank){
  min-height:45px;color:var(--nxp-ink);
  border-color:var(--nxp-stroke);
  border-radius:11px;
}
body.nx-accounts-market #f-apply{min-height:46px;border-radius:11px}
body.nx-accounts-market .acc-filter-field label{line-height:1.4}
body.nx-accounts-market #accGrid{row-gap:20px}
/* Boosting forms: clear field labels and touch targets, retain every original
 * pricing, rank and duo/party setting. */
body.rb-page .rb-hero h1{
  letter-spacing:-.034em;line-height:1.13;text-wrap:balance;
}
body.rb-page .rb-hero .rb-sub{
  max-width:66ch;line-height:1.65;color:var(--nxp-subtle);
}
body.rb-page :is(input:not([type=checkbox]):not([type=radio]),
                select,textarea){
  border-radius:11px;
}
body.rb-page :is(input,select,textarea,button){scroll-margin-top:90px}
/* Support and reviews: stronger readability, never invent ratings. */
body.nx-contact-v44 .nxch-card,
body.nx81-reviews-page .rv-card{
  border-color:var(--nxp-stroke);border-radius:17px;
  box-shadow:var(--nxp-shadow);
}
body.nx-contact-v44 .nxch-live-primary{min-height:52px}
body.nx81-reviews-page .rv-card .txt{line-height:1.65}
body.nx81-reviews-page :is(.rv-in,.rv-filter input,.rv-filter select){
  min-height:45px;border-radius:11px;
}
/* Editorial: cards, category pills and readable article search. Semantic links
 * remain links; the server controls pagination and indexable content. */
body.nx81-blogs-page .breadcumb-title{
  font-size:clamp(31px,4.5vw,50px);
  letter-spacing:-.03em;line-height:1.12;
}
body.nx81-blogs-page :is(.bh-card,.blogs-search input,.blogs-filters .bf-btn){
  border-radius:13px;border-color:var(--nxp-stroke);
}
body.nx81-blogs-page .blogs-search input{
  min-height:47px;color:var(--nxp-ink);
}
body.nx81-blogs-page .blogs-search button{min-height:47px;border-radius:11px}
body.nx81-blogs-page .bh-card{
  box-shadow:var(--nxp-shadow);
}
/* Rift Lab: calmer dashboard hierarchy without changing matchups, current
 * patch labels, tier rankings, search contents or navigation state. */
body.nx-rift-lab-page .riftlab-hero h1{
  letter-spacing:-.025em;line-height:1.13;text-wrap:balance;
}
body.nx-rift-lab-page .riftlab-hero-lead{
  max-width:72ch;line-height:1.7;color:#bad0c0;
}
body.nx-rift-lab-page .riftlab-tabs{
  gap:8px;scrollbar-width:thin;
  scroll-padding-inline:16px;
}
body.nx-rift-lab-page .riftlab-tabs a{
  min-height:42px;display:inline-flex;align-items:center;
  justify-content:center;border-radius:10px;white-space:nowrap;
}
body.nx-rift-lab-page .riftlab-tabs a.on{
  border-color:var(--nxp-strong-stroke);
}
/* Order status/accessibility without pretending that a paid order succeeded. */
body.nx81-order-page :is(.ord-card,.ord5-track-card){
  border-radius:17px;
}
body.nx81-order-page :is(#o-steps,#o-timeline-wrap){
  scroll-margin-top:80px;
}
body.nx81-order-page :is(input,select,textarea){
  border-radius:11px;
}
/* Secondary buyer journeys: sell accounts, support chats, tournament hubs
 * and policy documents. No changes to their submission/runtime state. */
body.nx-sell-account .sell-cta-sec{
  padding-block:clamp(45px,5vw,74px);
}
body.nx-sell-account .sell-cta-card{
  max-width:900px;padding:clamp(22px,4vw,47px);
  border:1px solid var(--nxp-strong-stroke);
  border-radius:20px;
  background:linear-gradient(140deg,rgba(43,119,69,.13),rgba(12,27,17,.94) 58%);
}
body.nx-sell-account .sell-cta-lead{
  color:#b9cebe;font-size:clamp(14px,1.5vw,16px);
  line-height:1.72;
}
body.nx-sell-account .sell-steps{gap:13px;text-align:start}
body.nx-sell-account .sell-step{
  padding:clamp(15px,2vw,21px);border-radius:13px;
  background:rgba(11,31,18,.74);border-color:var(--nxp-stroke);
}
body.nx-sell-account .sell-cta-btn{
  min-height:48px;border-radius:11px;
}
body.nx-tournament-hub .nx-hub-section{
  padding-block:clamp(38px,5vw,66px) clamp(46px,6vw,80px);
}
body.nx-tournament-hub .nx-hub-intro .sec-title{
  font-size:clamp(25px,3.4vw,41px);
  line-height:1.17;letter-spacing:-.024em;
}
body.nx-tournament-hub :is(.nx-hub-card,.nx-match-row,.nx-hub-empty){
  border-color:var(--nxp-stroke);border-radius:15px;
  background:linear-gradient(145deg,rgba(37,103,55,.08),rgba(10,24,15,.9));
  box-shadow:var(--nxp-shadow);
}
body.nx-tournament-hub :is(.nx-hub-select,.nx-live-bracket-select){
  min-height:46px;border-radius:11px;
  border-color:var(--nxp-stroke);
  background:#0a1a11;
}
body.nx-tournament-hub .nx-team-desc{
  color:var(--nxp-subtle);font-size:12.5px;line-height:1.62;
}
body.nx-tournament-hub .nx-team-tag{
  color:#a5bba9;
}
body.nx-tournament-hub .nx-live-bracket-pill:not(.is-live){
  color:#bacdc0;
}
body.nx-tournament-hub .nx-next-events a{
  border-color:var(--nxp-stroke);
  border-radius:11px;
}
body.nx-order-chat-page .nx-order-chat-wrap{
  padding-block:clamp(20px,4vw,46px) clamp(38px,5vw,65px);
}
body.nx-order-chat-page .nx-order-chat-heading{
  gap:15px;flex-wrap:wrap;margin-bottom:20px;
}
body.nx-order-chat-page .nx-order-chat-heading h1{
  color:var(--nxp-ink);line-height:1.15;
  letter-spacing:-.03em;
}
body.nx-order-chat-page .nx-order-chat-heading p{
  color:var(--nxp-subtle);line-height:1.6;
}
body.nx-order-chat-page #order-chat-host .nxsup-panel.nxsup-centre{
  border:1px solid var(--nxp-stroke);
  border-radius:17px;
  box-shadow:var(--nxp-shadow);
}
body.nx-order-chat-page #order-chat-retry{
  min-height:45px;border-radius:11px;
}
body.nx-legal-page .nx-legal{
  background:radial-gradient(ellipse 55% 33% at 86% 0,rgba(49,144,75,.10),transparent),#090f0a;
}
body.nx-legal-page .legal-hero h1{
  font-size:clamp(31px,5vw,54px);
  line-height:1.12;letter-spacing:-.027em;
}
body.nx-legal-page :is(.legal-section,.legal-summary,.legal-card,.legal-toc){
  border-color:var(--nxp-stroke);border-radius:17px;
}
body.nx-legal-page .legal-section{
  background:linear-gradient(135deg,rgba(35,84,48,.095),rgba(11,24,15,.94));
}
body.nx-legal-page .legal-section :is(p,li){
  color:#c4d4ca;line-height:1.74;
}
body.nx-legal-page .legal-toc a{
  min-height:37px;
  display:flex;align-items:center;
  color:#b8cebe;
}
body.nx-legal-page .legal-toc a:hover{
  color:#80f2b0;
}
body.nx-seo-page .nx-seo :is(.hero h1,.title-area h1){
  letter-spacing:-.028em;text-wrap:balance;
}
body.nx-seo-page .nx-seo :is(.card,.faq,.ctaband){
  border-color:var(--nxp-stroke);border-radius:16px;
}
body.nx-seo-page .nx-seo .faq summary{
  min-height:48px;
}

/* Prevent cramped dual columns on phones; keep all existing functionality. */
@media(max-width:767px){
  body.nx-home-v4 .nxh-head{
    gap:10px;align-items:flex-start;
  }
  body.nx-home-v4 :is(.nxh-head h2,.nxh-join h2){
    font-size:clamp(22px,6vw,29px);
  }
  body.nx-home-v4 .nxh-card{
    min-width:0;
  }
  body.nx-games-hub .nxc-bar-row{gap:10px}
  body.nx-games-hub .nxc-search input{font-size:16px}
  body.nx81-blogs-page .blogs-search input{font-size:16px}
  body.rb-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
    font-size:16px;
  }
  body.nx-rift-lab-page .riftlab-tabs{
    overflow-x:auto;overscroll-behavior-inline:contain;
  }
}
@media(hover:hover) and (pointer:fine){
  body.nx-games-hub .nxt-card:hover{
    transform:translateY(-2px);border-color:var(--nxp-strong-stroke);
  }
  body.nx-home-v4 .nxh-head .nxh-more:hover{
    color:#bdffd6;
  }
}
@media(prefers-reduced-motion:reduce){
  body:is(.nx-home-v4,.nx-games-hub,.nx-game-hub,.nx64-product-page,
          .rb-page,.nx81-order-page,.nx81-reviews-page,.nx-contact-v44,
          .nx81-blogs-page,.nx-rift-lab-page,.nx-accounts-market,.nx31-account-page,.nx-tournament-hub,.nx-sell-account,.nx-order-chat-page,.nx-legal-page,.nx-seo-page)
    :is(.nxt-card,.nx4-pack,.ck-method-card,.nx4-nav-btn,.nx4-search,.nx4-icon-btn){
    transition:none!important;animation:none!important;
  }
  body.nx-games-hub .nxt-card:hover{transform:none}
}

/* Arabic storefront copy follows inline start/end instead of forcing LTR.
 * Keep actual game/SKU IDs in their own direction-aware elements. */
html[dir="rtl"] body:is(.nx-home-v4,.nx-games-hub,.nx81-blogs-page,
        .nx-rift-lab-page,.nx-accounts-market)
  :is(.nxh-head h2,.nxh-join h2,.nxc-head h1,.blogs-search input,.riftlab-hero h1,.acc-filter-field label){
  text-align:start;
}
html[dir="rtl"] body.nx-home-v4 .nxh-head{
  flex-direction:row;gap:12px;
}
html[dir="rtl"] body.nx81-blogs-page .blogs-search input{
  direction:rtl;
}
