/*
 * DP Featured Products cart presentation.
 * Intentionally limited to plugin-owned classes so it cannot alter the
 * WooCommerce cart, site header, navigation, icons or page layout.
 */
.dpfp-cart-type-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	margin: 0 0 8px;
	padding: 3px 7px;
	border: 1px solid #bb003b;
	border-radius: 2px;
	color: #bb003b;
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
	text-transform: uppercase;
	vertical-align: middle;
}

.dpfp-cart-type-label--sample {
	background: #bb003b;
	color: #fff;
}

/*
 * Cart typography. These rules are deliberately limited to WooCommerce cart
 * tables so they cannot change the site header, slider or checkout styling.
 */
.woocommerce-cart .woocommerce-cart-form td.product-name,
.woocommerce-cart .woocommerce-cart-form td.product-name > a,
.woocommerce-cart .woocommerce-cart-form td.product-name > a:visited {
	color: #000;
	font-size: 19px;
}

.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation,
.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dt,
.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dd,
.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation p,
.woocommerce-cart .woocommerce-cart-form td.product-name .variation {
	color: #000 !important;
	font-size: 15px !important;
}

.woocommerce-cart .woocommerce-cart-form td.product-price,
.woocommerce-cart .woocommerce-cart-form td.product-price .amount,
.woocommerce-cart .woocommerce-cart-form td.product-subtotal,
.woocommerce-cart .woocommerce-cart-form td.product-subtotal .amount {
	color: #000 !important;
	font-size: 18px !important;
}

/*
 * Match Cart Totals values to their Subtotal/Total labels. The theme sets the
 * amount elements separately, so both cells and nested price markup are
 * targeted explicitly.
 */
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-cart .cart_totals table.shop_table .amount,
.woocommerce-cart .cart_totals table.shop_table .woocommerce-Price-amount,
.woocommerce-cart .cart_totals table.shop_table .woocommerce-Price-currencySymbol {
	color: #000 !important;
	font-size: 18px !important;
}

.woocommerce-cart .woocommerce-cart-form td.product-name > a:hover {
	color: #000;
}

/* Keep the badge above the name while preserving its identification colour. */
.woocommerce-cart .woocommerce-cart-form td.product-name .dpfp-cart-type-label {
	display: flex;
	color: #bb003b;
	font-size: 10px;
}

.woocommerce-cart .woocommerce-cart-form td.product-name .dpfp-cart-type-label--sample {
	color: #fff;
}

/*
 * Wishlist cart choice. Scoped to the plugin-owned wrapper so it does not
 * alter the wishlist table, product details or theme buttons elsewhere.
 */
body .dpfp-wishlist-cart-block {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	width: 388px !important;
	max-width: 100%;
	margin-left: auto;
}

body .dpfp-wishlist-cart-actions {
	display: grid !important;
	grid-template-columns: repeat(2, 190px);
	align-items: stretch;
	justify-content: flex-end;
	gap: 8px;
	width: 100% !important;
	max-width: 100%;
}

body .dpfp-wishlist-cart-block > .dpfp-wishlist-view-cart {
	display: block !important;
	width: 100%;
	margin: 8px 0 0 !important;
	color: #000 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
	text-align: center;
	text-decoration: underline;
}

body .dpfp-wishlist-cart-block > .dpfp-wishlist-view-cart:hover,
body .dpfp-wishlist-cart-block > .dpfp-wishlist-view-cart:focus-visible {
	color: #bb003b !important;
}

body .dpfp-wishlist-cart-actions .dpfp-wishlist-product-button,
body .dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 190px !important;
	max-width: 100%;
	min-height: 42px;
	margin: 0 !important;
	padding: 11px 16px !important;
	border: 1px solid #bb003b !important;
	border-radius: 2px !important;
	background: #fff !important;
	color: #bb003b !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 18px !important;
	letter-spacing: 0 !important;
	text-align: center;
	text-transform: uppercase !important;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

body .dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button {
	border-color: #bb003b !important;
	background: #bb003b !important;
	color: #fff !important;
}

body .dpfp-wishlist-cart-actions .dpfp-wishlist-product-button:hover,
body .dpfp-wishlist-cart-actions .dpfp-wishlist-product-button:focus-visible {
	border-color: #000 !important;
	background: #fff !important;
	color: #000 !important;
}

body .dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button:hover,
body .dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button:focus-visible {
	background: #000 !important;
	border-color: #000 !important;
	color: #fff !important;
}

/* Prevent the theme's animated button layers from distorting these hovers. */
.dpfp-wishlist-cart-actions .dpfp-wishlist-product-button::before,
.dpfp-wishlist-cart-actions .dpfp-wishlist-product-button::after,
.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button::before,
.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button::after {
	display: none !important;
	content: none !important;
}

.dpfp-wishlist-cart-actions .dpfp-wishlist-product-button:hover,
.dpfp-wishlist-cart-actions .dpfp-wishlist-product-button:focus-visible,
.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button:hover,
.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button:focus-visible {
	transform: none !important;
	box-shadow: none !important;
}

.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button:disabled {
	opacity: .55;
	cursor: wait;
}

/* Wishlist product typography mirrors the cart page. */
body a.dpfp-wishlist-product-name,
body a.dpfp-wishlist-product-name:visited,
body a.dpfp-wishlist-product-name:hover {
	color: #000 !important;
	font-size: 19px !important;
	line-height: 1.3 !important;
}

.dpfp-wishlist-colour {
	display: block;
	margin-top: 4px;
	color: #000 !important;
	font-size: 15px !important;
	font-weight: 400;
	line-height: 1.4;
}

.dpfp-wishlist-colour .dpfp-colour-label {
	font-weight: 600;
}

/* Wishlist sale pricing: original price regular, current price semibold. */
[class*="wishlist"] table td.product-price del,
[class*="wishlist"] table td.product-price del .amount,
.qodef-wishlist-table td.product-price del,
.qodef-wishlist-table td.product-price del .amount,
.qwfw-wishlist-table td.product-price del,
.qwfw-wishlist-table td.product-price del .amount {
	font-weight: 400 !important;
}

[class*="wishlist"] table td.product-price ins,
[class*="wishlist"] table td.product-price ins .amount,
.qodef-wishlist-table td.product-price ins,
.qodef-wishlist-table td.product-price ins .amount,
.qwfw-wishlist-table td.product-price ins,
.qwfw-wishlist-table td.product-price ins .amount {
	font-weight: 600 !important;
}

.dpfp-wishlist-original-colour {
	display: none !important;
}

/* Wishlist availability should read clearly without affecting other pages. */
body.woocommerce-wishlist .stock.in-stock,
body.qwfw-wishlist-page .stock.in-stock,
.qwfw-wishlist-table .stock.in-stock,
.qodef-wishlist-table .stock.in-stock,
[class*="wishlist"] table .stock.in-stock,
[class*="wishlist"] table .in-stock,
.dpfp-wishlist-in-stock {
	color: #198754 !important;
}

@media (max-width: 767px) {
	.dpfp-wishlist-cart-actions {
		grid-template-columns: 1fr;
		justify-content: flex-start;
		width: 100%;
	}

	.dpfp-wishlist-cart-actions .dpfp-wishlist-product-button,
	.dpfp-wishlist-cart-actions .dpfp-wishlist-sample-button {
		width: 100% !important;
	}
}
