.category-wrapper {
    /* [CONFIG 1] Visual speed of the animation motion */
    --promo-anim-speed: 1.6s;
    position: relative;
}

.prmoLabelAni {
    position: relative;
    overflow: visible;
}

.category-nav {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background: #191919;
    border-radius: 70px;
    position: relative;
    z-index: 1;
}

.categoryNavNew {
    position: relative;
}

.newBadge {
    position: absolute;
    top: -90%;
    left: 50%;
    transform: translateX(-50%);
}

.newBadge .newBadgePromoWrap {
    display: block;
}

.badgeRibbonBody {
    transform-origin: top center;
    transform-box: fill-box;
    animation: newBadgeRibbon 3s ease-in-out infinite;
}

@keyframes newBadgeRibbon {
    0%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(0.85); }
}

@keyframes newBadgeTxt {
    0%, 100% { transform: translate(-50%, -50%) scaleY(1); }
    50% { transform: translate(-50%, -50%) scaleY(0.85); }
}

.category {
    position: relative;
    color: #9b9b9b;
    font-size: 25px;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}

.promoSec {
    display: flex;
    align-items: center;
    gap: 3px;
}

.promo {
    position: relative;
    color: #8f99a3;
    display: inline-block;
    font-size: 1rem;
    cursor: pointer;
    transition: color 0.3s ease, transform 0.3s ease;
}

.categoryNavNew.animate-promo .promo {
    animation: promoText var(--promo-anim-speed, 1.6s) ease-in-out;
}

