/*  ==========  INFO  ==========  */
    /* laptop: 1200px */
    /* tablet: 960px */
    /* large-mobile: 640px */
    /* mobile: 480px */
    /* mini-mobile: 320px */
/*  ==========  END INFO  ==========  */






/*  ==========  GENERAL SECTION  ==========  */
body{
    background-color: var(--color-background);
}
footer{
    margin-top: 64px;
}
/*  ==========  END GENERAL SECTION  ==========  */




/* ========== EMPTY PRODUCT STYLES ========== */
#empty-product .content-medium{padding: 50px 0;}

#empty-product .icon{
    width: 120px;
    height: 120px;
    padding: 12px;
    box-sizing: border-box;
    background-image: url('../assets/error-404.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 100px;
}
#empty-product .title{
    text-align: center;
    color: var(--color-black);
    font-size: 22px;
    font-weight: 700;
    margin-top: 15px;
}
#empty-product .text{
    text-align: center;
    color: var(--color-text-secondary);
    margin-top: 5px;
}
#empty-product .button{font-weight: 600;}
@media screen and (max-width: 767px){
    #empty-cart .title{font-size: 20px;}
    #empty-cart .text{font-size: 14px;}
}
/* ========== END EMPTY PRODUCT STYLES ========== */




/* ========== PRODUCT STYLES ========== */
#product .mini-title{
    width: 100%;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--color-black);
    font-weight: 500;
}
#product .product-title{
    width: 100%;
    color: var(--color-black);
    font-size: 24px;
    font-weight: 600;
    padding-bottom: 24px;
}
#product .meta-block{
    display: flex;
    gap: 20px;
}
#product .image-wrap{
    width: 60%;
    padding-bottom: 100px;
    flex-grow: 1;
    min-height: 100px;
    max-height: 350px;
    position: relative;
    border-radius: 20px;
    /* background-color: var(--color-background); */
    border: 1px solid var(--color-border);
}
#product .image-wrap .swiper-thumbs{
    height: 80px;
}
#product .image-wrap .swiper-pagination-bullet{
    opacity: 1;
    background-color: #fff;
    border: 1px solid #fff;
}
#product .image-wrap .swiper-pagination-bullet-active{
    background-color: var(--color-accent);
}
#product .image{
    width: 100%;
    object-fit: cover;
    height: 350px;
}
#product .badge-wrap{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 12px;
    gap: 8px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}
#product .badge-wrap .item{
    padding: 4px 8px;
    box-sizing: border-box;
    border-radius: 8px;
    color: var(--color-text-title);
    font-size: 14px;
    font-weight: 500;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}
#product .details{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#product .details .params-wrap{
    display: flex;
    flex-direction: column;
    padding: 0 20px;
    box-sizing: border-box;
    border-radius: 8px;
    background-color: var(--color-gray-bg);
}
#product .details .params-wrap .item{
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 0;
    box-sizing: border-box;
    border-bottom: 1px dotted var(--color-border);
    font-size: 14px;
}
#product .details .params-wrap .item:last-child{border: none;}
#product .details .params-wrap .item .name{color: var(--color-text-secondary);}
#product .details .params-wrap .item .value{font-weight: 500;}
#product .details .share-wrap{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
#product .details .share-wrap button{
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 13px 18px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 12px;
    border: 1px solid var(--color-border);
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    cursor: pointer;
    transition: all .2s;
}
#product .details .share-wrap button:hover{
    border-color: var(--color-main);
    color: var(--color-main);
}
#product .details .share-wrap .alert-text{
    font-size: 14px;
    color: var(--color-light-green);
}
#product .properties-wrap{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding-top: 12px;
}
#product .properties-wrap .item{
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-text-title);
    font-size: 14px;
    font-weight: 600;
    font-family: var(--font-secondary);
    padding: 4px 8px;
    box-sizing: border-box;
    border-left: 2px solid #ddd;
}
#product .properties-wrap .item .icon{
    opacity: .7;
}

#product .block-title{
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    padding-bottom: 14px;
    color: var(--color-black);
}
#product .content{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#product .content ul{
    padding-left: 25px;
}
#product .content ul li{
    margin-top: 10px;
}
#product .content a{
    color: var(--sistem-blue);
}
#product .content a:hover{
    opacity: .85;
}
#product .content .text{
    font-size: 16px;
    color: var(--color-text-title);
}
#product .spec-table {
    width: 100%;
    border-collapse: collapse;
    margin: 16px 0;
    font-size: 14px;
}

#product .spec-table th,
#product .spec-table td {
    padding: 10px 12px;
    border: 1px solid #e5e7eb;
    text-align: left;
}

#product .spec-table th {
    background-color: #f9fafb;
    font-weight: 600;
}

#product .spec-table tr:nth-child(even) {
    background-color: #fdfdfd;
}

#product .spec-table tr:hover {
    background-color: #f1f5f9;
}

/* Адаптивность */
@media (max-width: 640px) {
    #product .spec-table th,
    #product .spec-table td {
        padding: 8px;
        font-size: 13px;
    }
}



#product .card-info{
    display: flex;
    flex-direction: column;
    gap: 12px;
}
#product .card-info .price-wrap{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
#product .card-info .price-wrap .price{
    font-size: 17px;
    font-weight: 600;
    font-family: var(--font-secondary);
    color: var(--color-accent);
}
#product .card-info .price-wrap .delivery{
    padding: 4px 8px;
    box-sizing: border-box;
    border-radius: 8px;
    color: var(--color-text-title);
    font-size: 14px;
    font-weight: 500;
    background-color: rgb(var(--color-accent-rgb), .08);
}
#product .card-info .button-wrap{
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 8px;
    padding-top: 12px;
    box-sizing: border-box;
}
#product .card-info .button-wrap .button-first{
    flex: 1;
}
#product .card-info .button-wrap .button{
    padding: 8px;
}
#product .card-info .button-wrap .button .text{
    white-space: nowrap;
}

#product .delivery-info{
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-top: 20px;
}
#product .delivery-info .item{
    display: flex;
    flex-direction: column;
}
#product .delivery-info .text{
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    font-size: 14px;
}
#product .delivery-info .val{font-size: 12px;}

@media screen and (max-width: 640px){
    #product .meta-block{flex-direction: column;}
    #product .image-wrap{
        width: 100%;
    }
    #product .delivery-info{
        padding: 0;
    }
    #product .card-info{
        width: 100%;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        padding: 20px 24px;
        box-sizing: border-box;
        border-radius: 12px 12px 0 0;
        background-color: #fff;
        border: 1px solid var(--color-border);
        box-shadow: var(--box-shadow);
    }
}
/* ========== END PRODUCT STYLES ========== */