/* Blocksy MT - Karta produktu → Warianty (Blocksy + WooCommerce) */

/* Okruszki: zwykłe litery; na telefonie bez długiego tytułu produktu */
.single-product .ct-breadcrumbs {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
}

@media (max-width: 689px) {
	.single-product .ct-breadcrumbs .last,
	.single-product .ct-breadcrumbs .separator:last-of-type {
		display: none;
	}
}

/* Jedna cena: przedział znika, gdy pokazuje się cena wybranego wariantu */
.single-product .entry-summary:has(.woocommerce-variation-price .price) > p.price {
	display: none;
}

.single-product .entry-summary .woocommerce-product-rating {
	margin-bottom: 16px;
}

.single-product .variations th.label label > span {
	display: none;
}

.single-product .variations td.value {
	width: 100%;
}

.single-product .reset_variations {
	display: none !important;
}

.single-product .woocommerce-variation-price .price {
	font-size: 30px;
	font-weight: 800;
}

.single-product .woocommerce-variation-price .price del,
.single-product .woocommerce-variation-price .price del * {
	font-size: 16px !important;
	font-weight: 600;
	opacity: 0.75;
}

/* -------------------------------------------------------------------------
   Karty wariantów: kółko wyboru + nazwa + podtytuł
   Domyślne kolory z przycisków Blocksy; każdy można zmienić w ustawieniach.
   ---------------------------------------------------------------------- */
