/* --------------------------------------------------------------------------
   Third-party integrations (shipped defaults — extend via WD Bundle Settings)
   -------------------------------------------------------------------------- */

/* FunnelKit cart — hide qty controls on free bundle child lines */
.fkcart--item.fkcart-free-item .fkcart-quantity-button.fkcart-quantity-down,
.fkcart--item.fkcart-free-item .fkcart-quantity-button.fkcart-quantity-up {
	display: none !important;
}

.fkcart--item.fkcart-free-item .fkcart-quantity__input[disabled] {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	pointer-events: none !important;
	width: auto;
	padding: 0;
}

/* --------------------------------------------------------------------------
   Bundle grouping — make parent + its children read as ONE unit in the cart
   so customers don't mistake the children for separate products.
   -------------------------------------------------------------------------- */

/* ---- FunnelKit slide cart ---- */
.fkcart--item.fkcart-product-type-wd_bundle,
.fkcart--item.fkcart-free-item {
	position: relative;
	background: #f6faf7;
	border-left: 3px solid #42be7a;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/* Parent = bundle header */
.fkcart--item.fkcart-product-type-wd_bundle {
	margin-top: 10px !important;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	box-shadow: inset 0 1px 0 #d8ebe0, inset 0 0 0 1px #e3efe8;
}
.fkcart--item.fkcart-product-type-wd_bundle::before {
	content: "BUNDEL";
	position: absolute;
	top: 8px;
	left: 12px;
	z-index: 2;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .6px;
	color: #fff;
	background: #42be7a;
	padding: 2px 7px;
	border-radius: 20px;
}
/* Children = indented, connected sub-items */
.fkcart--item.fkcart-free-item {
	padding-left: 22px !important;
}
.fkcart--item.fkcart-free-item::before {
	content: "";
	position: absolute;
	left: 10px;
	top: -1px;
	bottom: 50%;
	width: 9px;
	border-left: 2px solid #bfe0cd;
	border-bottom: 2px solid #bfe0cd;
	border-bottom-left-radius: 6px;
}
/* Close the group under the last child */
.fkcart--item.fkcart-free-item:not(:has(+ .fkcart--item.fkcart-free-item)) {
	margin-bottom: 10px !important;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	box-shadow: inset 0 -1px 0 #d8ebe0, inset 0 0 0 1px #e3efe8;
}

/* ---- FunnelKit slide cart — polish ---- */
.fkcart--item.fkcart-product-type-wd_bundle,
.fkcart--item.fkcart-free-item {
	border-right: 1px solid #e3efe8;
}
.fkcart--item.fkcart-free-item {
	background: #fbfdfc;
}
.fkcart--item.fkcart-product-type-wd_bundle::before {
	box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
	letter-spacing: .8px;
}
.fkcart--item.fkcart-free-item::before {
	border-color: #cfe7d9;
}

/* ---- Standard WooCommerce cart / checkout + FunnelKit (WFACP) table ---- */
tr.cart_item.wd-bundle-parent > td,
tr.cart_item.wd-bundle-child > td {
	border-left: 3px solid #42be7a;
	background: #f6faf7;
	vertical-align: top;
}
tr.cart_item.wd-bundle-child > td {
	background: #fbfdfc;
}
/* Glue rows into one visual card */
tr.cart_item.wd-bundle-parent > td {
	border-top: 1px solid #e3efe8;
	padding-top: 14px !important;
}
tr.cart_item.wd-bundle-parent + tr.cart_item.wd-bundle-child > td,
tr.cart_item.wd-bundle-child + tr.cart_item.wd-bundle-child > td {
	border-top: none !important;
	padding-top: 6px !important;
}
tr.cart_item.wd-bundle-child:not(:has(+ tr.cart_item.wd-bundle-child)) > td {
	border-bottom: 1px solid #e3efe8;
	padding-bottom: 14px !important;
	margin-bottom: 8px;
}
tr.cart_item.wd-bundle-parent:has(+ tr.cart_item.wd-bundle-child) > td {
	border-bottom: none !important;
	padding-bottom: 8px !important;
}

/* Parent = bundle header */
tr.cart_item.wd-bundle-parent .wfacp-pro-thumb,
tr.cart_item.wd-bundle-parent .product-thumbnail {
	position: relative;
}
tr.cart_item.wd-bundle-parent .wfacp-pro-thumb::after,
tr.cart_item.wd-bundle-parent .product-thumbnail::after {
	content: "BUNDEL";
	position: absolute;
	top: 4px;
	left: 4px;
	z-index: 2;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .6px;
	color: #fff;
	background: #42be7a;
	padding: 2px 7px;
	border-radius: 20px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
	pointer-events: none;
}

/* Children = indented sub-lines */
tr.cart_item.wd-bundle-child td.product-name-area {
	padding-left: 12px !important;
	position: relative;
}
tr.cart_item.wd-bundle-child td.product-name-area::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	bottom: 50%;
	width: 10px;
	border-left: 2px solid #cfe7d9;
	border-bottom: 2px solid #cfe7d9;
	border-bottom-left-radius: 6px;
}
tr.cart_item.wd-bundle-child .wfacp-pro-thumb img,
tr.cart_item.wd-bundle-child .product-thumbnail img {
	width: 72px !important;
	height: 72px !important;
	object-fit: contain;
}
tr.cart_item.wd-bundle-child .wd-icon-chain {
	color: #42be7a;
	opacity: .85;
	margin-right: 2px;
}

