.product_item_container {
	position: relative;
}

.product_item {
    position: relative;
    display: grid;
    grid-template:
        "article mark" auto
        "rating rating" auto
        "photo photo" auto
        "name name" auto
        "specifications specifications" auto
        ". ." 1fr
        "price availability" auto
        "bottom bottom" auto;
    box-shadow: inset 0 0 0 1px #e2e2e2;
    justify-content: space-between;
    background-color: #ffffff;
    padding: 14px 25px 28px;
    height: 100%;
    transition: box-shadow .2s;
    cursor: pointer;
}

.product_item:hover {
    box-shadow: inset 0 0 0 1px #e2e2e2, 1px 1px 14px #fbdece;
}

.product_item_article {
    grid-area: article;
    font-size: 14px;
    line-height: 1;
/*    padding-bottom: 24px;*/
    margin-bottom: 16px;
}

.product_item_article_full_line {
    grid-column: span 2;
}

.product_item_marks {
    position: absolute;
    top: 14px;
    right: 1px;
}

.product_item_mark {
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: cover;
    width: 71px;
    height: 38px;
}

.product_item_mark_novelty {
    background-image: url('/local/templates/main/img/mark_novelty.png');
}

.product_item_mark_sale {
    background-image: url('/local/templates/main/img/mark_sale.png');
}

.product_item_mark_hit {
    width: 59px;
    background-image: url('/local/templates/main/img/mark_hit.png');
}

.product_item_mark + .product_item_mark {
    margin-top: 5px;
}

.product_item_mark img {
    display: inline-block;
    max-width: 100%;
}

.product_item_photo {
    grid-area: photo;
    height: 160px;
    margin-bottom: 20px;
    display: flex;
}

.product_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.product_link > img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}

.product_item_name {
    grid-area: name;
    font-weight: 700;
    line-height: 24px;
    margin-bottom: 16px;
    color: #202020;
    text-decoration: none;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    transition: color .25s;
}

.product_item_name:hover {
    color: #ec691f;
}

.product_item_specifications {
    grid-area: specifications;
    margin-bottom: 16px;
    /*display: none;*/
}

.product_item_specifications_list {
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-gap: 0 10px;
    gap: 0 10px;
}

.product_item_specifications_list_item {
    font-size: 12px;
    line-height: 16px;
    font-weight: 700;
}

.product_item_specifications_list_item_value {
    font-weight: normal;
}

.product_item_bottom {
    grid-area: bottom;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    row-gap: 20px;
    column-gap: 8px;
}

.product_item_price {
    display: flex;
    align-items: flex-end;
}

.product_item_price > span:first-child {
    font-size: 14px;
    line-height: 20px;
}

.product_item_price_old {
    display: block;
    font-size: 14px;
    color: #c4c4c4;
    -webkit-text-decoration: line-through;
    text-decoration: line-through;
}

.product_item_price_current {
    display: block;
    font-size: 20px;
    font-weight: 700;
    color: #ec691f;
    grid-area: price;
    /* margin-bottom: 20px; */
    width: 100%;
}

.product_item_price_current > span {
    font-weight: normal;
    font-size: 14px;
    color: #202020;
}

.product_item_availability {
    grid-area: availability;
    justify-self: end;
    /* margin-bottom: 20px; */
    /*display: none;*/
}

.product_status {
    font-size: 14px;
    padding: 0 0 0 10px;
    position: relative;
    display: inline-block;
    white-space: nowrap;
}

.product_status_instock {
    color: #408c09; 
}

.product_status::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    top: 7px;
    left: 0;
}

.product_status_instock::before {
    background: #408c09;
    border: 1px solid #408c09;
}

.product_status_not {
    color: #A94442;
}

.product_status_not::before {
    background: #A94442;
    border: 1px solid #A94442;
}

.product_item_btns {
    display: flex;
    column-gap: 8px;
    width: 100%;
}

.product_counter {
    display: flex;
    border: 1px solid #dfdfdf;
    border-radius: 3px;
}

.product_counter_inner {    
    display: flex;
    align-items: center;
}

.product_counter_btn {
    width: 30px;
    min-width: 30px;
    height: 30px;
    cursor: pointer;
    background-color: transparent;
    border: 0;
}

.product_counter_btn:hover svg {
    fill: #ec691f;
} 

.product_counter_btn_inner {
    /* width: 100%;
    height: 100%; */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.product_counter_btn svg {
    fill: #c4c4c4;
    -webkit-transition: .25s fill;
    -o-transition: .25s fill;
    transition: .25s fill;
}

.product_counter_input {
    background-color: transparent;
    border: 0;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    flex-grow: 1;
    padding: 0;
    outline: 0;
    width: 100%;
    max-width: 26px;
}

input[type="number"] {
    -moz-appearance: textfield;
    -webkit-appearance: textfield;
    appearance: textfield;
}
 
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    display: none;
}

.product_button {
    flex: 1;
}

