/* LZ Smart Recommendations – blok „Często kupowane razem”. Kolory i fonty dziedziczone z motywu. */
.lzsr-fbt {
	clear: both;
	margin: 2em 0;
	padding: 1.25em;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
}

.lzsr-fbt__title {
	margin: 0 0 1em;
	font-size: 1.25em;
}

.lzsr-fbt__items {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lzsr-fbt__item {
	position: relative;
	display: flex;
	flex: 1 1 160px;
	flex-direction: column;
	gap: 0.35em;
	max-width: 220px;
	margin: 0;
	transition: opacity 0.15s;
}

.lzsr-fbt__item + .lzsr-fbt__item::before {
	content: "+";
	position: absolute;
	top: 30%;
	left: -0.5em;
	transform: translateX(-50%);
	font-size: 1.4em;
	line-height: 1;
	font-weight: 700;
	opacity: 0.5;
}

.lzsr-fbt__item.is-unchecked {
	opacity: 0.45;
}

.lzsr-fbt__check {
	position: absolute;
	top: 0.5em;
	left: 0.5em;
	z-index: 1;
	width: 1.2em;
	height: 1.2em;
	cursor: pointer;
}

.lzsr-fbt__thumb img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.lzsr-fbt__name {
	font-size: 0.95em;
	line-height: 1.3;
	cursor: pointer;
}

.lzsr-fbt__more {
	font-size: 0.85em;
}

.lzsr-fbt__price {
	font-weight: 600;
}

.lzsr-fbt__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75em 1.25em;
	margin-top: 1.25em;
}

.lzsr-fbt__total-label {
	font-size: 1.1em;
}

.lzsr-fbt__add.loading {
	opacity: 0.6;
	cursor: wait;
}

.lzsr-fbt__message {
	flex-basis: 100%;
}

.lzsr-fbt__message:empty {
	display: none;
}

.lzsr-fbt__message.is-error {
	color: #b32d2e;
}

/* Układ kompaktowy (lista) – wąska kolumna obok galerii, tylko na większych ekranach. */
@media (min-width: 601px) {
	.lzsr-fbt--compact {
		padding: 1em 1.25em;
	}

	.lzsr-fbt--compact .lzsr-fbt__title {
		margin-bottom: 0.5em;
		font-size: 1.1em;
	}

	.lzsr-fbt--compact .lzsr-fbt__items {
		flex-direction: column;
		gap: 0;
	}

	.lzsr-fbt--compact .lzsr-fbt__item {
		display: grid;
		grid-template-columns: auto 56px 1fr auto;
		grid-template-areas:
			"check thumb name price"
			"check thumb more price";
		align-items: center;
		column-gap: 0.75em;
		flex: none;
		max-width: none;
		padding: 0.6em 0;
	}

	.lzsr-fbt--compact .lzsr-fbt__item + .lzsr-fbt__item {
		border-top: 1px dashed rgba(0, 0, 0, 0.12);
	}

	.lzsr-fbt--compact .lzsr-fbt__item + .lzsr-fbt__item::before {
		display: none;
	}

	.lzsr-fbt--compact .lzsr-fbt__check {
		position: static;
		grid-area: check;
	}

	.lzsr-fbt--compact .lzsr-fbt__thumb {
		grid-area: thumb;
	}

	.lzsr-fbt--compact .lzsr-fbt__name {
		grid-area: name;
		align-self: end;
		font-size: 0.9em;
	}

	.lzsr-fbt--compact .lzsr-fbt__item.is-main .lzsr-fbt__name {
		grid-row: 1 / span 2;
		align-self: center;
	}

	.lzsr-fbt--compact .lzsr-fbt__more {
		grid-area: more;
		align-self: start;
		font-size: 0.8em;
	}

	.lzsr-fbt--compact .lzsr-fbt__price {
		grid-area: price;
		font-size: 0.9em;
		text-align: right;
		white-space: nowrap;
	}

	.lzsr-fbt--compact .lzsr-fbt__summary {
		margin-top: 0.75em;
	}

	.lzsr-fbt--compact .lzsr-fbt__add {
		flex: 1 1 auto;
	}
}

@media (max-width: 600px) {
	.lzsr-fbt__item {
		flex: 0 1 calc(50% - 0.5em);
		max-width: calc(50% - 0.5em);
	}

	.lzsr-fbt__item + .lzsr-fbt__item::before {
		display: none;
	}

	.lzsr-fbt__add {
		width: 100%;
	}
}
