/*
 * Картка товару — новий вигляд поверх шаблону oct_deals.
 * Усе обмежено #product-product (сторінка товару). Кольори — зі змінних теми, тож працює світла й темна тема.
 */
#product-product {
	--pc-panel: var(--ds-white-color, #fff);
	--pc-text: var(--ds-dark-text-color, #00171f);
	--pc-muted: var(--ds-light-text-color, #9ca3af);
	--pc-border: var(--ds-border-color, #f2f2f2);
	--pc-accent: var(--ds-primary-color, #00a8e8);
	--pc-star: #f59e0b;
	--pc-save-bg: #ffe14d;
	--pc-save-text: #1f2933;
	--pc-ok: #2e9e4f;
	--pc-ok-bg: rgba(46, 158, 79, 0.1);
	--pc-out: var(--ds-red-color, #d5383d);
	--pc-sale: var(--ds-red-color, #d5383d);
	--pc-out-bg: rgba(213, 56, 61, 0.1);
	--pc-timer: #e8590c;
	--pc-timer-bg: rgba(232, 89, 12, 0.08);
	/* Висота фото: на ноутбуці (768px) ~390px, на великому моніторі до 560px — товар видно повністю */
	--pc-img-h: clamp(340px, calc(100vh - 380px), 560px);
}

/* ---------- Назва, рейтинг, код ---------- */

#product-product .ds-page-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 24px;
	flex: 1 1 auto;
	width: auto;
	margin: 0 calc(var(--bs-gutter-x, 1.5rem) * 0.5);
	padding: 20px 24px;
	border: var(--ds-main-border, 1px solid #f2f2f2);
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	background: var(--pc-panel);
}

#product-product .ds-page-title h1 {
	flex: 1 1 420px;
	margin: 0;
	color: var(--pc-text);
	font-size: clamp(22px, 2.3vw, 32px);
	font-weight: 700;
	line-height: 1.2;
}

.pc-title-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 22px;
	color: var(--pc-text);
	font-size: 15px;
}

.pc-brand {
	color: var(--pc-muted);
	text-decoration: none;
}

.pc-brand:hover {
	color: var(--pc-accent);
}

.pc-rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
}

.pc-rating svg {
	color: var(--pc-star);
}

.pc-rating-value {
	font-size: 17px;
	font-weight: 600;
}

.pc-rating-count,
.pc-rating-empty {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.pc-rating:hover .pc-rating-count,
.pc-rating-empty:hover {
	color: var(--pc-accent);
}

.pc-code {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: var(--pc-muted);
	font-size: 14px;
}

.pc-code-value {
	color: var(--pc-text);
}

.pc-copy {
	display: inline-flex;
	padding: 2px;
	border: 0;
	background: none;
	color: var(--pc-muted);
	cursor: pointer;
}

.pc-copy:hover {
	color: var(--pc-accent);
}

.pc-copy.is-copied {
	color: var(--pc-ok);
}

/* Старий рядок «Виробник / Код / рейтинг» — його дані тепер у рядку назви */
#product-product .pc-old-meta {
	display: none !important;
}

/* ---------- Вкладки й наявність ---------- */

#product-product .ds-product-tabs {
	margin-top: 0 !important;
	border-radius: 0;
}

#product-product .ds-product-tabs > div {
	display: flex;
	align-items: center;
	gap: 16px;
}

/* У теми блок вкладок має w-100 — звільняємо місце для наявності праворуч */
#product-product .ds-product-tabs-box {
	flex: 1 1 auto;
	width: auto !important;
	min-width: 0;
}

#product-product .ds-product-tabs-item {
	padding: 8px 18px;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none !important;
	color: var(--pc-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#product-product .ds-product-tabs-item + .ds-product-tabs-item {
	border-left: 1px solid var(--pc-border);
}

#product-product .ds-product-tabs-item:hover,
#product-product .ds-product-tabs-item.active {
	color: var(--pc-accent);
}

#product-product .ds-product-tabs-item.active::after {
	left: 18px;
	width: calc(100% - 36px);
	height: 3px;
	border-radius: 2px;
}

