.product-box {
	padding: 0px 0 120px 0;
	overflow: visible;
}
.product-box .onsale {
	display: none;
}

/* Product Gallery - Start */
.swiper-wrapper {
	height: fit-content !important;
}
.product-gallery {
	position: sticky;
	top: calc(var(--header-height) + 30px);
	display: flex;
	gap: 15px;
	padding-right: 30px;
}
.gallery-top {
	width: calc(100% - 120px);
	height: fit-content;
}
.gallery-top .swiper-slide img {
	width: 100%;
	height: calc(100dvh - var(--header-height) - 30px - 30px);
	max-height: calc(100vh - var(--header-height) - 30px - 30px);
	object-fit: cover;
	border-radius: 10px;
	cursor: zoom-in;
	transition: all 0.3s ease;
}
.gallery-thumbs {
	width: calc(100px + 3px);
	height: fit-content;
	max-height: calc(100vh - var(--header-height) - 30px - 30px - 30px);
	overflow: auto !important;
	padding-right: 3px !important;
}
@media (pointer: fine) {
	.gallery-thumbs::-webkit-scrollbar {
		width: 3px;
	}
}
.gallery-thumbs .swiper-slide {
	height: fit-content !important;
	margin-bottom: 10px !important;
}
.gallery-thumbs .swiper-slide img {
	width: 100%;
	height: auto;
	border-radius: 6px;
	cursor: pointer;
}
.gallery-top .swiper-button-prev, 
.gallery-top .swiper-button-next {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	background: var(--white);
	border-radius: 5px;
	transition: all 0.3s ease;
}
.gallery-top .swiper-button-prev {
	left: 20px;
}
.gallery-top .swiper-button-next {
	right: 20px;
}
.gallery-top .swiper-button-prev::after,
.gallery-top .swiper-button-next::after {
	font-size: 19px;
	font-weight: 700;
	color: #1F1F1F;
	transition: all 0.3s ease;
}
.gallery-top .swiper-button-prev:hover::after,
.gallery-top .swiper-button-next:hover::after {
	color: var(--primary);
}
@media (min-width: 1280px) {
	.gallery-thumbs .swiper-wrapper {
		transform: translate3d(0px, 0px, 0px) !important;
	}
}
@media (min-width: 769px) and (max-width: 1279px) {
	.gallery-thumbs .swiper-wrapper {
		overflow-y: auto !important;
	}
}
@media (max-width: 768px) {
	.gallery-top .swiper-slide img {
		height: calc((100vw - var(--container-indent)) * 1.25);
	}
	.product-gallery {
		position: relative;
		top: 0;
		display: flex;
		gap: 10px;
		padding-right: 0;
		flex-direction: column-reverse;
	}
	.gallery-thumbs {
		width: 100%;
		height: auto;
	}
	.gallery-top {
		width: 100%;
		height: auto;
	}
	.gallery-top .swiper-button-prev,
	.gallery-top .swiper-button-next {
		width: 30px;
		height: 30px;
		background: var(--white);
	}
	.gallery-top .swiper-button-prev::after,
	.gallery-top .swiper-button-next::after {
		font-size: 15px;
		font-weight: 700;
	}
	.gallery-top .swiper-button-prev {
		left: 10px;
	}
	.gallery-top .swiper-button-next {
		right: 10px;
	}
}
/* Product Gallery - End */

/* Product Base - Start */
.product-details h1.product_title {
	font-family: var(--font-family-1);
	font-size: 26px;
	line-height: 31px;
	color: var(--black);
	max-width: calc(100% - 0px);
	margin-top: 15px; 
	margin-bottom: 5px; 
}

/* ====================================================== */
/* СТИЛЬ ЗАМОВЛЕНЬ (На місці артикулу)                    */
/* ====================================================== */
.op-orders-shield {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 5px;
	margin-bottom: 25px; 
}
.op-orders-text {
	color: #787878 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 15px !important;
	font-family: var(--font-family-1) !important;
}

/* ЖОРСТКО ВБИВАЄМО ДУБЛІКАТИ */
body.single-product .stock-status:not(.op-clean-status),
body .product-details > img.proba-925, 
body .product-box img.proba-925,
body h1 + img.proba-925,
.sku_wrapper, .product_meta {
    display: none !important;
}

.woocommerce-product-rating,
.product-details form.cart,
.product-details .quantity,
.product-details .compare-btn,
.product-details .wishlist-btn,
.product-details .woocommerce-product-details__short-description {
	display: none;
}

/* ====================================================== */
/* БІЛИЙ БЛОК                                             */
/* ====================================================== */
.product-summary-info {
	position: relative; 
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px; 
	background: var(--white);
	padding: 22px;
	margin-bottom: 30px;
	border-radius: 8px;
	width: 100%;
	max-width: 622px;
	box-sizing: border-box;
}

/* SVG Значок 925 */
img.op-badge-925 {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 65px; 
    height: auto;
    z-index: 2;
}

