/* DeL Bundles — front end. Variables live on each component wrapper, never :root.
 * Classic design (0.3–0.5): .del-bundle-* classes. Modern design (0.6+): .del-bx-* classes. */

.del-bundle-contents,
.del-bundle-alerts,
.del-bundle-saving,
.del-bundle-purchase-note,
.del-bundle-fulfilment-note {
	--del-blue: #1965B0;
	--del-blue-dark: #134d87;
	--del-orange: #F57921;
	--del-green: #30B34B;
	--del-dark: #102033;
	--del-body: #54595F;
	--del-muted: #7A7A7A;
	--del-border: #eaeaec;
	--del-surface: #f4f4f5;
	--del-pill: #eef4fb;
}

/* Saving badge + notes in the product summary */
.del-bundle-saving { margin: -4px 0 16px; }
.del-bundle-saving .del-bundle-saving__badge {
	display: inline-block;
	padding: 5px 12px;
	background: var(--del-orange);
	color: #ffffff;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}
.del-bundle-saving .del-bundle-saving__badge .amount,
.del-bundle-saving .del-bundle-saving__badge bdi { color: inherit; }

.del-bundle-purchase-note {
	display: inline-block;
	margin-left: 14px;
	font-size: 13px;
	color: var(--del-body);
	vertical-align: middle;
}
.del-bundle-fulfilment-note {
	margin: 14px 0 0;
	padding-top: 14px;
	border-top: 1px solid var(--del-border);
	font-size: 14px;
	line-height: 1.6;
	color: var(--del-body);
}

/* What's included */
.del-bundle-contents {
	box-sizing: border-box;
	clear: both;
	width: 100%;
	margin: 32px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--del-body);
}
.del-bundle-contents *,
.del-bundle-contents *::before,
.del-bundle-contents *::after { box-sizing: border-box; }

.del-bundle-contents .del-bundle-contents__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 12px;
}
.del-bundle-contents .del-bundle-contents__title {
	margin: 0;
	font-size: 22px;
	line-height: 1.3;
	color: var(--del-dark);
}
.del-bundle-contents .del-bundle-contents__sub { font-size: 14px; color: var(--del-body); }
.del-bundle-contents .del-bundle-contents__sub .amount { color: inherit; font-weight: 400; }

.del-bundle-contents .del-bundle-contents__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--del-bundle-cols, 3), minmax(0, 1fr));
	gap: 20px;
}
.del-bundle-contents .del-bundle-card {
	margin: 0;
	padding: 20px;
	border: 1px solid var(--del-border);
	border-radius: 4px;
	background: #ffffff;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.del-bundle-contents .del-bundle-card__brand {
	align-self: flex-start;
	padding: 3px 9px;
	background: var(--del-pill);
	color: var(--del-blue-dark);
	border-radius: 10px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
}
.del-bundle-contents .del-bundle-card__title {
	margin: 0;
	font-size: 17px;
	line-height: 1.3;
	color: var(--del-dark);
}
.del-bundle-contents .del-bundle-card__title a { color: inherit; text-decoration: none; }
.del-bundle-contents .del-bundle-card__title a:hover,
.del-bundle-contents .del-bundle-card__title a:focus-visible { color: var(--del-blue); text-decoration: underline; }
.del-bundle-contents .del-bundle-card__desc { margin: 0; font-size: 14px; line-height: 1.55; color: var(--del-body); }
.del-bundle-contents .del-bundle-card__foot {
	margin-top: auto;
	padding-top: 10px;
	border-top: 1px solid var(--del-border);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	font-size: 13px;
}
.del-bundle-contents .del-bundle-card__price { color: var(--del-body); }
.del-bundle-contents .del-bundle-card__price .amount { color: inherit; font-weight: 400; }
.del-bundle-contents .del-bundle-card__link { color: var(--del-blue); text-decoration: none; font-weight: 600; }
.del-bundle-contents .del-bundle-card__link:hover,
.del-bundle-contents .del-bundle-card__link:focus-visible { color: var(--del-blue-dark); text-decoration: underline; }
.del-bundle-contents .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

