/* ==============================================================================

  CART

============================================================================== */

.background-blur {
    position: fixed;
    background-color: hsl(0, 0%, 0%, .08);
    backdrop-filter: blur(2px);
    z-index: 1000;
    transition-duration: .3s !important;pointer-events: none;
    opacity: 0;
}

.background-blur.open {
    opacity: 1;
    pointer-events: all;
}

.cart-wrap {
    width: 390px;
    position: fixed;
    transition-duration: .3s !important;
    right: 0;
    top: 0;
    height: 100%;
    background-color: white;
    box-shadow: -1px 0px 5px 0px rgba(0, 0, 0, 20%);
    z-index: 1001;
    transform: translateX(105%);
    filter: blur(2px);
}


.cart-wrap.open {
    transform: translateX(0);
    filter: blur(0px);
}

/* =======================================
  TOP BLOCK
======================================= */

.cart-top-block {
    display: grid;
    grid-template-columns: 1fr min-content;
    border-bottom: 1px solid hsl(0, 0%, 0%, .04);
    background-color: #FCFAF8;
    padding: var(--g18);
}

.cart-top-block .close {
    height: 12px;
    width: 12px;
    align-self: center;
}

.cart-top-block .close svg {
    height: 9px;
    fill: #808080;
    transition: inherit;
    overflow: visible;
}

.cart-top-block .close:hover svg {
    fill: black;
}

.cart-top-block .label {
    font-size: 13px;
    font-variation-settings: 'wght' 550;
    align-self: center;
    color: #6F6D6D;
    align-self: center;
}

.cart-top-block .label span {
    font-variation-settings: 'wght' 600;
    color: #1C1C1C;
}

.reward-wrapper {
    position: relative;
    grid-column: 1 / 3;
    margin-top: var(--g16);
}

.reward-meter .reward-meter-label-ammount {
    font-size: 11px;
    font-variation-settings: 'wght' 500;
    font-weight: 600;
    color: #FFFFFF;
    position: absolute;
    top: 11px;
}

.reward-meter > :first-child {
    transform: translateY(-48%) translateX(-50%);
    left: calc(34% / 2);
}

.reward-meter > :nth-child(2) {
    left: 50%;
    transform: translateY(-48%) translateX(-50%);
}

.reward-meter > :nth-child(3) {
    right: calc(34% / 2);
    transform: translateY(-48%) translateX(50%);
}

.reward-meter-label {
    margin-top: var(--g6);
    color: #827F7D;
    transition: inherit;
    font-weight: 500;
    font-size: 11.5px;
}

.reward-meter.tier-3 > :nth-last-child(1),
.reward-meter.tier-2 > :nth-last-child(2),
.reward-meter.tier-1 > :nth-last-child(3) {
    color: #181111;
    font-weight: 600;
}


/* =======================================
  PRODUCT-TILE
======================================= */

.product-tile {
    border-bottom: 1px solid hsl(0, 0%, 0%, .04);
    padding: var(--g18);
    display: grid;
    grid-template-rows: min-content min-content;
    grid-template-columns: min-content 1fr min-content;
    row-gap: var(--g12);
    column-gap: var(--g12);
}

.product-tile img {
    height: 64px;
    grid-row: 1 / 3;
}

.product-tile h3 {
    font-size: 13px;
    font-weight: 800;
    color: #2C2A2A;
}

.product-tile .price {
    font-size: 13px;
    font-weight: 800;
    color: #181111;
}

.product-tile .quantity-wrap-tile {
    height: 26px;
    margin-right: auto;
    overflow: hidden;
    border-radius: var(--br6);
    border: 1px solid #CDCBCB;
}

.product-tile .quantity-wrap-tile button {
    height: 100%;
    aspect-ratio: 1;
    fill: hsl(0, 0%, 50%);
}

.product-tile .quantity-wrap-tile button:hover {
    background-color: hsl(0, 0%, 0%, .04);
    fill: #181111;
}

.product-tile .quantity-wrap-tile button svg {
    fill: inherit ;
}

.product-tile .quantity-wrap-tile > :first-child svg {
    transform: translateX(.5px) translateY(.5px);
    width: 8px !important;
}

.product-tile .quantity-wrap-tile > :last-child svg {
    height: 8px !important;
    transform: translateX(.5px) translateY(.5px);
}