/* Обгортка: Розмір зліва, Ціна справа */
.op-summary-top {
    display: flex;
    flex-direction: row;
    align-items: center; 
    justify-content: flex-start;
    gap: 40px; 
    width: 100%;
    padding-right: 80px; 
    box-sizing: border-box;
}

.product-specs {
	display: flex;
	flex-direction: column;
	align-items: flex-start !important; 
	gap: 5px;
	width: auto !important; 
    min-width: max-content;
}
.specs-title { font-size: 12px; color: #6E6E6E; width: max-content; }
.product-specs .specs-value {
	font-family: var(--font-family-1);
	font-size: 12px;
	display: flex;
	gap: 15px;
	width: 120px;
	min-width: max-content;
	text-align: left; 
	justify-content: flex-start; 
}
.product-specs .specs-value span:empty { display: none; }

.product-price-group { width: auto !important; text-align: left; }
#main-price { font-family: var(--font-family-1); font-size: 22px; line-height: 26px; width: max-content; margin: 0; }

/* ====================================================== */
/* СТАТУС НАЯВНОСТІ                                      */
/* ====================================================== */
body div.product .product-summary-info .stock-status.op-clean-status {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
    display: block !important; 
    font-size: 14px !important;
    font-weight: 500 !important;
    border-radius: 0 !important;
    line-height: 1.4 !important;
}

body div.product .product-summary-info .stock-status.op-clean-status span {
    display: inline !important;
    white-space: normal !important;
}

.op-stock-wrapper {
    width: 100%;
    display: block !important; 
    margin-top: 5px;
}

.op-clean-status.in-stock .stock-icon, .op-clean-status.in-stock .stock-text, .op-clean-status.in-stock .stock-timing { color: #1c9737 !important; }
.op-clean-status.on-order .stock-icon, .op-clean-status.on-order .stock-text, .op-clean-status.on-order .stock-timing { color: #856404 !important; }
.op-clean-status.out-of-stock .stock-icon, .op-clean-status.out-of-stock .stock-text, .op-clean-status.out-of-stock .stock-timing { color: #D32F2F !important; }
.stock-status .stock-icon { margin-right: 6px; }

/* Ціни */
.op-price-wrapper { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.op-price-wrapper ins { text-decoration: none; }
.op-price-wrapper del { font-size: 18px !important; color: #a0a0a0 !important; font-weight: 500 !important; }
.op-discount-badge { background-color: #EAF5EC !important; color: #1c9737 !important; padding: 4px 10px !important; border-radius: 50px !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1 !important; display: inline-flex !important; align-items: center !important; }

/* ====================================================== */
/* БЛОК ДОВІРИ ПІД КНОПКОЮ                                */
/* ====================================================== */
.op-trust-features {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important; 
    gap: 4px !important; 
    background: #f8f9fb !important;
    border: 1px solid #e2e2e2 !important;
    border-radius: 8px !important;
    padding: 12px 10px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important; 
    width: 100% !important; 
    box-sizing: border-box !important;
}
.op-trust-item {
    display: flex !important;
    flex: 1 1 0 !important; /* Змушує всі 3 колонки бути абсолютно однакової ширини */
    align-items: center !important;
    justify-content: center !important; /* Центрує іконку з текстом всередині своєї колонки */
    gap: 8px !important;
    color: #1F1F1F !important;
}
.op-trust-text {
    font-size: 13px !important; 
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: left !important;
}
.op-trust-dot {
    color: #A0A0A0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
}
/* Дозволяємо перенос тексту на всіх екранах (щоб слова не злипалися) */
.op-trust-text br { 
    display: block !important; 
}

/* Вимикаємо крапки глобально (на випадок, якщо десь залишилися старі) */
.op-trust-dot { 
    display: none !important; 
}

/* Кнопки */
.op-action-container { max-width: 622px; width: 100%; margin-top: -15px; }	
.op-action-container .op-comment-group, .op-action-container .zheton-add-info { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }
.op-action-container .op-comment-group { margin-bottom: 20px !important; }
.op-action-container .buy-group { width: 100% !important; max-width: 100% !important; }

/* ТІСНИЙ ЗВ'ЯЗОК КНОПКИ ТА ПЛАШКИ */
.buy-group .col-left .btn-group { display: flex; flex-direction: column; width: 100%; gap: 10px; } 

.op-cart-btn { width: 100% !important; border-radius: 8px !important; margin-left: 0 !important; flex-grow: 1 !important; }

/* ====================================================== */
/* ОДНАКОВІ СТРОГІ МЕСЕНДЖЕРИ                             */
/* ====================================================== */
.op-messenger-block { margin-top: 25px; text-align: center; }
.op-messenger-bridge-text { font-size: 14px; color: #4A4A4A; margin-bottom: 12px; }
.op-messenger-grid { 
    display: flex !important; 
    gap: 8px !important; 
    justify-content: space-between !important; 
    flex-wrap: nowrap !important; /* ЖОРСТКО ЗАБОРОНЯЄМО ПЕРЕНОС */
    width: 100% !important; 
}

/* Усі кнопки мають універсальний дизайн */
.op-messenger-btn { 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    gap: 6px; 
    background: #FFFFFF !important; 
    border: 1.5px solid #E2E2E2 !important; /* Світло-сіра рамка для ВСІХ */
    border-radius: 8px; 
    height: 44px; 
    font-weight: 500; 
    font-size: 15px; 
    color: #1F1F1F !important; /* Темний текст для ВСІХ */
    text-decoration: none; 
    flex: 1 1 31% !important; /* ЖОРСТКО 1/3 ширини */
    max-width: 33% !important; 
    min-width: 0 !important; 
    padding: 0 !important;
    transition: all 0.3s ease; 
}
.op-messenger-btn:hover {
    background: #F8F9FB !important;
    border-color: #DCDCDC !important;
}


/* ====================================================== */
/* АДАПТИВНІСТЬ ДЛЯ МОБІЛЬНИХ ПРИСТРОЇВ                   */
/* ====================================================== */
@media (max-width: 768px) {
    .product-summary-info { padding: 18px 15px; }
    
    img.op-badge-925 { top: 15px; right: 15px; width: 60px; }

    .op-summary-top {
        flex-direction: column-reverse !important; 
        align-items: flex-start !important;
        gap: 12px !important;
        padding-right: 0; 
        margin-top: 10px;
    }
    
    .op-price-wrapper { gap: 8px; }
    .op-price-wrapper del { font-size: 16px !important; }
    .op-discount-badge { font-size: 13px !important; padding: 3px 8px !important; }
    
/* БЛОК ДОВІРИ (3 КОЛОНКИ: ЗНАЧОК ЗВЕРХУ, ТЕКСТ ЗНИЗУ) */
    .op-trust-features { 
        flex-direction: row !important; 
        justify-content: space-between !important; 
        align-items: flex-start !important;
        padding: 12px 2px !important;
        gap: 0 !important; 
    }
    .op-trust-dot { display: none !important; } 
    .op-trust-item { 
        flex: 1 1 33% !important; 
        flex-direction: column !important; 
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        gap: 5px !important; 
    }
    .op-trust-text {
        font-size: 11px !important; 
        line-height: 1.2 !important;
        text-align: center !important;
    }
    .op-trust-text br { display: block !important; } 
    .op-trust-item svg { width: 20px !important; height: 20px !important; }
    .op-trust-item img { width: 30px !important; height: auto !important; }
    
    /* МЕСЕНДЖЕРИ ТРЬОМА КНОПКАМИ */
    .op-messenger-grid { gap: 4px !important; }
    .op-messenger-btn { height: 40px !important; flex: 1 1 31% !important; max-width: 33% !important; }
    .op-messenger-btn span { font-size: 12px !important; }
    .op-messenger-btn img { width: 16px !important; height: 16px !important; min-width: 16px !important; }
}

/* Product Tabs */
.product-installment {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
}
.installment-info {
	display: flex;
	align-items: center;
	gap: 25px;
}
.installment-details {
	display: flex;
	flex-direction: column;
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 16px;
}
.atribute-wrapper {
	display: flex;
	gap: 40px;
	margin-top: 45px;
	margin-bottom: 45px;
}
.h4.atribute-block-head {
	font-size: 15px;
	margin-bottom: 20px;
}
.delivery-payment-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.faq-block .h2 {
	margin-bottom: 10px;
}
.other-size.other-size-call {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-left: 20px;
	cursor: pointer;
}
.contact-icon-group-invert img {
	filter: invert(1);
}
.informer-wrapper.other-size .informer-content-box {
	text-align: center;
	gap: 10px;
}
.informer-wrapper.other-size .contact-icon-group {
	margin: 10px auto 0 auto;
	display: flex !important;
}

.informer-wrapper.write-us .informer-content-box {
	text-align: center;
	gap: 10px;
}
.informer-wrapper.write-us .contact-icon-group {
	margin: 10px auto 0 auto;
	display: flex !important;
}

.info-size.info-size-call {
	margin-top: 10px;
	cursor: pointer;
	width: 100%;
	font-size: 12px;
	color: #4d4d4d;
}
.info-size.info-size-call p {
	position: relative;
	width: fit-content;
}
.info-size.info-size-call p:before {
	content:"";
	width: 100%;
	height: 1px;
	background: #4d4d4d;
	position: absolute;
	bottom: 4px;
}
.variation-weight {
	display: none!important;
}
@media (max-width: 1279px) {
	.price-or.mob {
		display: flex;
		width: 100%;
	}
	.price-or.mob::after {
		content: "";
		display: flex;
		width: 100%;
		height: 1px;
		background: #E2E2E2;
		transform: translateY(8px);
		margin-left: 10px;
	}
	.product-details h1.product_title {
		font-size: 24px;
		line-height: 28px;
		max-width: calc(100% - 140px);
	}
	.buy-group .contact-icon-group {
		display: flex !important;
		justify-content: space-between;
		gap: 10px;
		width: 100%;
	}
}
@media (max-width: 768px) {
	.product-details h1.product_title {
		max-width: calc(100% - 0px);
	}
	.col-50 {
		position: relative;
		width: calc(100% - 0px);
	}
}
/* Product Base - End */

/* Product Options - Start */
.variation-group {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: var(--blocks-indent);
	margin-bottom: 30px;
}
.variation-group .option-block {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 20px;
}
.variation-group .option-block .option-head {
	width: 100%;
	font-size: 16px;
}
/* Univelsat Option - Start */
.variation-group .option-block .option-value {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	min-width: 45px;
	height: 45px;
	background: transparent;
	border: 1px solid var(--border);
	border-radius: 5px;
	cursor: pointer;
	font-family: var(--font-family-1);
	font-weight: 500;
	transition: all 0.5s ease;
}
.variation-group .option-block .option-value.selected, 
.variation-group .option-block .option-value:hover {
	border: 1px solid var(--primary);
	background: var(--primary);
	color: var(--primary-match);
}
.variation-group.category-2018 .option-block.pa_size-options {
    align-items: flex-end !important;
}
.variation-group.category-2018 .option-block.pa_size-options .option-value {
	border: none;
	height: auto;
	max-height: 190px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	justify-content: flex-end;
	padding: 10px 10px;
}
.variation-group.category-2018 .option-block.pa_size-options .option-value.selected, 
.variation-group.category-2018 .option-block.pa_size-options .option-value:hover {
	border: none;
	background: var(--primary);
	color: var(--primary-match);
}
.variation-group .option-block .option-value img {
	display: none;
}
.variation-group.category-2018 .option-block .option-value img {
	display: block;
	transition: all 0.5s ease;
}
.pa_hraviyuvannya-z-dvoh-bokiv-options .option-value img {
	display: none !important;
}
.variation-group.category-2018 .option-block .option-value.selected img, 
.variation-group.category-2018 .option-block .option-value:hover img {
	filter: invert(1);
}

.variation-group.category-2018 .option-block .option-value[data-value="zbilshenyy"] {
	order: 1;
}
.variation-group.category-2018 .option-block .option-value[data-value="forma-zsu"] {
	order: 2;
}
.variation-group.category-2018 .option-block .option-value[data-value="standart"] {
	order: 3;
}
.variation-group.category-2018 .option-block .option-value[data-value="25x40"] {
	order: 4;
}
.variation-group.category-2018 .option-block .option-value[data-value="20x38"] {
	order: 5;
}
@media (max-width: 1279px) {
	.product-specs .specs-value {
		gap: 10px;
		width: auto;
	}
	
/* === ІДЕАЛЬНІ ЖЕТОНИ (CSS GRID - Залізобетонно) === */
	.variation-group.category-2018 .option-block.pa_size-options {
		display: grid !important;
		/* 5 колонок: пропорції точно відповідають міліметрам (28.5, 26, 25, 25, 20) */
		grid-template-columns: 28.5fr 26fr 25fr 25fr 20fr !important;
		gap: 4px !important;
		align-items: stretch !important; /* 100% однакова висота чорного фону для всіх */
	}
	
	.variation-group.category-2018 .option-block.pa_size-options .option-head {
		grid-column: 1 / -1 !important; /* Заголовок "Розмір" розтягується на всю ширину зверху */
		margin-bottom: 2px !important;
		width: 100% !important;
	}
	
	.variation-group.category-2018 .option-block.pa_size-options .option-value {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		width: 100% !important; /* Займає рівно свою комірку в сітці */
		height: auto !important; 
		max-height: none !important;
		padding: 8px 3px !important; /* Акуратні відступи по краям */
		box-sizing: border-box !important;
		margin: 0 !important;
	}

	.variation-group.category-2018 .option-block .option-value img {
		width: 100% !important; 
		height: auto !important; 
		object-fit: contain !important;
		margin: 0 auto 6px auto !important; /* Відступ до тексту знизу */
	}
	
	.variation-group.category-2018 .option-block.pa_size-options .variation-name {
		font-size: 11px !important; /* Текст нормального розміру */
		line-height: 1.1 !important;
		text-align: center !important;
		width: 100% !important;
		min-height: 22px !important; /* Стабілізує висоту, щоб картинки стояли рівно */
		display: flex !important;
		align-items: flex-start !important;
		justify-content: center !important;
		word-wrap: break-word !important; 
	}
}
/* Univelsat Option - End */

/* Comment - Start */
.variation-group .option-block + .comment-group{
	margin-top: -20px;
}
.comment-group {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.comment-group label {
	display: flex;
	align-items: center;
	gap: 10px;
}
.comment-group span {
	font-family: var(--font-family-1);
	font-size: 14px;
	font-weight: 500;
	max-width: 450px;
}
.comment-group textarea.zheton-add-info {
	max-width: 490px;
}
.comment-group textarea.zheton-add-info::-webkit-input-placeholder {
	color: #787878;
}
.comment-group textarea.zheton-add-info:-moz-placeholder {
	color: #787878;
}
/* Comment - End */

/* Color - Start */
.variation-group .color-option {
	position: relative;
	display: flex;
	width: 45px;
	height: 45px;
	background: red;
	border-radius: 100%;
	cursor: pointer;
	border: 2px solid #e7e3e3;
	transition: all 0.5s ease;
}

.variation-group .color-option.selected {
	border: 2px solid #2e2e2e;
}
.variation-group .color-option:before {
	content: "не додано";
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	padding: 10px;
	border-radius: 5px;
	background: #f0f0f3;
	box-shadow: 0 0 8px rgb(0 0 0 / 15%);
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 14px;
	text-align: center;
	color: #0a121f;
	position: absolute;
	top: 48px;
	left: -10px;
	margin: 0 auto;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.3s ease;
}
.color-option.gold:before {
	content: "Золото";
}
.color-option.black:before {
	content: "Чорний";
}
.color-option.silver:before {
	content: "Срібло";
}
.color-option.blue:before {
	content: "Синій";
}
.variation-group span.color-option:hover:before {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
/* Color - End */

/* Buy Group - Start */
.buy-group {
	position: relative;
	display: flex;
	width: 100%;
}
.buy-group .col-left {
	display: flex;
	flex-direction: column;
	width: 80%;
}
.buy-group .price {
	position: relative;
	display: flex;
	width: fit-content;
	margin-bottom: 30px;
	font-family: var(--font-family-1);
	font-size: 25px;
	line-height: 35px;
	font-weight: 500;
	color: var(--black);
}
.buy-group .price ins {
	text-decoration: none;
}
.buy-group .price del {
	display: flex;
	align-items: center;
	color: #d3d3d3;
	font-size: 20px;
	line-height: 31px;
	font-weight: 600;
	text-decoration-line: line-through;
	margin-right: 10px;
}
.buy-group .price .per-product {
	margin-left: 5px;
}
.buy-group .col-left .btn-group {
	gap: 15px;
}
.buy-group .col-left .btn-group .btn {
	height: 45px;
	border-radius: 5px;
}
.buy-group .col-right {
	display: flex;
	flex-direction: column;
	width: 20%;
}
.buy-group .col-right .btn-group {
	justify-content: flex-end;
	gap: 16px;
	padding-top: 31px;
}
.buy-group .col-right .btn-group > div {
	display: flex;
	align-items: center;
	gap: 10px;
}
.buy-group .col-right .btn-group .btn {
	width: 38px;
	height: 38px;
	padding: 8px;
	border-radius: 5px;
}
.buy-group .col-right .btn-group .btn img {
	height: 22px;
}
.buy-group .col-right .btn-group .btn img + img {
	position: absolute;
	opacity: 0;
	transition: all 0.3s ease;
}
.buy-group .col-right .btn-group .added .btn img + img {
	opacity: 1;
}
p.stock {
	display: none;
}
.custom-quantity-input {
	display: flex;
	align-items: center;
	border: 1px solid #dcdcdc;
	border-radius: 5px;
	overflow: hidden;
	display: none;
}
.quantity-btn {
	background: transparent;
	border: none;
	color: #333;
	font-size: 18px;
	padding: 11px 5px;
	width: 35px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-sizing: border-box;
}
.quantity-btn:hover {
	background: var(--gray);
}
.quantity-display {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	display: flex;
	width: 35px;
	padding-left: 0;
	padding-right: 0;
	border: none;
	outline: none;
}
.btn-group .contact-icon-group > span {
	font-family: var(--font-family-1);
	font-size: 14px;
	line-height: 13px;
	max-width: min-content;
	margin-right: 10px;
	margin-left: 15px;
}
.btn-group .contact-icon-group img {
	filter: invert(1);
}

.discuss-button {
	font-family: var(--font-family-1);
	font-weight: 500;
	color: var(--primary);
	cursor: pointer;
	margin-left: 5px;
	font-size: 14px;
	border: 1px solid var(--primary);
	width: fit-content;
	padding: 5px 14px;
	border-radius: 10px;
	transition: all 0.3s ease;
}
.discuss-button:hover {
	background: var(--primary);
	color: #fff;
}

@media (max-width: 1279px) {
	.buy-group {
		flex-direction: column;
		justify-content: flex-start;
	}
	.buy-group .col-left {
		width: 100%;
	}
	.buy-group .col-right {
		width: 100%;
	}
	.buy-group .col-right .btn-group {
		padding-top: 25px;
	}
	.product-box .btn-group {
		flex-direction: column;
		gap: 15px;
	}
	.product-box .btn-group .btn {
		width: 100%;
	}
	.product-box .buy-group .col-right .btn-group {
		flex-direction: row;
	}
	.buy-group .col-right .btn-group > div {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 50%;
		justify-content: center;
		padding: 5px 0;
		border: 1px solid var(--yellow);
	}
	.buy-group .col-right .btn-group .btn.btn-yellow {
		background: transparent;
	}
	.buy-group .col-right .btn-group .btn.btn-yellow:hover {
		background: transparent;
	}
	.buy-group .col-left .btn-group {
		gap: 20px;
	}
	.btn-group .contact-icon-group > span {
		margin-right: auto;
		margin-left: 0;
	}
}
/* Buy Group - End */

/* Scroll Price - Start */
.mob.scroll-price {
	position: fixed;
	bottom: 0;
	left: 0;
	background: #fafbff;
	width: 100%;
	display: flex;
	justify-content: space-between;
	padding: 20px;
	align-items: center;
	box-shadow: 0px 0px 24px 0px #8e8e8e33;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: all 0.5s ease-in-out;
	z-index: 99999;
}
.mob.scroll-price.active {
	visibility: visible;
	opacity: 1;
	pointer-events: all;
}
.mob.scroll-price .price {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding-top: 3px;
}
.mob.scroll-price .btn {
	min-width: 50%;
}
@media (max-width: 1279px) {
	body.product-template-default #scrollToTopBtn,
	body.single #scrollToTopBtn,
	body.single-product #scrollToTopBtn {
		display: none !important;
	}
}
/* Scroll Price - End */

/* Product Tabs - Start */
.product-tabs {
	margin-top: 35px;
}
.product-tabs .tab {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 17px 0;
	border-bottom: 1px solid var(--gray);
	cursor: pointer;
}
.product-tabs .tab:nth-child(1) {
	border-top: 1px solid var(--gray);
}
.product-tabs .tab .tab-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16px;
	line-height: 16px;
	height: 15px;
	font-weight: 600;
}
.product-tabs .tab .tab-title::after {
	content: "";
	display: flex;
	width: 18px;
	height: 18px;
	background: url(/wp-content/themes/shop/img/icons/black/arrow-right.svg) no-repeat center center;
	background-size: contain;
	transform: rotate(90deg);
	transition: all 0.3s ease-in-out;
}
.product-tabs .tab.active .tab-title::after {
	transform: rotate(270deg);
}
.product-tabs .tab .tab-content {
	padding-top: 20px;
}
.product-tabs .tab .tab-content table {
	display: flex;
	width: 100%;
}
/* Product description */
#tab-description {
	display: flex;
	flex-direction: column;
}
#tab-description div {
	display: flex;
	flex-direction: column;
}

#tab-description * {
	margin: 0 !important;
	padding: 0 !important;
}

/* === ПОВЕРТАЄМО ЛЮДСЬКІ ВІДСТУПИ === */
#tab-description p {
	margin-bottom: 16px !important;
	line-height: 1.6 !important; /* Робимо текст більш читабельним */
}
#tab-description p:last-child {
	margin-bottom: 0 !important;
}

#tab-description h2,
#tab-description h2 *,
#tab-description h3,
#tab-description h3 * {
	font-size: 20px !important;
	line-height: 26px !important;
	margin-bottom: 12px !important;
}

#tab-description ul,
#tab-description ol {
	display: flex;
	flex-direction: column;
	gap: 8px; /* Відстань між пунктами списку */
	list-style: none !important;
	margin-bottom: 16px !important; /* Відступ після всього списку */
	margin-left: 5px !important;
	padding: 0 !important;
}

#tab-description ul li,
#tab-description ol li {
	display: flex;
	align-items: flex-start; /* Вирівнюємо крапку по верхньому краю тексту */
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.5 !important;
}

