/* Product Cards */
.shop-container .products {
    margin: 0px !important;
}

.product-card {    
    padding: 0 !important;

    .col-inner {
        height: 100%;
        border-radius: 8px;
        background: none !important;
    }
    
    .col-inner:hover {
        transform: translateY(0px);
    }
    
    .product-small {
        display: flex;
        flex-direction: column;
        height: 100%;
        border-radius: 8px;
        border: 1px solid var(--Colours-Neutral-300-Grey, #E4E4E4);
    }
    
    
    .box-image {
        margin: 0;
        border-radius: 8px 8px 0 0;

        .image-zoom {
            overflow: hidden;
        }
        
        .advanced-woo-labels {
            display: none !important;
        }
        
        img.size-woocommerce_thumbnail {
            width: 100%;
            height: 208px;
            object-fit: cover;
        }        
    }
    
    .product-tags {
        position:relative;
        z-index: 2;
        margin-top: -15px;
        display: flex;
        flex-wrap: wrap;
        padding-left: 16px;
        align-items: center;
        gap: 11px;
        align-self: stretch;

        .sale-tag {
            display: flex;
            padding: 4px 12px;
            justify-content: center;
            align-items: center;
            gap: 10px;
            border-radius: 100px;
            background: var(--Colours-Secondary-Secondary-1, #0F6139);

            color: var(--Colours-Neutral-White, #FFF);
            font-family: Roboto, sans-serif;
            font-size: 14px;
            font-weight: 600;
            line-height: 140%; /* 19.6px */
        }

        .finance-tag {
            display: flex;
            padding: 4px 12px;
            justify-content: center;
            align-items: center;
            gap: 10px;
            border-radius: 100px;
            background: var(--Colours-Secondary-Secondary-3, #DBE1D2);

            color: var(--Colours-Neutral-Black-texts, #0A0A0A);
            font-family: Roboto, sans-serif;
            font-size: 14px;
            font-weight: 600;
            line-height: 140%; /* 19.6px */
        }
    }
    
    .box-text {
        height: unset !important;
        flex-grow: 1;
        display: flex;
        padding: 24px var(--Modules-spacing-Horizontal-padding-S, 16px) !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        align-self: stretch;
        border-radius: 0 0 8px 8px;
        
        * {
            margin: 0 !important;
        }
        
        .title-wrapper {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            align-self: stretch;
            flex-grow: 1;
            
            .category {
                color: var(--Colours-Neutral-900-Grey, #474747);
                font-family: Roboto, sans-serif;
                font-size: 12px;
                font-style: normal;
                font-weight: 400;
                line-height: 120%; /* 14.4px */
                letter-spacing: 0.48px;
                text-transform: uppercase;
            }

            .product-title {
                height: fit-content !important;
                color: var(--Colours-Neutral-Black-texts, #0A0A0A);
                font-family: "Bebas Neue";
                font-size: 24px;
                font-style: normal;
                font-weight: 400;
                line-height: 120%;
            }
        }
        
        .price-wrapper {
            height: auto !important;
        }
        
        .price {
            display: flex;
            flex-direction: row-reverse;
            justify-content: flex-end;
            align-items: center;
            gap: 8px;
            flex-wrap: wrap;
            
            ins span {
                color: var(--Colours-Secondary-Secondary-1, #0F6139);
                font-family: "Bebas Neue";
                font-size: 30px;
                font-style: normal;
                font-weight: 400;
                line-height: 120%; /* 36px */
            }
            
            del span {
                opacity: 1;
                color: var(--Colours-Neutral-700-Grey, #767676);
                font-family: "Bebas Neue";
                font-size: 20px;
                font-style: normal;
                font-weight: 400;
                line-height: 120%; /* 24px */
                text-decoration-line: line-through;
            }
        }
        
        .specifications {
            display: flex;
            padding-top: 8px;
            flex-direction: column;
            align-items: flex-start;
            gap: 8px;
            align-self: stretch;
            border-top: 1px solid var(--Colours-Neutral-300-Grey, #E4E4E4);
            
            .specification-item {
                display: flex;
                align-items: center;
                gap: 8px;
                color: var(--Colours-Neutral-900-Grey, #474747);
                font-family: Roboto, sans-serif;
                font-size: 16px;
                font-style: normal;
                font-weight: 400;
                line-height: 140%; /* 22.4px */
            }
        }
        
        .cta-wrapper {
            display: flex;
            align-items: flex-start;
            gap: 8px;
            align-self: stretch;
            
            .cta-button {
                cursor: pointer;
                display: flex;
                height: 48px;
                min-height: 48px;
                padding: 10px 24px;
                justify-content: center;
                align-items: center;
                gap: 8px;
                flex: 1 0 0;
                border-radius: 8px;
                
                color: var(--Colours-Neutral-Black-texts, #0A0A0A);
                font-family: "Bebas Neue";
                font-size: 20px;
                font-style: normal;
                font-weight: 400;
                line-height: 20px; /* 100% */
            }
            
            .view-details {
                background: var(--Colours-Primary-Primary-1, #F58732);
            }
            
            .view-details:hover {
                background: var(--Gradients-Orange, linear-gradient(0deg, #F27A36 0%, #FFA877 100%));
            }
            
            .enquire {
                border: 1px solid var(--Colours-Neutral-Black-texts, #0A0A0A);
            }
            
            .enquire:hover {
                color: #FFF;
                background: var(--Colours-Neutral-Black-texts, #0A0A0A);
            }
        }
    }
    
    /* Desktop View */
    @media screen and (min-width: 768px) {
        .box-text {
            
            .cta-wrapper {
                flex-direction: column;
                align-items: stretch;
            }
            
            .cta-button {
                height: 48px;
                padding: 10px 24px;
            }
        }
    }
}

@media screen and (min-width: 550px) {
    .products {
        gap: 24px;
    }

    .medium-columns-2 .product-card.col {
        flex-basis: calc(50% - 12px);
        max-width: calc(50% - 12px);
    }
}

@media screen and (min-width: 850px) {
    .large-columns-3 .product-card.col {
        flex-basis: calc(33.3333% - 16px);
        max-width: calc(33.3333% - 16px);
    }
}


/* Promotional Tile */
.promotion-tile {
    position: relative;
    min-height: 489px;
    
    .card-content {
        display: flex;
        height: 100%;
        flex-direction: column;
        background: var(--Colours-Neutral-Black-texts, #0A0A0A);
        border-radius: 8px;
    }
    
    .tile-image-wrapper {
        position: relative;
        
        .tile-image {
            width: 100%;
            max-height: 254px;
            border-radius: 8px 8px 0 0;
        }
        
        .tile-image-gradient {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: 106px;
            background: linear-gradient(0deg, #0A0A0A 0%, rgba(10, 10, 10, 0.00) 100%);
        }
    }
    
    .tile-content {
        position: absolute;
        bottom: 54px;
        left: 0;
        display: flex;
        padding: 0 24px;
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
        
        .tile-copy {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 24px;
        }
        
        .tile-title {
            margin: 0;
            color: var(--Colours-Neutral-White, #FFF);
            text-align: center;

            font-family: "Bebas Neue";
            font-size: 32px;
            line-height: 120%; /* 48px */
        }
        
        .tile-description {
            color: var(--Colours-Neutral-White, #FFF);
            text-align: center;
            font-family: Roboto, sans-serif;
            font-size: 18px;
            line-height: 140%; /* 25.2px */
        }
        
        .tile-cta-wrapper {
            width: 100%;
        }
        
        .cta-button {
            display: flex;
            height: 48px;
            padding: 10px 24px;
            justify-content: center;
            align-items: center;
            gap: 8px;
            align-self: stretch;
            border-radius: 8px;
            background: var(--Colours-Primary-Primary-1, #F58732);
            
            color: var(--Colours-Neutral-Black-texts, #0A0A0A);
            font-family: "Bebas Neue";
            font-size: 20px;
            font-style: normal;
            font-weight: 400;
            line-height: 20px; /* 100% */
        }
        
        .cta-button:hover {
            background: var(--Gradients-Orange, linear-gradient(0deg, #F27A36 0%, #FFA877 100%))
        }
    }
    
    @media screen and (min-width: 768px) {
        .tile-content {
            .tile-title {
                font-size: 40px;
            }
        }
    }
}