.lb-bundle-packshot {
	display: flex;
	isolation: isolate;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: radial-gradient(ellipse at 50% 100%, #f7e8e6, #fff 68%);
}

.lb-bundle-packshot > svg {
	display: block;
	width: var(--lb-pack-width, 77%);
	height: 87%;
	min-width: 0;
	mix-blend-mode: multiply;
}

.lb-bundle-packshot--2 { --lb-pack-width: 43%; }
.lb-bundle-packshot--3 { --lb-pack-width: 30%; }
.lb-bundle-packshot--2 > svg:first-child,
.lb-bundle-packshot--3 > svg:first-child { transform: translateY(4%) rotate(-9deg); }
.lb-bundle-packshot--2 > svg:last-child,
.lb-bundle-packshot--3 > svg:last-child { transform: translateY(4%) rotate(9deg); }

.lb-bundle-packshot--box { position: relative; background: #21171a; }

.lb-bundle-packshot--box > img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 64%;
}

.lb-bundle-packshot-quantity {
	position: absolute;
	inset: auto 5px 5px auto;
	min-inline-size: 1.8em;
	padding: .2em .45em;
	border: 1px solid #fff8;
	border-radius: 5px;
	background: #1c1418;
	color: #fff;
	font-size: clamp(.66rem, 1.25vw, .92rem);
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
}

.lb-bundle-packaging {
	width: min(100%, 640px);
	margin: clamp(1.25rem, 3vw, 2.1rem) auto 0;
}

.lb-bundle-packaging h3 {
	margin: 0 0 .65rem;
	color: var(--lb-ink);
	font-size: clamp(1rem, 2vw, 1.28rem);
	font-weight: 800;
	line-height: 1.2;
}

.lb-bundle-packaging-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(8px, 1.6vw, 16px);
}

.lb-bundle-packaging figure {
	min-width: 0;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--lb-line);
	border-radius: var(--lb-radius);
	background: var(--lb-white);
}

.lb-bundle-packaging img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #21171a;
}

.lb-bundle-packaging figcaption {
	padding: .55rem .65rem;
	color: var(--lb-ink);
	font-size: .78rem;
	font-weight: 750;
	line-height: 1.3;
}

.westbiiking .lb-bundle-featured {
	position: relative;
	border-color: #ca8990;
}

.westbiiking .lb-bundle-featured-badge {
	display: inline-flex;
	align-items: center;
	padding: .22em .62em;
	border-radius: 4px;
	background: var(--lb-red-hover);
	color: #fff;
	font-size: .69rem;
	font-weight: 800;
	line-height: 1.35;
	white-space: nowrap;
}

@property --lb-bundle-sweep {
	syntax: '<angle>';
	inherits: false;
	initial-value: 0deg;
}

@media (prefers-reduced-motion: no-preference) {
	@supports (mask-composite: exclude) {
		.lb-bundle-featured--entered::after {
			content: '';
			position: absolute;
			z-index: 1;
			inset: 0;
			padding: 2px;
			border-radius: inherit;
			background: conic-gradient(from var(--lb-bundle-sweep), transparent 0deg 257deg, #d4183880 282deg, #c3132c 319deg, #ff928b 337deg, transparent 360deg);
			mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
			mask-composite: exclude;
			pointer-events: none;
			animation: lb-bundle-sweep 1.8s ease-in-out both;
		}
	}
}

@keyframes lb-bundle-sweep {
	from { --lb-bundle-sweep: -54deg; opacity: 0; }
	15%, 81% { opacity: 1; }
	to { --lb-bundle-sweep: 306deg; opacity: 0; }
}

.westbiiking .lb-pdp .lb-pdp-lot {
	min-height: 83px;
	grid-template-columns: clamp(82px, 23%, 115px) minmax(0, 1fr) max-content;
	gap: clamp(10px, 2.5vw, 15px);
	padding: 8px clamp(9px, 2.5vw, 15px) 8px 8px;
	border-radius: 12px;
	background: var(--lb-white);
}

.lb-pdp-lot-photo {
	display: block;
	width: 100%;
	aspect-ratio: 1.48;
	overflow: hidden;
	border: 1px solid var(--lb-line);
	border-radius: 8px;
	background: #fff;
}

.westbiiking .lb-pdp-lot-main { display: grid; min-width: 0; gap: 4px; }
.westbiiking .lb-pdp-lot-title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.westbiiking .lb-pdp-lot-title strong { color: var(--lb-ink); font-size: clamp(.99rem, 2vw, 1.13rem); line-height: 1.16; }
.westbiiking .lb-pdp-lot-title .lb-pdp-lot-count { padding: .17em .54em; border-radius: 4px; background: var(--lb-rose); color: var(--lb-red-hover); font-size: .69rem; font-weight: 800; white-space: nowrap; }
.westbiiking .lb-pdp-lot-main .lb-pdp-lot-use { font-size: .78rem; line-height: 1.3; }

.lb-bundle-value {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 9px;
}

.lb-pdp-lot-prices { display: grid; gap: 2px; text-align: end; }
.lb-pdp-lot-unit-price { color: var(--lb-muted); font-size: .72rem; font-weight: 750; white-space: nowrap; }

.westbiiking .lb-pdp .lb-pdp-lot:has(input:checked),
.westbiiking .lb-pdp-unavailable .lb-pdp-lot:target { border-color: var(--lb-red); background: var(--lb-rose); box-shadow: inset 2px 0 var(--lb-red); }
.lb-pdp-lot:has(input:checked) .lb-pdp-lot-photo,
.lb-pdp-unavailable .lb-pdp-lot:target .lb-pdp-lot-photo { border-color: #e8b5bc; }
@media (max-width: 430px) {
	.westbiiking .lb-pdp .lb-pdp-lot { min-height: 76px; grid-template-columns: minmax(72px, 25%) minmax(0, 1fr) minmax(18px, max-content); gap: 8px; }
	.lb-bundle-value { display: grid; justify-items: end; gap: 4px; }
	.lb-pdp-lot-price { font-size: .86rem; }
}
