/* Presentation only: all native OpenCart and Journal amount nodes, base
   classes, colors, and AJAX selectors remain untouched. MSRP is the sole
   regular-price label that suppresses the theme's old-price strike-through. */
.mth-cpl-price-label,
.mth-cpl-card-price-label {
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.mth-cpl-price-label::after,
.mth-cpl-card-price-label::after {
	content: ":";
}

.mth-cpl-label-single,
.mth-cpl-label-regular,
.mth-cpl-label-special {
	color: inherit;
}

/* Journal product page / quickview. The labels are flex siblings of the
   native product-price nodes, so option and quantity AJAX can update amounts
   without removing the labels. */
.product-info .price-group .mth-cpl-price-label {
	align-self: center;
	font-family: 'Inter', sans-serif;
	font-size: var(--j-font_size-font-size-300, 13px);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.3;
	margin-inline-end: 0.3rem;
	pointer-events: auto;
	text-decoration: none;
	text-transform: none;
	-webkit-text-decoration: none;
}

/* Journal deliberately gives the sale amount order:-1. Put its caption one
   step earlier so the visual order remains caption, amount, regular caption,
   regular amount without moving or wrapping any native amount node. */
.product-info .price-group > .mth-cpl-label-special {
	order: -2;
}

.product-info .price-group .product-price-new + .mth-cpl-price-label,
.product-info .price-group .product-price + .mth-cpl-price-label {
	margin-inline-start: 0.75rem;
}

/* Journal and default-theme cards retain their compact inline price layout. */
.mth-cpl-card-price-label {
	display: inline-block;
	font-size: 0.78em;
	margin-inline-end: 0.24em;
	vertical-align: baseline;
}

/* Journal's card price container is a wrapping flex row. Each caption and its
   native amount live in one atomic flex item, so a pair can move to the next
   line but the amount can never be orphaned below its caption. The wrapper
   retains Journal's own direct-child sizing and native amount classes. */
.product-thumb .price > div > .mth-cpl-card-price-pair,
.side-product .price > .mth-cpl-card-price-pair {
	align-items: baseline;
	display: inline-flex;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.product-thumb .price > div > .mth-cpl-card-price-pair > span,
.side-product .price > .mth-cpl-card-price-pair > span {
	flex: 0 0 auto;
	flex-basis: auto;
	margin: 0;
}

.product-thumb .price > div > .mth-cpl-card-price-pair > .mth-cpl-card-price-label,
.side-product .price > .mth-cpl-card-price-pair > .mth-cpl-card-price-label {
	margin-inline: 0 0.24em;
	order: 0;
}

/* The winning category rule explicitly identifies MSRP. Only those native
   old-price amount nodes lose their strike; Asking Price and other regular
   labels retain Journal/OpenCart's original reduced-price treatment. */
.product-info .price-group .product-price-old.mth-cpl-price-msrp,
.product-thumb .price .price-old.mth-cpl-price-msrp,
.side-product .price .price-old.mth-cpl-price-msrp,
#product-product .mth-cpl-price-msrp,
.mth-cpl-price-msrp {
	text-decoration: none !important;
}

/* Default-theme product page labels sit immediately above their amount. */
#product-product .list-unstyled > li > .mth-cpl-price-label {
	display: block;
	font-size: 0.88em;
	margin-bottom: 0.12em;
}

#product-product .list-unstyled > .mth-cpl-default-price > .mth-cpl-price-label {
	margin-bottom: 0;
}

@media (max-width: 480px) {
	/* A matched product uses one label/value pair per grid row on phones. The
	   native amount nodes and classes remain direct children for Journal AJAX. */
	.product-info .price-group.mth-cpl-price-group {
		align-items: baseline !important;
		column-gap: 0.3rem;
		display: grid !important;
		grid-template-columns: max-content minmax(0, max-content);
		justify-content: start;
		row-gap: 0.25rem;
	}

	.product-info .price-group.mth-cpl-price-group > * {
		order: initial !important;
	}

	.product-info .price-group.mth-cpl-price-group > .mth-cpl-price-label {
		align-self: baseline;
		margin-inline: 0 !important;
	}
}
