/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
*/
:root {
    --theme-area_background: 24, 24, 24;
    --theme-area_background_light: 35, 35, 35;
    --theme-area_background_lighter: 42, 42, 42;
    --theme-area_background_veryLight: 55, 55, 55;
    --theme-brand_primary: 90, 140, 255;
    --theme-text_color: 255, 255, 255;
    --theme-main_nav_font: 255, 255, 255;
    --theme-main_nav_tab: 35, 35, 35;
    --theme-main_nav_tab_font: 255, 255, 255;
    --theme-page_background: 7, 13, 26;
    --theme-brand_gradient: linear-gradient(135deg, #5A8CFF 0%, #8A63F8 100%);
    --theme-brand_gradient_webkit: -webkit-linear-gradient(135deg, #5A8CFF 0%, #8A63F8 100%);
    --border--radius: 8px;
    --header--primary: 70px;
    --header--secondary: 60px;
    --primary-navigation--height: 60px;
    --secondary-navigation--height: 45px;
}
html, body {
    background-color: #030305 !important;
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background-image:
        radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.9) 0%, transparent 100%),
        radial-gradient(1px 1px at 70% 60%, rgba(156,122,250,0.85) 0%, transparent 100%),
        radial-gradient(1.5px 1.5px at 40% 80%, rgba(138,99,248,0.75) 0%, transparent 100%),
        radial-gradient(1px 1px at 90% 15%, rgba(255,255,255,0.7) 0%, transparent 100%),
        radial-gradient(1px 1px at 25% 45%, rgba(255,255,255,0.55) 0%, transparent 100%),
        radial-gradient(1.5px 1.5px at 60% 10%, rgba(90,140,255,0.6) 0%, transparent 100%),
        radial-gradient(1px 1px at 85% 85%, rgba(255,255,255,0.5) 0%, transparent 100%) !important;
    background-repeat: repeat !important;
    background-size: 180px 180px, 220px 220px, 260px 260px, 140px 140px, 200px 200px, 300px 300px, 240px 240px !important;
    background-attachment: fixed !important;
    background-position: 0 0 !important;
}
                      body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            margin: 0;
        }

        .ipsLayout_container {
            max-width: 1650px;
            margin: 0 auto;
            width: 100%;
            padding: 0 20px;
        }

        .theme-header__hero {
            position: relative;
            background:
                radial-gradient(ellipse at 20% 15%, rgba(90, 140, 255, 0.28) 0%, rgba(90, 140, 255, 0) 55%),
                radial-gradient(ellipse at 80% 30%, rgba(138, 99, 248, 0.22) 0%, rgba(138, 99, 248, 0) 50%),
                linear-gradient(180deg, #05060d 0%, #0a0d1c 35%, #10132a 65%, #171633 100%);
            background-size: cover;
            background-position: 50% 50%;
            padding: 7em 0 9em 0;
            margin-bottom: -55px;
            overflow: hidden;
        }
        .theme-header__hero:after {
            content: "";
            position: absolute;
            width: 100%;
            height: 100px;
            bottom: 0;
            left: 0;
            background: linear-gradient(to top, rgb(var(--theme-page_background)), transparent);
        }
        .theme-header__hero > * {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            height: 100%;
        }
        .heroTitle--1 {
            display: flex;
            align-items: center;
            gap: 0.35em;
        }
        .heroTitle {
            color: #fff;
            font-size: clamp(30px, 4vw, 65px);
            z-index: 10;
            margin: 0;
            font-weight: 700;
            line-height: 1.2;
            margin-bottom: .25em;
        }
        .heroDesc {
            font-size: 20px;
            max-width: 620px;
            margin: unset;
            font-weight: 300;
            opacity: 0.75;
            z-index: 10;
            color: #fff;
        }
        .heroTitle > b {
            color: rgb(var(--theme-brand_primary));
        }
        .heroButtons {
            display: flex;
            align-items: center;
            gap: 2em;
            margin-top: 2em;
        }
        .heroButton-primary {
            background: var(--theme-brand_gradient);
            background-size: 200%;
            padding: 1.35em 2em;
            line-height: 1;
            border-radius: var(--border--radius);
            font-size: 16px;
            font-weight: 500;
            display: flex;
            z-index: 10;
            align-items: center;
            gap: 0.75em;
            transition: all 0.4s ease 0s;
            text-decoration: none;
            color: white;
        }
        .heroButton-primary:hover {
            background-position: 90%;
            color: #fff;
        }
        .heroButton-primary > i {
            font-size: 18px;
        }
        .heroButton-primary > i:first-of-type:after {
            opacity: 1;
        }
        .heroButton-primary > i:first-of-type:before {
            opacity: 0.4;
        }
        .heroButton-secondary {
            background: rgb(var(--theme-area_background));
            padding: 1.35em 2em;
            line-height: 1;
            border-radius: var(--border--radius);
            font-size: 16px;
            font-weight: 400;
            display: flex;
            z-index: 10;
            align-items: center;
            gap: 0.75em;
            border: 1px solid rgb(var(--theme-area_background_light));
            transition: all 0.4s ease 0s;
            text-decoration: none;
            color: white;
        }
        .heroButton-secondary:hover {
            background: rgb(var(--theme-area_background_light));
            color: #5A8CFF;
        }
        @media screen and (max-width: 979px) {
            .theme-header__secondary {
                display:none;
            }
            .theme-header__hero {
                padding: 5em 0 6em 0;
            }
            .theme-header__hero > * {
                justify-content: center;
                align-items: center;
                text-align: center;
            }
            .heroTitle >* {
                justify-content: center;
            }
            .heroButtons {
                flex-wrap: wrap;
            }
        }
        @media screen and (max-width: 800px) {
            .heroButtons {
                justify-content:center;
                gap: 1em;
                padding: 0 2em;
            }
            .heroButtons > * {
                width: 100%;
                justify-content: center;
            }
        }

        #particles-js-bg {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 0;
            filter: blur(1.5px) drop-shadow(0 0 6px rgba(90, 140, 255, 0.35));
            opacity: 0.6;
            pointer-events: none;
        }
        #particles-js {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 1;
            filter: drop-shadow(0 0 3px rgba(120, 230, 255, 0.55));
            pointer-events: none;
        }
        
        /* Header Styles */
        #theme-header {
            background: #18181a9a;
        }

        .theme-header__primary {
            height: var(--header--primary);
            position: relative;
        }

        .theme-header__secondary {
            height: var(--header--secondary);
            border-top: 1px solid rgb(var(--theme-area_background_light));
            
            position: relative;
        }

        .theme-headerRow > * {
            display: flex;
            align-items: center;
            justify-content: space-between;
            height: 100%;
            margin: 0 auto;
            padding: 0 20px;
        }

        .headerRow_left {
            display: flex;
            align-items: center;
            gap: 2em;
            height: 100%;
        }

        #elLogo img {
            width: 40px;
            height: 40px;
        }
        /* User Navigation */
        #elUserNav {
            display: flex;
            align-items: center;
            gap: 15px;
            list-style: none;
        }

        #elUserNav li {
            display: inline-block;
        }

        #elUserNav a {
            color: rgb(var(--theme-text_color));
            text-decoration: none;
            padding: 10px 15px;
            border-radius: var(--border--radius);
            transition: background-color 0.3s;
        }

        #elUserNav a:hover {
            background: rgb(var(--theme-area_background_lighter));
        }