@keyframes promoText {
    0% { transform: scale(1); color: #9b9b9b; }
    35% { transform: scale(1.15); color: #ffc400; }
    65% { transform: scale(1.15); color: #ffc400; }
    100% { transform: scale(1); color: #9b9b9b; }
}

.leftStar,
.rightStar {
    position: absolute;
}

.rightStar {
    width: 30px;
    height: 30px;
    bottom: -5px;
    right: -10px;
}

.leftStar span::after,
.rightStar span::after {
    content: "✦";
    position: absolute;
    color: #ffc400;
    font-size: 8px;
    line-height: 1;
    opacity: 0;
    transform: scale(0);
}

.categoryNavNew.animate-promo .leftStar span:nth-child(1)::after {
    animation: starShowCw 1.35s ease-in-out 0.05s both;
}

.categoryNavNew.animate-promo .leftStar span:nth-child(2)::after {
    animation: starMove 1.25s ease-in-out 0.2s both;
}

.categoryNavNew.animate-promo .leftStar span:nth-child(3)::after {
    animation: starShowCw 1.3s ease-in-out 0.12s both;
}

.categoryNavNew.animate-promo .rightStar span:nth-child(1)::after {
    animation: starShowCcw 1.3s ease-in-out 0.15s both;
}

.categoryNavNew.animate-promo .rightStar span:nth-child(2)::after {
    animation: starShowCw 1.4s ease-in-out 0s both;
}

.categoryNavNew.animate-promo .rightStar span:nth-child(3)::after {
    animation: starShowCcw 1.35s ease-in-out 0.16s both;
}

.categoryNavNew.animate-promo .rightStar span:nth-child(4)::after {
    animation: starMove 1.35s ease-in-out 0.08s both;
}

.leftStar span:nth-child(1)::after { top: -16px; left: -10px; }
.leftStar span:nth-child(2)::after { top: -25px; left: -3px; font-size: 6px; }
.leftStar span:nth-child(3)::after { bottom: 20px; left: 10px; }

.rightStar span:nth-child(1)::after { top: 15px; right: 4px; font-size: 7px; }
.rightStar span:nth-child(2)::after { top: 22px; right: 9px; font-size: 9px; }
.rightStar span:nth-child(3)::after { bottom: -2px; right: 20px; font-size: 11px; }
.rightStar span:nth-child(4)::after { top: -10px; right: -20px; font-size: 6px; }

@keyframes starMove {
    0% {
        opacity: 0;
        transform: translateX(0) rotate(0deg);
        filter: drop-shadow(0 0 0px transparent);
    }
    35% {
        opacity: 1;
        transform: translateX(-10px) rotate(-45deg) scale(1.1);
        filter: drop-shadow(0 0 1.5px rgba(255, 230, 0, 0.6)) brightness(1.15);
        color: #ffe875;
    }
    65% {
        opacity: 1;
        transform: translateX(-20px) rotate(-90deg) scale(1);
        filter: drop-shadow(0 0 1px rgba(255, 196, 0, 0.4)) brightness(1.05);
        color: #ffc400;
    }
    100% {
        opacity: 0;
        transform: translateX(-28px) rotate(-90deg) scale(0);
        filter: drop-shadow(0 0 0px transparent);
        color: #ffc400;
    }
}

@keyframes starShowCw {
    0% {
        opacity: 0;
        transform: scale(0) rotate(0deg);
        filter: drop-shadow(0 0 0px transparent);
    }
    35% {
        opacity: 1;
        transform: scale(1.15) rotate(45deg);
        filter: drop-shadow(0 0 1.5px rgba(255, 230, 0, 0.6)) brightness(1.15);
        color: #ffe875;
    }
    65% {
        opacity: 1;
        transform: scale(1) rotate(90deg);
        filter: drop-shadow(0 0 1px rgba(255, 196, 0, 0.4)) brightness(1.05);
        color: #ffc400;
    }
    100% {
        opacity: 0;
        transform: scale(0) rotate(90deg);
        filter: drop-shadow(0 0 0px transparent);
        color: #ffc400;
    }
}

@keyframes starShowCcw {
    0% {
        opacity: 0;
        transform: scale(0) rotate(0deg);
        filter: drop-shadow(0 0 0px transparent);
    }
    35% {
        opacity: 1;
        transform: scale(1.15) rotate(-45deg);
        filter: drop-shadow(0 0 1.5px rgba(255, 230, 0, 0.6)) brightness(1.15);
        color: #ffe875;
    }
    65% {
        opacity: 1;
        transform: scale(1) rotate(-90deg);
        filter: drop-shadow(0 0 1px rgba(255, 196, 0, 0.4)) brightness(1.05);
        color: #ffc400;
    }
    100% {
        opacity: 0;
        transform: scale(0) rotate(-90deg);
        filter: drop-shadow(0 0 0px transparent);
        color: #ffc400;
    }
}

.promoSec .newBtn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #302818;
    padding: 0;
    border: 0.83px solid #F9BB22;
    border-radius: 3.32px;
    color: #ffc400;
    font-size: 14px;
    min-width: 21.96px;
    min-height: 20.32px;
    box-shadow: 0px 0px 6.6px 0px #FFFFFF40 inset;
}

.categoryNavNew.animate-promo .newBtn {
    animation: newBtnAnimation var(--promo-anim-speed, 1.6s) ease-in-out;
}

@keyframes newBtnAnimation {
    0% { transform: translateX(0); }
    35% { transform: translateX(15px); }
    65% { transform: translateX(15px); }
    100% { transform: translateX(0); }
}

.promoSec .newBtn::after {
    content: "";
    position: absolute;
    top: 0;
    left: -60%;
    width: 30%;
    height: 100%;
    background: rgb(255 255 255 / 34%);
    filter: blur(6px);
    transform: skewX(-20deg);
    pointer-events: none;
}

.categoryNavNew.animate-promo .newBtn::after {
    animation: shineMove var(--promo-anim-speed, 1.6s) ease-in-out;
}

@keyframes shineMove {
    0% { left: -60%; }
    100% { left: 130%; }
}

.promoSec .newBtn .newText {
    display: inline-block;
    font-size: 10px;
    line-height: 12px;
}

.categoryNavNew.animate-promo .newBtn .newText {
    animation: newTextAnimation var(--promo-anim-speed, 1.6s) ease-in-out;
}

@keyframes newTextAnimation {
    0% { transform: scale(1); }
    35% { transform: scale(1.2); }
    65% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

.newBadgePromoImg {
    position: relative;
    height: 24px;
    width: 60px;
}

.newBadgePromoImg img,
.newBadgePromoImg svg {
    height: 100%;
    width: 100%;
}

.newBadgePromoTxt {
    position: absolute;
    top: 41%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: top center;
    animation: newBadgeTxt 3s ease-in-out infinite;
}

.newBadgePromoTxt span {
    font-size: 10px;
    line-height: 20px;
    color: #ffff;
    font-weight: 800;
    font-family: 'Roboto', sans-serif;
}

@media(max-width: 768px) {
    .newBadge {
        top: -12px;
    }

    .newBadgePromoImg {
        height: 17px;
    }

    .leftStar span::after,
    .rightStar span::after {
        font-size: 5px;
    }

    .leftStar span:nth-child(1)::after {
        font-size: 5px;
        top: -11px;
        left: -8px;
    }

    .leftStar span:nth-child(2)::after {
        font-size: 4px;
        top: -22px;
        left: -4px;
    }

    .leftStar span:nth-child(3)::after {
        font-size: 5px;
        bottom: 14px;
        left: 6px;
    }

    .rightStar span:nth-child(1)::after {
        font-size: 5px;
        top: 10px;
        right: 2px;
    }

    .rightStar span:nth-child(2)::after {
        font-size: 6px;
        top: 17px;
        right: 4px;
    }

    .rightStar span:nth-child(3)::after {
        font-size: 7px;
        bottom: 2px;
        right: 18px;
    }

    .rightStar span:nth-child(4)::after {
        font-size: 4px;
        top: 1px;
        right: -12px;
    }
}