.product-tile .quantity-wrap-tile input{
    flex: 1;
    width: 40px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #404040;
    max-width: 40px;
}

.quantity-wrap-tile input {
    outline: none;
    border: none;
    background-color: transparent;
}

.product-tile .delete svg {
    fill: #7F7F7F;
    height: 13px;
    transition: inherit;
}

.product-tile .delete {
    justify-self: end;
}

.product-tile .delete:hover svg {
    fill: #D41B1B;
}

.nothing-in-cart {
    text-align: center;
    padding: var(--g18);
    align-items: center;
    gap: var(--g10);
}


.nothing-in-cart p {
    font-size: 19px;
    color: #090101;
    font-weight: 900;
}

.nothing-in-cart .button-main {
    font-size: 12px;
}

/* =======================================
  BOTTOM BLOCK
======================================= */

.cart-bottom-block {
    background-color: #FCFAF8;
    padding: var(--g18);
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid hsl(0, 0%, 0%, .04);
}

.cart-bottom-block > :nth-last-child(3),
.cart-bottom-block > :nth-last-child(2) {
    margin-top: var(--g8);
}

.cart-bottom-block .label {
    color: #272525;
    line-height: 1;
    font-weight: 800;
    font-size: 13px;
}

.cart-bottom-block .price {
    align-self: center;
    justify-self: end;
    line-height: 1;
    color: #090101;
    font-weight: 700;
    font-size: 13px;
}

.cart-bottom-block .button-main {
    margin-top: var(--g24);
    grid-column: 1 / 3;
}

.cart-bottom-block .promotion-banner {
    grid-column: 1 / 3;
    background-color: #3C5C45;
    padding: var(--g10) var(--g12);
    margin-bottom: var(--g24);
    border-radius: 1000px;
} 

.cart-bottom-block .promotion-banner svg {
    height: 12px;
}

.cart-bottom-block .promotion-banner p {
    line-height: 1;
    color: #F5F6F5;
    font-size: 12px;
    font-weight: 600;
}

.promotion-banner-wrap {
    grid-column: 1 / 3;
    overflow: hidden;
}

.cart-bottom-block .price.sale {
    color: #D41B1B;
}

.cart-bottom-block .price.discount {
    color: #747070;
    text-decoration: line-through;
}


/* =======================================
  BREAKPOINT 1
======================================= */

@media (max-width: 1340px) {

    
    /* ==============================================================================

        HERO

    ============================================================================== */

    .cart-wrap {
        width: 380px;
    }

    /* =======================================
        TOP BLOCK
    ======================================= */


    .cart-top-block .close {
        height: 11px;
        width: 11px;
    }

    .cart-top-block .close svg {
        height: 8px;
    }

    .cart-top-block .label {
        font-size: 12.5px;
    }

    .reward-meter .reward-meter-label-ammount {
        font-size: 10.5px;
        top: 11px;
    }

    .reward-meter-label {
        font-size: 11px;
    }

    /* =======================================
    PRODUCT-TILE
    ======================================= */

    .product-tile img {
        height: 62px;
    }

    .product-tile h3 {
        font-size: 12.5px;
    }

    .product-tile .price {
        font-size: 12.5px;
    }

    .product-tile .quantity-wrap-tile {
        height: 24px;
    }

    .product-tile .quantity-wrap-tile > :first-child svg {
        transform: translateX(.5px) translateY(.5px);
        width: 7px !important;
    }

    .product-tile .quantity-wrap-tile > :last-child svg {
        height: 7px !important;
        transform: translateX(.5px) translateY(.5px);
    }

    .product-tile .quantity-wrap-tile input{
        width: 36px;
        font-size: 12px;
        max-width: 36px;
    }

    .product-tile .delete svg {
        height: 12px;
    }

    .nothing-in-cart p {
        font-size: 18px;
        color: #090101;
        font-weight: 900;
    }

    .nothing-in-cart .button-main {
        font-size: 12px;
    }


    /* =======================================
    BOTTOM BLOCK
    ======================================= */

    .cart-bottom-block .label {
        font-size: 12.5px;
    }

    .cart-bottom-block .price {
        font-size: 12.5px;
    }

    .cart-bottom-block .promotion-banner svg {
        height: 11px;
    }

    .cart-bottom-block .promotion-banner p {
        font-size: 11px;
    }

    
}

