/* PZShop purple theme. Load after the shared styles; no body class is required.
   Layout, product artwork, availability badges and validation states stay intact. */
:root {
    color-scheme: dark;
    --pz-bg: #0d0b13;
    --pz-surface: #16121f;
    --pz-surface-raised: #201a2d;
    --pz-text: #f5f0ff;
    --pz-muted: #b8adc9;
    --pz-accent: #a78bfa;
    --pz-lilac: #d8b4fe;
    --pz-line: rgba(167, 139, 250, .25);
    --pz-line-strong: rgba(196, 181, 253, .55);
    --pz-soft: rgba(139, 92, 246, .12);
    --pz-glow: rgba(124, 58, 237, .25);
    --pz-button: linear-gradient(135deg, #7c3aed 0%, #6d28d9 58%, #5b21b6 100%);
    --pz-button-hover: linear-gradient(135deg, #8540e6 0%, #7631d2 58%, #6422bc 100%);
    --main: #8b5cf6 !important;
    --sub: #6d28d9 !important;
    --sub-opa-50: rgba(139, 92, 246, .5) !important;
    --sub-opa-25: rgba(139, 92, 246, .25) !important;
    --theme-red: #a78bfa !important;
    --theme-dark-red: #6d28d9 !important;
    --pdc: #a78bfa !important;
    --pdc2: #d8b4fe !important;
    --pdtx: #f5f0ff !important;
    --pdsub: #b8adc9 !important;
    --pdmut: #968aa8 !important;
    --pdln: rgba(167, 139, 250, .2) !important;
    --pdsf: #16121f !important;
    --bs-primary: #7c3aed !important;
    --bs-primary-rgb: 124, 58, 237 !important;
    --bs-link-color: #c4b5fd !important;
    --bs-link-hover-color: #e9d5ff !important;
    --jkh-line: rgba(167, 139, 250, .25) !important;
    --jkh-red: #a78bfa !important;
    --jkh-glow: rgba(139, 92, 246, .3) !important;
    --jkh-card: linear-gradient(145deg, #21172e, #100c18) !important;
}

html { background-color: var(--pz-bg); }
body {
    color: var(--pz-text);
    isolation: isolate;
    background: var(--pz-bg) !important;
}
::selection { background: #6d28d9; color: #fff; }
body :is(a, button, input, select, textarea):focus-visible {
    outline-color: var(--pz-lilac) !important;
}

/* Recolor only the two decorative image layers, never catalog images or logos. */
:root body .ios-bg-fix {
    z-index: -1 !important;
    pointer-events: none;
}
:root body .ios-bg-fix,
:root body .pz-landing-background img {
    filter: hue-rotate(225deg) saturate(.8) brightness(.88) !important;
}
:root body .pz-landing-background::after {
    background: linear-gradient(180deg, rgba(13, 8, 24, .26), rgba(13, 8, 24, .6)) !important;
}

/* Shared accents and the existing administration palette. */
:root body :is(.text-main, .text-primary, .jk-panel-header i, .jk-marquee-icon,
    .jk-plat-other, .jk-cat-price-hint-new, .loader-text, .footer-stat-icon) {
    color: var(--pz-lilac) !important;
}
:root body :is(.bg-main, .bg-main-gra) { background: var(--pz-button) !important; }
:root body :is(.border-main, .border-spe, .border-pro) { border-color: var(--pz-line) !important; }
:root body .jk-backend-wrapper {
    --jk-bg: #100d17;
    --jk-bg-2: #15111e;
    --jk-card: #1a1524;
    --jk-card-2: #211a2d;
    --jk-field: #120f1a;
    --jk-line: rgba(167, 139, 250, .16);
    --jk-line-2: rgba(167, 139, 250, .26);
    --jk-line-3: rgba(167, 139, 250, .4);
    --jk-red: #a78bfa;
    --jk-red-2: #8b5cf6;
    --jk-red-3: #6d28d9;
    --jk-red-soft: rgba(139, 92, 246, .12);
    --jk-red-line: rgba(167, 139, 250, .32);
    --jk-focus: 0 0 0 3px rgba(139, 92, 246, .2);
}

/* Navigation and account controls. */
:root body :is(.custom-navbar, .custom-sidebar) {
    background: linear-gradient(145deg, rgba(24, 18, 34, .97), rgba(12, 10, 18, .98)) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, .32), inset 0 1px rgba(216, 180, 254, .06) !important;
}
:root body :is(.nav-logo-link img, .nav-profile-img, .sidebar-header img) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 0 18px rgba(139, 92, 246, .16) !important;
}
:root body :is(.sidebar-title, .sidebar-label, .sidebar-link i, .nav-center-link i,
    .point-display i, .point-display span:last-child) { color: var(--pz-lilac) !important; }
:root body :is(.sidebar-link, .nav-center-link, .nav-login-btn) { color: var(--pz-text) !important; }
:root body :is(.sidebar-link:hover, .sidebar-link.sidebar-link-special:hover,
    .sidebar-link.sidebar-link-freepromo, .sidebar-link.sidebar-link-freepromo:hover,
    .nav-center-link:hover, .nav-login-btn:hover, .nav-profile-btn:hover, .point-display) {
    background: linear-gradient(110deg, rgba(139, 92, 246, .18), rgba(109, 40, 217, .06)) !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 4px 18px rgba(109, 40, 217, .12) !important;
}
:root body :is(.sidebar-link:hover i, .sidebar-link.sidebar-link-special i,
    .sidebar-link.sidebar-link-freepromo i, .sidebar-link.sidebar-link-freepromo:hover i,
    .nav-center-link:hover i, .open-sidebar-btn:hover) { color: #e9d5ff !important; }
:root body :is(.sidebar-header, .nav-auth-group, .search-container-mobile) { border-color: var(--pz-line) !important; }
:root body :is(.sidebar-header, .sidebar-label)::after,
:root body :is(.sidebar-label, .sidebar-link, .point-display)::before {
    background: linear-gradient(90deg, transparent, rgba(167, 139, 250, .38), transparent) !important;
}
:root body .sidebar-link-freepromo .freepromo-badge {
    color: #f5f0ff !important;
    background: #6d28d9 !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: none !important;
}
:root body :is(.nav-profile-fallback, .search-input-desktop, .search-input-wrapper input) {
    background: #191421 !important;
    color: var(--pz-text) !important;
    border-color: var(--pz-line) !important;
}
:root body #customSidebar.custom-sidebar {
    background: radial-gradient(120% 60% at 100% 0%, rgba(139, 92, 246, .1), transparent 55%),
        linear-gradient(160deg, #191021, #100b18 45%, #0b0910) !important;
    border-color: var(--pz-line) !important;
    box-shadow: -8px 0 18px -8px rgba(109, 40, 217, .3), inset 1px 0 rgba(216, 180, 254, .04) !important;
}
:root body #customSidebar.custom-sidebar::before {
    background: linear-gradient(180deg, transparent, rgba(167, 139, 250, .7), rgba(109, 40, 217, .4), transparent) !important;
}
:root body #customSidebar :is(.sidebar-label, .point-display span:last-child) {
    color: var(--pz-lilac) !important;
    text-shadow: 0 0 10px rgba(139, 92, 246, .16) !important;
}
:root body #customSidebar .sidebar-link::before {
    background: linear-gradient(180deg, #a78bfa, #6d28d9) !important;
    box-shadow: 0 0 10px rgba(139, 92, 246, .25) !important;
}
:root body #customSidebar :is(.sidebar-link:hover, .sidebar-link.active, .sidebar-link-freepromo, .point-display) {
    background: linear-gradient(110deg, rgba(139, 92, 246, .18), rgba(109, 40, 217, .06)) !important;
    border-color: var(--pz-line) !important;
    box-shadow: inset 0 0 0 1px rgba(167, 139, 250, .12) !important;
}
:root body #customSidebar :is(.sidebar-link-freepromo:hover, .sidebar-link-freepromo:hover i, .sidebar-link-freepromo i) {
    color: var(--pz-lilac) !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: none !important;
}
:root body #customSidebar .sidebar-title {
    background-image: linear-gradient(90deg, #fff, #ddd6fe 50%, #fff) !important;
}