@media (max-width: 900px) {
	.del-bundle-contents:not(.del-bundle-contents--cols-1) .del-bundle-contents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	/* Doubled class: must outrank the 900px :not() rule above. */
	.del-bundle-contents.del-bundle-contents .del-bundle-contents__grid { grid-template-columns: minmax(0, 1fr); }
	.del-bundle-purchase-note { display: block; margin: 10px 0 0; }
}

/* Product page hint under the cards */
.del-bundle-contents .del-bundle-contents__hint {
	margin: 0;
	padding: 16px 20px;
	background: var(--del-surface);
	border-radius: 4px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--del-body);
}

/* Cart/checkout warnings (they never block the purchase) */
.del-bundle-alerts { display: flex; flex-direction: column; gap: 12px; margin: 0 0 22px; }
.del-bundle-alerts .del-bundle-alert {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 18px;
	border: 1px solid;
	border-radius: 3px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--del-dark);
}
.del-bundle-alerts .del-bundle-alert svg { flex-shrink: 0; margin-top: 1px; }
.del-bundle-alerts .del-bundle-alert--overlap { background: #fcf3e9; border-color: var(--del-orange); }
.del-bundle-alerts .del-bundle-alert--overlap svg { color: #b4560f; }
.del-bundle-alerts .del-bundle-alert--owned { background: #f1faf3; border-color: var(--del-green); }
.del-bundle-alerts .del-bundle-alert--owned svg { color: #1a7a30; }
.del-bundle-alerts .del-bundle-alert__action { margin-left: 6px; color: var(--del-blue); text-decoration: underline; white-space: nowrap; }

/* Cart, mini-cart, checkout review and order details: indent the included courses. */
.woocommerce table.shop_table tr.del-bundle-child:not(.del-bx-child) td.product-name,
.woocommerce table.shop_table tr.del-bundle-child:not(.del-bx-child) td.woocommerce-table__product-name { padding-left: 36px; color: #54595F; }
.woocommerce table.shop_table tr.del-bundle-child:not(.del-bx-child) td.product-thumbnail img { opacity: .7; max-width: 48px; }
.woocommerce table.shop_table tr.del-bundle-child:not(.del-bx-child) td.product-remove { visibility: hidden; }
.woocommerce table.shop_table tr.del-bundle-parent:not(.del-bx-parent) td.product-name > a,
.woocommerce table.shop_table tr.del-bundle-parent:not(.del-bx-parent) td.product-name { font-weight: 600; }
.woocommerce table.shop_table tr.del-bundle-parent:not(.del-bx-parent) td.product-name dl.variation { font-weight: 400; }
.woocommerce-mini-cart .del-bundle-child:not(.del-bx-child) { padding-left: 24px; opacity: .85; }

/* =====================================================================================
 * Modern design (0.6+). Fonts are inherited from the theme; only sizes/weights are set.
 * ===================================================================================== */

.del-bx-contents,
.del-bx-saving,
.del-bx-note,
.del-bx-chips,
.del-bx-savings,
.del-bundle-alerts--modern,
.woocommerce table.shop_table tr.del-bx-child,
.woocommerce table.shop_table tr.del-bx-parent {
	--del-bx-blue: #1965B0;
	--del-bx-blue-dark: #134d87;
	--del-bx-orange: #F57921;
	--del-bx-orange-text: #b4560f;
	--del-bx-green: #30B34B;
	--del-bx-green-text: #1a7a30;
	--del-bx-green-bg: #eaf7ee;
	--del-bx-dark: #102033;
	--del-bx-body: #54595F;
	--del-bx-muted: #7A7A7A;
	--del-bx-border: #eaeaec;
	--del-bx-surface: #f4f4f5;
	--del-bx-tint: #f7f8fa;
	--del-bx-line: #dfe3e8;
	--del-bx-pill: #eef4fb;
	--del-bx-media: #e9edf2;
}

.del-bx-icon { flex-shrink: 0; }

/* --- Summary: saving pill + notes ------------------------------------------------ */
.del-bx-saving {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	margin: 4px 0 18px;
}
.del-bx-saving .del-bx-saving__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px 7px 12px;
	background: var(--del-bx-green-bg);
	color: var(--del-bx-green-text);
	border-radius: 999px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}
.del-bx-saving .del-bx-saving__pill .amount,
.del-bx-saving .del-bx-saving__pill bdi { color: inherit; font-weight: inherit; }
.del-bx-saving .del-bx-saving__meta { font-size: 15px; color: var(--del-bx-body); }

.del-bx-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--del-bx-body);
}
.del-bx-note .del-bx-icon { color: var(--del-bx-blue); margin-top: 2px; }
.del-bx-note.del-bx-note--inline {
	display: inline-flex;
	align-items: center;
	margin: 0 0 0 16px;
	vertical-align: middle;
}
.del-bx-note.del-bx-note--inline .del-bx-icon { margin-top: 0; }

/* 0.6.1: both notes stacked under the form, one icon column, one left edge. */
.del-bx-notes,
.entry-summary ul.del-bx-notes {
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	clear: both;
}
.del-bx-notes > li.del-bx-note {
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
	font-size: 15px;
	line-height: 1.55;
}
.del-bx-notes > li.del-bx-note::before,
.del-bx-notes > li.del-bx-note::marker { content: none; display: none; }
.del-bx-notes > li.del-bx-note .del-bx-icon { width: 18px; height: 18px; margin-top: 3px; }
.del-bx-notes > li.del-bx-note > span { flex: 1; min-width: 0; }

/* --- What's included ------------------------------------------------------------- */
.del-bx-contents {
	box-sizing: border-box;
	clear: both;
	width: 100%;
	margin: 56px 0 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	color: var(--del-bx-body);
}
.del-bx-contents *,
.del-bx-contents *::before,
.del-bx-contents *::after { box-sizing: border-box; }

/* Alignment. Without JS: centred at the theme container width. With JS: padded to the
   product image/summary edges (.is-aligned), or given gutters when full-bleed (.is-bleed). */
.del-bx-contents--align-auto {
	padding-left: max(var(--del-bx-pad-min, 0px), calc((100% - var(--del-bx-max, var(--theme-normal-container-max-width, 1290px))) / 2));
	padding-right: max(var(--del-bx-pad-min, 0px), calc((100% - var(--del-bx-max, var(--theme-normal-container-max-width, 1290px))) / 2));
}
.del-bx-contents--align-auto.is-bleed { --del-bx-pad-min: clamp(16px, 4vw, 48px); }
.del-bx-contents--align-auto.is-aligned {
	padding-left: var(--del-bx-pad-l, 0px);
	padding-right: var(--del-bx-pad-r, 0px);
}

.del-bx-contents .del-bx-contents__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
}
.del-bx-contents .del-bx-contents__titles { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.del-bx-contents .del-bx-eyebrow {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--del-bx-orange-text);
}
.del-bx-contents .del-bx-contents__title {
	margin: 0;
	font-size: clamp(24px, 1.2vw + 16px, 32px);
	line-height: 1.2;
	color: var(--del-bx-dark);
}
.del-bx-contents .del-bx-contents__sub { margin: 0; font-size: 16px; line-height: 1.5; color: var(--del-bx-body); }
.del-bx-contents .del-bx-contents__sub .amount { color: inherit; font-weight: inherit; }

.del-bx-contents .del-bx-summary {
	display: flex;
	margin: 0;
	padding: 12px 18px;
	border: 1px solid var(--del-bx-border);
	border-radius: 14px;
	background: var(--del-bx-surface);
}
.del-bx-contents .del-bx-summary__item { display: flex; flex-direction: column; min-width: 0; }
.del-bx-contents .del-bx-summary__item + .del-bx-summary__item {
	margin-left: 16px;
	padding-left: 16px;
	border-left: 1px solid var(--del-bx-line);
}
.del-bx-contents .del-bx-summary dt { margin: 0; font-size: 13px; font-weight: 400; color: var(--del-bx-body); }
.del-bx-contents .del-bx-summary dd { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--del-bx-dark); }
.del-bx-contents .del-bx-summary__item--save dd { color: var(--del-bx-green-text); }
.del-bx-contents .del-bx-summary dd .amount { color: inherit; font-weight: inherit; }

