.product {
	width: 100%;
    background: #F7F9FA;
}

.product--inner {
	width: 100%;
    max-width: 1660px;
    padding: 15px 10px 40px;
    margin: 0 auto;
}

.product__breadcrumbs {
    display: flex;
    gap: 5px;
    font-size: 12px;
    line-height: 21px;
    padding: 15px 0 30px;
    opacity: 0.6;
}

.product__link-back {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #F23300;
    font-size: 15px;
    margin-bottom: 30px;
}

.product__link-back span {
    transition: all .3s;
}

.product__link-back:hover span {
    transform: translateX(-5px);
}

.product__title {
    font-size: 30px;
    font-weight: 500;
    margin-bottom: 15px;
}

.product__buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #F23300;
    font-size: 15px;
    margin-bottom: 10px;
}

.product__buttons-icons {
    display: flex;
    align-items: center;
    gap: 40px;
}

.product__button {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #F23300;
    font-size: 15px;
}

.product__button img {
    transition: all .3s;
}

.product__button:hover img {
    transform: scale(1.1);
}

.product__main {
    display: grid;
    grid-template-columns: 1fr 25%;
    gap: 20px;
}

.main-info {
	max-width: 100%;
    display: flex;
    justify-content: space-between;
    background: #FFFFFF;
    border: 1px solid rgba(42, 42, 42, 0.2);
    border-radius: 12px;
    padding: 50px 20px 25px 35px;
}

.gallery {
    display: flex;
    gap: 80px;
    align-items: center;
}

.gallery__thumbs {
    width: 100px;
    height: 430px;
}

.gallery__thumbs .swiper-slide {
    border: 1px solid rgba(42, 42, 42, 0.1);
    border-radius: 5px;
    padding: 7px;
    cursor: pointer;
}

.gallery__main {
	height: 100%;
    max-width: 420px;
}

.swiper-slide {
    width: 100% !important;
}

.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.main-info__content {
    width: 380px;
    font-size: 15px;
}

.main-info__content--mobile {
    width: 100%;
    display: none;
    font-size: 12px;
    background: #FFFFFF;
    border: 1px solid rgba(42, 42, 42, 0.2);
    border-radius: 8px;
    padding: 40px 15px 25px;
}

.main-info__sku {
    text-align: right;
    margin-bottom: 20px;
}

.main-info__note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    margin: 10px 0 25px;
}

.main-info__discount {
    width: 100%;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    font-weight: 600;
    background: #F23300;
    border-radius: 5px;
}

.specs {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.specs__item {
    position: relative;
    display: flex;
    justify-content: space-between;
}

.specs__item::after {
    width: 100%;
    position: relative;
    content: '';
    border-bottom: 1px dashed #949494;
    align-self: end;
    display: flex;
	order: 2;
	z-index: 2;
	margin:0 4px 0 2px;
}

.specs__label {
    position: relative;
    color: rgba(42, 42, 42, 0.5);
    background: #FFFFFF;
    z-index: 1;
    white-space: nowrap;
}

.specs__label--image {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    color: #2A2A2A;
}

.specs__value {
	order: 3;
    max-width: max-content;
    position: relative;
	overflow:hidden;
	width: 100%;
    text-align: right;
    z-index: 1;
	width: 100%;
}

.total {
    height: max-content;
    min-height: 360px;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid rgba(42, 42, 42, 0.2);
    border-radius: 12px;
    padding: 30px 30px 26px;
}

.total__badge {
    width: max-content;
    height: 28px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #FFFFFF;
    font-size: 11px;
    font-weight: 700;
    background: #F23300;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 10px;
}

.total__price {
    display: flex;
    align-items: flex-end;
    gap: 15px;
    
    font-size: 30px;
    font-weight: 600;
}

.total__price-old {
    color: rgba(42, 42, 42, 0.5);
    font-size: 20px;
    font-weight: 400;
}

.total__promo {
    max-width: 230px;
    color: rgba(42, 42, 42, 0.5);
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 20px;
}

.total__buttons {
    height: 55px;
}

.total__add-to-cart {
    width: 100%;
    max-width: 350px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    font-size: 15px;
    font-weight: 500;
    background: #f23300;
    border: 1px solid #f23300;
    border-radius: 10px;
    transition: all .3s;
}

.total__add-to-cart:hover {
    background-color: #d62e00;
}

.total__add-to-cart.is-loading {
		pointer-events: none;
		opacity: 0.7;
	}
	
	.total__add-to-cart.is-loading img {
		display: none;
	}

	.total__add-to-cart.is-loading::after {
		content: '';
		width: 18px;
		height: 18px;
		border: 2px solid rgba(255,255,255,0.4);
		border-top-color: #fff;
		border-radius: 50%;
		animation: btn-spin 0.7s linear infinite;
	}


	.js-detail-qty.pulse {
		animation: counter-pulse 0.25s ease;
	}

.total__counter {
    height: 100%;
    max-width: 350px;
    display: none;
    justify-content: space-between;
    align-items: center;
    background: #ECECEC;
    border-radius: 10px;
    overflow: hidden;
}

.total__counter-minus {
    height: 100%;
    aspect-ratio: 1;
    color: #FFFFFF;
    background: #D9D9D9;
    border-radius: 10px;
    transition: all .3s;
}

.total__counter-minus:hover {
    background: #F23300;
}

.total__counter-plus {
    height: 100%;
    aspect-ratio: 1;
    color: #FFFFFF;
    background: #F23300;
    border-radius: 10px;
    transition: all .3s;
}

.total__counter-plus:hover {
    background: #D02C00;
}

.total__counter-value {
    font-size: 15px;
    font-weight: 500;
    text-align: center;
}

.total__available { 
    flex: 1;
    display: flex;
    align-items: flex-end;
    color: #58A848;
    font-size: 15px;
    font-weight: 500;
    margin-top: 15px;
}

.details {
    display: flex;
    flex-direction: column;
    gap: 40px;
    background: #FFFFFF;
    border: 1px solid rgba(42, 42, 42, 0.2);
    border-radius: 12px;
    padding: 45px 30px 60px;
}

.details__item {
    width: 100%;
    max-width: 770px;
}

.details__title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}