.pc-tabs-stock {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 6px;
	background: var(--pc-ok-bg);
	color: var(--pc-ok);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.pc-tabs-stock.is-out {
	background: var(--pc-out-bg);
	color: var(--pc-out);
}

/* ---------- Фото: стікери-плитки, обране й порівняння ---------- */

/* Стікери й кнопки позиціонуються відносно липкого блоку фото (sticky уже позиціонований; на телефоні — #productImages) */
/* Плитки стікерів поверх фото (праворуч від мініатюр на широких екранах) */
#product-product .ds-product-stickers {
	position: absolute;
	top: 24px;
	left: 0;
	z-index: 4;
	margin: 0 !important;
	pointer-events: none;
}

#product-product .ds-product-stickers .ds-module-stickers {
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

#product-product .ds-product-stickers .ds-module-sticker {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 88px;
	min-height: 88px;
	margin: 0 !important;
	padding: 8px;
	border-radius: 14px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
	white-space: normal;
}

/* Знижка «-12%» — крупно */
#product-product .ds-product-stickers .ds-module-sticker-special {
	font-size: 26px;
	letter-spacing: -0.02em;
	text-transform: none;
}

#product-product .ds-product-stickers .ds-module-sticker-images {
	position: static;
}

@media (min-width: 1200px) {
	#product-product .ds-product-stickers {
		left: 104px;
	}
}

.pc-image-actions {
	position: absolute;
	top: 24px;
	right: 0;
	z-index: 5;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pc-image-action {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--pc-panel);
	color: var(--pc-text);
	cursor: pointer;
	transition: color 0.2s;
}

.pc-image-action:hover {
	color: var(--pc-accent);
}

/* Тема ставить .added, коли товар уже в обраному / порівнянні */
.pc-image-action.added {
	color: var(--pc-accent);
}

.pc-image-action.ds-wishlist-btn.added svg path {
	fill: currentColor;
}

/* Старі кнопки над ціною — тепер біля фото */
#product-product .ds-product-wishlist-compare {
	display: none !important;
}

/* ---------- Ціна й покупка ---------- */

#product-product .ds-product-main-price .ds-price-new {
	color: var(--pc-text) !important;
	font-size: clamp(30px, 2.8vw, 42px) !important;
	white-space: nowrap;
	font-weight: 800 !important;
	letter-spacing: -0.01em;
	line-height: 1.1;
}

/* Зі знижкою: закреслена стара ціна + жовтий бейдж «-4 800 ₴», під ними велика ціна */
#product-product .ds-product-main-price-info {
	display: grid;
	grid-template-columns: auto auto 1fr;
	grid-template-areas:
		"old save ."
		"new new new";
	align-items: center;
	column-gap: 8px;
	row-gap: 2px;
}

#product-product .ds-product-main-price-info > .d-flex {
	grid-area: old;
}

#product-product .ds-product-main-price-info .ds-price-old {
	color: var(--pc-muted) !important;
	font-size: 18px;
	white-space: nowrap;
	font-weight: 500;
}

/* Відсоток уже є на стікері біля фото */
#product-product .ds-product-main-price-info .ds-module-sticker {
	display: none;
}

#product-product .ds-product-main-price-info .ds-price-new {
	grid-area: new;
}

/* Акційна ціна — червона (тема позначає її класом red-text) */
#product-product .ds-product-main-price .ds-price-new.red-text,
#product-product .ds-product-block .ds-price-new.red-text {
	color: var(--pc-sale) !important;
}

/* «Ви економите» ховаємо, лишаємо саму суму як бейдж; тема оновлює її скриптом при виборі опцій */
#product-product .ds-product-main-price-info .ds-product-price-discount {
	grid-area: save;
	margin: 0 !important;
	font-size: 0 !important;
}

#product-product #main-product-you-save {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 6px;
	background: var(--pc-save-bg);
	color: var(--pc-save-text);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

#product-product #main-product-you-save::before {
	content: "\2212";
}

#product-product #main-product-you-save:empty {
	display: none;
}

#product-product .ds-product-main-cart-button {
	min-height: 56px;
	border-radius: 999px !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

#product-product .ds-product-main-cart-button svg {
	width: 22px;
	height: 22px;
	margin-right: 8px !important;
}

#product-product .ds-product-main-cart .ds-module-quantity {
	border-radius: 999px;
}