.ipsButton {
    background: radial-gradient(42.59% 43.59% at 50% 111.01%, rgba(var(--theme-brand_primary), 0.50) 0%, rgba(var(--theme-brand_primary), 0) 100%), 
                linear-gradient(180deg, rgba(var(--theme-brand_primary), 0.20) 0%, rgba(var(--theme-brand_primary), 0.10) 100%);
    color: rgb(var(--theme-main_nav_font));
    border: 1px solid transparent;
    padding: 10px 20px;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ver {
    background: radial-gradient(42.59% 43.59% at 50% 111.01%, rgba(var(--theme-brand_primary), 0.60) 0%, rgba(var(--theme-brand_primary), 0) 100%), 
                linear-gradient(180deg, rgba(var(--theme-brand_primary), 0.30) 0%, rgba(var(--theme-brand_primary), 0.20) 100%);
    color: rgb(var(--theme-main_nav_font));
    border: 1px solid transparent;
}
        /* Primary Navigation */
        .ipsNavBar_primary {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-bottom: 0;
        }

        .ipsNavBar_primary > ul {
            margin: 0;
            padding: 0;
            list-style: none;
            min-width: 0;
            flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.35em;
            height: 100%;
        }

        .ipsNavBar_primary > ul > li {
            display: flex;
            align-items: center;
            height: 100%;
            margin-bottom: 0;
        }

        .ipsNavBar_primary > ul > li > a {
            line-height: 1;
            border-radius: var(--border--radius);
            height: 50px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 400;
            color: rgba(var(--theme-main_nav_font), 0.7);
            font-size: 16px;
            padding: 0.5em 1em;
            text-decoration: none;
            position: relative;
            transition: all 0.3s ease;
        }

        .ipsNavBar_primary > ul > li[data-active] > a,
        .ipsNavBar_primary > ul > li.ipsNavBar_active > a {
            background: radial-gradient(42.59% 43.59% at 50% 111.01%, rgba(var(--theme-brand_primary), 0.50) 0, rgba(var(--theme-brand_primary), 0) 100%), linear-gradient(180deg, rgba(var(--theme-brand_primary), 0.20) 0, rgba(var(--theme-brand_primary), 0.10) 100%);
            color: rgb(var(--theme-main_nav_font));
        }

        .ipsNavBar_primary > ul > li[data-active] > a:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: inherit;
            border: 1px solid transparent;
            background: linear-gradient(-130deg, rgba(var(--theme-brand_primary), 0.35), transparent, transparent, transparent, rgba(var(--theme-brand_primary), 0.35));
            -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: destination-out;
            mask-composite: exclude;
            background-origin: border-box;
            z-index: -1;
        }

        .ipsNavBar_primary > ul > li > a:after {
            content: "";
            background: var(--theme-brand_gradient);
            background-size: 200%;
            width: 0px;
            height: 2px;
            border-radius: 100vw;
            position: absolute;
            bottom: 0px;
            opacity: 0;
            outline: 2px solid rgb(var(--theme-area_background));
            transition: all 0.5s ease 0s;
        }

        .ipsNavBar_primary > ul > li[data-active] > a:after,
        .ipsNavBar_primary > ul > li.ipsNavBar_active > a:after,
        .ipsNavBar_primary > ul > li:not([data-active]) > a:hover:after {
            width: 35px;
            opacity: 1;
            transition: all 0.5s ease 0s;
        }

        .ipsNavBar_primary > ul > li > a:hover {
            color: rgb(var(--theme-main_nav_font));
        }

        .ipsNavBar_primary > ul > li > a ._icon {
            margin-right: 0.5em;
            font-size: 16px;
            line-height: 1;
        }

        .ipsNavBar_primary > ul > li > a i {
            line-height: 1;
            color: rgb(var(--theme-text_color));
        }

        .ipsNavBar_primary > ul > li[data-active] > a ._icon > i,
        .ipsNavBar_primary > ul > li.ipsNavBar_active > a ._icon > i,
        .ipsNavBar_primary > ul > li:not([data-active]) > a:hover ._icon > i {
            color: rgb(var(--theme-brand_primary));
            -webkit-text-fill-color: transparent;
            -webkit-background-clip: text;
            background-clip: text;
            background-image: var(--theme-brand_gradient_webkit);
            background-image: var(--theme-brand_gradient);
            background-size: 200% auto;
        }

        /* Custom Links */
        .elLinks_custom {
            display: flex;
            align-items: center;
            height: 50px;
        }

        .cNavBar_custom {
            position: relative;
            margin: 0;
            list-style: none;
            display: flex;
            align-items: center;
            height: 100%;
            background: rgb(var(--theme-area_background_lighter));
            border-radius: var(--border--radius);
            padding: 0 1.5em;
            z-index: 1;
        }

        .cNavBar_custom:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: inherit;
            border: 1px solid transparent;
            background: linear-gradient(-140deg, rgb(var(--theme-area_background_veryLight)), transparent, transparent, transparent, rgb(var(--theme-area_background_veryLight)));
            -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
            -webkit-mask-composite: destination-out;
            mask-composite: exclude;
            background-origin: border-box;
            z-index: -1;
        }

        .cNavBar_custom > li > a {
            font-size: 0.75rem;
            line-height: 1;
            text-transform: uppercase;
            font-weight: 600;
            gap: 0.5em;
            display: flex;
            align-items: center;
            text-decoration: none;
            transition: color 0.3s;
        }

        .cNavBar_custom > li:not(:last-child) {
            border-right: 1px solid rgb(var(--theme-area_background_veryLight));
            padding-right: 1.5em;
            margin-right: 1.5em;
        }

        .cNavBar_custom > li.item-discord > a {
            color: #5A8CFF;
        }

        .cNavBar_custom > li.item-keys > a {
            color: #77ff9d;
        }

        .cNavBar_custom > li > a:hover {
            color: #fff;
        }

        .cNavBar_custom > li > a > i {
            font-size: 1.5em;
        }

        /* Mobile Navigation */
        #elMobileNav {
            display: none;
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: rgb(var(--theme-area_background));
            border-top: 1px solid rgb(var(--theme-area_background_light));
            padding: 10px 0;
            z-index: 9999;
        }

        #elMobileNav ul {
            display: flex;
            justify-content: space-around;
            list-style: none;
            margin: 0;
            padding: 0;
        }

        #elMobileNav li a {
            width: 44px;
            height: 50px;
            line-height: 50px;
            text-align: center;
            font-size: 22px;
            position: relative;
            display: block;
            color: rgba(var(--theme-text_color), 0.7);
            text-decoration: none;
            transition: opacity 0.3s;
        }

        #elMobileNav li a:hover {
            opacity: 1;
        }

        /* Mobile Responsive */
        @media (max-width: 768px) {
            .ipsResponsive_showDesktop {
                display: none !important;
            }
            
            #elMobileNav {
                display: block;
            }

            .theme-header__secondary {
                display: none;
            }

            .headerRow_left {
                gap: 1em;
            }

            #elLogo img {
                width: 30px;
                height: 30px;
            }

            .cOnlineUsers {
                order: 2;
            }
        }

        /* Login Form Styles */
        .ipsMenu {
            position: absolute;
            top: 100%;
            right: 0;
            background: rgb(var(--theme-area_background_lighter));
            border-radius: var(--border--radius);
            padding: 20px;
            min-width: 300px;
            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
            z-index: 10000;
        }

        .ipsHide {
            display: none;
        }

        .ipsPad {
            padding: 20px;
        }

        .ipsType_sectionHead {
            font-size: 18px;
            margin-bottom: 15px;
            color: rgb(var(--theme-text_color));
        }

        .ipsFieldRow {
            margin-bottom: 15px;
        }

        .ipsFieldRow input {
            width: 100%;
            padding: 12px;
            border: 1px solid rgb(var(--theme-area_background_light));
            border-radius: var(--border--radius);
            background: rgb(var(--theme-area_background));
            color: rgb(var(--theme-text_color));
        }

        .ipsFieldRow_checkbox {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .ipsFieldRow_label {
            color: rgb(var(--theme-text_color));
        }

        .ipsFieldRow_desc {
            font-size: 12px;
            color: rgba(var(--theme-text_color), 0.6);
        }
               .section-header {
            position: relative;
            text-align: center;
            padding: 40px 0;
        }
        
        .section-badge {
            display: inline-block;
            padding: 8px 16px;
            background: rgba(239, 68, 68, 0.1);
            border: 1px solid #ef4444;
            border-radius: 20px;
            color: #ef4444;
            font-size: 14px;
            font-weight: 600;
            letter-spacing: 1px;
            margin-bottom: 20px;
        }
        
        .section-title-container {
            position: relative;
            margin: 20px 0;
        }
        
        .section-title {
            font-size: 3rem;
            font-weight: bold;
            margin: 0;
            position: relative;
            display: inline-block;
        }
        
        /* First word with purple outline only */
        .section-title .first-word {
            -webkit-text-stroke: 2px #5A8CFF;
            color: transparent;
            margin-right: 0.3em;
        }
        
        /* Rest of the words in white */
        .section-title .rest-words {
            color: white;
        }
        
        .title-underline {
            position: absolute;
            bottom: -10px;
            left: 0;
            width: 100%;
            height: 6px;
        }
        
        .section-subtitle {
            color: #9ca3af;
            font-size: 1.2rem;
            margin: 20px 0 0 0;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
        }
        
        .fade-in {
            animation: fadeIn 1s ease-in-out;
        }
        
        .slide-up {
            animation: slideUp 0.8s ease-out;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        
        @keyframes slideUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
  .section-title {
    text-align: center;
  }
  
  .section-title h2 {
    font-size: 3.5rem;
    font-weight: bold;
  }
  
  .section-title h2 .first-word {
    -webkit-text-stroke: 2px #5A8CFF;
    color: transparent;
    display: inline;
  }
  
  .section-title h2 .rest-words {
    color: white;
    display: inline;
  }
  .section-title,
.section-subtitle {
    text-align: center;  
    width: 100%;        
    display: flex;       
    flex-direction: column;
    align-items: center; 
    justify-content: center; 
}


.section-title h2 {
    margin-bottom: 0px;
}
.superbar .btn-primary {
  display:inline-flex; align-items:center; gap:.55rem;
  border-radius: 999px; padding:.55rem .95rem; color:#fff;
  border:1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.25);
  font-weight:700;
  transition: transform .18s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}
// PRODUCT PAGE
body {
  overflow-x: hidden;
}

html {
  overflow-x: hidden;
}

.container-fluid {
  overflow-x: hidden;
  max-width: 100vw;
}

@media (max-width: 992px) {
  
  .container-fluid {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  

  .product-main-container {
    margin-left: 0;
    margin-right: 0;
    max-width: 100%;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
  }
  
  .tab-content {
    background: transparent !important;
    border: none !important;
    padding: 10px !important;
  }
  
  .variant-option {
    padding: 12px !important;
  }
  
  .buy-buttons .btn {
    padding: 12px 16px !important;
  }
}
h5 {
  font-size: 2.125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.025em;
}
/* =====================================================================
   VIREX ENHANCEMENTS  (added — overrides earlier rules by source order)
   Navbar redesign · click ripple · product & scroll animations
   ===================================================================== */

/* ---- Shared accent (blue -> purple, matches the VX brand) ---- */
:root{
  --vx-nav-accent-1:#5A8CFF;
  --vx-nav-accent-2:#8A63F8;
  --vx-nav-glow:rgba(90,140,255,0.55);
}

/* =========================================================
   1) NAVBAR — glass header + floating pill nav
   ========================================================= */
#theme-header{
  background:
    linear-gradient(180deg, rgba(16,16,22,0.86) 0%, rgba(10,10,15,0.72) 100%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,0.06);
  position:relative;
  transition:background .4s ease, box-shadow .4s ease;
}
/* animated gradient hairline under the header */
#theme-header::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:1px;
  background:linear-gradient(90deg,
    transparent 0%,
    var(--vx-nav-accent-1) 25%,
    var(--vx-nav-accent-2) 50%,
    var(--vx-nav-accent-1) 75%,
    transparent 100%);
  background-size:200% 100%;
  opacity:.7;
  animation:vxNavLine 6s linear infinite;
  pointer-events:none;
}
@keyframes vxNavLine{ from{background-position:0% 0;} to{background-position:200% 0;} }