.details__content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    font-size: 15px;
}

.details__content--specs {
    flex-direction: row;
    gap: 60px;
}

@media (max-width: 1440px) {
    .product__main {
        grid-template-columns: 1fr;
    }

    .gallery {
        gap: 30px;
    }

    .total {
        min-height: max-content;
    }
}

@media (max-width: 1024px) {
    .main-info__content {
        display: none;
    }

    .main-info__content--mobile {
        display: block;
    }
}

@media (max-width: 768px) {
	.widget-communication {
		bottom: 115px !important;
	}

    .product__breadcrumbs {
        font-size: 10px;
        line-height: normal;
        margin: 15px 0 23px;
    }

    .product__breadcrumbs a {
        display: none;
    }

    .product__breadcrumbs a:last-of-type {
        display: inline;
    }

    .product__link-back {
        display: none;
    }

    .product__title {
        font-size: 12px;
        font-weight: 600;
        margin-bottom: 17px;
    }

    .product__buttons {
        font-size: 12px;
    }

    .product__buttons-icons {
        gap: 15px;
    }

    .product__button span {
        display: none;
    }

    .product__main {
        gap: 10px;
    }

    .main-info {
        aspect-ratio: 1.35;
        border-radius: 8px;
        padding: 30px 20px;
    }

	.gallery {
        width: 100%;
    }

    .gallery__thumbs {
        display: none;
    }

    .gallery__main {
        max-width: 100%;
    }

    .main-info__sku {
        margin-bottom: 15px;
    }

    .main-info__note {
        margin: 15px 0 20px;
    }

    .main-info__discount {
        font-size: 15px;
    }

    .specs {
        gap: 15px;
    }

    .specs__label--image {
        gap: 7px;
    }

    .total {
        border-radius: 8px;
        padding: 15px;
    }

    .total__badge {
        height: 25px;
        font-size: 10px;
        border-radius: 3px;
        padding: 6px;
    }

    .total__price {
        gap: 10px;
        font-size: 24px;
    }

    .total__price-old {
        position: relative;
        bottom: 3px;
        font-size: 12px;
    }

    .total__promo {
        max-width: 100%;
        font-size: 12px;
        margin-bottom: 18px;
    }

    .total__buttons {
        width: 100%;
        height: auto;
        position: fixed;
        left: 0;
        bottom: 55px;
        background: #FFFFFF;
        border: 1px solid rgba(42, 42, 42, 0.1);
        padding: 5px 10px;
        z-index: 10;
		display: flex;
		justify-content: center;
    }

    .total__add-to-cart {
        max-width: 100%;
        height: 44px;
    }

    .total__counter {
        height: 50px;
        max-width: 100%;
    }

    .total__available { 
        font-size: 12px;
		margin-top: 8px;
    }

    .details {
        gap: 30px;
        border-radius: 8px;
        padding: 30px 15px;
    }

    .details__item {
        max-width: 100%;
    }

    .details__title {
        font-size: 14px;
        margin-bottom: 15px;
    }

    .details__content {
        font-size: 12px;
    }

    .details__content--specs {
        flex-direction: column;
        gap: 15px;
    }
}