#product-product .ds-product-fast-order-button {
	min-height: 44px;
	border-radius: 999px !important;
}

/* ---------- Фото й інформація 50/50, фото по висоті екрана ---------- */

@media (min-width: 992px) {
	#product-product .ds-product-images {
		flex: 0 0 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}

	#product-product .ds-product-main {
		flex: 0 0 calc(50% - 0.5rem);
		max-width: calc(50% - 0.5rem);
	}
}

#product-product .ds-product-images-slide img {
	display: block;
	width: auto;
	max-height: var(--pc-img-h);
	margin: 0 auto;
}

@media (min-width: 1200px) {
	#product-product .ds-product-images-main {
		height: calc(var(--pc-img-h) + 2rem);
	}

	#product-product .ds-product-images-additional {
		height: calc(var(--pc-img-h) - 2rem);
	}
}

/* Ціна й таймер: таймер переходить під ціну, коли поруч не вміщається */
#product-product .ds-product-main-price > .w-100 {
	flex-wrap: wrap;
	align-items: flex-start !important;
	gap: 12px 20px;
}

@media (min-width: 576px) {
	#product-product .ds-product-main-price > .w-100 {
		align-items: center !important;
	}
}

/* ---------- Таймер акції ---------- */

#product-product .ds-product-timer {
	align-items: flex-start;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 0;
	border-radius: 12px;
	background: var(--pc-timer-bg);
	text-align: left;
}

#product-product .ds-product-timer-text {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	color: var(--pc-timer) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}

#product-product .ds-product-timer-text::before {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 3v6l5 3 1-1.7-4-2.3V7h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 3v6l5 3 1-1.7-4-2.3V7h-2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

#product-product .ds-product-timer-inner {
	gap: 6px;
}

#product-product .ds-product-timer-inner > .d-flex {
	min-width: 50px;
	padding: 6px 4px 4px;
	border-radius: 8px;
	background: var(--pc-panel);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

#product-product .ds-product-timer-number {
	width: auto;
	color: var(--pc-text) !important;
	font-size: 20px;
	font-weight: 800 !important;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
}

#product-product .ds-product-timer-inner .fsz-10 {
	color: var(--pc-muted) !important;
}

#product-product .ds-product-timer-delimiter {
	display: none;
}

/* ---------- Плаваюча картка біля опису ---------- */

/* Фото ліворуч, назва й ціна праворуч, кнопка на всю ширину — без порожнього місця біля фото */
#product-product .ds-product-block .content-block {
	display: grid !important;
	/* Колонка на ноутбуці вузька (~265px) — фото пропорційне ширині картки */
	grid-template-columns: clamp(64px, 30%, 96px) minmax(0, 1fr);
	align-items: start;
	gap: 6px 12px;
	padding: 16px !important;
	border-radius: 12px;
}

#product-product .ds-product-block .ds-module-img {
	grid-column: 1;
	grid-row: 1 / span 2;
}

#product-product .ds-product-block .ds-module-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
}

/* Обране й порівняння вже є біля головного фото */
#product-product .ds-product-block .ds-module-buttons {
	display: none !important;
}

#product-product .ds-product-block .ds-module-caption {
	display: contents !important;
}

#product-product .ds-product-block .ds-module-title {
	grid-column: 2;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.3;
}

#product-product .ds-product-block .ds-module-price {
	grid-column: 2;
	margin: 0 !important;
}

#product-product .ds-product-block .ds-price-new {
	color: var(--pc-text) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	white-space: nowrap;
}

#product-product .ds-product-block .ds-price-old {
	color: var(--pc-muted) !important;
	font-size: 13px !important;
}

#product-product .ds-product-block .ds-module-sticker {
	background: var(--pc-save-bg) !important;
	color: var(--pc-save-text) !important;
	font-size: 12px;
	border-radius: 6px;
}

#product-product .ds-product-block .ds-module-cart {
	grid-column: 1 / -1;
	gap: 10px;
	margin-top: 8px;
}

#product-product .ds-product-block .ds-module-quantity {
	border-radius: 999px;
}

#product-product .ds-product-block .ds-product-fixed-cart-btn {
	flex: 1 1 auto;
	min-height: 44px;
	border-radius: 999px !important;
	font-size: 14px !important;
	font-weight: 700;
}

