/* =========================================================
   REVIR CART ACCENT V3.1.1
   Neon green cart CTA
========================================================= */

.cart-btn{
    position:relative;
    overflow:hidden;
    min-width:58px;
    min-height:40px;

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;

    border:1px solid #7fff4f!important;
    border-radius:12px!important;

    background:
        linear-gradient(
            135deg,
            #b8ff62,
            #8cff2b 58%,
            #59d900
        )!important;

    color:#081006!important;

    font-weight:900!important;

    box-shadow:
        0 8px 25px rgba(117,255,0,.18),
        0 0 16px rgba(117,255,0,.10),
        inset 0 1px 0 rgba(255,255,255,.35);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease!important;
}

.cart-btn:before{
    content:"";
    position:absolute;
    top:-25%;
    bottom:-25%;
    left:-70px;

    width:42px;

    transform:skewX(-18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.55),
            transparent
        );

    animation:revirCartShine 4.3s ease-in-out infinite;
}

.cart-btn:hover{
    transform:translateY(-2px) scale(1.025);
    filter:brightness(1.05);

    box-shadow:
        0 12px 32px rgba(117,255,0,.28),
        0 0 24px rgba(117,255,0,.14),
        inset 0 1px 0 rgba(255,255,255,.4);
}

.cart-btn:active{
    transform:translateY(0) scale(.97);
}

.cart-btn span[data-cart-count]{
    position:relative;
    z-index:2;

    min-width:20px;
    height:20px;

    display:inline-grid;
    place-items:center;

    padding:0 5px;

    border:1px solid rgba(0,0,0,.14);
    border-radius:99px;

    background:#081006;
    color:#9dff66;

    font-size:10px;
    font-weight:900;
}

.cart-btn.has-items{
    animation:revirCartAttention 2.7s ease-in-out infinite;
}

.cart-btn.has-items span[data-cart-count]{
    box-shadow:0 0 14px rgba(8,16,6,.26);
}

@keyframes revirCartShine{
    0%,55%{
        left:-70px;
    }

    78%,100%{
        left:calc(100% + 70px);
    }
}

@keyframes revirCartAttention{
    0%,82%,100%{
        box-shadow:
            0 8px 25px rgba(117,255,0,.18),
            0 0 16px rgba(117,255,0,.10),
            inset 0 1px 0 rgba(255,255,255,.35);
    }

    90%{
        box-shadow:
            0 12px 36px rgba(117,255,0,.34),
            0 0 28px rgba(117,255,0,.18),
            inset 0 1px 0 rgba(255,255,255,.4);
    }
}

@media(max-width:650px){
    .cart-btn{
        min-width:52px;
        min-height:38px;
        padding:8px 10px!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .cart-btn,
    .cart-btn:before{
        animation:none!important;
    }
}