/* header lifts subtly once you scroll */
body.vx-scrolled #theme-header{
  box-shadow:0 10px 34px -18px rgba(0,0,0,0.9);
}

.theme-header__secondary{
  border-top:1px solid rgba(255,255,255,0.05) !important;
}

/* The primary nav becomes a centered floating pill (different position) */
.ipsNavBar_primary > ul{
  gap:0.25em;
  padding:5px 7px;
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015));
  border:1px solid rgba(255,255,255,0.07);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.05), 0 8px 24px -18px rgba(0,0,0,0.9);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  position:relative;
  top:-2px;
}

.ipsNavBar_primary > ul > li > a{
  height:42px;
  border-radius:11px;
  padding:0.5em 1.15em;
  overflow:hidden;
  isolation:isolate;
  transition:color .3s ease, transform .3s cubic-bezier(.16,1,.3,1), background .3s ease;
}
/* pointer-follow shine */
.ipsNavBar_primary > ul > li > a::before{
  content:"";
  position:absolute; inset:0; z-index:-1; border-radius:inherit;
  background:radial-gradient(120px 60px at var(--vx-nx,50%) 50%,
            rgba(90,140,255,0.16), transparent 70%);
  opacity:0; transition:opacity .3s ease;
}
.ipsNavBar_primary > ul > li > a:hover::before{ opacity:1; }
.ipsNavBar_primary > ul > li > a:hover{ transform:translateY(-1px); }