#tab-description ul li:before {
	content: "";
	display: flex;
	width: 6px;
	min-width: 6px;
	height: 6px;
	background: #1F1F1F;
	border-radius: 100%;
	margin-top: 8px !important; /* Опускаємо крапку трохи нижче, щоб була по центру першого рядка */
	margin-right: 10px !important;
}

#tab-description ol li {
	counter-increment: list-counter;
}

#tab-description ol li:before {
	content: counter(list-counter) ". ";
	display: flex;
	border-radius: 100%;
	margin-right: 5px !important;
	margin-top: 0 !important;
	font-weight: 600;
}
/* Product attributes */
.atribute-wrapper .atribute-block {
	display: flex;
	flex-direction: column;
	width: 50%;
}
.atribute-wrapper  .attributes-list {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: calc(100% - 0px);
	gap: 10px;
}
.atribute-wrapper  .attribute-item {
	display: flex;
	gap: 5px;
}
.atribute-wrapper .attribute-name {
	display: flex;
	width: 100%;
	color: #787878;
	font-size: 14px;
	line-height: 16px;
	font-weight: 400;
	min-width: fit-content;
	font-family: var(--font-family-1);
}
.atribute-wrapper .attribute-name:after {
	content: "";
	background: url(/wp-content/themes/shop/img/icons/dots.svg);
	width: auto;
	display: flex;
	flex-grow: 1;
	background-size: auto;
	height: 1px;
	margin-top: 14px;
}
.atribute-wrapper .attribute-value {
	font-size: 14px;
	line-height: 16px;
	color: #787878;
	text-align: right;
	min-width: max-content;
}
@media (max-width: 1279px) {
	.atribute-wrapper {
		display: flex;
		flex-direction: column;
		gap: 40px;
		margin-top: 60px;
		margin-bottom: 60px;
	}
	.atribute-wrapper .atribute-block {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.h4.atribute-block-head {
		font-size: 16px;
		margin-bottom: 18px;
	}
	.atribute-wrapper .attribute-value {
		min-width: auto;
	}
}

/* Product Tabs - End */

/* Upsell Tab Right - Start */
.upsell-tab {
	display: none !important;
}
/* Upsell Tab Right - End */

/* Product Reviews - Start */
.review-block {
	margin-top: 50px;
}
#reviews {
	display: flex;
	flex-direction: column-reverse;
	gap: 15px;
}
#tab-title-reviews {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#tab-title-reviews .h3 {
	font-size: 30px;
	line-height: 36px;
}
.woocommerce-Reviews-title,
.clear {
	display: none;
}
#tab-reviews {
	margin-top: 28px;
}
#tab-reviews ol.commentlist {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 15px;
}
#tab-reviews ol.commentlist > li {
	display: flex;
	padding: 25px;
	background: #f8f9fb;
	border-radius: 5px;
}
#tab-reviews ol.commentlist > li .comment_container {
	display: flex;
	gap: 10px;
	width: 100%;
}
#tab-reviews ol.commentlist > li img.avatar {
	border-radius: 100%;
	width: 43px;
	height: 43px;
}
#tab-reviews ol.commentlist > li .comment-text {
	display: flex;
	flex-direction: column;
	width: 100%;
}
#tab-reviews ol.commentlist > li .meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	order: 1;
}
#tab-reviews ol.commentlist > li .meta > * {
	display: flex;
	font-size: 18px;
	line-height: 20px;
	font-weight: 600;
}
#tab-reviews ol.commentlist > li .meta > span {
	display: none;
}
#tab-reviews ol.commentlist > li .meta > time {
	margin-left: auto;
	font-size: 14px;
	line-height: 14px;
	font-weight: 400;
}
#tab-reviews ol.commentlist > li .star-rating {
	display: flex;
	gap: 5px;
	order: 2;
	margin-top: 10px;
	font-size: 20px;
}
#tab-reviews ol.commentlist > li .description {
	font-size: 16px;
	line-height: 24px;
	margin-top: 15px;
	order: 3;
}
#review_form_wrapper {
	display: none;
}
#review_form .comment-reply-title {
	display: flex;
	font-size: 16px;
	line-height: 16px;
	font-weight: 600;
	margin-bottom: 10px;
}
form#commentform {
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.comment-form .stars > span {
	display: flex;
	gap: 6px;
}
.comment-form .stars > span a {
	display: flex;
	padding-top: 3px;
	background: var(--gray);
	border-radius: 5px;
	width: 35px;
	height: 35px;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
}
.comment-form .stars > span a.active,
.comment-form .stars > span a:hover {
	background: var(--primary);
}
.comment-form .comment-form-comment {
	display: flex;
	flex-direction: column;
}
.comment-form #comment {
	width: 100%;
	color: var(--black);
	padding: 12px 12px 12px 10px;
	outline: none;
	border: none;
	border: 1px solid #e2e2e2;
}