/* ---------- Телефон і планшет ---------- */

@media (max-width: 767.98px) {
	#product-product .ds-page-title {
		padding: 16px;
	}

	#product-product .ds-page-title h1 {
		flex-basis: 100%;
	}

	.pc-title-meta {
		gap: 6px 16px;
		font-size: 14px;
	}

	/* Вкладки прокручуються, бейджу наявності там не вистачає місця — лишається над ціною */
	.pc-tabs-stock {
		display: none;
	}

	#product-product .ds-product-tabs-item {
		padding: 8px 12px;
		font-size: 12px;
	}

	#product-product .ds-product-stickers .ds-module-sticker {
		width: 64px;
		min-height: 64px;
		border-radius: 12px;
		font-size: 11px;
	}

	#product-product .ds-product-stickers .ds-module-sticker-special {
		font-size: 19px;
	}

	.pc-image-actions {
		top: 12px;
	}
}

@media (min-width: 768px) {
	/* Наявність тепер у рядку вкладок */
	#product-product .ds-product-main-stock {
		display: none !important;
	}
}

/* ---- Кредит або частинами (ukrcredits) ---- */
/* Кнопка й наліпки самого ukrcredits лишаються на сторінці (їх вікно оформлення), але не видно — є наш блок */
#product:has(.pc-credit-btn) #button-ukrcredits,
#product-product:has(.pc-credit-btn) .ds-product-main-content .ukrcreditsticker { display: none !important; }
/* Тема змінює напрямок рядка кнопок на різних ширинах — тут він явний:
   «У кошик» і «Кредит» поруч (переносяться, коли не влазять), банки — рядком нижче, «Купити в 1 клік» — під ними */