/* active state — gradient fill + soft glow */
.ipsNavBar_primary > ul > li[data-active] > a,
.ipsNavBar_primary > ul > li.ipsNavBar_active > a{
  background:linear-gradient(180deg, rgba(90,140,255,0.22), rgba(138,99,248,0.16)) !important;
  box-shadow:0 0 0 1px rgba(255,255,255,0.06) inset, 0 8px 22px -12px var(--vx-nav-glow);
}
/* recolor the underline to the brand gradient */
.ipsNavBar_primary > ul > li > a:after{
  background:linear-gradient(90deg,var(--vx-nav-accent-1),var(--vx-nav-accent-2)) !important;
  outline:none !important;
  height:3px; bottom:4px; border-radius:100vw;
}
.ipsNavBar_primary > ul > li[data-active] > a:after,
.ipsNavBar_primary > ul > li.ipsNavBar_active > a:after,
.ipsNavBar_primary > ul > li:not([data-active]) > a:hover:after{
  width:26px !important; opacity:1;
}
/* active icon gets the blue->purple gradient */
.ipsNavBar_primary > ul > li[data-active] > a ._icon > i,
.ipsNavBar_primary > ul > li.ipsNavBar_active > a ._icon > i,
.ipsNavBar_primary > ul > li:not([data-active]) > a:hover ._icon > i{
  background-image:linear-gradient(135deg,var(--vx-nav-accent-1),var(--vx-nav-accent-2)) !important;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}