@media (max-width: 1027px) {

    /* ==============================================================================

        HERO

    ============================================================================== */

    .cart-wrap {
        width:  500px;
    }

    /* =======================================
        TOP BLOCK
    ======================================= */


    .cart-top-block .close {
        height: 16px;
        width: 16px;
    }

    .cart-top-block .close svg {
        height: 10px;
    }

    .cart-top-block .label {
        font-size: 13px;
    }

    .reward-meter .reward-meter-label-ammount {
        font-size: 12px;
        top: 11.5px;
        font-variation-settings: 'wght' 650 !important;
    }

    .reward-meter-label {
        font-size: 12px;
    }

    .reward-meter-block {
        height: 24px !important;
    }

    /* =======================================
    PRODUCT-TILE
    ======================================= */

    .product-tile img {
        height: 62px;
    }

    .product-tile {
        gap: var(--g16);
    }

    .product-tile h3 {
        font-size: 13px;
    }

    .product-tile .price {
        font-size: 13px;
    }

    .product-tile .quantity-wrap-tile {
        height: 26px;
    }

    .product-tile .quantity-wrap-tile > :first-child svg {
        transform: translateX(.5px) translateY(.5px);
        width: 8px !important;
    }

    .product-tile .quantity-wrap-tile > :last-child svg {
        height: 8px !important;
        transform: translateX(.5px) translateY(.5px);
    }

    .product-tile .quantity-wrap-tile input{
        width: 40px;
        font-size: 13px;
        max-width: 40px;
    }

    .product-tile .delete svg {
        height: 15px;
    }


    /* =======================================
    BOTTOM BLOCK
    ======================================= */

    .cart-bottom-block .label {
        font-size: 13px;
    }
    
    .cart-bottom-block .promotion-banner {
        padding: var(--g12) var(--g12);
    }

    .cart-bottom-block .price {
        font-size: 13px;
    }

    .cart-bottom-block .promotion-banner svg {
        height: 12px;
    }

    .cart-bottom-block .promotion-banner p {
        font-size: 12px;
    }

    
}

@media (max-width: 703px) {

    /* ==============================================================================

        HERO

    ============================================================================== */

    .cart-wrap {
        transition-duration: .45s !important;
        width:  100%;
    }

    /* =======================================
        TOP BLOCK
    ======================================= */


    .cart-top-block .close {
        height: 16px;
        width: 16px;
    }

    .cart-top-block .close svg {
        height: 10px;
    }

    .cart-top-block .label {
        font-size: 13px;
    }
    

    .reward-meter .reward-meter-label-ammount {
        font-size: 12px;
        top: 11.5px;
        font-variation-settings: 'wght' 650 !important;
    }

    .reward-meter-label {
        font-size: 12px;
    }

    .reward-meter-block {
        height: 24px !important;
    }

    .nothing-in-cart p {
        font-size: 16px;
        color: #090101;
        font-weight: 900;
    }

    /* =======================================
    PRODUCT-TILE
    ======================================= */

    .product-tile img {
        height: 62px;
    }

    .product-tile {
        gap: var(--g16);
    }

    .product-tile h3 {
        font-size: 13px;
    }

    .product-tile .price {
        font-size: 13px;
    }

    .product-tile .quantity-wrap-tile {
        height: 26px;
    }

    .product-tile .quantity-wrap-tile > :first-child svg {
        transform: translateX(.5px) translateY(.5px);
        width: 8px !important;
    }

    .product-tile .quantity-wrap-tile > :last-child svg {
        height: 8px !important;
        transform: translateX(.5px) translateY(.5px);
    }

    .product-tile .quantity-wrap-tile input{
        width: 40px;
        font-size: 13px;
        max-width: 40px;
    }

    .product-tile .delete svg {
        height: 15px;
    }


    /* =======================================
    BOTTOM BLOCK
    ======================================= */

    .cart-bottom-block .label {
        font-size: 13px;
    }
    
    .cart-bottom-block .promotion-banner {
        padding: var(--g12) var(--g12);
    }

    .cart-bottom-block .price {
        font-size: 13px;
    }

    .cart-bottom-block .promotion-banner svg {
        height: 12px;
    }

    .cart-bottom-block .promotion-banner p {
        font-size: 12px;
    }

    
}