.product_button button {
    font-size: 14px;
    line-height: 26px;
    color: #ffffff;
    text-transform: uppercase;
    width: 100%;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    outline: none;
    border: 0;
    border-radius: 3px;
    cursor: pointer;
    padding: 6px;
    background-color: #ec691f;
    transition: 0.25s;
}

.product_button button:hover {
    background-color: #d84e00;
}

.product_compare {
    grid-area: compare;
}

.product_compare_btn {
    cursor: pointer;
    background-color: transparent;
    border: none;
    padding: 0;
}

.product_compare_btn:hover svg path,
.product_compare_btn._active svg path {
    fill: #ec691f;
}

.product_compare_btn._active:hover svg {
    fill: #ffffff;
}

.product_compare_btn_inner {
/*     width: 100%;
    height: 100%; */
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.product_compare_btn svg {
    fill: #ffffff;
    -webkit-transition: .25s fill;
    -o-transition: .25s fill;
    transition: .25s fill;
}

@media (max-width: 767.98px) {
    .product_item {
        box-shadow: inset 0 0 0 1px #e2e2e2;
    }
}

@media (min-width: 480px) {
    .product_item_name {
        font-size: 14px;
        line-height: 20px;
    }
}

@media (min-width: 480px) and (max-width: 1279.98px) {
    .product_item {
        padding: 14px 12px;
    }

    .product_item_bottom {
        row-gap: 8px;
    }

    .product_item_price {
        width: calc(100% - 46px);
        order: 1;
        margin-bottom: 0;
    }

    /* .product_compare {
        width: 38px;
        order: 2;
    } */

    .product_item_btns {
        width: 100%;
        order: 3;
    }

    .product_item_btns > * {
        /* width: 50%; */
    }
}

@media (min-width: 768px) {
    .product_item_name {
        font-size: 16px;
        line-height: 24px;
    }
}

@media (min-width: 1280px) {
    .product_item {
        top: 0;
        left: 0;
        padding: 14px 30px 30px;
    }

    .product_item_name {
        /* font-size: 18px; */
    }

    .product_item_price {
        width: auto;
    }

    .product_item.has_spec {
        transition: all .5s;
    }

    .product_item.has_spec:hover {
        /*position: absolute;
        top: -30px;
        height: auto;*/
        box-shadow: inset 0 0 0 1px #e2e2e2, 1px 1px 14px #fbdece;
        z-index: 1;
    }

    .product_item.product_item_not.has_spec:hover .product_item_price {
        width: 100%;
    }

    .product_item.has_spec .product_item_photo {
        transition: .5s;
    }

    /*.product_item.has_spec:hover .product_item_photo {
        height: 116px;
    }*/

    /* .product_item.has_spec:hover .product_item_name {
        font-size: 16px;
    } */

    .product_item.has_spec:hover .product_item_specifications {
        display: block;
    }

    .product_item.has_spec:hover .product_item_availability {
        display: block;
    }
}




/*line*/
.product_item_line {
    position: relative;
    display: grid;
    grid-template:
        "photo caption" auto
        "photo specifications" auto
        "photo ." 1fr
        "bottom bottom" auto;
    grid-template-columns: 150px auto;
    border: 1px solid #e2e2e2;
    background-color: #ffffff;
    height: 100%;
    transition: box-shadow .25s;
    cursor: pointer;
}

.product_item_line:hover {
    box-shadow: 1px 1px 14px #fbdece;
}

.product_item_line .product_item_marks {
    top: 8px;
    left: 0;
}

.product_item_marks_item {
    background-repeat: no-repeat no-repeat;
    background-position: center center;
    background-size: cover;
    width: 42px;
    height: 27px;
}

.product_item_marks_item + .product_item_marks_item {
    margin-top: 5px;
}

.product_item_marks_item_novelty {
    background-image: url("/local/templates/main/img/mark_novelty_sm.png");
}

.product_item_marks_item_sale {
    background-image: url("/local/templates/main/img/mark_sale_sm.png");
}

.product_item_line .product_item_photo {
    width: 150px;
    height: 100%;
    max-height: 145px;
    padding: 20px 20px 0;
    margin-bottom: 16px;
}

.product_item_line .product_item_photo .product_link {
    align-items: flex-start;
}

.product_item_caption {
    padding-top: 20px;
    padding-right: 12px;
    grid-area: caption;
}

.product_item_line .product_item_name {
    font-size: 16px;
}

.product_item_line .product_item_article {
    padding-bottom: 0;
}

.product_item_actions {
    grid-area: bottom;
    background-color: #f6f6f6;
}

.product_item_line .product_item_specifications {
    display: block;
    padding-right: 8px;
}

.product_item_actions_inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 8px;
    grid-gap: 12px 8px;
    padding: 16px 40px 20px;
}

.product_item_line .product_item_price {
    margin-bottom: 0;
    width: auto;
}

.product_item_line .product_item_actions_inner .product_item_availability {
    margin-bottom: 0;
}