/* Discord pill polish + shimmer on hover */
.cNavBar_custom{
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.015)) !important;
  border:1px solid rgba(255,255,255,0.07);
  overflow:hidden;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease;
}
.cNavBar_custom:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px -14px var(--vx-nav-glow);
}
.cNavBar_custom > li.item-discord > a{
  color:#8CA6FF !important;
  transition:color .25s ease, filter .25s ease;
}
.cNavBar_custom > li.item-discord > a:hover{
  color:#fff !important;
  filter:drop-shadow(0 0 8px var(--vx-nav-glow));
}

/* Login / Dashboard button */
.ipsButton{
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, filter .25s ease !important;
}
.ipsButton:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 26px -12px var(--vx-nav-glow);
  filter:brightness(1.08);
}

/* Mobile bottom nav polish */
#elMobileNav{
  background:linear-gradient(180deg, rgba(14,14,20,0.85), rgba(8,8,12,0.92)) !important;
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-top:1px solid rgba(255,255,255,0.06) !important;
}
#elMobileNav li a{ transition:color .25s ease, transform .25s ease; }
#elMobileNav li a:hover,
#elMobileNav li a:active{ color:#fff; transform:translateY(-2px); }

/* =========================================================
   2) GLOBAL CLICK RIPPLE
   ========================================================= */