.ds-product-main-buttons:has(.pc-credit-btn) { flex-direction: row !important; flex-wrap: wrap; align-items: stretch; gap: 12px; }
.ds-product-main-buttons:has(.pc-credit-btn) > .ds-product-main-cart { order: 1; flex: 1 1 320px; min-width: 0; }
.ds-product-main-buttons:has(.pc-credit-btn) > .ds-product-fast-order-button { order: 4; flex: 1 1 100%; margin: 0 !important; }
.pc-credit-btn {
    order: 2; flex: 1 1 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-height: 56px; padding: 6px 16px; border: 1.5px solid var(--ds-primary-color, #00a8e8); border-radius: 7px;
    background: #fff; color: #222; font-size: 14px; line-height: 1.25; cursor: pointer; transition: background-color .15s, box-shadow .15s;
}
.pc-credit-btn:hover { background: #f2fbfe; background: color-mix(in srgb, var(--ds-primary-color, #00a8e8) 7%, #fff); }
.pc-credit-btn:focus-visible { outline: 0; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ds-primary-color, #00a8e8) 30%, transparent); }
.pc-credit-title { font-weight: 400; }
.pc-credit-from { font-weight: 700; font-size: 16px; color: var(--ds-primary-color, #00a8e8); white-space: nowrap; }
.pc-credit-banks { flex: 0 0 100%; order: 3; display: flex; flex-wrap: wrap; gap: 8px; }
.pc-credit-bank {
    display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px 5px 12px; border: 0; border-radius: 7px;
    background: #f3f5f8; font-size: 17px; font-weight: 700; color: #1d2433; line-height: 1; cursor: pointer; transition: background-color .15s;
}
.pc-credit-bank:hover { background: #e7ecf3; }
.pc-credit-bank img { width: 26px; height: 26px; object-fit: contain; border-radius: 5px; }
@media (max-width: 575.98px) {
    .pc-credit-btn { flex-basis: 100%; }
    .pc-credit-bank { font-size: 15px; padding: 4px 8px 4px 10px; }
    .pc-credit-bank img { width: 22px; height: 22px; }
}

/* ---- Вікно «Кредитні пропозиції» (ukrcredits, Magnific Popup) ----
   Префікс #ukrcredit-popup.white-popup — сильніший за calculator.css модуля, який підключається пізніше */
#ukrcredit-popup.white-popup {
    --pc-credit-accent: var(--ds-primary-color, #00a8e8);
    position: relative; max-width: 720px; margin: 24px auto; padding: 28px; border-radius: 16px;
    background: #fff; box-shadow: 0 24px 64px rgba(16, 24, 40, .25); color: #1d2433; text-align: left;
}
#ukrcredit-popup.white-popup .credithead { margin: 0 44px 20px 0; text-align: left; font-size: 22px; font-weight: 700; line-height: 1.25; color: #1d2433; }
#ukrcredit-popup.white-popup .mfp-close {
    position: absolute; top: 18px; right: 18px; left: auto; bottom: auto; width: 36px; height: 36px; padding: 0; border-radius: 50%; background: #f3f5f8;
    color: #5b6472; opacity: 1; font-size: 24px; line-height: 36px; text-align: center; transition: background-color .15s, color .15s;
}
#ukrcredit-popup.white-popup .mfp-close:hover { background: #e7ecf3; color: #1d2433; }
#ukrcredit-popup.white-popup .proposition {
    display: grid; grid-template-columns: minmax(170px, 1fr) minmax(0, 1.5fr); align-items: center; gap: 16px 24px;
    width: auto; margin: 0 0 12px; padding: 18px 20px; border: 1px solid #e5e7eb; border-radius: 12px; background: #fff;
    transition: border-color .15s, box-shadow .15s;
}
#ukrcredit-popup.white-popup .proposition:last-of-type { margin-bottom: 0; }
#ukrcredit-popup.white-popup .proposition:hover { border-color: var(--pc-credit-accent); background: #fff; box-shadow: 0 6px 20px rgba(16, 24, 40, .08); }
#ukrcredit-popup.white-popup .prop_name,
#ukrcredit-popup.white-popup .prop_info { display: block; width: auto; text-align: left; }
#ukrcredit-popup.white-popup .prop_name { display: flex; align-items: center; gap: 12px; font-size: 16px; font-weight: 600; line-height: 1.3; color: #1d2433; }
#ukrcredit-popup.white-popup .prop_name img { flex: 0 0 auto; width: 44px; height: 44px; max-width: none !important; object-fit: contain; }
#ukrcredit-popup.white-popup .prop_name .fa-question {
    display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border: 1px solid #9aa1ab;
    border-radius: 50%; color: #6b7280; font-size: 10px; cursor: help;
}
/* Рядок «N платежів на [міс]», великий платіж на місяць, підсумок дрібніше */
#ukrcredit-popup.white-popup .prop_calc {
    display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 14px; text-align: left;
}
#ukrcredit-popup.white-popup .prop_calc > * { display: block; width: auto; }
#ukrcredit-popup.white-popup .prop_paymentsCount { font-size: 14px; color: #5b6472; }
#ukrcredit-popup.white-popup .prop_select select {
    width: auto; min-width: 110px; height: 38px; padding: 0 34px 0 12px; border: 1px solid #d6dbe3; border-radius: 8px;
    background-color: #fff; font-size: 14px; font-weight: 600; color: #1d2433; box-shadow: none; cursor: pointer;
}
#ukrcredit-popup.white-popup .prop_select select:focus { border-color: var(--pc-credit-accent); outline: 0; }
#ukrcredit-popup.white-popup .prop_permounth { flex: 0 0 100%; font-size: 24px; font-weight: 700; line-height: 1.2; color: #1d2433; }
#ukrcredit-popup.white-popup .prop_price { flex: 0 0 100%; font-size: 13px; color: #7a8291; }
/* Повзунок терміну */
#ukrcredit-popup.white-popup .ui-slider {
    position: relative; height: 6px; margin: 4px 10px 20px; border: 0; border-radius: 3px; background: #e7eaf0;
}
#ukrcredit-popup.white-popup .ui-slider .progress { position: absolute; inset: 0; height: 6px; margin: 0; border-radius: 3px; background: transparent; box-shadow: none; }
#ukrcredit-popup.white-popup .ui-slider .progress-bar { height: 6px; border-radius: 3px; background: var(--pc-credit-accent); box-shadow: none; }
#ukrcredit-popup.white-popup .ui-slider .ui-slider-handle {
    top: -7px; width: 20px; height: 20px; margin-left: -10px; border: 3px solid var(--pc-credit-accent); border-radius: 50%;
    background: #fff; box-shadow: 0 2px 6px rgba(16, 24, 40, .2); cursor: grab;
}
#ukrcredit-popup.white-popup .ui-slider .ui-slider-handle:active { cursor: grabbing; }
#ukrcredit-popup.white-popup .prop_total { text-align: left; }
#ukrcredit-popup.white-popup .prop_total > * { display: block; width: 100%; }
#ukrcredit-popup.white-popup .prop_total button {
    height: 44px; padding: 0 20px; border: 0; border-radius: 7px; background: var(--pc-credit-accent); color: #fff;
    font-size: 15px; font-weight: 600; text-transform: none; box-shadow: none; transition: filter .15s;
}
#ukrcredit-popup.white-popup .prop_total button:hover { filter: brightness(.94); }
@media (max-width: 575.98px) {
    #ukrcredit-popup.white-popup { margin: 12px; padding: 20px 16px; border-radius: 14px; }
    #ukrcredit-popup.white-popup .credithead { font-size: 19px; }
    #ukrcredit-popup.white-popup .proposition { grid-template-columns: 1fr; padding: 16px; }
    #ukrcredit-popup.white-popup .prop_permounth { font-size: 21px; }
    #ukrcredit-popup.white-popup .ui-widget-content { width: auto; }
}

