/* MaxtDesign Product Bundles — contents (default, page-scoped). One list skinned
   by .is-list / .is-grid; theme-deferential (inherits colour/font/links, hairlines
   via color-mix on currentColor). Lightbox styles are in bundle-lightbox.css. */
.md-bnd-selector {
	--md-bnd-thumb: 48px;
	--md-bnd-gap: .75em;
	--md-bnd-radius: 4px;
	--md-bnd-line: color-mix(in srgb, currentColor 12%, transparent);
	margin: 0 0 1.5em;
}

.md-bnd-heading {
	margin: 0 0 .5em;
	font-size: 1em;
}

.md-bnd-items {
	margin: 0 0 1em;
	padding: 0;
	list-style: none;
}

.md-bnd-item-name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.md-bnd-item-attrs,
.md-bnd-included {
	opacity: .7;
}

.md-bnd-item-attrs {
	display: block;
	font-size: .8em;
}

.md-bnd-included {
	font-style: italic;
}

.md-bnd-view-link {
	font-size: .8em;
}

.md-bnd-qty-input {
	width: 4em;
}

.md-bnd-item-qty {
	flex: 0 0 auto;
	white-space: nowrap;
}

.md-bnd-thumb {
	display: block;
	position: relative;
	flex: 0 0 auto;
}

.md-bnd-thumb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--md-bnd-radius);
}

/* List */
.md-bnd-items.is-list .md-bnd-item {
	display: flex;
	align-items: center;
	gap: .25em var(--md-bnd-gap);
	padding: .4em 0;
	border-bottom: 1px solid var(--md-bnd-line);
}

.md-bnd-items.is-list .md-bnd-thumb {
	width: var(--md-bnd-thumb);
	height: var(--md-bnd-thumb);
}

.md-bnd-items.is-list .md-bnd-item-body {
	flex: 1 1 auto;
	min-width: 0;
}

.md-bnd-items.is-list .md-bnd-item-price {
	margin-left: auto;
	white-space: nowrap;
}

/* Grid */
.md-bnd-items.is-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: 8px;
}

.md-bnd-items.is-grid .md-bnd-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: .2em;
	padding: 0 0 .35em;
	border: 1px solid var(--md-bnd-line);
	border-radius: var(--md-bnd-radius);
	overflow: hidden;
}

.md-bnd-items.is-grid .md-bnd-thumb {
	width: 100%;
	aspect-ratio: 1 / 1;
}

.md-bnd-items.is-grid .md-bnd-thumb-img {
	border-radius: 0;
}

.md-bnd-items.is-grid .md-bnd-item-body,
.md-bnd-items.is-grid .md-bnd-item-price {
	padding: 0 .4em;
}

.md-bnd-items.is-grid .md-bnd-item-name {
	font-size: .78em;
	line-height: 1.25;
	min-height: 2.5em;
}

.md-bnd-items.is-grid .md-bnd-item-price {
	font-size: .8em;
}

.md-bnd-items.is-grid .md-bnd-item-attrs {
	font-size: .72em;
}

/* Grid: fixed qty as a badge on the thumb (grid never carries adjustable inputs). */
.md-bnd-items.is-grid .md-bnd-qty-fixed {
	position: absolute;
	top: 6px;
	right: 6px;
	padding: .1em .4em;
	border-radius: var(--md-bnd-radius);
	background: color-mix(in srgb, currentColor 85%, transparent);
	color: Canvas;
	font-size: .8em;
	line-height: 1.4;
}

.md-bnd-savings {
	margin: .5em 0 0;
	font-weight: 600;
}

.md-bnd-total {
	margin: .25em 0 0;
	font-weight: 600;
}

/* Visually-hidden helper (WC/themes usually ship it; scoped copy for safety). */
.md-bnd-selector .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