.del-bx-contents .del-bx-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--del-bx-cols, 3), minmax(0, 1fr));
	gap: 24px;
}
.del-bx-contents .del-bx-card {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	min-width: 0;
	border: 1px solid var(--del-bx-border);
	border-radius: 16px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(16, 32, 51, 0.04), 0 8px 24px rgba(16, 32, 51, 0.06);
}
.del-bx-contents .del-bx-card::before,
.del-bx-contents .del-bx-card::marker { content: none; }
@media (prefers-reduced-motion: no-preference) {
	.del-bx-contents .del-bx-card { transition: transform 0.2s ease, box-shadow 0.2s ease; }
	.del-bx-contents .del-bx-card:hover,
	.del-bx-contents .del-bx-card:focus-within {
		transform: translateY(-2px);
		box-shadow: 0 2px 4px rgba(16, 32, 51, 0.05), 0 14px 32px rgba(16, 32, 51, 0.1);
	}
}
.del-bx-contents .del-bx-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--del-bx-media);
	overflow: hidden;
}
.del-bx-contents .del-bx-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	object-fit: cover;
}
.del-bx-contents .del-bx-card__pos {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	background: #ffffff;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--del-bx-dark);
	box-shadow: 0 1px 3px rgba(16, 32, 51, 0.12);
}
.del-bx-contents .del-bx-card__body {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px 22px 18px;
	min-width: 0;
}
.del-bx-contents .del-bx-card__brand {
	align-self: flex-start;
	max-width: 100%;
	padding: 4px 11px;
	background: var(--del-bx-pill);
	color: var(--del-bx-blue-dark);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.del-bx-contents .del-bx-card__title {
	margin: 0;
	font-size: 19px;
	line-height: 1.3;
	color: var(--del-bx-dark);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.del-bx-contents .del-bx-card__title a { color: inherit; text-decoration: none; }
.del-bx-contents .del-bx-card__title a:hover,
.del-bx-contents .del-bx-card__title a:focus-visible { color: var(--del-bx-blue); text-decoration: underline; }
.del-bx-contents .del-bx-card__desc {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--del-bx-body);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}
.del-bx-contents .del-bx-card__foot {
	margin-top: auto;
	padding-top: 12px;
	border-top: 1px solid var(--del-bx-border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 4px 12px;
}
.del-bx-contents .del-bx-card__price { display: inline-flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.del-bx-contents .del-bx-card__price ins { text-decoration: none; font-size: 17px; font-weight: 600; color: var(--del-bx-dark); }
.del-bx-contents .del-bx-card__price del { font-size: 14px; color: var(--del-bx-muted); }
.del-bx-contents .del-bx-card__price .amount { color: inherit; font-weight: inherit; }
.del-bx-contents .del-bx-card__price--worth { font-size: 15px; color: var(--del-bx-body); }
.del-bx-contents .del-bx-card__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	color: var(--del-bx-blue);
	text-decoration: none;
}
.del-bx-contents .del-bx-card__link:hover,
.del-bx-contents .del-bx-card__link:focus-visible { color: var(--del-bx-blue-dark); text-decoration: underline; }
.del-bx-contents .screen-reader-text,
.del-bx-card .screen-reader-text,
.del-bx-price .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.del-bx-contents .del-bx-hint {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--del-bx-body);
}
.del-bx-contents .del-bx-hint .del-bx-icon { color: var(--del-bx-blue); margin-top: 2px; }
.del-bx-contents .del-bx-hint a { font-weight: 600; color: var(--del-bx-blue); }

/* Small tablet: two cards per row (three still fit comfortably down to ~860px). */
@media (max-width: 860px) {
	.del-bx-contents:not(.del-bx-contents--cols-1) .del-bx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Phone: compact horizontal cards, full-width summary, notes on their own line. */
@media (max-width: 640px) {
	.del-bx-contents { margin-top: 40px; gap: 18px; }
	.del-bx-contents.del-bx-contents .del-bx-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.del-bx-contents .del-bx-contents__head { align-items: stretch; }
	.del-bx-contents .del-bx-summary { width: 100%; padding: 12px 14px; }
	.del-bx-contents .del-bx-summary__item { flex: 1 1 0; }
	.del-bx-contents .del-bx-summary dd { font-size: 18px; }
	.del-bx-contents .del-bx-card { flex-direction: row; align-items: stretch; border-radius: 14px; }
	.del-bx-contents .del-bx-card__media {
		flex: 0 0 92px;
		width: 92px;
		height: 92px;
		aspect-ratio: auto;
		margin: 12px 0 12px 12px;
		border-radius: 10px;
	}
	.del-bx-contents .del-bx-card__pos { display: none; }
	.del-bx-contents .del-bx-card__body { padding: 12px 14px 8px; gap: 5px; }
	.del-bx-contents .del-bx-card__brand { padding: 0; background: none; font-size: 12px; }
	.del-bx-contents .del-bx-card__title { font-size: 16px; }
	.del-bx-contents .del-bx-card__desc { display: none; }
	.del-bx-contents .del-bx-card__foot { padding-top: 0; border-top: 0; }
	.del-bx-contents .del-bx-card__price ins { font-size: 15px; }
	.del-bx-contents .del-bx-card__price del { font-size: 13px; }
	.del-bx-contents .del-bx-card__link { font-size: 14px; }
	.del-bx-note.del-bx-note--inline { display: flex; margin: 12px 0 0; width: 100%; }
}

/* --- Cart, checkout review, mini-cart --------------------------------------------- */
.del-bx-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.del-bx-chips .del-bx-chip {
	display: inline-block;
	padding: 3px 10px;
	background: var(--del-bx-pill);
	color: var(--del-bx-blue-dark);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	white-space: nowrap;
}
.del-bx-chips .del-bx-chip--save { background: var(--del-bx-green-bg); color: var(--del-bx-green-text); font-weight: 600; }
.del-bx-chips .del-bx-chip .amount { color: inherit; font-weight: inherit; }

.del-bx-price { display: inline-block; line-height: 1.3; }
.del-bx-price ins,
.del-bx-price del { display: block; }
.del-bx-price ins { text-decoration: none; font-weight: 600; }
.del-bx-price del { font-size: 0.82em; color: #7A7A7A; font-weight: 400; }
.del-bx-included { font-weight: 600; color: #1a7a30; }

.woocommerce table.shop_table tr.del-bx-child { background: var(--del-bx-tint); }
.woocommerce table.shop_table tr.del-bx-child > td {
	background: var(--del-bx-tint);
	padding-top: 10px;
	padding-bottom: 10px;
	border-top-color: transparent;
	font-size: 0.94em;
}
.woocommerce table.shop_table tr.del-bx-child > td:first-child { box-shadow: inset 2px 0 0 var(--del-bx-line); }
.woocommerce table.shop_table tr.del-bx-child.del-bx-child--last > td { border-bottom: 12px solid #ffffff; }
.woocommerce table.shop_table tr.del-bx-child td.product-name { padding-left: 28px; color: var(--del-bx-dark); }
.woocommerce table.shop_table tr.del-bx-child td.product-thumbnail img { width: 44px; height: 44px; max-width: 44px; object-fit: cover; margin-left: 18px; border-radius: 8px; }
.woocommerce table.shop_table tr.del-bx-child td.product-remove > * { visibility: hidden; }
.woocommerce table.shop_table tr.del-bx-child .del-bundle-qty { color: var(--del-bx-muted); }
.woocommerce table.shop_table tr.del-bx-parent > td { border-bottom-color: transparent; }
.woocommerce table.shop_table tr.del-bx-parent td.product-name > a { font-weight: 600; }

.del-bx-savings td { padding-top: 6px !important; border: 0 !important; }
.del-bx-savings .del-bx-savings__pill {
	display: block;
	padding: 10px 12px;
	background: var(--del-bx-green-bg);
	color: var(--del-bx-green-text);
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	text-align: left;
}
.del-bx-savings .del-bx-savings__pill .amount { color: inherit; }

.woocommerce-mini-cart .del-bx-child { padding-left: 20px; background: var(--del-bx-tint, #f7f8fa); }
.woocommerce-mini-cart .del-bx-chips { margin-top: 4px; }

/* WooCommerce stacks cart rows as blocks on small screens. */
@media (max-width: 768px) {
	.woocommerce table.shop_table_responsive tr.del-bx-child {
		margin-left: 16px;
		border-left: 2px solid var(--del-bx-line);
	}
	.woocommerce table.shop_table_responsive tr.del-bx-child > td:first-child { box-shadow: none; }
	.woocommerce table.shop_table_responsive tr.del-bx-child td.product-name { padding-left: 12px; }
	.woocommerce table.shop_table_responsive tr.del-bx-child td.product-thumbnail img { margin-left: 0; }
	.woocommerce table.shop_table_responsive tr.del-bx-child.del-bx-child--last > td { border-bottom: 0; }
	.woocommerce table.shop_table_responsive tr.del-bx-child.del-bx-child--last { margin-bottom: 16px; }
	/* Course rows: price and fixed quantity repeat the subtotal; keep them compact. */
	.woocommerce table.shop_table_responsive tr.del-bx-child td.product-price,
	.woocommerce table.shop_table_responsive tr.del-bx-child td.product-quantity { display: none; }
	.woocommerce table.shop_table_responsive .del-bx-chips { justify-content: flex-end; }
}

/* --- Cart/checkout warnings ---------------------------------------------------------- */
.del-bundle-alerts--modern .del-bundle-alert {
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	border-radius: 14px;
	line-height: 1.55;
}
.del-bundle-alerts--modern .del-bundle-alert > svg {
	width: 32px;
	height: 32px;
	padding: 7px;
	margin: 0;
	border-radius: 999px;
	box-sizing: border-box;
	color: #ffffff;
}
.del-bundle-alerts--modern .del-bundle-alert--overlap { background: #fcf3e9; border-color: #f7c9a1; }
.del-bundle-alerts--modern .del-bundle-alert--overlap > svg { background: var(--del-bx-orange); color: #ffffff; }
.del-bundle-alerts--modern .del-bundle-alert--owned { background: #f1faf3; border-color: #bfe5c8; }
.del-bundle-alerts--modern .del-bundle-alert--owned > svg { background: var(--del-bx-green); color: #ffffff; }
.del-bundle-alerts--modern .del-bundle-alert__action {
	display: inline-block;
	margin: 4px 0 0 6px;
	padding: 6px 14px;
	border: 1px solid var(--del-bx-orange);
	border-radius: 999px;
	color: var(--del-bx-orange-text);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.del-bundle-alerts--modern .del-bundle-alert__action:hover,
.del-bundle-alerts--modern .del-bundle-alert__action:focus-visible { background: #fcf3e9; text-decoration: underline; }
@media (max-width: 640px) {
	.del-bundle-alerts--modern .del-bundle-alert { align-items: flex-start; padding: 12px 14px; }
	.del-bundle-alerts--modern .del-bundle-alert > svg { width: 28px; height: 28px; padding: 6px; }
	.del-bundle-alerts--modern .del-bundle-alert__action { display: block; width: max-content; margin: 8px 0 0; }
}