.comment-form input#submit {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: min-content;
	width: fit-content;
	padding: 15px 24px;
	background: var(--primary);
	color: var(--black);
	margin: 0;
	border: 0;
	font-size: 14px;
	line-height: 14px;
	font-weight: 600;
	transition: all 0.3s ease-in-out;
	border-radius: 4px;
	cursor: pointer;
}
/* Product Reviews - End */

/* Same Category Products - Start */
.same-category-products {
	padding-bottom: 60px;
}
.same-category-products .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
.same-category-products .container .btn {
	margin: 0 auto;
}
.product-card .product-badge:not(:has(.onsale)) {
	display: none;
}
/* Same Category Products - End */

/* Upsell Products - Start */
.upsell-products {
	padding-bottom: 70px;
}
.upsell-products .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
/* Upsell Products - End */

/* Related Products - Start */
.related-products {
	padding-bottom: 60px;
}
.related-products .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
/* Related Products - End */

/* Recently Viewed Products - Start */
.recently-viewed-products {
	padding-top: 60px;
	padding-bottom: 120px;
}
.recently-viewed-products .container {
	display: flex;
	flex-direction: column;
	gap: 30px;
}
/* Recently Viewed Products - End */

@media (max-width: 1480px) {
	.product-list .product-card:nth-child(6) {
		display: none;
	}
}
@media (max-width: 1279px) {
	.product-list .product-card:nth-child(5) {
		display: none;
	}
}
@media (max-width: 1024px) {
	.product-list .product-card:nth-child(4) {
		display: none;
	}
}
@media (max-width: 768px) {
	.product-list .product-card:nth-child(3) {
		display: none;
	}
}