.bmt-variants {
	--bmt-v-btn-bg: var(--theme-button-background-initial-color, #EFE4D6);
	--bmt-v-btn-text: var(--theme-button-text-initial-color, #111111);
	/* Kolor tekstu przycisków Blocksy bez korekty kontrastu - znaczek ✓ stoi na tle przycisku. */
	--bmt-v-btn-label: var(--theme-button-text-initial-color, #111111);
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: var(--bmt-v-gap, 12px);
	width: 100%;
	margin: 0;
	padding: 0;
}

/* Pełna szerokość kolumny także wewnątrz kontenerów Blocksy (td.value i .ct-variation-swatches są flexami). */
.variations td.value:has(.bmt-variants) {
	flex-wrap: wrap;
	width: 100%;
}

.variations td.value:has(.bmt-variants) > *:has(.bmt-variants),
.variations td.value > .bmt-variants,
.ct-variation-swatches > .bmt-variants {
	flex: 1 1 100%;
	width: 100%;
	max-width: 100%;
}

/* Nagłówek wyboru: „Wybierz wariant:” / „Dostępny wariant:” (z ustawień) zamiast nazwy atrybutu. */
.bmt-variants__heading {
	flex: 1 1 100%;
	width: 100%;
	margin: 0 0 0.625em;
	font-weight: 600;
	line-height: 1.3;
}

.variations tr:has(.bmt-variants__heading) th.label {
	display: none;
}

/* Gdy są karty, lista i przyciski Blocksy są ukryte (lista nadal działa w tle). */
.variations td.value:has(.bmt-variants) select,
.variations td.value:has(.bmt-variants) .ct-swatch-container {
	display: none !important;
}

.bmt-variants .bmt-variant {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	gap: 0.875em;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: var(--bmt-v-pad, 0.875em 1em);
	border: var(--bmt-v-border-w, 1.5px) solid var(--bmt-v-off-border, color-mix(in srgb, var(--bmt-v-btn-text) 18%, #FFFFFF));
	border-radius: var(--bmt-v-radius, 12px);
	background: var(--bmt-v-bg, #FFFFFF);
	box-shadow: none;
	color: var(--bmt-v-title, var(--bmt-v-btn-text));
	font: inherit;
	text-align: left;
	text-transform: none;
	letter-spacing: normal;
	cursor: pointer;
	transition: border-color 0.15s ease, opacity 0.15s ease;
}

.bmt-variants .bmt-variant:hover {
	border-color: var(--bmt-v-hover-border, color-mix(in srgb, var(--bmt-v-btn-text) 45%, #FFFFFF));
	background: var(--bmt-v-bg, #FFFFFF);
	color: var(--bmt-v-title, var(--bmt-v-btn-text));
}

.bmt-variants .bmt-variant[aria-checked="true"] {
	border-color: var(--bmt-v-on-border, var(--bmt-v-btn-text));
	background: var(--bmt-v-on-bg, var(--bmt-v-bg, #FFFFFF));
}

.bmt-variants .bmt-variant:focus-visible {
	outline: 2px solid var(--bmt-v-on-border, var(--bmt-v-btn-text));
	outline-offset: 2px;
}

.bmt-variants .bmt-variant[aria-disabled="true"] {
	opacity: 0.45;
	cursor: not-allowed;
}

.bmt-variant__circle {
	position: relative;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: var(--bmt-v-circle, 32px);
	height: var(--bmt-v-circle, 32px);
	border: 1.5px solid var(--bmt-v-off-border, color-mix(in srgb, var(--bmt-v-btn-text) 18%, #FFFFFF));
	border-radius: 50%;
	background: #FFFFFF;
}

.bmt-variant[aria-checked="true"] .bmt-variant__circle {
	border-color: var(--bmt-v-on-border, var(--bmt-v-btn-text));
	background: var(--bmt-v-circle-bg, var(--bmt-v-btn-bg));
}

.bmt-variant[aria-checked="true"] .bmt-variant__circle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30%;
	height: 15%;
	border-bottom: 2px solid var(--bmt-v-check, var(--bmt-v-btn-label));
	border-left: 2px solid var(--bmt-v-check, var(--bmt-v-btn-label));
	transform: translate(-45%, -70%) rotate(-45deg);
}

.bmt-variants--no-circle .bmt-variant__circle {
	display: none;
}

.bmt-variant__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
	line-height: 1.25;
}

.bmt-variant__name {
	font-size: var(--bmt-v-title-size, 1.125em);
	font-weight: var(--bmt-v-title-weight, 700);
	color: var(--bmt-v-title, var(--bmt-v-btn-text));
	overflow-wrap: anywhere;
}

.bmt-variant__sub {
	margin-top: 0.125em;
	font-size: var(--bmt-v-sub-size, 0.875em);
	font-weight: 400;
	color: var(--bmt-v-sub, color-mix(in srgb, var(--bmt-v-btn-text) 65%, #FFFFFF));
	overflow-wrap: anywhere;
}

/* Układ: PC i telefon osobno (domyślnie PC obok siebie, telefon jeden pod drugim). */
.bmt-variants--pc-column {
	flex-direction: column;
}

.bmt-variants--pc-column .bmt-variant {
	flex: 0 0 auto;
	width: 100%;
}

@media (max-width: 689.98px) {
	.bmt-variants--m-column {
		flex-direction: column;
	}

	.bmt-variants--m-column .bmt-variant {
		flex: 0 0 auto;
		width: 100%;
	}

	.bmt-variants--m-row {
		flex-direction: row;
	}

	.bmt-variants--m-row .bmt-variant {
		flex: 1 1 0;
		width: auto;
	}
}

/* Plakietka „Oszczędzasz …” na górnej krawędzi karty (nie zabiera miejsca nazwie wariantu). */
.bmt-variants .bmt-variant.has-save {
	position: relative;
	overflow: visible;
}

.bmt-variant__save {
	position: absolute;
	top: 0;
	right: 14px;
	transform: translateY(-50%);
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--bmt-v-save-bg, var(--bmt-sale-color, #1E9E3B));
	color: var(--bmt-v-save-color, #FFFFFF);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.01em;
	white-space: nowrap;
	pointer-events: none;
}

.bmt-variants:has(.has-save) {
	padding-top: 8px;
}

/* Plakietka stanu magazynu - lewa strona górnej krawędzi; brak w magazynie = karta wyszarzona i nieklikalna. */
.bmt-variants .bmt-variant.has-stock {
	position: relative;
	overflow: visible;
}

.bmt-variant__stock {
	position: absolute;
	top: 0;
	left: 14px;
	transform: translateY(-50%);
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--bmt-v-low-bg, #C2702A);
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0.01em;
	white-space: nowrap;
	pointer-events: none;
}

.bmt-variants .bmt-variant.is-oos[aria-disabled="true"] {
	opacity: 1;
	border-color: color-mix(in srgb, var(--bmt-v-btn-text) 12%, #FFFFFF);
	background: #F4F4F4;
	cursor: not-allowed;
}

.bmt-variants .bmt-variant.is-oos > :not(.bmt-variant__stock) {
	opacity: 0.45;
	filter: grayscale(1);
}

.bmt-variants .bmt-variant.is-oos .bmt-variant__stock {
	background: var(--bmt-v-oos-bg, #8C8C8C);
}

.bmt-variants:has(.has-stock) {
	padding-top: 8px;
}

/* Cena w karcie: po prawej, przekreślona pod aktualną.
   Cena promocyjna i zwykła mają tę samą wielkość (ustawienie „Cena - wielkość”), przekreślona jest mniejsza. */
.bmt-variant__price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	flex: 0 0 auto;
	margin-left: auto;
	padding-left: 0.75em;
	font-size: var(--bmt-v-price-size, 1.25em);
	font-weight: 700;
	text-align: right;
	line-height: 1.2;
	white-space: nowrap;
	color: var(--bmt-v-price, var(--bmt-v-title, var(--bmt-v-btn-text)));
}

/* Motyw (np. Blocksy) może owinąć cenę w <span class="sale-price"> - układ kolumny przechodzi na ten element. */
.bmt-variant__price > span:has(del) {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.bmt-variant__price *:not(del) {
	margin: 0;
	padding: 0;
	background: none;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit;
	text-decoration: none;
}

.bmt-variant__price :not(del) > .amount,
.bmt-variant__price > .amount,
.bmt-variant__price ins {
	color: var(--bmt-v-price, var(--bmt-v-title, var(--bmt-v-btn-text)));
}

.bmt-variant__price ins {
	order: 1;
}

.bmt-variant__price del {
	order: 2;
	margin-top: 0.15em;
	font-size: 0.65em !important;
	font-weight: 400 !important;
	opacity: 0.6;
}

.bmt-variant__price del * {
	font-size: inherit !important;
	font-weight: inherit !important;
}

.bmt-variant__price .bmt-omnibus,
.bmt-variant__price .screen-reader-text {
	display: none;
}

/* Cena jest w kartach - pod kartami zostaje tylko informacja Omnibus. */
form.variations_form:has(.bmt-variant__price) .woocommerce-variation-price,
.entry-summary:has(.bmt-variant__price) > .price,
.entry-summary:has(.bmt-variant__price) .entry-summary-items > .price,
.entry-summary-items:has(.bmt-variant__price) > .price {
	display: none !important;
}

.bmt-variants__omnibus:empty {
	display: none;
}

.bmt-variants__omnibus {
	flex: 1 1 100%;
	width: 100%;
	margin: 0.5em 0 0;
}

.bmt-variants__omnibus .bmt-omnibus {
	margin: 0 !important;
	font-size: max(11px, 0.8125em) !important;
}

.bmt-omnibus--card {
	display: block;
	margin: -0.75em 0 1.25em !important;
}

/* Produkt prosty: jedna karta, zawsze wybrana, pełna szerokość - jak warianty. */
.bmt-variants--single {
	margin: 0 0 1.25em;
}

.bmt-variants__heading + .bmt-variants--single {
	margin-top: 0;
}

.bmt-variants--single .bmt-variant {
	flex: 1 1 auto;
	cursor: default;
}