@media (max-width: 1279.98px) {
    .product_item_line .product_item_actions_inner .product_item_availability {
        display: block;
    }
}

@media (max-width: 479.98px) {
    .product_item_line .product_item_specifications_list {
        grid-template-columns: auto;
    }
}

@media (min-width: 480px) {
    .product_item_line .product_item_photo {
        margin-bottom: 20px;
    }

    .product_item_caption {
        padding-right: 25px;
    }

    .product_item_line .product_item_name {
        font-size: 18px;
    }

    .product_item_line .product_item_specifications {
        padding-right: 25px;
        margin-bottom: 20px;
    }

    .product_item_line .product_item_specifications_list_item  {
        font-size: 14px;
    }

    .product_item_actions_inner {
        padding: 10px 25px 20px;
    }

    .product_item_line .product_item_actions_inner .product_item_availability {
        order: 1;
        width: 100%;
        display: inline-flex;
        justify-content: center;
    }

    .product_item_line .product_item_price {
        order: 2;
    }

    .product_item_line .product_item_btns {
        order: 3;
        width: auto;
        flex: 1;
    }

    .product_item_line .product_compare {
        order: 4;
    }
}

@media (min-width: 768px) {
    .product_item_line {
        grid-template:
            "photo caption bottom" auto
            "photo specifications bottom" auto;
        grid-template-columns: 170px auto 240px;
    }

    .product_item_line .product_item_marks {
        top: 20px;
        left: auto;
        right: 240px;
    }

    .product_item_marks_item {
        width: 54px;
    }

    .product_item_marks_item_novelty {
        background-image: url("/local/templates/main/img/mark_novelty_line.png");
    }

    .product_item_marks_item_sale {
        background-image: url("/local/templates/main/img/mark_sale_line.png");
    }

    .product_item_line .product_item_photo {
        width: 170px;
    }

    .product_item_caption,
    .product_item_line .product_item_specifications {
        padding-right: 60px;
    }

    .product_item_line .product_item_price {
        order: 1;
    }

    .product_item_line .product_compare {
        order: 2;
    }

    .product_item_line .product_item_btns {
        order: 3;
        width: 100%;
        flex: 1;
    }

    .product_item_line .product_item_actions_inner .product_item_availability {
        order: 4;
        width: 100%;
        justify-content: flex-start;
    }
}

@media (min-width: 1280px) {
    .product_item_line {
        grid-template-columns: 200px auto 280px;
    }

    .product_item_line .product_item_marks {
        right: 280px;
    }

    .product_item_line .product_item_photo {
        width: 200px;    
        padding: 20px 30px 0;
    }

    .product_item_actions_inner {
        padding: 20px 25px;
    }

    .product_item_line .product_item_price {
        width: 100%;
    }

    .product_item_line .product_item_btns {
        order: 2;
        width: auto;
    }

    .product_item_line .product_compare {
        order: 3;
    }
}

@media (min-width: 1620px) {
    .product_item_line {
        grid-template:
            "photo caption . bottom" 1fr
            "photo caption availability bottom" auto
            "photo caption specifications bottom" auto
            "photo caption . bottom" 1fr;
        grid-template-columns: 210px auto 360px 320px;
        align-items: center;
    }

    .product_item_line .product_item_marks {
        top: 5px;
        right: 681px;
    }

    .product_item_line .product_item_photo {
        width: 210px;
        padding: 12px 40px;
        margin-bottom: 0;
    }

    .product_item_caption {    
        height: 100%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-right: 1px solid #e2e2e2;
        padding: 12px 60px 12px 0;
    }

    .product_item_line .product_item_name {
        margin-bottom: 12px;
    }

    .product_item_line .product_item_article {
        margin-bottom: 0;
    }

    .product_item_line > .product_item_availability {
        display: block;
        justify-self: start;
        align-self: start;
        padding-top: 12px;
        padding-left: 40px;
        padding-right: 40px;
        margin-bottom: 0;
    }

    .product_item_line .product_item_specifications {       
        align-self: start;
        margin-bottom: 0;
        padding-left: 40px;
        padding-right: 40px;
        padding-bottom: 12px;
    }

    .product_item_actions {
        height: 100%;
        display: flex;
        align-items: center;
    }

    .product_item_actions_inner {
        padding: 12px 40px;     
    }

    .product_item_line .product_item_actions_inner .product_item_availability {
        display: none;
    }
}
/*line*/
.compare_item .product_item_mark_remove {
    width: 22px;
    margin-right: 8px;
    margin-left: auto;
}

.product_item_mark + .product_item_mark_remove {
    margin-top: 10px;
}

.compare_item .product_item_mark_remove > svg {
    fill: #c4c4c4;
    -webkit-transition: 0.25s fill;
    -o-transition: 0.25s fill;
    transition: 0.25s fill;
}

.compare_item .product_item_mark_remove:hover > svg {
    fill: #ec691f;
}

.product-card-favourite:hover svg path,
.product-card-favourite._active svg path {
    fill: #ec691f;
}

.card-buttons-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}