

        @keyframes zg-chev-down {
            0%,
            100% {
                translate: 0 -2px;
                opacity: .35;
            }
            45% {
                translate: 0 5px;
                opacity: 1;
            }
        }

        @keyframes zg-chev-in {
            0%,
            100% {
                translate: -2px 0;
                opacity: .35;
            }
            45% {
                translate: 5px 0;
                opacity: 1;
            }
        }

        .zg-choose__chevrons svg,
        .zg-secttl__chev svg {
            animation: zg-chev-down 1.7s var(--zg-ease) infinite;
        }

        .zg-choose__chevrons svg+svg,
        .zg-secttl__chev svg+svg {
            animation-delay: .22s;
        }

        .zg-chev-pair svg {
            animation: zg-chev-in 1.7s var(--zg-ease) infinite;
        }

        .zg-chev-pair svg+svg {
            animation-delay: .22s;
        }

        .zg-perk__chev svg {
            animation: zg-chev-in 1.7s var(--zg-ease) infinite;
        }

        .zg-perk__chev svg+svg {
            animation-delay: .22s;
        }

        .zg-nav__social a,
        .zg-nav-mobile__icon,
        .zg-nav-mobile__login,
        .zg-footer__social a {
            transition: background-color .2s ease, filter .2s ease, scale var(--zg-t) var(--zg-back);
        }

        .zg-nav__social a:hover,
        .zg-nav-mobile__icon:hover,
        .zg-nav-mobile__login:hover,
        .zg-footer__social a:hover {
            scale: 1.12;
        }

        .zg-nav__social a:active,
        .zg-nav-mobile__icon:active,
        .zg-nav-mobile__login:active,
        .zg-footer__social a:active {
            scale: .95;
        }

        .zg-footer__links a,
        .zg-footer__links button {
            align-self: flex-start;
            background-image: linear-gradient(currentColor, currentColor);
            background-size: 0% 1px;
            background-position: 0 100%;
            background-repeat: no-repeat;
            transition: opacity .2s ease, background-size 380ms var(--zg-out);
        }

        .zg-footer__links a:hover,
        .zg-footer__links button:hover {
            opacity: 1;
            background-size: 100% 1px;
        }

        .zg-pill:focus-visible,
        .zg-choose:focus-visible,
        .zg-btn-dark:focus-visible,
        .zg-gamecard:focus-visible,
        .zg-hero-link:focus-visible,
        .zg-wide:focus-visible,
        .zg-support:focus-visible,
        .zg-testi__arrow:focus-visible,
        .zg-faq__btn:focus-visible,
        .zg-nav__social a:focus-visible,
        .zg-footer__social a:focus-visible,
        .zg-footer__links a:focus-visible,
        .zg-nav-mobile__icon:focus-visible,
        .zg-nav-mobile__login:focus-visible {
            outline: 2px solid rgba(150, 90, 255, .95);
            outline-offset: 3px;
        }

        @media (prefers-reduced-motion: reduce) {
            .zg-nav,
            .zg-nav__band,
            .zg-nav__glass,
            .zg-nav__glass>i,
            .zg-nav__inner,
            .zg-nav-mobile,
            .zg-pill,
            .zg-gamecard,
            .zg-gamecard__img,
            .zg-hero-link .zg-fill,
            .zg-gamecard__name,
            .zg-wide,
            .zg-wide__img,
            .zg-wide__name,
            .zg-badge,
            .zg-badge__icon,
            .zg-perk,
            .zg-perk__orb,
            .zg-card,
            .zg-card__avatar,
            .zg-faq__item,
            .zg-choose,
            .zg-btn-dark,
            .zg-support,
            .zg-testi__arrow {
                transition: none;
            }
            .zg-pill::after,
            .zg-btn-dark::after,
            .zg-support::after,
            .zg-choose::after {
                display: none;
            }
            .zg-watermark__lume {
                transition: none;
            }
            .zg-perk--banner,
            .zg-perk--banner:hover,
            .zg-perk--banner:active {
                transform: none;
            }
            .zg-choose__chevrons svg,
            .zg-secttl__chev svg,
            .zg-chev-pair svg,
            .zg-perk__chev svg {
                animation: none;
            }
            .zg-dot::after,
            .zg-faq__dot::after {
                display: none;
            }
        }
        .zg-page {
            position: relative;
            z-index: 1;
            padding: 56px 0 110px;
            font-family: var(--zg-ui);
            color: #fff;
            overflow-x: clip;
        }

        .zg-page a {
            color: inherit;
        }

        .zg-page--full {
            padding-top: 0;
        }

        .zg-head {
            display: flex;
            align-items: center;
            gap: 22px;
            margin-bottom: 30px;
        }

        .zg-head__back {
            flex: none;
            width: 50px;
            height: 50px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            background: var(--zg-pill);
            display: grid;
            place-items: center;
            color: #fff;
            transition: background-color var(--zg-t) ease, border-color var(--zg-t) ease, translate var(--zg-t) var(--zg-back);
        }

        .zg-head__back svg {
            width: 21px;
            height: 21px;
        }

        .zg-head__back:hover {
            background: var(--zg-purple);
            border-color: var(--zg-purple);
            translate: -3px 0;
        }

        .zg-head__body {
            min-width: 0;
        }

        .zg-head .zg-title {
            font-size: 40px;
            line-height: 1;
            overflow-wrap: anywhere;
        }

        .zg-head .zg-sub,
        .zg-login__head .zg-sub,
        .zg-404 .zg-sub {
            font-weight: 400;
            font-style: normal;
            text-transform: none;
        }

        .zg-head .zg-sub {
            margin-top: 12px;
            font-size: 16px;
            line-height: 1.3;
            color: rgba(255, 255, 255, .6);
        }

        .zg-head__side {
            margin-left: auto;
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            align-items: center;
            gap: 10px;
        }

        .zg-eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            height: 28px;
            padding: 0 12px 0 9px;
            margin-bottom: 12px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            background: rgba(105, 0, 255, .1);
            font-family: var(--zg-ui);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .1em;
            text-transform: uppercase;
            color: #c3a3ff;
            white-space: nowrap;
        }

        .zg-eyebrow .zg-dot {
            width: 8px;
            height: 8px;
            box-shadow: 0 0 0 2.2px rgba(105, 0, 255, .25);
        }

        .zg-rule {
            height: 1px;
            margin: 0 0 32px;
            background: linear-gradient(90deg, rgba(105, 0, 255, .75) 0%, rgba(105, 0, 255, .06) 60%, rgba(105, 0, 255, 0) 100%);
        }

        .zg-rule--mid {
            background: linear-gradient(90deg, rgba(105, 0, 255, 0) 0%, rgba(105, 0, 255, .7) 50%, rgba(105, 0, 255, 0) 100%);
        }

        .zg-muted {
            color: rgba(255, 255, 255, .58);
            font-size: 14.5px;
            line-height: 1.5;
        }

        .zg-panel {
            --zg-mx: 50%;
            --zg-my: 50%;
            position: relative;
            border-radius: 21px;
            border: 1px solid var(--zg-line);
            background: linear-gradient(180deg, rgba(61, 0, 147, .30) 0%, rgba(19, 0, 45, 0) 46%), var(--zg-bg);
            box-shadow: inset 0 1px 0 rgba(190, 150, 255, .07);
            padding: 26px 28px;
            transition: border-color var(--zg-t) ease;
        }

        .zg-panel::after {
            content: '';
            position: absolute;
            inset: 0;
            z-index: 0;
            border-radius: inherit;
            background: radial-gradient(320px circle at var(--zg-mx) var(--zg-my), rgba(150, 82, 255, .20), rgba(105, 0, 255, .07) 42%, rgba(105, 0, 255, 0) 72%);
            opacity: 0;
            transition: opacity var(--zg-t) var(--zg-ease);
            pointer-events: none;
        }

        .zg-panel:hover::after {
            opacity: 1;
        }

        .zg-panel:hover {
            border-color: rgba(105, 0, 255, .55);
        }

        .zg-panel>* {
            position: relative;
            z-index: 1;
        }

        .zg-panel--tight {
            padding: 20px 22px;
        }

        .zg-panel__h {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 14px;
            font-family: var(--zg-display);
            font-weight: 800;
            font-style: italic;
            font-size: 19px;
            line-height: 1;
            text-transform: uppercase;
        }

        .zg-panel__ico {
            flex: none;
            width: 38px;
            height: 38px;
            border-radius: 12px;
            background: rgba(105, 0, 255, .16);
            border: 1px solid rgba(105, 0, 255, .38);
            display: grid;
            place-items: center;
            color: #b98cff;
        }

        .zg-panel__ico svg {
            width: 19px;
            height: 19px;
        }

        .zg-btn {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            height: 50px;
            padding: 0 26px;
            border-radius: 16px;
            border: 0;
            background: var(--zg-purple);
            font-family: var(--zg-ui);
            font-weight: 700;
            font-size: 15px;
            line-height: 1;
            color: #fff;
            cursor: pointer;
            white-space: nowrap;
            text-decoration: none;
            transition: filter var(--zg-t-fast) ease, box-shadow var(--zg-t) var(--zg-ease), translate var(--zg-t) var(--zg-out), scale var(--zg-t) var(--zg-back), background-color var(--zg-t) ease, border-color var(--zg-t) ease;
        }

        .zg-btn svg {
            width: 19px;
            height: 19px;
            flex: none;
        }

        .zg-btn:hover {
            filter: brightness(1.12);
            box-shadow: 0 16px 34px -16px rgba(105, 0, 255, .95);
            translate: 0 -1px;
        }

        .zg-btn:active {
            scale: .97;
        }

        .zg-btn:disabled,
        .zg-btn[aria-disabled="true"] {
            opacity: .45;
            pointer-events: none;
        }

        .zg-btn--ghost {
            background: var(--zg-pill);
            border: 1px solid var(--zg-line);
        }

        .zg-btn--ghost:hover {
            filter: none;
            background: #2a2650;
            border-color: rgba(105, 0, 255, .6);
            box-shadow: none;
        }

        .zg-btn--wide {
            width: 100%;
        }

        .zg-btn--knob {
            padding-right: 58px;
        }

        .zg-btn--knob .zg-cta__knob {
            width: 32px;
            height: 32px;
            top: 50%;
            right: 9px;
            margin-top: -16px;
            background: rgba(8, 0, 22, .5);
            border: 1px solid rgba(255, 255, 255, .16);
        }

        .zg-btn .zg-cta__knob svg {
            width: 9px;
            height: 9px;
        }

        .zg-btn--knob:hover .zg-cta__knob {
            translate: 2px -2px;
            rotate: 10deg;
            background: rgba(8, 0, 22, .72);
        }

        .zg-btn--sm {
            height: 40px;
            padding: 0 18px;
            font-size: 13.5px;
            border-radius: 13px;
        }

        .zg-btn--sm svg {
            width: 16px;
            height: 16px;
        }

        .zg-btn .zg-cta__knob {
            transition: translate var(--zg-t) var(--zg-back), rotate var(--zg-t) var(--zg-back);
        }

        .zg-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            height: 26px;
            padding: 0 10px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            background: rgba(105, 0, 255, .1);
            font-family: var(--zg-ui);
            font-size: 11.5px;
            font-weight: 700;
            letter-spacing: .03em;
            text-transform: uppercase;
            color: #c3a3ff;
            white-space: nowrap;
        }

        .zg-chip svg {
            width: 13px;
            height: 13px;
        }

        .zg-chip--solid {
            background: var(--zg-purple);
            border-color: var(--zg-purple);
            color: #fff;
        }

        .zg-chip--ok {
            background: rgba(56, 214, 140, .12);
            border-color: rgba(56, 214, 140, .35);
            color: #6fe3a8;
        }

        .zg-chip--pix {
            background: rgba(50, 188, 173, .12);
            border-color: rgba(50, 188, 173, .34);
            color: #6fded1;
        }

        .zg-chip--warn {
            background: rgba(255, 72, 96, .12);
            border-color: rgba(255, 72, 96, .35);
            color: #ff8a9b;
        }

        .zg-chip--star {
            gap: 6px;
            padding: 0 11px 0 9px;
            background: rgba(255, 186, 56, .1);
            border-color: rgba(255, 186, 56, .3);
            font-weight: 600;
            letter-spacing: 0;
            text-transform: none;
            color: rgba(255, 255, 255, .55);
        }

        .zg-chip--star svg {
            color: #ffba38;
            fill: currentColor;
            stroke-width: 1.2;
        }

        .zg-chip--star b {
            font-weight: 800;
            font-size: 12px;
            color: #fff;
            letter-spacing: -.01em;
        }

        .zg-chip__sold {
            font-variant-numeric: tabular-nums;
        }

        .zg-label {
            display: block;
            margin-bottom: 8px;
            font-size: 12.5px;
            font-weight: 700;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .62);
        }

        .zg-page .zg-field {
            width: 100%;
            height: 50px;
            padding: 0 18px;
            border-radius: 15px;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
            font-family: var(--zg-ui);
            font-size: 15px;
            color: #fff;
            appearance: none;
            transition: border-color var(--zg-t) ease, box-shadow var(--zg-t) ease;
        }

        .zg-page .zg-field::placeholder {
            color: rgba(255, 255, 255, .38);
        }

        .zg-page .zg-field:focus-visible {
            outline: none;
            border-color: var(--zg-purple);
            box-shadow: 0 0 0 3px rgba(105, 0, 255, .28);
        }

        .zg-page .zg-field--otp {
            width: 54px;
            height: 60px;
            padding: 0;
            text-align: center;
            font-family: var(--zg-display);
            font-weight: 800;
            font-size: 24px;
        }

        .zg-price {
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 36px;
            line-height: 1;
        }

        .zg-was {
            font-size: 14px;
            color: rgba(255, 255, 255, .45);
            text-decoration: line-through;
        }

        .zg-catpage {
            --zg-w: 1457px;
        }

        .zg-banner {
            --zg-banner-r: 18px;
            display: block;
            width: 100%;
            height: auto;
            border-radius: 0 0 var(--zg-banner-r) var(--zg-banner-r);
            clip-path: inset(0 round 0 0 var(--zg-banner-r) var(--zg-banner-r));
            margin-bottom: 30px;
        }

        .zg-steam-load-sentinel {
            display: flex;
            justify-content: center;
            min-height: 44px;
            margin: 20px 0 8px;
            color: rgba(255, 255, 255, .48);
            font: 12px/1.4 var(--zg-ui);
        }

        .zg-steam-load-sentinel__text {
            display: inline-flex;
            align-items: center;
            gap: 9px;
            min-height: 34px;
            padding: 0 14px;
            border: 1px solid rgba(145, 91, 199, .28);
            border-radius: 999px;
            background: rgba(33, 11, 57, .45);
        }

        .zg-steam-load-sentinel.is-loading .zg-steam-load-sentinel__text::before {
            content: '';
            width: 12px;
            height: 12px;
            border: 2px solid rgba(255, 255, 255, .25);
            border-top-color: #c69aff;
            border-radius: 50%;
            animation: zg-steam-spin .7s linear infinite;
        }

        @keyframes zg-steam-spin {
            to {
                transform: rotate(360deg);
            }
        }

        .zg-sr {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 16px;
            color: #fff;
            transition: background-color var(--zg-t-fast) ease;
        }

        .zg-sr+.zg-sr {
            border-top: 1px solid rgba(50, 0, 121, .6);
        }

        .zg-sr:hover {
            background: rgba(105, 0, 255, .12);
        }

        .zg-sr__img {
            flex: none;
            width: 58px;
            height: 58px;
            border-radius: 13px;
            object-fit: cover;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
        }

        .zg-sr__body {
            min-width: 0;
            flex: 1;
        }

        .zg-sr__name {
            font-family: var(--zg-display);
            font-weight: 700;
            font-size: 15px;
            line-height: 1.15;
            display: -webkit-box;
            -webkit-line-clamp: 1;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .zg-sr__cat {
            margin-top: 6px;
            height: 22px;
            font-size: 10.5px;
        }

        .zg-sr__price {
            flex: none;
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 17px;
            color: #c3a3ff;
        }

        .zg-sr-empty {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 18px 16px;
            font-size: 14px;
            color: rgba(255, 255, 255, .6);
        }

        .zg-sr-empty svg {
            width: 20px;
            height: 20px;
            color: #b98cff;
            flex: none;
        }

        .zg-similar {
            --zg-w: 1457px;
            margin-top: 64px;
            font-family: var(--zg-ui);
            color: #fff;
        }

        .zg-similar__head {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 20px;
            margin-bottom: 22px;
        }

        .zg-similar__title {
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 30px;
            line-height: 1;
            text-transform: uppercase;
        }

        .zg-similar__nav {
            display: flex;
            gap: 12px;
            flex: none;
        }

        .zg-similar .zg-testi__arrow {
            width: 46px;
            height: 46px;
            border: 1px solid var(--zg-line);
            background: var(--zg-pill);
            color: #fff;
            cursor: pointer;
            transition: background-color var(--zg-t) ease, border-color var(--zg-t) ease, box-shadow var(--zg-t) ease, scale var(--zg-t) var(--zg-back);
        }

        .zg-similar .zg-testi__arrow svg {
            width: 18px;
            height: 16px;
        }

        .zg-similar .zg-testi__arrow:hover {
            filter: none;
            background: var(--zg-purple);
            border-color: var(--zg-purple);
            box-shadow: 0 14px 32px -14px rgba(105, 0, 255, .95);
        }

        .zg-similar .keen-slider {
            border-radius: 16px;
            padding: 4px 0 16px;
            margin-bottom: -10px;
        }

        .zg-similar .keen-slider__slide {
            overflow: visible;
        }

        .zg-similar .zg-pkg:hover {
            translate: none;
        }

        .zg-crumb {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 5px;
            font-size: 12.5px;
            color: rgba(255, 255, 255, .42);
        }

        .zg-crumb a {
            color: rgba(255, 255, 255, .58);
            text-decoration: none;
            transition: color var(--zg-t) ease;
        }

        .zg-crumb a:hover {
            color: #c3a3ff;
        }

        .zg-crumb svg {
            width: 13px;
            height: 13px;
            opacity: .5;
        }

        .zg-pdp__h1 {
            margin-top: 9px;
        }

        .zg-pdp {
            --zg-w: 1457px;
        }

        .zg-pdp__grid {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 396px;
            grid-template-areas: "media buy" "body buy";
            gap: 12px 24px;
            align-items: start;
        }

        .zg-pdp__mediacol {
            grid-area: media;
            min-width: 0;
        }

        .zg-pdp__buycol {
            grid-area: buy;
            min-width: 0;
            position: sticky;
            top: 22px;
        }

        .zg-pdp__body {
            grid-area: body;
            display: grid;
            gap: 22px;
            min-width: 0;
        }

        .zg-pdp__frame {
            padding: 14px;
        }

        .zg-pdp__media {
            position: relative;
            min-width: 0;
        }

        .zg-pdp__img {
            display: block;
            width: 100%;
            border-radius: 16px;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
            object-fit: cover;
        }

        .zg-pdp__img--video {
            aspect-ratio: 16 / 9;
        }

        .zg-pdp__img:not(.zg-pdp__img--video) {
            max-height: 520px;
        }

        .zg-pdp #package-gallery-slider {
            border-radius: 16px;
            overflow: hidden;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
        }

        .zg-pdp #package-gallery-slider:not(.aspect-video) .keen-slider__slide {
            max-height: 520px;
        }

        .zg-pdp #package-gallery-slider:not(.aspect-video) .keen-slider__slide img {
            max-height: 520px;
            object-fit: cover;
        }

        .zg-pdp__gbtn {
            position: absolute;
            top: 50%;
            translate: 0 -50%;
            z-index: 2;
            width: 40px;
            height: 40px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            background: rgba(19, 0, 45, .82);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            color: #fff;
            display: grid;
            place-items: center;
            cursor: pointer;
            transition: background-color var(--zg-t) ease, border-color var(--zg-t) ease;
        }

        .zg-pdp__gbtn svg {
            width: 18px;
            height: 18px;
        }

        .zg-pdp__gbtn:hover {
            background: var(--zg-purple);
            border-color: var(--zg-purple);
        }

        .zg-pdp__gbtn--prev {
            left: 12px;
        }

        .zg-pdp__gbtn--next {
            right: 12px;
        }

        .zg-pdp__gbtn.hidden {
            display: none;
        }

        .zg-pdp #package-gallery-thumbs {
            margin-top: 10px;
            display: flex;
            gap: 8px;
            overflow-x: auto;
            scrollbar-width: none;
        }

        .zg-pdp #package-gallery-thumbs::-webkit-scrollbar {
            display: none;
        }

        .zg-thumb {
            flex: none;
            width: 66px;
            height: 66px;
            padding: 0;
            border-radius: 12px;
            border: 1px solid var(--zg-line);
            overflow: hidden;
            background: var(--zg-deep);
            opacity: .55;
            cursor: pointer;
            transition: opacity var(--zg-t) ease, border-color var(--zg-t) ease;
        }

        .zg-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

        .zg-thumb:hover,
        .zg-thumb.is-active {
            opacity: 1;
            border-color: var(--zg-purple);
        }

        .zg-pdp #package-gallery-thumbs.hidden {
            display: none;
        }

        .zg-buy {
            --zg-mx: 50%;
            --zg-my: 0%;
            position: relative;
            padding: 22px;
            border-radius: 21px;
            border: 1px solid var(--zg-line);
            background: linear-gradient(180deg, rgba(61, 0, 147, .3) 0%, rgba(19, 0, 45, 0) 44%), var(--zg-bg);
            overflow: hidden;
        }

        .zg-buy>* {
            position: relative;
            z-index: 1;
        }

        .zg-buy__sep {
            margin: 18px 0 0;
            padding-top: 16px;
            border-top: 1px solid rgba(50, 0, 121, .55);
        }

        .zg-buy__box {
            margin: 16px 0;
            padding: 20px;
            border-radius: 15px;
            border: 1px solid rgba(190, 150, 255, .14);
            background: rgba(15, 0, 37, .36);
        }

        .zg-buy__trust {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
        }

        .zg-buy__trust li {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 7px;
            text-align: center;
            padding: 0 6px;
        }

        .zg-buy__trust li+li {
            border-left: 1px solid rgba(50, 0, 121, .55);
        }

        .zg-buy__trust svg {
            flex: none;
            width: 18px;
            height: 18px;
            color: #b98cff;
        }

        .zg-buy__trust b {
            font-size: 11.5px;
            font-weight: 600;
            line-height: 1.25;
            color: rgba(255, 255, 255, .66);
        }

        .zg-buy__pay {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
        }

        .zg-buy__pay p {
            font-size: 10.5px;
            font-weight: 600;
            letter-spacing: .09em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .38);
        }

        .zg-aff {
            position: relative;
            isolation: isolate;
            margin-top: 16px;
            padding: 20px;
            border-radius: 21px;
            background: linear-gradient(180deg, rgba(105, 0, 255, .24) 0%, var(--zg-bg) 58%);
            box-shadow: 0 26px 60px -34px rgba(105, 0, 255, .85);
        }

        .zg-aff::before {
            content: '';
            position: absolute;
            inset: 0;
            padding: 1px;
            border-radius: inherit;
            background: linear-gradient(135deg, #6900ff 0%, #a855f7 42%, #38d68c 100%);
            -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            -webkit-mask-composite: xor;
            mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
            mask-composite: exclude;
            pointer-events: none;
        }

        .zg-aff::after {
            content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            background: radial-gradient(300px 260px at 50% 0%, rgba(105, 0, 255, .5), rgba(105, 0, 255, 0) 72%);
            pointer-events: none;
            animation: zg-bump-pulse 3.4s ease-in-out infinite;
        }

        .zg-aff>* {
            position: relative;
            z-index: 1;
        }

        .zg-aff__head {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .zg-aff__ico {
            flex: none;
            width: 38px;
            height: 38px;
            border-radius: 12px;
            border: 1px solid rgba(168, 85, 247, .46);
            background: rgba(105, 0, 255, .32);
            display: grid;
            place-items: center;
            color: #6fe3a8;
        }

        .zg-aff__ico svg {
            width: 19px;
            height: 19px;
        }

        .zg-aff__t {
            font-family: var(--zg-display);
            font-weight: 800;
            font-style: italic;
            font-size: 17px;
            line-height: 1.06;
            text-transform: uppercase;
        }

        .zg-aff__k {
            display: flex;
            align-items: center;
            gap: 7px;
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: .08em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .42);
        }

        .zg-aff__head .zg-aff__k {
            margin-top: 5px;
        }

        .zg-aff__k svg {
            width: 14px;
            height: 14px;
            color: #6fe3a8;
        }

        .zg-aff__box {
            margin-top: 14px;
            padding: 13px 14px 14px;
            border-radius: 15px;
            border: 1px solid rgba(105, 0, 255, .44);
            background: linear-gradient(180deg, rgba(105, 0, 255, .2) 0%, rgba(15, 0, 37, 0) 100%), var(--zg-deep);
        }

        .zg-aff__split {
            display: flex;
            align-items: flex-end;
            justify-content: space-between;
            gap: 14px;
        }

        .zg-aff__end {
            text-align: right;
        }

        .zg-aff__end .zg-aff__k {
            justify-content: flex-end;
        }

        .zg-aff__v {
            margin-top: 7px;
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 24px;
            line-height: 1;
        }

        .zg-aff__v--pct {
            color: #6fe3a8;
        }

        .zg-aff__txt {
            margin-top: 13px;
            font-size: 12.5px;
            line-height: 1.55;
            color: rgba(255, 255, 255, .58);
        }

        .zg-aff__txt b {
            font-weight: 700;
            color: #6fe3a8;
        }

        .zg-aff__sim {
            margin-top: 10px;
            font-size: 12.5px;
            line-height: 1.4;
            color: rgba(255, 255, 255, .58);
        }

        .zg-aff__sim b {
            font-weight: 700;
            color: #fff;
        }

        .zg-aff__day {
            display: flex;
            align-items: baseline;
            justify-content: space-between;
            gap: 10px;
            margin-top: 9px;
            padding-top: 10px;
            border-top: 1px solid rgba(105, 0, 255, .38);
            font-size: 12.5px;
            color: rgba(255, 255, 255, .58);
        }

        .zg-aff__day span {
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 20px;
            line-height: 1;
            color: #6fe3a8;
        }

        .zg-aff__cta {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 9px;
            margin-top: 16px;
            height: 48px;
            border-radius: 15px;
            background: linear-gradient(180deg, #35d78f 0%, #17a86b 100%);
            font-family: var(--zg-ui);
            font-weight: 700;
            font-size: 14.5px;
            line-height: 1;
            color: #fff;
            text-decoration: none;
            transition: filter var(--zg-t-fast) ease, box-shadow var(--zg-t) var(--zg-ease), translate var(--zg-t) var(--zg-out), scale var(--zg-t) var(--zg-back);
        }

        .zg-aff__cta svg {
            width: 18px;
            height: 18px;
            flex: none;
        }

        .zg-aff__cta:hover {
            filter: brightness(1.1);
            box-shadow: 0 16px 34px -18px rgba(56, 214, 140, .9);
            translate: 0 -1px;
        }

        .zg-aff__cta:active {
            scale: .97;
        }

        .zg-aff--steam {
            background: linear-gradient(180deg, rgba(105, 0, 255, .24) 0%, var(--zg-bg) 58%);
            box-shadow: 0 26px 60px -34px rgba(105, 0, 255, .85);
            transition: border-color var(--zg-t) ease, box-shadow var(--zg-t) var(--zg-ease), translate var(--zg-t) var(--zg-out);
        }

        .zg-aff--steam .zg-aff__head {
            padding-bottom: 2px;
        }

        .zg-aff--steam .zg-aff__ico {
            background: rgba(105, 0, 255, .32);
            box-shadow: none;
            transition: rotate 450ms var(--zg-back), scale 450ms var(--zg-back);
        }

        .zg-aff--steam .zg-aff__v--pct {
            font-size: 28px;
            text-shadow: 0 0 18px rgba(111, 227, 168, .35);
        }

        .zg-aff--steam .zg-aff__box {
            border-color: rgba(105, 0, 255, .44);
            background: linear-gradient(180deg, rgba(105, 0, 255, .2) 0%, rgba(15, 0, 37, 0) 100%), var(--zg-deep);
        }

        .zg-aff--steam .zg-aff__cta {
            margin-top: 18px;
        }

        .zg-aff--steam:hover {
            translate: 0 -2px;
            border-color: rgba(105, 0, 255, .78);
            box-shadow: 0 26px 60px -28px rgba(105, 0, 255, .98), inset 0 1px 0 rgba(190, 150, 255, .12);
        }

        .zg-aff--steam:hover .zg-aff__ico {
            rotate: 8deg;
            scale: 1.06;
        }

        @media (prefers-reduced-motion: reduce) {
            .zg-aff::after {
                animation: none;
            }
        }

        .zg-pdp__name {
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 26px;
            line-height: 1.02;
            text-transform: uppercase;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .zg-pdp__chips {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-top: 12px;
        }

        .zg-pdp__chips--top {
            margin-top: 0;
        }

        .zg-pdp__meta {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 16px;
            font-size: 12px;
            line-height: 1.5;
        }

        .zg-pdp__rating {
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        .zg-pdp__stars {
            display: inline-flex;
            align-items: center;
            gap: 1px;
            color: #f5c451;
            font-family: Arial, sans-serif;
            font-size: 13.5px;
            line-height: 1;
            letter-spacing: -.08em;
            transition: scale 260ms ease, filter 260ms ease;
        }

        .zg-pdp__stars>span {
            display: block;
            color: #f5c451;
        }

        .zg-pdp__stars .zg-pdp__star--partial {
            background: linear-gradient(90deg, #f5c451 var(--zg-star-fill), rgba(245, 196, 81, .2) var(--zg-star-fill));
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            -webkit-text-stroke: .2px rgba(245, 196, 81, .8);
        }

        .zg-pdp__rating b {
            font-weight: 700;
        }

        .zg-pdp__rating>span:not(.zg-pdp__stars) {
            color: rgba(255, 255, 255, .58);
        }

        .zg-pdp__rating:hover .zg-pdp__stars {
            scale: 1.08;
            filter: drop-shadow(0 0 5px rgba(245, 196, 81, .55));
        }

        .zg-pdp__stock {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            color: #8ce4b8;
        }

        .zg-pdp__stock::before {
            content: '';
            width: 6px;
            height: 6px;
            flex: none;
            border-radius: 50%;
            background: currentColor;
            animation: zg-stock-pulse 2.8s ease-in-out infinite;
        }

        .zg-pdp__stock[data-available="false"] {
            color: #b9afc8;
        }

        .zg-pdp__stock[data-available="false"]::before {
            animation: none;
        }

        @keyframes zg-stock-pulse {
            0%,
            100% {
                scale: 1;
                opacity: .8;
                box-shadow: 0 0 0 0 rgba(140, 228, 184, 0);
            }
            50% {
                scale: 1.18;
                opacity: 1;
                box-shadow: 0 0 0 4px rgba(140, 228, 184, .12);
            }
        }

        .zg-buy .zg-chip {
            height: 30px;
            padding: 0 11px;
            gap: 7px;
            font-size: 10.5px;
            font-weight: 800;
            letter-spacing: .08em;
        }

        .zg-buy .zg-chip--star {
            padding: 0 12px 0 10px;
            font-size: 11.5px;
            font-weight: 600;
            letter-spacing: 0;
        }

        .zg-buy .zg-chip svg,
        .zg-buy .zg-chip img {
            width: 14px;
            height: 14px;
        }

        .zg-pdp__pricing {
            display: grid;
            justify-items: start;
            gap: 12px;
        }

        .zg-pdp__pricing .zg-price {
            max-width: 100%;
            overflow-wrap: anywhere;
        }

        .zg-pdp__disc {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
        }

        .zg-pdp__disc .zg-was {
            display: inline-flex;
            align-items: center;
            color: rgba(255, 255, 255, .58);
            line-height: 1.4;
        }

        .zg-pdp__discount {
            display: inline-flex;
            align-items: center;
            padding: 4px 7px;
            border-radius: 6px;
            background: rgba(56, 214, 140, .12);
            color: #8ce4b8;
            font-size: 10px;
            font-weight: 700;
            line-height: 1.2;
            white-space: nowrap;
        }

        .zg-pdp__disc.hidden {
            display: none;
        }

        .zg-pdp__pix {
            display: flex;
            align-items: center;
            gap: 7px;
            margin-top: 10px;
            font-size: 12px;
            line-height: 1.5;
            color: rgba(255, 255, 255, .65);
        }

        .zg-pdp__pix img {
            flex: none;
            width: 14px;
            height: 14px;
        }

        .zg-pdp__buy {
            display: grid;
            gap: 10px;
        }

        .zg-pdp__desc .centralcart-content {
            color: rgba(255, 255, 255, .74);
            font-size: 15px;
            line-height: 1.65;
        }

        .zg-pdp__desc .centralcart-content p+p {
            margin-top: 10px;
        }

        .zg-pdp__desc .centralcart-content ul,
        .zg-pdp__desc .centralcart-content ol {
            padding-left: 20px;
            margin-top: 10px;
        }

        .zg-pdp__desc .centralcart-content ul {
            list-style: disc;
        }

        .zg-pdp__desc .centralcart-content ol {
            list-style: decimal;
        }

        .zg-pdp__desc .centralcart-content li::marker {
            color: #8b5cf6;
        }

        .zg-pdp__desc .centralcart-content li {
            margin: 4px 0;
        }

        .zg-pdp__desc .centralcart-content a {
            color: #c3a3ff;
            text-decoration: underline;
        }

        .zg-pdp__desc .centralcart-content img {
            border-radius: 14px;
            margin-top: 12px;
        }

        .zg-pay {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 14px;
        }

        .zg-pay img {
            width: 42px;
            height: 42px;
            padding: 8px;
            border-radius: 12px;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
        }

        .zg-pdp #variation-list {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            gap: 8px;
            margin-bottom: 18px;
            max-height: 236px;
            overflow-y: auto;
            padding-right: 4px;
            scrollbar-width: thin;
            scrollbar-color: var(--zg-line) transparent;
        }

        .zg-var {
            position: relative;
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            height: 70px;
            padding: 0 16px;
            border-radius: 15px;
            border: 1px solid var(--zg-line);
            background: var(--zg-deep);
            color: #fff;
            text-align: left;
            cursor: pointer;
            transition: border-color var(--zg-t) ease, background-color var(--zg-t) ease, box-shadow var(--zg-t) ease;
        }

        .zg-var:hover {
            border-color: rgba(105, 0, 255, .6);
            background: rgba(105, 0, 255, .08);
        }

        .zg-var[data-selected="true"] {
            border-color: var(--zg-purple);
            background: rgba(105, 0, 255, .16);
            box-shadow: 0 0 0 3px rgba(105, 0, 255, .18);
        }

        .zg-var__l {
            display: flex;
            align-items: center;
            gap: 12px;
            min-width: 0;
        }

        .zg-var__img {
            flex: none;
            width: 42px;
            height: 42px;
            border-radius: 11px;
            object-fit: cover;
            border: 1px solid var(--zg-line);
        }

        .zg-var__radio {
            flex: none;
            width: 18px;
            height: 18px;
            border-radius: 999px;
            border: 2px solid rgba(255, 255, 255, .35);
            display: grid;
            place-items: center;
            transition: border-color var(--zg-t) ease;
        }

        .zg-var__radio i {
            width: 8px;
            height: 8px;
            border-radius: 999px;
            background: var(--zg-purple);
            opacity: 0;
            scale: .5;
            transition: opacity var(--zg-t) ease, scale var(--zg-t) var(--zg-back);
        }

        .zg-var[data-selected="true"] .zg-var__radio {
            border-color: var(--zg-purple);
        }

        .zg-var[data-selected="true"] .zg-var__radio i {
            opacity: 1;
            scale: 1;
        }

        .zg-var__body {
            min-width: 0;
        }

        .zg-var__name {
            font-family: var(--zg-display);
            font-weight: 700;
            font-size: 14.5px;
            line-height: 1.15;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .zg-var__stock {
            margin-top: 3px;
            font-size: 11.5px;
            color: #6fe3a8;
        }

        .zg-var__r {
            flex: none;
            text-align: right;
        }

        .zg-var__was {
            display: block;
            font-size: 11.5px;
            color: rgba(255, 255, 255, .4);
            text-decoration: line-through;
        }

        .zg-var__price {
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 16px;
        }

        .zg-var__off {
            margin-right: 6px;
            font-size: 11px;
            font-weight: 700;
            color: #6fe3a8;
        }

        .zg-pdp #variation-list .zg-var {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            height: auto;
            min-height: 78px;
            padding: 14px 12px;
        }

        .zg-pdp #variation-list .zg-var__name {
            display: block;
            white-space: normal;
            overflow-wrap: anywhere;
            line-height: 1.35;
        }

        .zg-pdp #variation-list .zg-var__stock {
            display: block;
        }

        .zg-pdp #variation-list .zg-var__price {
            display: block;
            white-space: nowrap;
        }

        .zg-pdp #variation-list .zg-var__off {
            display: block;
            margin: 0 0 3px;
        }

        @media (min-width: 1101px) {
            .zg-pdp[data-is-variation-parent="true"] .zg-pdp__grid {
                grid-template-columns: minmax(0, 1fr) 470px;
            }
        }

        @media (max-width: 420px) {
            .zg-pdp #variation-list .zg-var {
                grid-template-columns: minmax(0, 1fr);
                gap: 8px;
            }
            .zg-pdp #variation-list .zg-var__r {
                padding-left: 30px;
                text-align: left;
            }
            .zg-pdp #variation-list .zg-var__off {
                display: inline;
                margin-right: 6px;
            }
        }

        .zg-drawer {
            height: 100%;
            width: 100%;
            max-width: 470px;
            display: flex;
            flex-direction: column;
            background: var(--zg-bg);
            border-left: 1px solid var(--zg-line);
            box-shadow: -30px 0 80px -30px rgba(105, 0, 255, .55);
            font-family: var(--zg-ui);
            color: #fff;
        }

        .zg-drawer__head {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 22px 24px 18px;
        }

        .zg-drawer__head::after {
            content: '';
            position: absolute;
            left: 24px;
            right: 24px;
            bottom: 0;
            height: 1px;
            background: linear-gradient(90deg, rgba(105, 0, 255, .75) 0%, rgba(105, 0, 255, .05) 70%, rgba(105, 0, 255, 0) 100%);
        }

        .zg-drawer__title {
            display: flex;
            align-items: center;
            gap: 12px;
            font-family: var(--zg-display);
            font-weight: 900;
            font-style: italic;
            font-size: 26px;
            line-height: 1;
            text-transform: uppercase;
        }

        .zg-drawer__close,
        .zg-close {
            width: 42px;
            height: 42px;
            border-radius: 999px;
            border: 1px solid var(--zg-line);
            background: var(--zg-pill);
            color: #fff;
            display: grid;
            place-items: center;
            cursor: pointer;
            transition: background-color var(--zg-t) ease, border-color var(--zg-t) ease, scale var(--zg-t) var(--zg-back);
        }

        .zg-drawer__close svg,
        .zg-close svg {
            width: 20px;
            height: 20px;
        }

        .zg-drawer__close:hover,
        .zg-close:hover {
            background: var(--zg-purple);
            border-color: var(--zg-purple);
            scale: 1.06;
        }

        .zg-drawer__close:active,
        .zg-close:active {
            scale: .94;
        }

        .zg-drawer__list {
            flex: 1 1 auto;
            min-height: 0;
            overflow-y: auto;
            padding: 18px 24px;
            display: flex;
            flex-direction: column;
            gap: 12px;
            scrollbar-width: thin;
            scrollbar-color: var(--zg-line) transparent;
        }