.row-products .wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-left: -16px;
}

.row-products .product {
    background: #14181e;
    border: 1px solid #21262d;
    border-radius: 0;
    padding: 10px;
    margin: 0 0 16px 16px;
    flex: 0 0 220px;
    width: 220px;
    height: 104px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: background .15s, border-color .15s, box-shadow .15s;
    box-shadow: 0 6px 12px rgba(0,0,0,0.28);
}

.row-products .product:hover {
    background: #1c2127;
    border-color: #2a3037;
    box-shadow: 0 8px 14px rgba(0,0,0,0.36);
}

.row-products .product.grad-accent {
    background: linear-gradient(90deg, rgba(232,159,42,0.30) 0%, rgba(232,159,42,0) 70%),
    #14181e;
}

.row-products .product.red-grad {
    background: linear-gradient(90deg, rgba(224,59,59,0.30) 0%, rgba(224,59,59,0) 70%),
    #14181e;
}

.row-products .product.purple-grad {
    background: linear-gradient(90deg, rgba(123,97,255,0.30) 0%, rgba(123,97,255,0) 70%),
    #14181e;
}

.row-products .product.purple-grad:hover {
    background: linear-gradient(90deg, rgba(123,97,255,0.40) 0%, rgba(123,97,255,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.row-products .product.grad-accent:hover {
    background: linear-gradient(90deg, rgba(232,159,42,0.40) 0%, rgba(232,159,42,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.row-products .product.red-grad:hover {
    background: linear-gradient(90deg, rgba(224,59,59,0.40) 0%, rgba(224,59,59,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.row-products .product.teal-grad {
    background: linear-gradient(90deg, rgba(42,157,143,0.30) 0%, rgba(42,157,143,0) 70%),
    #14181e;
}

.row-products .product.teal-grad:hover {
    background: linear-gradient(90deg, rgba(42,157,143,0.40) 0%, rgba(42,157,143,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.card-stripe.purple {
    background: #7b61ff;
}

.card-stripe.red {
    background: #e03b3b;
}

.card-stripe.teal {
    background: #2a9d8f;
}

.card-stripe {
    height: 2px;
    background: #e89f2a;
    margin: -10px -10px 8px -10px;
    border-radius: 0;
}

.card-title {
    font-weight: normal;
    margin: 0 0 5px 0;
    line-height: 1.28;
    font-size: 17px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 2.6em;
    overflow: hidden;
    white-space: normal;
    overflow-wrap: break-word;
    word-wrap: break-word;
    text-shadow: 0 2px 6px rgba(0,0,0,0.86);
    transition: color .14s ease, text-shadow .14s ease;
}

.row-products .card-row {
    display: flex;
    align-items: center;
    flex: 0 0 56px;
    min-width: 0;
}

.row-products .card-left {
    flex: 0 0 70%;
    max-width: 70%;
    height: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

.row-products .card-left img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

.row-products .card-right {
    flex: 0 0 30%;
    max-width: 30%;
    text-align: center;
}

.row-products .card-right .btn {
    font-size: 13px;
    padding: 7px 11px;
}

.row-products .product .card-right a.btn-primary {
    transition: background .16s ease, border-color .16s ease, color .16s ease;
}

.row-products .product.grad-accent .card-right a.btn-primary:hover {
    background: #c66d1f !important;
    border-color: #c66d1f !important;
    color: #111 !important;
}

.row-products .product.red-grad .card-right a.btn-primary.red:hover,
.row-products .product.red-grad .card-right a.btn-primary:hover {
    background: #b23333 !important;
    border-color: #b23333 !important;
    color: #fff !important;
}

.row {
    margin-bottom: 24px;
}

.row-vip .vip {
    min-height: 90px;
    background: #14181e;
    border: 1px solid #21262d;
    margin: 0 16px 16px 0;
    border-radius: 4px;
    display: flex;
    align-items: flex-start;
    padding: 12px 12px 12px 14px;
    width: calc((100% - 32px)/3);
    flex: 0 0 calc((100% - 32px)/3);
    position: relative;
    overflow: hidden;
    transition: background .15s, border-color .15s, box-shadow .15s;
    box-shadow: 0 6px 14px rgba(0,0,0,0.34);
}

.row-vip .vip .vip-thumb {
    width: 90px;
    height: 90px;
    display: block;
    margin-right: 14px;
    border-radius: 3px;
    flex: 0 0 90px;
    align-self: flex-start;
    box-sizing: border-box;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain !important;
}

.row-vip .vip-wrap {
    display: flex;
    flex-wrap: wrap;
}

.row-vip .vip:nth-child(3n) {
    margin-right: 0;
}

.row-vip .vip > div,
.row-vip .vip .vip-thumb {
    position: relative;
    z-index: 2;
}

.row-vip .vip::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
    transition: opacity .18s ease;
    opacity: 0;
    background: radial-gradient(ellipse at center,
    rgba(0,0,0,0) 55%,
    rgba(0,0,0,0.48) 100%);
    mix-blend-mode: multiply;
}

.row-vip .vip:hover::after {
    opacity: 1;
}

.row-vip .vip > div {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch; /* changed from center - let children control their own alignment */
    gap: 14px;
    height: 100%; /* make centering deterministic (fills the .vip card height) */
}

.vip .head {
    margin: 0 0 4px 0;
    font-weight: normal;
    text-shadow: 1px 2px 8px rgba(0,0,0,0.96);
    transition: color .14s ease, text-shadow .14s ease;
    font-size: 18px;
    display: block; /* removed flex */
}

/* Dedicated button container (right column) - takes full height */
.vip-button-column {
    flex: 0 0 auto;
    display: flex;
    align-items: center; /* vertically center the button within this column */
    order: 2;
    align-self: stretch; /* take full height of parent */
}

/* (Optional) keep the button from introducing vertical offset inside the centered column */
.vip-button-column .vip-buy-btn {
    margin: 0;
}

/* Text content container (right of thumb, left of button) */
.vip-text-column {
    flex: 1 1 auto;
    min-width: 0;
    order: 1;
    align-self: flex-start; /* keep text at the top */
}

.vip .head .vip-buy-btn {
    margin: 0; /* remove all margins */
}

.vip .product_description {
    margin: 4px 0 0 0;
    font-size: 14px;
    color: #c9ced4;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    text-align: left;
    transition: color .14s ease, text-shadow .14s ease;
}

.row-vip .vip.l3 .vip-thumb {
    background-color: transparent;
    background-image: url("/img/orange.png");
}

.vip.l2 .vip-thumb {
    background-color: transparent;
    background-image: url("/img/blue.webp");
}

.vip.l1 .vip-thumb {
    background-color: transparent;
    background-image: url("/img/green.png");
}

.vip.l4 .vip-thumb {
    background-color: transparent;
    background-image: url("/img/purple.png");
}

.vip.l5 .vip-thumb {
    background-color: transparent;
    background-image: url("/img/red.png");
}

.vip.l3 {
    border-color: #c96f1f;
    background: linear-gradient(90deg, rgba(232,159,42,0.32) 0%, rgba(232,159,42,0) 70%),
    #14181e;
}

.vip.l2 {
    border-color: #36b8aa;
    background: linear-gradient(90deg, rgba(42,157,143,0.30) 0%, rgba(42,157,143,0) 70%),
    #14181e;
}

.vip.l1 {
    border-color: #7dd653;
    background: linear-gradient(90deg, rgba(108,191,67,0.30) 0%, rgba(108,191,67,0) 70%),
    #14181e;
}

.vip.l4 {
    border-color: #8b79ff;
    background: linear-gradient(90deg, rgba(123,97,255,0.34) 0%, rgba(123,97,255,0) 72%),
    #14181e;
}

.vip.l5 {
    /* was: border-color:#3a0c0c; and very dark base (#060401ba) */
    border-color: #7a2a2a;
    background:
        linear-gradient(90deg, rgba(224,59,59,0.26) 0%, rgba(224,59,59,0) 72%),
        #14181e;
}

.vip.l3:hover {
    background: #e89f2a;
    border-color: #e89f2a;
}

.vip.l3:hover:before {
    background-color: #e89f2a;
}

.vip.l2:hover {
    background: #33c3a9;
    border-color: #33c3a9;
}

.vip.l2:hover:before {
    background-color: #33c3a9;
}

.vip.l1:hover {
    background: #5abf4a;
    border-color: #8ddf7d;
}

.vip.l1:hover:before {
    background-color: #8ddf7d;
}

.vip.l4:hover {
    background: #543ed0;
    border-color: #7a66ff;
}

.vip.l4:hover:before {
    background-color: #8b79ff;
}

.vip.l5:hover:before {
    background-color: #b62a2a;
}

.row-vip .vip.l5:hover::after {
    background: radial-gradient(ellipse at center,
    rgba(0,0,0,0) 50%,
    rgba(0,0,0,0.48) 100%);
    mix-blend-mode: multiply;
    opacity: 1;
}

.vip .copy {
    color: #a9b1ba;
    font-size: 14px;
    margin: 0;
    transition: color .14s ease, text-shadow .14s ease;
}

.row-vip .vip:hover .copy {
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.92);
}

.row-vip .btn {
    padding: 12px 18px;
    font-size: 16px;
    text-shadow: #0b0e13 1px 1px 0;
}

.row-vip .vip:hover {
    box-shadow: 0 8px 16px rgba(0,0,0,0.40);
}

.vip.l5:hover {
    background: #902424;
    border-color: #d94b4b;
}

.vip-desc {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: #c9ced4;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
}

.limited-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    background: #8b2a2a;
    border-radius: 3px;
    border: none;
    box-shadow: none;
    vertical-align: middle;
    white-space: nowrap;
}

.rarity-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: #394048;
    border-radius: 3px;
    vertical-align: middle;
    white-space: nowrap;
}

.rarity-common {
    background: #394048;
}

.rarity-rare {
    background: #7b61ff;
}

.rarity-limited {
    background: #e03b3b;
}

.rarity-hot {
    background: #e03b3b;
}

.rarity-btn.rarity-common {
    background: #394048;
    border-color: #394048;
    color: #fff;
}

.rarity-btn.rarity-common:hover {
    background: #50585f;
    border-color: #50585f;
}

.rarity-btn.rarity-rare {
    background: #7b61ff;
    border-color: #7b61ff;
    color: #fff;
}

.rarity-btn.rarity-rare:hover {
    background: #654fe0;
    border-color: #654fe0;
}

.rarity-btn.rarity-limited {
    background: #e03b3b;
    border-color: #e03b3b;
    color: #fff;
}

.rarity-btn.rarity-limited:hover {
    background: #c53333;
    border-color: #c53333;
}

.rarity-btn.rarity-hot {
    background: #e03b3b;
    border-color: #e03b3b;
    color: #fff;
}

.rarity-btn.rarity-hot:hover {
    background: #c53333;
    border-color: #c53333;
}

.row-cases .case-wrap,
.row-bundles .bundle-wrap {
    display: flex;
    flex-wrap: wrap;
}

.row-cases .case,
.row-bundles .bundle {
    background: #14181e;
    border: 1px solid #21262d;
    margin: 0 16px 16px 0;
    border-radius: 0;
    min-height: 96px;
    display: flex;
    align-items: flex-start;
    padding: 12px 12px 12px 14px;
    width: calc((100% - 32px)/3);
    flex: 0 0 calc((100% - 32px)/3);
    position: relative;
    overflow: hidden;
    box-shadow: 0 6px 12px rgba(0,0,0,0.28);
    transition: background .15s, border-color .15s, box-shadow .15s;
}

.row-cases .case:nth-child(3n),
.row-bundles .bundle:nth-child(3n) {
    margin-right: 0;
}

.row-cases .case:hover,
.row-bundles .bundle:hover {
    background: #1c2127;
    border-color: #2a3037;
    box-shadow: 0 8px 14px rgba(0,0,0,0.36);
}

.case-stripe,
.bundle-stripe {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: #e89f2a;
    pointer-events: none;
    z-index: 3;
}

.bundle.purple-grad .bundle-stripe {
    background: #7b61ff;
}

.case.grad-accent .case-stripe {
    background: #e89f2a;
}

.case-thumb,
.bundle-thumb {
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    margin-right: 16px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain !important;
    align-self: flex-start;
    z-index: 2;
}

.case-body,
.bundle-body {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding-top: 2px;
    z-index: 2;
}

.case .head,
.bundle .head {
    font-weight: normal;
    margin: 0 0 4px 0;
    font-size: 18px;
    text-shadow: 1px 2px 8px rgba(0,0,0,0.96);
}

.product_description {
    margin: 4px 0 0 0;
    font-size: 13px;
    color: #c9ced4;
    line-height: 1.25;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    transition: color .14s ease, text-shadow .14s ease;
}

.row-vip .vip:hover .product_description {
    color: #ffffff;
    text-shadow: 0 2px 8px rgba(0,0,0,0.92);
}

.case.grad-accent {
    background: linear-gradient(90deg, rgba(232,159,42,0.30) 0%, rgba(232,159,42,0) 70%),
    #14181e;
}

.case.grad-accent:hover {
    background: linear-gradient(90deg, rgba(232,159,42,0.40) 0%, rgba(232,159,42,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.bundle.purple-grad {
    background: linear-gradient(90deg, rgba(123,97,255,0.30) 0%, rgba(123,97,255,0) 70%),
    #14181e;
}

.bundle.purple-grad:hover {
    background: linear-gradient(90deg, rgba(123,97,255,0.40) 0%, rgba(123,97,255,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.case.purple-grad {
    background: linear-gradient(90deg, rgba(123,97,255,0.30) 0%, rgba(123,97,255,0) 70%),
    #14181e;
}

.case.purple-grad:hover {
    background: linear-gradient(90deg, rgba(123,97,255,0.40) 0%, rgba(123,97,255,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.bundle.grad-accent {
    background: linear-gradient(90deg, rgba(232,159,42,0.30) 0%, rgba(232,159,42,0) 70%),
    #14181e;
}

.bundle.grad-accent:hover {
    background: linear-gradient(90deg, rgba(232,159,42,0.40) 0%, rgba(232,159,42,0) 70%),
    #181c21;
    border-color: #2a3037;
}

.case.purple-grad .case-stripe {
    background: #7b61ff;
}

.bundle.grad-accent .bundle-stripe {
    background: #e89f2a;
}

.row-products .product .card-right .btn.btn-small.btn-primary {
    padding: 7px 8px;
    min-width: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.row-products .product .card-right .btn.btn-small.btn-primary.rarity-btn {
    padding: 7px 9px;
    min-width: 0;
    box-sizing: border-box;
    white-space: nowrap;
}

.coin {
    border-radius: 60%;
    filter: drop-shadow(0 0 1px rgba(0,0,0,0.65)) drop-shadow(0 0 8px rgba(0,0,0,0.35));
    -webkit-filter: drop-shadow(0 0 1px rgba(0,0,0,0.65)) drop-shadow(0 0 8px rgba(0,0,0,0.35));
}

.vip-subnote {
    margin: 0;
    padding: 8px 12px;
    font-size: 13px;
    line-height: 1.25;
    color: #c9ced4;
}

.vip-section {
    background: linear-gradient(135deg,
    rgba(232,159,42,0.08) 0%,
    rgba(232,159,42,0.04) 26%,
    rgba(232,159,42,0.02) 44%,
    rgba(232,159,42,0.01) 56%,
    rgba(24,26,30,0.60) 78%,
    rgba(8,9,11,0.30) 100%);
    background-color: #0e0f12;
    border: 1px solid rgba(33,38,45,0.7);
    border-radius: 6px;
    padding: 16px 18px 12px;
    margin: 0 0 28px 0;
    position: relative;
    box-shadow: 0 6px 12px rgba(0,0,0,0.28);
    overflow: hidden;
    transition: border-color .18s ease;
    will-change: border-color;
}

.vip-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 38% 30%,
    rgba(255,190,82,0.06) 0%,
    rgba(255,190,82,0.03) 18%,
    rgba(255,190,82,0.01) 36%,
    rgba(0,0,0,0.00) 60%);
    opacity: 0.12;
    pointer-events: none;
    mix-blend-mode: screen;
    z-index: 1;
}

.vip-section::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/img/CTA_Banner.jpg") center/cover no-repeat;
    opacity: 0.40;
    pointer-events: none;
    mix-blend-mode: overlay;
    filter: grayscale(0%) contrast(2.02) brightness(0.72);
    z-index: 1;
    mask: radial-gradient(circle at 50% 42%,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.60) 50%,
    rgba(0,0,0,0.28) 76%,
    rgba(0,0,0,0.00) 96%);
}

.vip-section > * {
    position: relative;
    z-index: 2;
}

.vip-section .section-title {
    margin: 0 0 14px 0;
    letter-spacing: 0.5px;
}

.vip-section:hover {
    border-color: rgba(232,159,42,0.18);
}

.row-vip .vip-item {
    width: calc((100% - 32px)/3);
    flex: 0 0 calc((100% - 32px)/3);
    margin: 0 16px 16px 0;
    min-width: 0;
}

.row-vip .vip-item:nth-child(3n) {
    margin-right: 0;
}

.row-vip .vip-item > .vip {
    width: 100%;
    flex: 0 0 auto;
    margin: 0;
}

.vip-sample-box {
    margin: 6px 0 0 0;
    padding: 8px 10px 9px;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    background: transparent;
}

.vip-sample-box::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    padding: 1px;
    background: linear-gradient(180deg,
    rgba(232,159,42,0.00) 0%,
    rgba(232,159,42,0.00) 28%,
    rgba(232,159,42,0.10) 52%,
    rgba(232,159,42,0.22) 100%);
    -webkit-mask: linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 1;
}

@supports not ((-webkit-mask: linear-gradient(#000 0 0)) or (mask: linear-gradient(#000 0 0))){

    .vip-sample-box::before{
        background:transparent;
        -webkit-mask:none;
        mask:none;
        border:1px solid rgba(232,159,42,0.18);
        padding:0;
    }

}

.vip-sample-list {
    margin: 0;
    padding: 0 0 0 18px;
    color: rgba(232,159,42,0.78);
    font-size: 14px;
    line-height: 1.25;
    position: relative;
    z-index: 1;
}

.vip-sample-list li {
    margin: 2px 0;
}

.row-vip .vip-item.vip-item-wide {
    width: 100%;
    flex: 0 0 100%;
    margin-right: 0;
}

.row-vip .vip-item.vip-item-wide + .vip-item {
    clear: both;
}

.vip-buy-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0 0;
    text-decoration: none;
}

.vip-buy-btn:hover {
    text-decoration: none;
}

@media screen and (max-width:640px) {
    .row-products .product {
        width: 100%;
        flex: 1 1 100%;
        margin: 0 0 20px 0;
        padding-left: 14px;
        padding-right: 14px;
        margin-left: 0;
    }

    .row-products .wrap {
        margin-left: 0;
    }
}

@media screen and (max-width:1100px) and (min-width:641px) {
    .row-products .wrap {
        margin-left: 0;
    }

    .row-products .product {
        flex: 0 0 calc((100% - 16px)/2);
        width: calc((100% - 16px)/2);
        margin: 0 16px 16px 0;
    }

    .row-products .product:nth-child(2n) {
        margin-right: 0;
    }
}

@media screen and (max-width:960px) {
    .row-vip .vip-item {
        width: 100%;
        flex: 0 0 100%;
        margin: 0 0 16px 0;
    }

    .row-vip .vip-item:nth-child(3n) {
        margin-right: 0;
    }
}

@media screen and (max-width:890px) {
    .row-vip .vip-item {
        width: 100% !important;
        flex: 0 0 100% !important;
        margin: 0 0 16px 0 !important;
    }
}

@media screen and (max-width:960px) {
    .row-cases .case,
    .row-bundles .bundle {
        width: 100%;
        flex: 0 0 100%;
        margin: 0 0 16px 0;
    }
}

@media screen and (max-width:640px) {
    .row-cases .case,
    .row-bundles .bundle {
        width: 100% !important;
        flex: 0 0 100% !important;
        margin: 0 0 16px 0 !important;
    }

    .case-thumb,
    .bundle-thumb {
        flex: 0 0 84px;
        width: 84px;
        height: 84px;
        margin-right: 14px;
    }
}

@media (forced-colors: active) {
    .vip-section::after {
        display: none;
    }
}

@media (forced-colors: active) {
    .vip-subnote {
        background: Canvas;
        border: 1px solid ButtonBorder;
        box-shadow: none;
    }
}

@media screen and (max-width:960px) {
    .row-vip .vip-item.vip-item-wide {
        width: 100%;
        flex: 0 0 100%;
        margin: 0 0 16px 0;
    }
}
.row-vip .vip {
    align-items: stretch; /* override flex-start */
}

/* Remove the broken 100% height hack */
.row-vip .vip > div {
    height: auto;         /* override height:100% */
    align-self: stretch;  /* make sure it fills card height */
}

/* Make centering bulletproof */
.vip-button-column {
    justify-content: center;  /* optional, harmless */
}
.row-vip .vip .vip-thumb {
    align-self: center; /* was flex-start */
}