/* Основные стили блока "Идеальный комплект" */
.op-ideal-kit-wrapper {
	margin: 40px 0;
	border: 1px solid #e5e5e5;
	border-radius: 6px;
	background-color: #f9f9f9;
	padding: 20px;
}

.op-ideal-kit-title {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
}

.op-ideal-kit-content {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

/* Левая часть - товары из комплекта */
.op-ideal-kit-products {
	flex: 1;
	min-width: 300px;
}

.op-ideal-kit-slider,
.op-kit-product-single {
	background-color: #fff;
	border-radius: 6px;
	padding: 20px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.op-kit-product-info {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.op-kit-product-info img {
	max-width: 100%;
	height: auto;
	margin-bottom: 15px;
}

.op-kit-product-title {
	font-size: 18px;
	font-weight: 600;
	margin-bottom: 10px;
}

.op-kit-product-price {
	font-size: 20px;
	font-weight: 700;
	color: #333;
	margin-bottom: 10px;
}

.op-kit-product-weight {
	font-size: 14px;
	color: #666;
	margin-bottom: 15px;
}

/* Атрибуты товара */
.op-kit-product-attribute {
	width: 100%;
	margin-bottom: 15px;
}

.op-kit-attribute-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 5px;
}

.op-kit-attribute-options {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	justify-content: center;
}

.op-kit-option-btn {
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background-color: #f5f5f5;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.3s;
}

.op-kit-option-btn:hover {
	background-color: #eee;
}

.op-kit-option-btn.selected {
	background-color: #333;
	color: #fff;
	border-color: #333;
}

/* Правая часть - информация о комплекте */
.op-ideal-kit-summary {
	flex: 1;
	min-width: 300px;
	background-color: #fff;
	border-radius: 6px;
	padding: 20px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	position: relative;
}

.op-ideal-kit-summary.loading:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.7);
	z-index: 1;
}