.vx-ripple{
  position:absolute;
  border-radius:50%;
  transform:scale(0);
  pointer-events:none;
  background:radial-gradient(circle, rgba(255,255,255,0.35) 0%, rgba(138,99,248,0.18) 45%, transparent 70%);
  animation:vxRipple .6s cubic-bezier(.22,1,.36,1) forwards;
  z-index:5;
  mix-blend-mode:screen;
}
@keyframes vxRipple{
  to{ transform:scale(1); opacity:0; }
}

/* =========================================================
   3) SCROLL REVEAL UTILITIES
   ========================================================= */
.vx-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--vx-reveal-delay, 0ms);
  will-change:opacity, transform;
}
.vx-reveal--up{ transform:translateY(26px); }
.vx-reveal--scale{ transform:translateY(20px) scale(.96); }
.vx-reveal.vx-in{ opacity:1; transform:none; }

/* =========================================================
   4) PRODUCT CARD — pro animations (tilt, shine, glow, lift)
   ========================================================= */
.product-card{
  transform-style:preserve-3d;
  transform:perspective(900px) rotateX(var(--vx-rx,0deg)) rotateY(var(--vx-ry,0deg));
  transition:transform .45s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .45s ease;
  will-change:transform;
}
.product-card:hover{
  border-color:rgba(90,140,255,0.55) !important;
  box-shadow:
    0 20px 44px -22px rgba(0,0,0,0.9),
    0 0 0 1px rgba(90,140,255,0.18),
    0 12px 40px -20px var(--vx-nav-glow);
}
.product-card.vx-tilting{ transition:border-color .35s ease, box-shadow .45s ease; }

/* glow that follows the cursor across the card */
.product-card::after{
  content:"";
  position:absolute; inset:0; z-index:3; pointer-events:none; border-radius:inherit;
  background:radial-gradient(360px 260px at var(--vx-mx,50%) var(--vx-my,0%),
            rgba(90,140,255,0.12), transparent 60%);
  opacity:0; transition:opacity .4s ease;
}
.product-card:hover::after{ opacity:1; }

/* image zoom */
.product-card .product-image img{
  transition:transform .6s cubic-bezier(.16,1,.3,1), filter .4s ease !important;
}
.product-card:hover .product-image img{
  transform:scale(1.07);
  filter:saturate(1.08);
}

/* diagonal shine sweep across the image on hover */
.product-card .product-image::before{
  content:"";
  position:absolute; top:0; left:-140%; width:60%; height:100%; z-index:4;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,0.16) 45%, rgba(255,255,255,0.28) 50%, transparent 60%);
  transform:skewX(-18deg);
  transition:none;
  pointer-events:none;
}
.product-card:hover .product-image::before{
  animation:vxShine 1s cubic-bezier(.22,1,.36,1) forwards;
}
@keyframes vxShine{ to{ left:160%; } }