/* ---- Власне вікно «Оплата частинами» ---- */
html.pc-cm-lock { overflow: hidden; }
.pc-cm {
    --pc-cm-accent: var(--ds-primary-color, #00A8E8);
    position: fixed; inset: 0; z-index: 10050; display: none; align-items: flex-start; justify-content: center;
    padding: 40px 16px; background: rgba(16, 24, 40, .55); overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.pc-cm.is-open { display: flex; }
.pc-cm-dialog {
    position: relative; width: 100%; max-width: 680px; margin: auto 0; padding: 24px; border-radius: 16px;
    background: #fff; color: #1d2433; box-shadow: 0 20px 50px rgba(16, 24, 40, .25); font-size: 14px; line-height: 1.4;
}
.pc-cm-close {
    position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: #7a8291; font-size: 26px; line-height: 1; cursor: pointer;
}
.pc-cm-close:hover { background: #f2f4f7; color: #1d2433; }
.pc-cm-head { display: flex; align-items: center; gap: 12px; margin: 0 40px 18px 0; }
.pc-cm-head-icon { display: inline-flex; color: var(--pc-cm-accent); }
.pc-cm-title { font-size: 22px; font-weight: 700; line-height: 1.2; }
.pc-cm-card { padding: 16px; border: 1px solid #e7eaf0; border-radius: 12px; }
.pc-cm-product { display: flex; align-items: center; gap: 14px; }
.pc-cm-product img { flex: 0 0 64px; width: 64px; height: 64px; object-fit: contain; }
.pc-cm-product-name { font-size: 15px; font-weight: 600; }
.pc-cm-warranty { margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef0f4; }
.pc-cm-subtitle { margin-bottom: 8px; font-weight: 700; }
.pc-cm-switch-row { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 0; font-weight: 400; cursor: pointer; }
.pc-cm-switch-row input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pc-cm-switch {
    position: relative; flex: 0 0 40px; width: 40px; height: 22px; border-radius: 11px; background: #d6dbe3; transition: background .15s;
}
.pc-cm-switch::after {
    content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 3px rgba(16, 24, 40, .25); transition: transform .15s;
}
.pc-cm-switch-row input:checked + .pc-cm-switch { background: var(--pc-cm-accent); }
.pc-cm-switch-row input:checked + .pc-cm-switch::after { transform: translateX(18px); }
.pc-cm-switch-row input:focus-visible + .pc-cm-switch { outline: 2px solid var(--pc-cm-accent); outline-offset: 2px; }
.pc-cm-switch-row.is-locked { cursor: default; }
.pc-cm-switch-row.is-locked .pc-cm-switch { opacity: .7; }
.pc-cm-switch-name b { font-weight: 600; white-space: nowrap; }
.pc-cm-badge {
    display: inline-block; margin-left: 4px; padding: 1px 8px; border-radius: 10px; background: #e6f6fd;
    color: var(--pc-cm-accent); font-size: 12px; font-weight: 600; vertical-align: 1px; white-space: nowrap;
}
.pc-cm, .pc-cm *, .pc-cm-toast, .pc-cm-toast * { box-sizing: border-box; }
.pc-cm-info {
    flex: 0 0 18px; width: 18px; height: 18px; padding: 0; border: 1px solid #c3c9d4; border-radius: 50%;
    background: #fff; color: #6b7280; font-size: 11px; font-weight: 700; line-height: 16px; cursor: pointer;
}
.pc-cm-info-text { margin: 0 0 6px 50px; padding: 8px 10px; border-radius: 8px; background: #f5f7fa; color: #5b6472; font-size: 13px; }
.pc-cm-summary {
    display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid #eef0f4;
}
.pc-cm-summary-item span, .pc-cm-qty span, .pc-cm-terms > span, .pc-cm-monthly span { display: block; color: #7a8291; font-size: 12px; }
.pc-cm-summary-item b { font-size: 16px; white-space: nowrap; }
.pc-cm-summary-item.is-total { text-align: right; }
.pc-cm-summary-item.is-total b { font-size: 18px; }
.pc-cm-qty { display: flex; align-items: center; gap: 10px; text-align: center; }
.pc-cm-qty b { white-space: nowrap; }
.pc-cm-qty button {
    width: 34px; height: 34px; padding: 0; border: 1px solid #d6dbe3; border-radius: 8px; background: #fff;
    color: #1d2433; font-size: 18px; line-height: 1; cursor: pointer;
}
.pc-cm-qty button:hover { border-color: var(--pc-cm-accent); color: var(--pc-cm-accent); }
.pc-cm-banks { display: flex; flex-direction: column; gap: 10px; margin-top: 16px; }
.pc-cm-loading { padding: 24px; color: #7a8291; text-align: center; }
.pc-cm-bank {
    display: grid; grid-template-columns: 20px 44px minmax(120px, 1fr) auto auto; align-items: center; gap: 12px;
    padding: 14px 16px; border: 1px solid #e7eaf0; border-radius: 12px; cursor: pointer; transition: border-color .15s, box-shadow .15s;
}
.pc-cm-bank:hover { border-color: #c3c9d4; }
.pc-cm-bank.is-active { border-color: var(--pc-cm-accent); box-shadow: 0 0 0 1px var(--pc-cm-accent); }
.pc-cm-radio { width: 20px; height: 20px; border: 2px solid #c3c9d4; border-radius: 50%; }
.pc-cm-bank.is-active .pc-cm-radio { border: 6px solid var(--pc-cm-accent); }
.pc-cm-bank-logo { width: 44px; height: 44px; object-fit: contain; border-radius: 10px; }
.pc-cm-bank-name b { display: block; font-size: 15px; }
.pc-cm-bank-name span { display: block; color: #7a8291; font-size: 12px; }
.pc-cm-terms > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.pc-cm-term {
    min-width: 36px; height: 32px; padding: 0 8px; border: 1px solid #d6dbe3; border-radius: 8px; background: #fff;
    color: #1d2433; font-size: 14px; font-weight: 600; cursor: pointer;
}
.pc-cm-term:hover { border-color: var(--pc-cm-accent); }
.pc-cm-term.is-active { border-color: var(--pc-cm-accent); background: var(--pc-cm-accent); color: #fff; }
.pc-cm-monthly { min-width: 110px; text-align: right; }
.pc-cm-monthly b { font-size: 18px; white-space: nowrap; }
.pc-cm-footer { margin-top: 18px; }
.pc-cm-submit {
    display: block; width: 100%; height: 48px; border: 0; border-radius: 8px; background: var(--pc-cm-accent);
    color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; transition: filter .15s;
}
.pc-cm-submit:hover { filter: brightness(.94); }
.pc-cm-submit:disabled { opacity: .55; cursor: default; filter: none; }
.pc-cm-submit.is-loading { cursor: progress; }
.pc-cm-toast {
    position: fixed; top: 20px; right: 20px; z-index: 10060; display: flex; align-items: flex-start; gap: 12px;
    width: 360px; max-width: calc(100vw - 32px); padding: 14px 40px 14px 14px; border-radius: 12px;
    background: #fff; color: #1d2433; box-shadow: 0 12px 32px rgba(16, 24, 40, .2); animation: pc-cm-toast .2s ease-out;
}
.pc-cm-toast-icon {
    flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%; background: var(--ds-primary-color, #00A8E8);
    color: #fff; font-weight: 700; line-height: 26px; text-align: center;
}
.pc-cm-toast b { display: block; margin-bottom: 2px; }
.pc-cm-toast p { margin: 0; color: #5b6472; font-size: 13px; }
.pc-cm-toast button {
    position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; padding: 0; border: 0;
    background: transparent; color: #7a8291; font-size: 20px; line-height: 1; cursor: pointer;
}
@keyframes pc-cm-toast { from { opacity: 0; transform: translateY(-8px); } }
@media (max-width: 575.98px) {
    .pc-cm { padding: 0; align-items: stretch; }
    .pc-cm-dialog { margin: 0; min-height: 100%; padding: 18px 16px; border-radius: 0; }
    .pc-cm-title { font-size: 19px; }
    .pc-cm-summary { grid-template-columns: 1fr 1fr; }
    .pc-cm-qty { grid-column: 1 / -1; grid-row: 2; justify-content: center; }
    .pc-cm-bank { grid-template-columns: 20px 40px 1fr auto; gap: 10px; padding: 12px; }
    .pc-cm-bank-logo { width: 40px; height: 40px; }
    .pc-cm-terms { grid-column: 1 / -1; grid-row: 2; }
    .pc-cm-monthly { grid-column: 4; grid-row: 1; min-width: 0; }
    .pc-cm-monthly b { font-size: 16px; }
    .pc-cm-footer { position: sticky; bottom: 0; margin: 18px -16px -18px; padding: 12px 16px; background: #fff; box-shadow: 0 -4px 12px rgba(16, 24, 40, .08); }
    .pc-cm-toast { top: auto; bottom: 84px; right: 16px; }
}

/* ---------- Немає в наявності ---------- */
/* Наліпки банків ukrcredits на фото не потрібні: кредит показує наш блок біля кнопки «До кошика» */
#product-product .ds-product-main-content .ukrcreditsticker { display: none !important; }
/* Купити не можна: без кредиту й таймера акції, ціна приглушена */
#product-product:has(.pc-oos) #button-ukrcredits,
#product-product:has(.pc-oos) .ds-product-timer { display: none !important; }
#product-product:has(.pc-oos) .ds-product-main-price .ds-price-new,
#product-product:has(.pc-oos) .ds-product-main-price .ds-price-new.red-text { color: #8a93a3 !important; }
#product-product:has(.pc-oos) .ds-product-main-price-info .ds-module-sticker,
#product-product:has(.pc-oos) #main-product-you-save { filter: grayscale(1); opacity: .7; }
.pc-oos { margin: 18px 0 0; padding: 20px; border: 1px solid #e8ecf1; border-radius: 12px; background: #fff; }
.pc-oos-head { display: flex; align-items: flex-start; gap: 14px; }
.pc-oos-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; background: var(--pc-out-bg); color: var(--pc-out); }
.pc-oos-title { color: #1d2433; font-size: 18px; font-weight: 700; line-height: 1.3; }
.pc-oos-text { margin-top: 4px; color: #5b6472; font-size: 14px; line-height: 1.45; }
#product-product .pc-oos .ds-stock-notifier-btn,
#product-product .pc-oos + .pt-3 .ds-stock-notifier-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 52px; margin-top: 16px;
	border-radius: 10px !important; font-size: 16px; font-weight: 600;
}
#product-product .pc-oos + .pt-3 { padding-top: 0 !important; }
#product-product .pc-oos + .pt-3:empty { display: none; }
.dark-theme .pc-oos { border-color: #2a2a2a; background: #161616; }
.dark-theme .pc-oos-title { color: #f1f3f5; }
.dark-theme .pc-oos-text { color: #a0a6ae; }

/* «Офіційний партнер» (налаштування теми): компактна плашка замість великого блоку */
#product-product .oct-official-representative { display: inline-flex !important; align-items: center; gap: 12px !important; max-width: 100%; padding: 10px 16px !important; }
#product-product .oct-official-representative .official-rep-logo { width: auto !important; height: auto !important; max-width: 40px; max-height: 40px; object-fit: contain; }