.op-kit-summary-title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 20px;
	text-align: center;
}

.op-kit-summary-products {
	margin-bottom: 20px;
}

.op-kit-product-1,
.op-kit-product-2 {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
}

.op-kit-product-name {
	font-size: 14px;
	max-width: 70%;
}

.op-kit-product-price {
	font-size: 16px;
	font-weight: 600;
}

.op-kit-summary-total {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed #ddd;
}

.op-kit-total-regular,
.op-kit-total-final {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}

.op-kit-total-label {
	font-size: 14px;
}

.op-kit-total-price {
	font-size: 18px;
	font-weight: 700;
}

.op-kit-total-regular .op-kit-total-price {
	color: #999;
	text-decoration: line-through;
}

.op-kit-total-final .op-kit-total-price {
	color: #e03131;
}

.op-kit-you-save {
	text-align: center;
	color: #2ecc71;
	font-size: 16px;
	font-weight: 600;
	margin: 15px 0;
}

.op-kit-total-weight {
	text-align: center;
	font-size: 14px;
	color: #666;
	margin-bottom: 20px;
}

.op-add-kit-to-cart {
	display: block;
	width: 100%;
	padding: 12px 20px;
	background-color: #333;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s;
}

.op-add-kit-to-cart:hover {
	background-color: #444;
}