/* buy button — animated gradient + lift */
.buy-btn{
  position:relative; overflow:hidden;
  background:linear-gradient(120deg,#4657eb 0%,#5A8CFF 40%,#8A63F8 100%) !important;
  background-size:200% 100% !important;
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background-position .5s ease !important;
}
.product-card:hover .buy-btn{
  background-position:100% 0 !important;
  box-shadow:0 10px 22px -10px var(--vx-nav-glow);
}
.buy-btn:hover{ transform:translateY(-1px) scale(1.02); }
.buy-btn svg{ transition:transform .3s ease; }
.buy-btn:hover svg{ transform:translateX(-2px) rotate(-8deg); }

/* status dot: gentle breathing */
.product-card .status-dot::before{
  animation:vxDotPulse 2.4s ease-in-out infinite;
}
@keyframes vxDotPulse{
  0%,100%{ transform:scale(1); opacity:.30; }
  50%{ transform:scale(1.35); opacity:.12; }
}

/* =========================================================
   5) HERO BACKGROUND REVIEWS (marquee behind content)
   ========================================================= */
.vx-hero-reviews{
  position:absolute; inset:0; z-index:1;
  display:flex; flex-direction:column; justify-content:center; gap:22px;
  pointer-events:none;
  opacity:.20;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.vx-hero-reviews-row{ overflow:hidden; width:100%; }
.vx-hero-reviews-track{
  display:flex; gap:18px; width:max-content;
  animation:vxHeroMarquee 60s linear infinite;
}
.vx-hero-reviews-row.rev .vx-hero-reviews-track{ animation-duration:75s; animation-direction:reverse; }
.vx-hero-reviews-row.slow .vx-hero-reviews-track{ animation-duration:90s; }
@keyframes vxHeroMarquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

.vx-hrev{
  flex:0 0 auto; width:300px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);
  border-radius:14px; padding:14px 16px;
  font-family:'Inter',sans-serif;
}
.vx-hrev-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.vx-hrev-stars{ color:#5A8CFF; font-size:12px; letter-spacing:2px; }
.vx-hrev-name{ font-size:12px; font-weight:600; color:#c9c6d6; }
.vx-hrev-msg{ font-size:13px; line-height:1.45; color:#9a97a8; }

/* keep hero foreground above the reviews */
.vx-hero-inner{ z-index:3 !important; }
.vx-hero .vx-glow{ z-index:2; }

@media (max-width:768px){
  .vx-hero-reviews{ opacity:.14; gap:14px; }
  .vx-hrev{ width:240px; padding:12px 14px; }
}

/* =========================================================
   6) REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  #theme-header::after,
  .vx-hero-reviews-track,
  .product-card .status-dot::before{ animation:none !important; }
  .product-card{ transform:none !important; }
  .vx-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
  .vx-ripple{ display:none !important; }
}

/* =========================================================
   7) HEADER + NAV ENTRANCE (one-shot on load)
   ========================================================= */
@keyframes vxHeaderIn{ from{ opacity:0; transform:translateY(-14px);} to{ opacity:1; transform:translateY(0);} }
@keyframes vxNavItemIn{ from{ opacity:0; transform:translateY(-8px);} to{ opacity:1; transform:translateY(0);} }

#theme-header{ animation:vxHeaderIn .6s cubic-bezier(.16,1,.3,1) both; }
.ipsNavBar_primary > ul > li{ animation:vxNavItemIn .5s cubic-bezier(.16,1,.3,1) both; }
.ipsNavBar_primary > ul > li:nth-child(1){ animation-delay:.10s; }
.ipsNavBar_primary > ul > li:nth-child(2){ animation-delay:.16s; }
.ipsNavBar_primary > ul > li:nth-child(3){ animation-delay:.22s; }
.ipsNavBar_primary > ul > li:nth-child(4){ animation-delay:.28s; }
.ipsNavBar_primary > ul > li:nth-child(5){ animation-delay:.34s; }
.ipsNavBar_primary > ul > li:nth-child(6){ animation-delay:.40s; }
.elLinks_custom, #elUserNav{ animation:vxNavItemIn .5s cubic-bezier(.16,1,.3,1) .30s both; }

@media (prefers-reduced-motion: reduce){
  #theme-header,
  .ipsNavBar_primary > ul > li,
  .elLinks_custom, #elUserNav{ animation:none !important; }
}

/* =========================================================
   8) CENTER THE NAV PILL (Discord stays on the right)
   ========================================================= */
.theme-header__secondary .ipsLayout_container{
  position:relative;
  justify-content:flex-end;   /* keeps the Discord pill on the right */
}
.theme-header__secondary .ipsNavBar_primary{
  position:absolute;
  left:0; right:0;
  margin:0 auto;
  width:max-content;          /* shrink to the pill's width so it centers */
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.ipsNavBar_primary > ul{ top:0; }  /* remove the earlier -2px nudge */

/* On tighter desktop widths, let it flow again so nothing overlaps */
@media (max-width:1100px){
  .theme-header__secondary .ipsNavBar_primary{
    position:static; margin:0; width:auto; justify-content:flex-start;
  }
  .theme-header__secondary .ipsLayout_container{ justify-content:space-between; }
}

/* =========================================================
   9) COLOR CONSISTENCY — one blue->purple palette everywhere
   ========================================================= */
:root{
  --vx-brand-1:#5A8CFF;   /* blue  */
  --vx-brand-2:#8A63F8;   /* purple */
  --vx-brand-grad:linear-gradient(135deg,#5A8CFF 0%,#8A63F8 100%);
}

/* socials "Join Discord" banner button */
.newsBanner_button{
  background:var(--vx-brand-grad) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 8px 22px -12px rgba(90,140,255,0.55);
  transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, filter .25s ease;
}
.newsBanner_button:hover{
  background:var(--vx-brand-grad) !important;
  color:#fff !important;
  filter:brightness(1.1);
  transform:translateY(-2px);
  box-shadow:0 12px 26px -12px rgba(138,99,248,0.6);
}

/* feedback cards: recolor leftover blue (#4657eb) to the brand blue */
.star-filled{ color:var(--vx-brand-1) !important; }
.reply-text{ border-left-color:var(--vx-brand-1) !important; }
.shop-name{ color:var(--vx-brand-1) !important; }
.unknown-product-icon{ color:var(--vx-brand-1) !important; }

/* product image placeholder gradient -> brand */
.product-image{
  background:linear-gradient(45deg,#5A8CFF,#6f7bf5,#8A63F8) !important;
}

/* generic primary buttons across pages follow the brand */
.btn-primary,
.heroButton-primary{
  background:var(--vx-brand-grad) !important;
  border:none !important;
  color:#fff !important;
}

/* discord component primary button (if colored via brand) */
.discord-content .btn,
.button-group .btn{
  background:var(--vx-brand-grad) !important;
  color:#fff !important;
  border:none !important;
}

/* =========================================================
   10) BUY BUTTON SHAPE + PRICING POLISH + DISCOUNT + COUPON
   ========================================================= */

/* --- Buy button: cleaner pill shape --- */
.buy-btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px;
  border-radius:14px;                /* softer, modern pill */
  font-weight:700; letter-spacing:.2px;
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 8px 20px -12px rgba(90,140,255,0.6), inset 0 1px 0 rgba(255,255,255,0.18);
}
.buy-btn:active{ transform:translateY(0) scale(.98); }

/* product-page primary buttons share the same nicer shape */
.buy-buttons .btn,
.btn-primary{
  border-radius:14px !important;
  font-weight:700;
  padding-top:12px; padding-bottom:12px;
}

/* --- Pricing block: clearer hierarchy --- */
.product-pricing .starting-text{
  font-size:11px; letter-spacing:.6px; text-transform:uppercase;
  color:rgba(255,255,255,0.45);
}
.product-pricing .price{
  display:flex; align-items:baseline; flex-wrap:wrap; gap:8px;
  font-size:18px; font-weight:800; color:#fff; line-height:1.2;
}
.product-pricing .price .strikethrough,
.product-pricing .price s{
  font-size:13px; font-weight:600;
  color:rgba(255,255,255,0.38);
  text-decoration-thickness:1.5px;
}

/* --- Auto discount badge (-50%) --- */
.vx-discount-badge{
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:800; letter-spacing:.3px;
  color:#fff;
  padding:2px 8px; border-radius:100px;
  background:linear-gradient(135deg,#22c55e,#16a34a);
  box-shadow:0 4px 12px -4px rgba(34,197,94,0.6);
  transform:translateY(-1px);
}

/* --- Coupon field on the product page --- */
.vx-coupon{ max-width:420px; }
.vx-coupon-label{
  display:flex; align-items:center; gap:7px;
  font-size:12px; font-weight:700; letter-spacing:.4px; text-transform:uppercase;
  color:rgba(255,255,255,0.6); margin-bottom:8px;
}
.vx-coupon-label svg{ color:var(--vx-brand-1, #5A8CFF); }
.vx-coupon-row{ display:flex; align-items:center; gap:10px; }
.vx-coupon-input{
  flex:1;
  background:rgba(255,255,255,0.04) !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  color:#fff !important;
  border-radius:12px !important;
  padding:11px 14px !important;
  letter-spacing:1px; text-transform:uppercase;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.vx-coupon-input::placeholder{ color:rgba(255,255,255,0.35); letter-spacing:.5px; text-transform:none; }
.vx-coupon-input:focus{
  outline:none;
  border-color:var(--vx-brand-1, #5A8CFF) !important;
  background:rgba(90,140,255,0.06) !important;
  box-shadow:0 0 0 3px rgba(90,140,255,0.18) !important;
}
.vx-coupon-hint{
  font-size:12px; font-weight:600; white-space:nowrap;
  color:#22c55e;
  display:inline-flex; align-items:center; gap:5px;
}
.vx-coupon-hint::before{
  content:""; width:7px; height:7px; border-radius:50%;
  background:#22c55e; box-shadow:0 0 8px rgba(34,197,94,0.8);
}