/* Primary actions: white text on a deep violet gradient. */
:root body :is(.btn-primary, .btn-main, .btn-buy, .jk-product-box .jk-btn-buy,
    .jk-btn-buy, .nav-register-btn, .nav-btn-login, .welcome-btn-primary,
    .btn-primary-landing, .auth-btn, .jk-cat-choose-new, .pd2-buy,
    .pd2-sb-btn, .ps-btn-main, .ps-allsvc-btn, .jg-btn:not(.ghost),
    .angpao-submit-btn, .popup-btn-snooze.primary, a.btn-danger) {
    color: #fff !important;
    background: var(--pz-button) !important;
    border-color: rgba(196, 181, 253, .45) !important;
    box-shadow: 0 7px 22px rgba(91, 33, 182, .25), inset 0 1px rgba(255, 255, 255, .12) !important;
    text-shadow: none !important;
}
:root body :is(.btn-primary:hover, .btn-buy:hover, .jk-product-box .jk-btn-buy:hover,
    .jk-btn-buy:hover, .nav-register-btn:hover, .welcome-btn-primary:hover,
    .btn-primary-landing:hover, .auth-btn:hover, .jk-cat-card-new:hover .jk-cat-choose-new,
    .pd2-buy:hover:not(:disabled), .pd2-sb-btn:hover, .ps-btn-main:hover,
    .ps-allsvc-btn:hover, .jg-btn:not(.ghost):hover, a.btn-danger:hover) {
    background: var(--pz-button-hover) !important;
    border-color: #c4b5fd !important;
    box-shadow: 0 10px 28px rgba(109, 40, 217, .35) !important;
}
:root body :is(.btn-outline-landing, .welcome-btn-secondary, .pd2-coupon-btn,
    .jg-btn.ghost, .ps-btn-ghost, a.btn-outline-danger, .jk-back-btn,
    .popup-btn-snooze, .pz-promo-controls button) {
    color: #e9d5ff !important;
    background: rgba(40, 26, 60, .76) !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .15) !important;
}
:root body :is(.btn-outline-landing:hover, .welcome-btn-secondary:hover,
    .pd2-coupon-btn:hover, .jg-btn.ghost:hover, .jk-back-btn:hover,
    .pz-promo-controls button:hover) { background: rgba(91, 33, 182, .34) !important; }
:root body :is(.jk-btn-soldout, .pd2-buy:disabled) {
    color: #b8adc9 !important;
    background: #292331 !important;
    border-color: #41364f !important;
    box-shadow: none !important;
}