/* Meta: compact, muted */
tr.cart_item.wd-bundle-parent dl.variation,
tr.cart_item.wd-bundle-child dl.variation {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	font-size: 12px;
	line-height: 1.45;
	color: #6b7280;
}
tr.cart_item.wd-bundle-parent dl.variation dt,
tr.cart_item.wd-bundle-child dl.variation dt {
	font-weight: 600;
	color: #4b5563;
	margin: 0;
	padding: 0;
}
tr.cart_item.wd-bundle-parent dl.variation dd,
tr.cart_item.wd-bundle-child dl.variation dd {
	margin: 0 0 4px !important;
	padding: 0 !important;
}
tr.cart_item.wd-bundle-parent dl.variation dd p,
tr.cart_item.wd-bundle-child dl.variation dd p {
	margin: 0;
}

/* WFACP: price already in the total column — hide duplicate in title */
tr.cart_item.wd-bundle-parent .wfacp_mini_cart_item_title .woocommerce-Price-amount,
tr.cart_item.wd-bundle-child .wfacp_mini_cart_item_title .woocommerce-Price-amount {
	display: none !important;
}
tr.cart_item.wd-bundle-child .wfacp_mini_cart_item_title strong.product-quantity,
tr.cart_item.wd-bundle-child .product-quantity {
	display: none !important;
}

/* Children are locked — hide qty + remove (parent keeps both) */
tr.cart_item.wd-bundle-child .wfacp_quantity_selector,
tr.cart_item.wd-bundle-child .quantity,
tr.cart_item.wd-bundle-child .wfacp_delete_item_wrap,
tr.cart_item.wd-bundle-child .product-remove {
	display: none !important;
}

/* Hide stock rows injected as variation rows (WFACP) */
tr.cart_item.wd-bundle-parent dt.variation-Stock,
tr.cart_item.wd-bundle-parent dt.variation-Stock + dd,
tr.cart_item.wd-bundle-child dt.variation-Stock,
tr.cart_item.wd-bundle-child dt.variation-Stock + dd,
tr.cart_item.wd-bundle-parent dt.variation-Voorraad,
tr.cart_item.wd-bundle-parent dt.variation-Voorraad + dd,
tr.cart_item.wd-bundle-child dt.variation-Voorraad,
tr.cart_item.wd-bundle-child dt.variation-Voorraad + dd {
	display: none !important;
}

/* Legacy WC cart product-name arrow (non-WFACP) */
tr.cart_item.wd-bundle-child td.product-name {
	padding-left: 18px !important;
	position: relative;
}
tr.cart_item.wd-bundle-child td.product-name::before {
	content: "\21B3";
	position: absolute;
	left: 2px;
	color: #8fc7a9;
	font-weight: 700;
	border: none;
	width: auto;
	height: auto;
	top: auto;
	bottom: auto;
}
tr.cart_item.wd-bundle-child td.product-name-area + td.product-name::before,
tr.cart_item.wd-bundle-child td.product-name-area ~ .product-name::before {
	content: none;
}