.op-add-kit-to-cart.loading {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Навигация слайдера */
.ideal-swiper-button-prev,
.ideal-swiper-button-next {
	color: #333;
}

/* Адаптация для мобильных устройств */
@media (max-width: 768px) {
	.op-ideal-kit-content {
		flex-direction: column;
	}

	.op-ideal-kit-products,
	.op-ideal-kit-summary {
		min-width: 100%;
	}
}

/* Для неактивних недоступних кнопок (просто напівпрозорі з блідим контуром) */
.option-value.opt-disabled {
    border-color: #e0e0e0 !important;
    color: #a0a0a0 !important;
    opacity: 0.5;
}

/* Для ВИБРАНОЇ, але недоступної комбінації (тільки червоний контур і текст, без фону) */
.option-value.selected.opt-disabled {
    background-color: transparent !important;
    border-color: #d32f2f !important;
    color: #d32f2f !important;
    opacity: 1;
}

/* ====================================================== */
/* ВІДЕО В ГАЛЕРЕЇ                                        */
/* ====================================================== */
.swiper-slide.video-slide {
	position: relative;
	cursor: pointer;
}

.video-preview-wrapper,
.video-poster-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	border-radius: inherit;
	overflow: hidden;
}

.video-fallback-img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block;
}

.video-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3); 
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	z-index: 2;
	transition: background-color 0.3s ease;
}

.gallery-top .video-play-icon {
	width: 64px;
	height: auto;
	opacity: 0.9;
	transition: transform 0.3s ease;
}

.gallery-thumbs .video-play-icon {
	width: 28px !important;
	height: auto !important;
	opacity: 0.9;
}

.swiper-slide.video-slide:hover .video-overlay {
	background-color: rgba(0, 0, 0, 0.1);
}
.swiper-slide.video-slide:hover .video-play-icon {
	transform: scale(1.15);
}

.gallery-top .swiper-slide.video-slide.playing .video-overlay {
	display: none;
}

.gallery-thumbs .swiper-slide.video-slide img.video-fallback-img {
	border-radius: 6px;
}

.gallery-top .swiper-slide.video-slide {
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-color: #000;
	height: calc(100dvh - var(--header-height) - 30px - 30px);
	border-radius: 10px;
}

.gallery-top .swiper-slide.video-slide iframe,
.gallery-top .swiper-slide.video-slide video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	z-index: 5;
}
.gallery-top .swiper-slide.video-slide iframe {
	display: block !important;
	max-width: 100% !important;
}

@media (max-width: 1024px) {
	.gallery-top .swiper-slide.video-slide {
		height: auto;
	}
}