/* Hero and landing shell: restrained lilac light over charcoal. */
:root body :is(.welcome-hero-card, .seo-content-structure, .auth-card) {
    background: radial-gradient(ellipse at 15% 0%, rgba(139, 92, 246, .14), transparent 55%),
        linear-gradient(145deg, rgba(24, 18, 34, .94), rgba(13, 10, 20, .94)) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 18px 45px rgba(0, 0, 0, .32), inset 0 1px rgba(216, 180, 254, .05) !important;
}
:root body :is(.welcome-hero-card, .auth-card)::before,
:root body .auth-card::after {
    background: conic-gradient(from 45deg, transparent 0deg, rgba(167, 139, 250, .3) 75deg,
        transparent 130deg, transparent 240deg, rgba(139, 92, 246, .28) 310deg, transparent 360deg) !important;
}
:root body .welcome-hero-card::after,
:root body :is(.welcome-orb, .bubble, .bubble:nth-child(odd)),
:root body .auth-header-logo::before,
:root body .auth-header-logo::after {
    background: radial-gradient(circle, rgba(167, 139, 250, .24), rgba(109, 40, 217, .04) 62%, transparent 75%) !important;
    box-shadow: none !important;
}
:root body .welcome-shop-name {
    color: #c4b5fd !important;
    background-image: linear-gradient(110deg, #c4b5fd 0%, #a78bfa 32%, #faf5ff 50%, #c084fc 70%, #a78bfa 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 0 10px rgba(139, 92, 246, .22)) !important;
}
:root body .welcome-shop-name::after {
    color: rgba(167, 139, 250, .1) !important;
    -webkit-text-fill-color: rgba(167, 139, 250, .1) !important;
}
:root body :is(.brand-title, .welcome-text, .shop-name, .auth-header-text h2) {
    color: #f3e8ff !important;
    text-shadow: 0 2px 22px rgba(139, 92, 246, .26) !important;
}
:root body :is(.logo-floating, .logo-floating:hover, .feature-icon, .welcome-badge,
    .tagline-box, .jk-marquee-wrapper, .pd2-category) {
    color: var(--pz-lilac) !important;
    background: rgba(50, 31, 74, .35) !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 8px 26px rgba(76, 29, 149, .14) !important;
}
:root body :is(.feature-icon .icon, .welcome-badge i, .tagline-box .icon,
    .feature-item:hover .feature-icon, .auth-input-icon, .jk-marquee-icon) {
    color: var(--pz-lilac) !important;
    filter: none !important;
}
:root body .brand-underline,
:root body .auth-header-text::after,
:root body :is(.right-panel, .jk-marquee-wrapper, .jk-order-item)::before {
    background: linear-gradient(90deg, transparent, #a78bfa, transparent) !important;
    box-shadow: none !important;
}
:root body :is(.feature-text, .welcome-title, .jk-panel-header, .jk-prod-name,
    .jk-cat-title, .jk-cat-title-new) { color: var(--pz-text) !important; }
:root body :is(.welcome-desc, .contact-admin-text, .divider-text, .jk-cat-stats-new,
    .jk-stat-title, .auth-header-text p, .auth-footer) { color: var(--pz-muted) !important; }
:root body .jk-ref-incentive { color: #ddd0f5 !important; text-shadow: none !important; }

/* Catalog, prices, statistics and promotional accents. */
:root body .jk-product-box .img-grayscale {
    filter: none !important;
    opacity: .85 !important;
}
:root body .jk-cat-panel {
    background: linear-gradient(135deg, #21152e, #141019 50%, #21152e) !important;
    border-color: var(--pz-line) !important;
}
:root body .jk-cat-panel::before {
    background: linear-gradient(90deg, transparent, #a78bfa, #6d28d9, transparent) !important;
    box-shadow: 0 0 12px rgba(139, 92, 246, .18) !important;
}
:root body .jk-cat-panel .jk-cat-panel-title {
    background-image: linear-gradient(90deg, #fff, #ede9fe 60%, #c4b5fd) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    text-shadow: 0 0 18px rgba(139, 92, 246, .15) !important;
}
:root body :is(.jk-cat-panel-sub, .jk-cat-stats-right) {
    color: #c4b5fd !important;
    text-shadow: none !important;
}
:root body :is(.pd2-field, .pd2-desc-header) { border-color: var(--pz-line) !important; }
:root body .pd2-field:hover { background: rgba(139, 92, 246, .06) !important; }
:root body :is(.pd2-desc-header, .pd2-side-title, .pd2-section-title)::before {
    background: linear-gradient(#c4b5fd, #7c3aed) !important;
    box-shadow: 0 0 8px rgba(139, 92, 246, .35) !important;
}
:root body :is(.jk-product-box, .jk-cat-card-new, .jk-cat-banner, .jk-stat-box,
    .jk-latest-orders-panel, .jk-cat-panel, .product-card, .menu-card, .stat-card,
    .pd2-mainbox, .pd2-side-card, .pd2-order-box, .pd2-section, .pd2-stickybuy, .pz-promo-track) {
    background-color: rgba(20, 16, 29, .94) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .2), inset 0 1px rgba(216, 180, 254, .035) !important;
}
:root body :is(.jk-product-box:hover, .jk-cat-card-new:hover, .jk-cat-banner:hover,
    .jk-stat-box:hover, .product-card:hover, .menu-card:hover, .jk-action-btn:hover) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .32), 0 0 22px rgba(109, 40, 217, .13) !important;
}
:root body :is(.jk-action-btn, .jk-cat-footer, .jk-cat-footer-new, .pd2-img-card) {
    border-color: var(--pz-line) !important;
}
:root body :is(.jk-cat-plat-icon:not(.jk-gicon), .footer-stat-icon) {
    color: var(--pz-lilac) !important;
    background: var(--pz-soft) !important;
    border-color: var(--pz-line) !important;
}
:root body :is(.jk-product-box .jk-prod-price .jk-price-final, .jk-prod-price span,
    .jk-price-final, .jk-price-discount-glow, .pd2-price-new, .pd2-total-value,
    .pd2-sb-price b span, .jk-stat-number, .footer-stat-item strong) {
    color: #d8b4fe !important;
    text-shadow: 0 0 14px rgba(139, 92, 246, .16) !important;
}
:root body :is(.jk-price-original, .jk-price-reseller-strike, .pd2-price-old.pd2-reseller-strike) {
    color: #a99eb9 !important;
    text-shadow: none !important;
}
:root body .jk-stat-watermark { color: rgba(196, 181, 253, .07) !important; }
:root body :is(.jk-discount-badge, .pd2-badge, .ps-price-item .tag),
:root body .ps-step::before {
    background: var(--pz-button) !important;
    border-color: var(--pz-line-strong) !important;
    color: #fff !important;
    box-shadow: 0 4px 14px rgba(109, 40, 217, .2) !important;
}
:root body :is(.jk-product-box, .pd2-mainbox, .pd2-order-box, .pd2-side-card)::before {
    background: linear-gradient(90deg, transparent, #8b5cf6 30%, #d8b4fe 50%, #8b5cf6 70%, transparent) !important;
    box-shadow: 0 0 14px rgba(139, 92, 246, .3) !important;
}
/* Remove moving sheen on category cards and product purchase buttons, including touch states. */
:root body :is(.jk-cat-banner, .jk-cat-card-new)::after,
:root body .jk-product-box .jk-btn-buy::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    transition: none !important;
}
:root body .jk-product-box .jk-prod-img-wrapper::before,
:root body .jk-product-box .jk-prod-img-wrapper::after {
    border-color: rgba(196, 181, 253, .2) !important;
    box-shadow: inset 0 0 24px rgba(139, 92, 246, .08) !important;
    filter: drop-shadow(0 0 5px rgba(167, 139, 250, .3)) !important;
}

/* Product details: cover late critical CSS, pseudo-elements and interaction states. */
:root body .pd2-wrap .pd2-img-card {
    box-shadow: 0 6px 22px rgba(0, 0, 0, .5), 0 0 16px rgba(139, 92, 246, .12) !important;
}
:root body .pd2-wrap .pd2-img-card:hover {
    box-shadow: 0 18px 38px rgba(0, 0, 0, .5), 0 0 24px rgba(139, 92, 246, .22) !important;
}
:root body .pd2-wrap :is(.pd2-toggle:hover, .pd2-info-list li:hover, .pd2-qty-btn:hover) {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
}
:root body .pd2-wrap :is(.pd2-qty-btn:active, .pd2-coupon-btn:active) {
    background: rgba(139, 92, 246, .24) !important;
}
:root body .pd2-wrap .pd2-price-old.pd2-reseller-strike { text-decoration-color: #a99eb9 !important; }
:root body .pd2-wrap :is(.pd2-price-box:has(.pd2-price-old) .pd2-price-new, .pd2-sb-price b span) {
    background-image: linear-gradient(135deg, #fff, #c4b5fd) !important;
    filter: drop-shadow(0 2px 12px rgba(139, 92, 246, .22)) !important;
}
:root body .pd2-wrap .pd2-stock:has(.fa-circle-xmark) .pd2-stock-dot {
    background: #968aa8 !important;
    color: #968aa8;
    box-shadow: none !important;
}
:root body :is(.jk-rv-wrap, .jk-ptoast) {
    background: linear-gradient(145deg, #21172e, #100c18) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, .4), 0 0 18px rgba(139, 92, 246, .12) !important;
}
:root body :is(.jk-rv-dot, .jk-rv-linkbtn, .jk-ptoast-ic, .jkrv-submit),
:root body .jk-ptoast::before {
    background: var(--pz-button) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 4px 14px rgba(139, 92, 246, .24) !important;
}
:root body .jkrv-submit:hover { background: var(--pz-button-hover) !important; }
:root body .jkrv-title i { color: var(--pz-lilac) !important; }
:root body .jkrv-ta:focus { border-color: var(--pz-accent) !important; }
:root body .pd2-wrap :is(.pd2-info-side-desktop, .pd2-section) > div[style*="rgba(225,29,42"] {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line) !important;
}
:root body .pd2-wrap :is(.pd2-info-side-desktop, .pd2-section) > div[style*="rgba(225,29,42"] :is(i, p) {
    color: var(--pz-lilac) !important;
}
/* Shared alerts, including login and dynamically injected payment confirmations. */
:root body .swal2-container.swal2-backdrop-show {
    background: rgba(7, 5, 13, .78) !important;
}
:root body .swal2-popup:is(.swal2-modal, .swal2-toast, .jk-suc-popup) {
    background: linear-gradient(165deg, #21192f 0%, #161020 48%, #100c18 100%) !important;
    color: var(--pz-text) !important;
    border-color: rgba(167, 139, 250, .4) !important;
    box-shadow: 0 26px 70px -18px rgba(0, 0, 0, .85), inset 0 0 0 1px rgba(216, 180, 254, .035), 0 0 60px -25px rgba(124, 58, 237, .5) !important;
}
:root body .swal2-popup .swal2-title {
    color: var(--pz-text) !important;
}
:root body .swal2-popup .swal2-title::after,
:root body .swal2-popup .swal2-timer-progress-bar {
    background: linear-gradient(90deg, #a78bfa, #7c3aed) !important;
}
:root body .swal2-popup .swal2-html-container,
:root body .swal2-popup .swal2-html-container p,
:root body .swal2-popup .swal2-footer {
    color: #d4cbe3 !important;
}
:root body .swal2-popup .swal2-html-container > .d-flex {
    background: rgba(167, 139, 250, .055) !important;
    border-color: var(--pz-line) !important;
}
:root body .swal2-popup .swal2-html-container > .d-flex:hover,
:root body .swal2-popup .swal2-html-container img.rounded {
    border-color: var(--pz-line-strong) !important;
}
:root body .swal2-popup .swal2-html-container strong.text-danger {
    color: var(--pz-lilac) !important;
}
:root body .swal2-popup :is(.swal2-confirm, .jk-suc .jkbtn) {
    background: var(--pz-button) !important;
    border-color: var(--pz-line) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px -10px rgba(124, 58, 237, .75) !important;
}
:root body .swal2-popup :is(.swal2-confirm, .jk-suc .jkbtn):hover {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 14px 30px -10px rgba(124, 58, 237, .85) !important;
}
:root body .swal2-popup :is(.swal2-cancel, .swal2-deny) {
    background: #292035 !important;
    border: 1px solid var(--pz-line) !important;
    color: #e9ddfb !important;
}
:root body .swal2-popup :is(.swal2-cancel, .swal2-deny):hover {
    background: #38294b !important;
    border-color: var(--pz-line-strong) !important;
}
:root body .swal2-popup :is(.swal2-confirm, .swal2-cancel, .swal2-deny, .swal2-close, .jk-suc .jkbtn):focus-visible {
    outline: 2px solid var(--pz-lilac) !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(167, 139, 250, .18) !important;
}
:root body .swal2-popup .swal2-close { color: var(--pz-muted) !important; }
:root body .swal2-popup .swal2-close:hover { color: var(--pz-lilac) !important; }
:root body .swal2-popup :is(.swal2-input, .swal2-textarea, .swal2-select) {
    background: var(--pz-surface) !important;
    color: var(--pz-text) !important;
    border-color: var(--pz-line) !important;
}
:root body .swal2-popup :is(.swal2-input, .swal2-textarea, .swal2-select):focus {
    border-color: var(--pz-accent) !important;
    box-shadow: 0 0 0 3px rgba(167, 139, 250, .16) !important;
}
:root body .swal2-popup .swal2-confirm::after,
:root body .swal2-popup .jk-suc .jkbtn .sh {
    content: none !important;
    display: none !important;
    animation: none !important;
    transition: none !important;
}
:root body .swal2-popup .jk-suc .tl {
    background: linear-gradient(90deg, transparent, #8b5cf6, #d8b4fe, #8b5cf6, transparent) !important;
    box-shadow: 0 0 14px rgba(139, 92, 246, .4) !important;
}
:root body .swal2-popup .jk-suc .tg {
    background: radial-gradient(closest-side, rgba(139, 92, 246, .18), transparent 70%) !important;
}
:root body .swal2-popup .jk-suc .sub { color: var(--pz-muted) !important; }
:root body .swal2-popup .jk-suc .msg { border-color: var(--pz-line) !important; }
:root body .swal2-popup .jk-suc .txt { color: var(--pz-text) !important; }
:root body .swal2-popup.swal2-modal::before {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='100%25' stop-color='%237c3aed'/%3E%3C/linearGradient%3E%3C/defs%3E%3Ccircle cx='100' cy='100' r='70' fill='none' stroke='url(%23g)' stroke-width='1.6' stroke-dasharray='6 10' opacity='0.55'/%3E%3Ccircle cx='100' cy='100' r='92' fill='none' stroke='%23a78bfa' stroke-width='0.8' stroke-dasharray='2 14' opacity='0.34'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
:root body .swal2-popup.swal2-modal::after {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='g2' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%25' stop-color='%23c4b5fd'/%3E%3Cstop offset='100%25' stop-color='%237c3aed'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M14 40 L14 18 Q14 14 18 14 L40 14' fill='none' stroke='url(%23g2)' stroke-width='2' stroke-linecap='round' opacity='0.7'/%3E%3Cpath d='M386 260 L386 282 Q386 286 382 286 L360 286' fill='none' stroke='url(%23g2)' stroke-width='2' stroke-linecap='round' opacity='0.7'/%3E%3C/svg%3E") no-repeat center / 100% 100%, radial-gradient(circle at 12% 92%, rgba(139, 92, 246, .16), transparent 40%) !important;
}

/* The rotating authentication logo ring is separate from its glow layer. */
:root body .auth-header-logo::before {
    border-top-color: var(--pz-accent) !important;
    border-right-color: rgba(167, 139, 250, .35) !important;
}
:root body .left-panel {
    background-image: radial-gradient(at 50% 0%, rgba(139, 92, 246, .06), transparent 65%) !important;
}
:root body .footer-stat-item { background: rgba(139, 92, 246, .06) !important; }
:root body .footer-stat-icon { box-shadow: 0 2px 8px rgba(139, 92, 246, .22) !important; }

/* Help, contact and store-information pages share the jg component family. */
:root body .jg-wrap .jg-hero::before {
    background-image: linear-gradient(90deg, transparent, #8b5cf6 30%, #d8b4fe 50%, #8b5cf6 70%, transparent) !important;
}
:root body .jg-wrap .jg-h1 { text-shadow: 0 2px 14px rgba(139, 92, 246, .2) !important; }
:root body .jg-wrap :is(.jg-h2, .jg-faq h3) { border-left-color: var(--pz-accent) !important; }
:root body .jg-wrap :is(.jg-card a:not(.jg-btn), .jg-min, .jg-h2 i) { color: var(--pz-lilac) !important; }
:root body .jg-wrap :is(.jg-ch, .jg-method, .jg-box, .jg-stat, .jg-st) {
    background: linear-gradient(135deg, #1b1325, #100c18) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .35) !important;
}
:root body .jg-wrap :is(.jg-card:hover, .jg-ch:hover, .jg-method:hover, .jg-box:hover, .jg-stat:hover) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .45), 0 0 22px -6px rgba(139, 92, 246, .3) !important;
}
:root body .jg-wrap .jg-chip {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line) !important;
    color: var(--pz-lilac) !important;
}
:root body .jg-wrap .jg-chip:hover { background: rgba(139, 92, 246, .22) !important; }
:root body .jg-wrap .jg-btn.ghost:hover { border-color: var(--pz-accent) !important; color: var(--pz-lilac) !important; }
:root body .jg-wrap .jg-table th { background: rgba(139, 92, 246, .08) !important; color: var(--pz-lilac) !important; }
:root body .jg-wrap .jg-steps li::before,
:root body .jg-wrap :is(.jg-ch i, .jg-method h3 i, .jg-stat i, .jg-st i) {
    background: var(--pz-button) !important;
    box-shadow: 0 6px 16px -6px rgba(139, 92, 246, .55) !important;
}

/* Homepage upgrade styles also paint full backgrounds and animated glows. */
:root body .jk-main-container .jk-stat-box {
    background: radial-gradient(120% 90% at 0% 0%, rgba(167, 139, 250, .17), transparent 55%),
        linear-gradient(145deg, #251731, #160f21 50%, #100c18) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 18px 44px -20px rgba(0, 0, 0, .7), 0 0 30px -12px rgba(109, 40, 217, .28),
        inset 0 1px rgba(216, 180, 254, .09) !important;
}
:root body .jk-main-container .jk-stat-box:hover {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .8), 0 0 32px -10px rgba(139, 92, 246, .3) !important;
}
:root body :is(.jk-stat-box, .jk-latest-orders-panel)::before {
    background: linear-gradient(90deg, transparent, #8b5cf6 30%, #ede9fe 50%, #8b5cf6 70%, transparent) !important;
    box-shadow: none !important;
}
:root body .jk-stat-box::after {
    background: radial-gradient(circle, rgba(139, 92, 246, .2), transparent 62%) !important;
    border-color: var(--pz-line) !important;
    box-shadow: none !important;
}
:root body .jk-stat-box .jk-stat-watermark,
:root body .jk-main-container .jk-marquee-wrapper .jk-marquee-icon,
:root body .jk-latest-orders-panel .jk-panel-header > i {
    background: var(--pz-button) !important;
    color: #fff !important;
    border-color: var(--pz-line) !important;
    box-shadow: inset 0 0 0 1px rgba(216, 180, 254, .12), 0 10px 22px -8px rgba(109, 40, 217, .45) !important;
    text-shadow: none !important;
    filter: none !important;
}
:root body .jk-stat-number > span:first-child {
    color: #f5f0ff !important;
    text-shadow: 0 0 16px rgba(139, 92, 246, .2) !important;
}
:root body .jk-stat-unit { color: #d8b4fe !important; }
:root body .jk-marquee-icon::after { border-color: rgba(167, 139, 250, .65) !important; }
:root body .jk-marquee-text { text-shadow: 0 0 12px rgba(139, 92, 246, .15) !important; }
:root body .jk-latest-orders-panel .jk-order-item {
    background: linear-gradient(145deg, #21192d, #15101e) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .25) !important;
}
:root body .jk-latest-orders-panel .jk-order-item:hover {
    background: #281d36 !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .3), 0 0 22px -8px rgba(139, 92, 246, .3) !important;
}
:root body .jk-order-item :is(.jk-order-img-wrap, .jk-order-pic, .jk-order-buyer) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: none !important;
}
:root body .jk-order-item .jk-order-time i { color: var(--pz-lilac) !important; }
:root body .jk-latest-orders-panel .jk-order-item .jk-order-badge {
    background: var(--pz-soft) !important;
    color: #d8b4fe !important;
    border-color: var(--pz-line) !important;
}
:root body #carouselExampleControls.border-spe {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 22px 48px -24px rgba(0, 0, 0, .7), 0 0 40px -20px rgba(139, 92, 246, .3) !important;
}
:root body .container-sm:has(.jk-cat-wrapper) > .d-flex.justify-content-between {
    background: linear-gradient(135deg, #21172e, #151019 50%, #21172e) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .35), 0 0 18px rgba(109, 40, 217, .08),
        inset 0 1px rgba(216, 180, 254, .05) !important;
}
:root body .container-sm:has(.jk-cat-wrapper) > .d-flex.justify-content-between::before {
    background: linear-gradient(90deg, transparent, #a78bfa, #6d28d9, transparent) !important;
}
:root body .container-sm:has(.jk-cat-wrapper) > .d-flex.justify-content-between::after {
    border-color: var(--pz-accent) !important;
}
:root body .container-sm:has(.jk-cat-wrapper) > .d-flex.justify-content-between h4 {
    background-image: linear-gradient(90deg, #fff, #ede9fe 60%, #c4b5fd) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    border-color: var(--pz-accent) !important;
    text-shadow: 0 0 18px rgba(139, 92, 246, .15) !important;
}
:root body .container-sm:has(.jk-cat-wrapper) > .d-flex.justify-content-between :is(small, .fa-basket-shopping) {
    color: var(--pz-lilac) !important;
    filter: none !important;
}

/* SEO and information pages reuse the storefront palette. */
:root body .ps-wrap { --c: #a78bfa !important; --c2: #d8b4fe !important; --sub: #b8adc9 !important; --ln: rgba(167,139,250,.2) !important; }
:root body :is(.jg-hero, .jg-card, .jg-stat, .ps-hero, .ps-card, .ps-price-item, .ps-seo) {
    background: linear-gradient(145deg, rgba(29, 21, 41, .94), rgba(16, 12, 23, .95)) !important;
    border-color: var(--pz-line) !important;
}
:root body :is(.jg-h1, .jg-h2, .jg-stat b, .ps-seo-h, .ps-price, .jg-hero i,
    .pd2-pack-help a, .pd2-toggle:hover, .pd2-field-label i) { color: var(--pz-lilac) !important; }
:root body :is(.ps-seo > summary, .ps-faq summary)::before { border-color: var(--pz-accent) !important; }
:root body #main-content :is(h1, h2, h3, h4, h5, i, strong)[style*="#ef4444"],
:root body #main-content :is(h1, h2, h3, h4, h5, i, strong)[style*="#ff3b3b"],
:root body #main-content :is(h1, h2, h3, h4, h5).text-danger {
    color: var(--pz-lilac) !important;
}

/* Forms retain red/green validation styling; only neutral focus is recolored. */
:root body :is(.auth-input-group input, .auth-input-group textarea, .pd2-coupon-input,
    .pd2-qty-controls, .search-input-desktop, .search-input-wrapper input):not(.is-invalid):not(.is-valid) {
    background-color: #17121f !important;
    color: var(--pz-text) !important;
    border-color: var(--pz-line) !important;
}
:root body :is(.auth-input-group input:focus, .auth-input-group textarea:focus,
    .pd2-coupon-input:focus, .pd2-qty-controls:focus-within, .search-input-desktop:focus,
    .search-input-wrapper input:focus, .form-control:focus):not(.is-invalid):not(.is-valid) {
    border-color: #a78bfa !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .16) !important;
}
:root body .remember-group input[type="checkbox"] { accent-color: #7c3aed; }
:root body .remember-group input[type="checkbox"]:checked { background-color: #7c3aed !important; border-color: #a78bfa !important; }
:root body :is(.auth-footer a, .pz-store-links a, .pz-promo-heading a, .jk-foot-links a:hover) { color: #d8b4fe !important; }
:root body .auth-footer a::after { background: #a78bfa !important; }

/* Footer, contact shell and loading decorations. */
:root body :is(.custom-dark-footer, .jk-landing-foot) {
    background: rgba(12, 9, 18, .91) !important;
    border-color: var(--pz-line) !important;
    color: var(--pz-muted) !important;
}
:root body :is(.custom-dark-footer h6, .custom-dark-footer .footer-icon,
    .custom-dark-footer a.footer-link:hover, .jkf-col a:hover, .jkf-col a:hover .jkf-i) { color: var(--pz-lilac) !important; }
:root body :is(.footer-stat-item, .footer-stat-item:hover, .jkf-logo) { border-color: var(--pz-line) !important; box-shadow: none !important; }
:root body #contactModal :is(.modal-content, .modal-content.jkct) {
    background: linear-gradient(145deg, #21172e, #110d19) !important;
    border-color: var(--pz-line-strong) !important;
}
:root body #contactModal :is(.jkct-item, .jkct-primary, .contact-pill-btn) {
    background: rgba(139, 92, 246, .07) !important;
    border-color: var(--pz-line) !important;
}
:root body #contactModal :is(.jkct-title, .jkct-foot a, .jkct-item:hover .jkct-arrow, .contact-icon-circle) { color: var(--pz-lilac) !important; }
:root body #contactModal :is(.modal-content.jkct, .jkct-head)::before,
:root body #contactModal :is(.modal-content.jkct, .jkct-head)::after {
    background: radial-gradient(circle, rgba(139, 92, 246, .16), transparent 68%) !important;
}
:root body :is(.loader-logo, .logo-floating) { box-shadow: 0 8px 30px rgba(109, 40, 217, .18) !important; }
:root body .loader-ring-outer { border-top-color: #a78bfa !important; border-bottom-color: #6d28d9 !important; }
:root body .loader-ring-inner { border-left-color: #c4b5fd !important; border-right-color: #8b5cf6 !important; }
:root body .page-loader {
    background: radial-gradient(ellipse at center, rgba(139, 92, 246, .08), transparent 50%),
        linear-gradient(135deg, #0b0910, #160f20) !important;
}
:root body .loader-logo { border-color: var(--pz-line-strong) !important; }
:root body .loader-text { text-shadow: 0 0 12px rgba(139, 92, 246, .25) !important; }
:root body :is(.loader-subtext, .loading-dots) { color: var(--pz-lilac) !important; }
:root body .loader-ring-inner {
    border-bottom-color: #a78bfa !important;
    filter: drop-shadow(0 0 4px rgba(139, 92, 246, .25)) !important;
}
:root body :is(.snow.red, .jk-pop-spark, .jkai-fab .jkai-dot) { background: #a78bfa !important; box-shadow: 0 0 9px rgba(167,139,250,.4) !important; }
:root body .jkai-fab::after { border-color: #a78bfa !important; box-shadow: none !important; }
body ::-webkit-scrollbar-thumb { background: rgba(167, 139, 250, .35) !important; }
body ::-webkit-scrollbar-thumb:hover { background: rgba(196, 181, 253, .5) !important; }
html { scrollbar-color: #8b5cf6 #100c18 !important; }
html::-webkit-scrollbar-thumb { background: #8b5cf6 !important; }
html::-webkit-scrollbar-thumb:hover { background: #a78bfa !important; }
html::-webkit-scrollbar-track { background: #100c18 !important; }

/* The admin PIN gate renders before the shared page head. */
:root body .pin-gate-overlay {
    background: radial-gradient(ellipse at center, #1b1227, var(--pz-bg) 75%) !important;
}
:root body .pin-bg-glow {
    background-image: radial-gradient(circle at 20% 30%, rgba(139, 92, 246, .12), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(216, 180, 254, .08), transparent 40%) !important;
}
:root body .pin-card {
    background: linear-gradient(180deg, rgba(29, 22, 40, .97), rgba(15, 11, 22, .97)) !important;
    border-color: var(--pz-line) !important;
    box-shadow: 0 25px 80px rgba(0, 0, 0, .65), 0 0 60px rgba(109, 40, 217, .14),
        inset 0 1px rgba(216, 180, 254, .07) !important;
}
:root body .pin-card::before {
    background: linear-gradient(90deg, transparent, rgba(196, 181, 253, .55), transparent) !important;
}
:root body :is(.pin-icon-wrapper, .pin-btn) {
    background: var(--pz-button) !important;
    color: #fff !important;
}
:root body .pin-icon-wrapper {
    box-shadow: 0 10px 30px rgba(109, 40, 217, .3), inset 0 1px rgba(255, 255, 255, .2) !important;
}
:root body .pin-title { color: var(--pz-text) !important; }
:root body .pin-subtitle { color: var(--pz-muted) !important; }
:root body .pin-message.info { color: var(--pz-muted); }
:root body .pin-box {
    background: #100c18 !important;
    color: var(--pz-text) !important;
    caret-color: var(--pz-lilac) !important;
}
:root body .pin-box:not(.error) { border-color: var(--pz-line) !important; }
:root body .pin-box.filled:not(.error) {
    background: rgba(139, 92, 246, .08) !important;
    border-color: var(--pz-line-strong) !important;
}
:root body .pin-box:focus:not(.error) {
    border-color: #a78bfa !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, .18) !important;
}
:root body .pin-btn:hover:not(:disabled) {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 10px 25px rgba(109, 40, 217, .3) !important;
}
:root body .pin-btn-back { color: var(--pz-muted) !important; border-color: var(--pz-line) !important; }
:root body .pin-btn-back:hover {
    background: var(--pz-soft) !important;
    color: var(--pz-lilac) !important;
    border-color: var(--pz-line-strong) !important;
}

@media (prefers-reduced-motion: reduce) {
    :root body .welcome-shop-name { animation: none !important; }
}

/* PZ secondary public pages: ranking, best sellers and game hub. */
/* Append after pz-purple-theme.css.
   Only ranking, best sellers and the game hub are scoped here.
   Medal/podium metals, gold rank prices and green activity badges are retained. */

:root body .rkx {
    --rkx-red: var(--pz-accent) !important;
    --rkx-red2: var(--pz-lilac) !important;
    --rkx-line: var(--pz-line) !important;
    --rkx-muted: var(--pz-muted) !important;
}
:root body .rkx .rkx-hero {
    background: radial-gradient(circle at 85% -10%, rgba(139, 92, 246, .22), transparent 55%),
        radial-gradient(circle at 0% 100%, rgba(167, 139, 250, .08), transparent 45%),
        linear-gradient(145deg, #1b1326, #0c0a11) !important;
    border-color: var(--pz-line) !important;
}
:root body .rkx .rkx-hero::before {
    background-image: linear-gradient(90deg, transparent, #8b5cf6 30%, #ddd6fe 50%, #a78bfa 70%, transparent) !important;
}
:root body .rkx :is(.rkx-eyebrow, .rkx-live) {
    color: var(--pz-lilac) !important;
}
:root body .rkx .rkx-eyebrow i {
    background: linear-gradient(90deg, #a78bfa, transparent) !important;
}
:root body .rkx .rkx-hero h1 {
    text-shadow: 0 2px 18px rgba(139, 92, 246, .22) !important;
}
:root body .rkx .rkx-hero h1 span {
    background-image: linear-gradient(90deg, #fff, #ede9fe 60%, #c4b5fd) !important;
    -webkit-text-fill-color: transparent !important;
}
:root body .rkx :is(.rkx-stat:hover, .rkx-card:hover) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .5), 0 0 24px -8px rgba(139, 92, 246, .4) !important;
}
:root body .rkx :is(.rkx-stat .ic, .rkx-empty .ic) {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -6px rgba(109, 40, 217, .55) !important;
}
:root body .rkx :is(.rkx-chip, .rkx-ch h3 .ic) {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-lilac) !important;
}
:root body .rkx .rkx-sec h2 {
    border-left-color: var(--pz-accent) !important;
}
:root body .rkx .rkx-live i {
    background: var(--pz-accent) !important;
    box-shadow: 0 0 0 0 rgba(167, 139, 250, .5);
    animation-name: pzRankingPulse !important;
}
@keyframes pzRankingPulse {
    0% { box-shadow: 0 0 0 0 rgba(167, 139, 250, .5); }
    100% { box-shadow: 0 0 0 10px rgba(167, 139, 250, 0); }
}
:root body .rkx .rkx-foot {
    background: linear-gradient(180deg, rgba(139, 92, 246, .06), transparent) !important;
    border-top-color: var(--pz-line) !important;
}
:root body .rkx .rkx-btn {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 10px 26px -8px rgba(109, 40, 217, .6) !important;
}
:root body .rkx .rkx-btn:hover {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 14px 32px -8px rgba(109, 40, 217, .7) !important;
}
:root body .rkx .rkx-mini:not(.g) {
    background: linear-gradient(160deg, #271c38, #141019) !important;
    border-color: var(--pz-line) !important;
}
:root body .rkx .rkx-bar i {
    background: linear-gradient(90deg, #7c3aed, #d8b4fe) !important;
}

/* Best sellers retain their gold/silver/bronze rank signals. */
:root body .tpv {
    --v-red: #7c3aed !important;
    --v-line: var(--pz-line) !important;
    --v-muted: var(--pz-muted) !important;
}
:root body .tpv .tpv-hero {
    background: radial-gradient(120% 90% at 50% -10%, rgba(251, 191, 36, .14), transparent 55%),
        radial-gradient(60% 50% at 100% 100%, rgba(139, 92, 246, .18), transparent 60%),
        radial-gradient(60% 50% at 0% 100%, rgba(167, 139, 250, .1), transparent 60%),
        linear-gradient(180deg, #16111d, #0b0910) !important;
}
:root body .tpv .tpv-hero::before {
    background-image: linear-gradient(90deg, transparent, #fbbf24 25%, #f5f0ff 50%, #a78bfa 75%, transparent) !important;
}
:root body .tpv .tpv-orb.o5 {
    background: radial-gradient(circle, rgba(196, 181, 253, .9), rgba(196, 181, 253, 0) 70%) !important;
}
:root body .tpv .tpv-pill.red {
    color: var(--pz-lilac) !important;
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
}
:root body .tpv .tpv-stat.red .ic {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px -6px rgba(109, 40, 217, .6) !important;
}
:root body .tpv .tpv-stat.red:hover {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, .45), 0 0 22px -6px rgba(139, 92, 246, .4) !important;
}
:root body .tpv .tpv-row:not(.t1):not(.t2):not(.t3):hover {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .55), 0 0 26px -8px rgba(139, 92, 246, .4) !important;
}
:root body .tpv .tpv-row.t2:hover {
    border-color: rgba(212, 212, 216, .6) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .55), 0 0 26px -8px rgba(212, 212, 216, .3) !important;
}
:root body .tpv .tpv-row.t3:hover {
    border-color: rgba(217, 130, 43, .6) !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, .55), 0 0 26px -8px rgba(217, 130, 43, .3) !important;
}
:root body .tpv .tpv-meta > span:not(.tpv-hot) svg,
:root body .tpv .tpv-game svg {
    color: var(--pz-lilac) !important;
}
:root body .tpv .tpv-bar i {
    background: linear-gradient(90deg, #7c3aed, #d8b4fe) !important;
}
:root body .tpv .tpv-row:not(.t1) .tpv-price b {
    color: var(--pz-lilac) !important;
}
:root body .tpv .tpv-btn {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-lilac) !important;
}
:root body .tpv .tpv-row.t1 .tpv-btn,
:root body .tpv .tpv-shop {
    background: var(--pz-button) !important;
    border-color: var(--pz-line-strong) !important;
    color: #fff !important;
    box-shadow: 0 12px 28px -8px rgba(109, 40, 217, .65) !important;
}
:root body .tpv .tpv-row:hover .tpv-btn,
:root body .tpv .tpv-shop:hover {
    background: var(--pz-button-hover) !important;
    border-color: var(--pz-line-strong) !important;
    color: #fff !important;
    box-shadow: 0 16px 34px -8px rgba(109, 40, 217, .75) !important;
}
:root body .tpv .tpv-game {
    background: linear-gradient(135deg, #21172e, #110e18) !important;
    border-color: var(--pz-line) !important;
}
:root body .tpv .tpv-game:hover {
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-text) !important;
    box-shadow: 0 10px 22px -8px rgba(109, 40, 217, .5) !important;
}

/* Game directory: all accents here describe navigation, not error states. */
:root body .hub-wrap :is(.hub-hero, .hub-card, .hub-sec) {
    background: linear-gradient(135deg, #1b1326, #0e0b14) !important;
    border-color: var(--pz-line) !important;
}
:root body .hub-wrap .hub-hero::before {
    background: radial-gradient(circle at 80% -20%, rgba(139, 92, 246, .2), transparent 60%) !important;
}
:root body .hub-wrap .hub-badge {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-lilac) !important;
}
:root body .hub-wrap :is(.hub-hero h1 span, .hub-card-go),
:root body .hub-wrap .hub-sec a:not(.hub-card) {
    color: var(--pz-lilac) !important;
}
:root body .hub-wrap .hub-card:hover {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 10px 30px rgba(109, 40, 217, .22) !important;
}
:root body .hub-wrap .hub-card:hover .hub-card-go,
:root body .hub-wrap .hub-sec a:not(.hub-card):hover {
    color: #ede9fe !important;
}
:root body .hub-wrap .hub-sec h2 {
    border-left-color: var(--pz-accent) !important;
}
@media (prefers-reduced-motion: reduce) {
    :root body .rkx .rkx-live i { animation: none !important; }
}

/* Signed-in top-up screen: decoration only; provider and status colors stay intact. */
:root body .tpx {
    --red: var(--pz-accent) !important;
    --line: var(--pz-line) !important;
    --muted: var(--pz-muted) !important;
    --pf-red: var(--pz-accent) !important;
    --pf-red2: var(--pz-lilac) !important;
    --pf-line: var(--pz-line) !important;
    --pf-muted: var(--pz-muted) !important;
}
:root body .tpx :is(.tpx-head, .tpx-m.rec)::before {
    background-image: linear-gradient(90deg, transparent, #8b5cf6 30%, #ede9fe 50%, #8b5cf6 70%, transparent) !important;
}
:root body .tpx .tpx-head::after {
    background: radial-gradient(circle, var(--pz-glow), transparent 65%) !important;
}
:root body .tpx :is(.tpx-hic, .tpx-wallet > .ic, .tpx-m:not(.off) .go, .tpx-tag.hot) {
    background: var(--pz-button) !important;
    color: #fff !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 12px 26px -10px rgba(109, 40, 217, .6) !important;
}
:root body .tpx :is(.tpx-head .pf-eyebrow, .tpx-wallet .lnk, .tpx-box h3 a, .tpx-note a, .tpx-note > i) {
    color: var(--pz-lilac) !important;
}
:root body .tpx .pf-eyebrow i {
    background: linear-gradient(90deg, var(--pz-accent), transparent) !important;
}
:root body .tpx :is(.tpx-head .pf-back, .tpx-step .n, .tpx-tag.red) {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-lilac) !important;
}
:root body .tpx .tpx-head .pf-back:hover {
    background: rgba(139, 92, 246, .2) !important;
    border-color: var(--pz-line-strong) !important;
    color: #f5f0ff !important;
}
:root body .tpx .tpx-m::after {
    background: radial-gradient(circle, var(--c, var(--pz-glow)), transparent 65%) !important;
}
:root body .tpx .tpx-m[style*="rgba(225,29,42"] {
    --c: var(--pz-glow) !important;
}
:root body .tpx .tpx-r[style*="#ff8a92"] {
    --c: var(--pz-lilac) !important;
}
:root body .tpx :is(.tpx-m.rec:not(.off), .tpx-m:not(.off):hover) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .5), 0 0 30px -10px rgba(139, 92, 246, .3),
        inset 0 1px rgba(216, 180, 254, .05) !important;
}
:root body .tpx .tpx-m:not(.off):hover .go {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 14px 30px -10px rgba(109, 40, 217, .7) !important;
}
:root body .tpx .tpx-wallet {
    background: radial-gradient(80% 120% at 0% 0%, rgba(139, 92, 246, .16), transparent 60%),
        linear-gradient(145deg, var(--pz-surface), #100c18) !important;
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, .5), 0 0 30px -12px rgba(109, 40, 217, .3) !important;
}
:root body .tpx .tpx-wallet b {
    background-image: linear-gradient(90deg, #fff, #ede9fe 60%, #c4b5fd) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
}
:root body .tpx .tpx-box h3 { border-left-color: var(--pz-accent) !important; }
:root body .tpx .tpx-note {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line) !important;
    color: var(--pz-text) !important;
}

/* PZ cookie consent and app install prompts: also override their later inline styles. */
:root body :is(.jkcc-banner, .jkcc-modal, .jkcc-reopen) {
    background: linear-gradient(180deg, var(--pz-surface-raised), var(--pz-surface)) !important;
    border-color: var(--pz-line) !important;
    color: var(--pz-text) !important;
    box-shadow: 0 24px 60px -26px rgba(0, 0, 0, .9), inset 0 1px 0 var(--pz-soft) !important;
}
:root body .jkcc-modal-wrap {
    background: rgba(13, 11, 19, .72) !important;
}
:root body :is(.jkcc-title, .jkcc-modal h3, .jkcc-cat-name) {
    color: var(--pz-text) !important;
}
:root body :is(.jkcc-body, .jkcc-modal .sub, .jkcc-cat-desc) {
    color: var(--pz-muted) !important;
}
:root body .jkcc-cat {
    border-color: var(--pz-line) !important;
}
:root body .jkcc-ic {
    filter: drop-shadow(0 0 6px var(--pz-glow)) !important;
}
:root body .jkcc-accept {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 7px 20px -9px var(--pz-accent), inset 0 1px 0 var(--pz-line-strong) !important;
}
:root body .jkcc-accept:is(:hover, :focus-visible, :active):not(:disabled) {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 9px 24px -9px var(--pz-accent), inset 0 1px 0 var(--pz-line-strong) !important;
}
:root body .jkcc-nec {
    background: var(--pz-soft) !important;
    border-color: var(--pz-line-strong) !important;
    color: var(--pz-lilac) !important;
}
:root body .jkcc-nec:is(:hover, :focus-visible, :active):not(:disabled) {
    background: var(--pz-glow) !important;
    border-color: var(--pz-accent) !important;
    color: var(--pz-text) !important;
}
:root body .jkcc-set {
    color: var(--pz-lilac) !important;
}
:root body .jkcc-set:is(:hover, :focus-visible, :active):not(:disabled) {
    color: var(--pz-text) !important;
}
:root body .jkcc-sl {
    background: rgba(255, 255, 255, .14) !important;
    box-shadow: inset 0 0 0 1px var(--pz-line) !important;
}
:root body .jkcc-sw input:checked + .jkcc-sl {
    background: var(--pz-button) !important;
    box-shadow: inset 0 0 0 1px var(--pz-line-strong) !important;
}
:root body .jkcc-sw:hover input:checked:not(:disabled) + .jkcc-sl {
    background: var(--pz-button-hover) !important;
}
:root body .jkcc-sw input:focus-visible + .jkcc-sl {
    outline: 2px solid var(--pz-lilac) !important;
    outline-offset: 3px !important;
}
:root body .jkcc-reopen {
    box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .85), 0 0 16px -6px var(--pz-glow) !important;
}
:root body .jkcc-reopen:is(:hover, :focus-visible, :active) {
    border-color: var(--pz-line-strong) !important;
    box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .85), 0 0 20px -6px var(--pz-accent) !important;
}
:root body :is(.jkcc-btn, .jkcc-set, .jkcc-reopen):focus-visible {
    outline: 2px solid var(--pz-lilac) !important;
    outline-offset: 3px !important;
}
@media (max-width: 559px) {
    :root body .jkcc-banner {
        border-top-color: var(--pz-line-strong) !important;
        box-shadow: 0 -14px 44px -12px rgba(0, 0, 0, .72), inset 0 1px 0 var(--pz-soft) !important;
    }
}

/* Keep the install prompt's visibility, platform instructions and native dialog intact. */
:root body #jkpwa {
    background: linear-gradient(180deg, var(--pz-surface-raised), var(--pz-surface)) !important;
    border-bottom-color: var(--pz-line) !important;
    box-shadow: 0 12px 38px rgba(0, 0, 0, .55), 0 1px 12px var(--pz-glow) !important;
}
:root body #jkpwa::after {
    background: linear-gradient(90deg, transparent, var(--pz-accent), transparent) !important;
}
:root body #jkpwa .jkpwa-ic {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 4px 15px var(--pz-glow) !important;
}
:root body #jkpwa .jkpwa-ic::after {
    border-color: var(--pz-line-strong) !important;
}
:root body #jkpwa .jkpwa-t1 {
    color: var(--pz-text) !important;
}
:root body #jkpwa :is(.jkpwa-t2, .jkpwa-x) {
    color: var(--pz-muted) !important;
}
:root body #jkpwa #jkpwa-sub i {
    color: var(--pz-lilac) !important;
}
:root body #jkpwa .jkpwa-btn {
    background: var(--pz-button) !important;
    color: #fff !important;
    box-shadow: 0 5px 18px var(--pz-glow) !important;
}
:root body #jkpwa .jkpwa-btn:is(:hover, :focus-visible, :active):not(:disabled) {
    background: var(--pz-button-hover) !important;
    box-shadow: 0 8px 22px var(--pz-glow) !important;
}
:root body #jkpwa .jkpwa-x:is(:hover, :focus-visible, :active) {
    color: var(--pz-lilac) !important;
}
:root body #jkpwa :is(.jkpwa-btn, .jkpwa-x):focus-visible {
    outline: 2px solid var(--pz-lilac) !important;
    outline-offset: 3px !important;
}
