/**
 * Modern UX for WooCommerce — single product page.
 *
 * Layout is applied to WooCommerce's own markup (div.product > div.images +
 * div.summary), so the native gallery, variation form and add-to-cart form are
 * untouched.
 */

/* ==========================================================================
   1. Two column layout
   ========================================================================== */

/* `display` and the column track are forced here because themes commonly lay
   this container out themselves at a specificity we cannot outrank — brighthub
   for instance uses `.single-product.woocommerce .pxl-content-area div.product`
   (0,4,1) to set `display: flex`. Losing only the `display` declaration is the
   worst outcome: the column widths below still apply, so the two panes end up
   stacked full-width and the page looks unstyled rather than merely different.
   These three declarations are the whole two-column layout; everything else in
   this file stays at normal specificity. */
.mw-single .woocommerce div.product,
.mw-single div.product {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
	column-gap: clamp(28px, 5vw, 72px);
	row-gap: clamp(24px, 4vw, 48px);
	align-items: start;
}

/* Any child we do not explicitly place spans the full width rather than
   landing in an arbitrary grid cell. Themes add their own elements in here
   (badges, banners, custom sections) and this keeps them predictable. */
.mw-single div.product > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.mw-single div.product > .woocommerce-product-gallery,
.mw-single div.product > div.images {
	grid-column: 1;
	grid-row: 1;
	width: 100% !important; /* WooCommerce core sets a 48% float width. */
	max-width: 100% !important; /* Bootstrap-style column caps. */
	flex: 1 1 auto;
	float: none !important;
	margin: 0 !important;
	position: relative;
}

.mw-single div.product > .summary,
.mw-single div.product > div.summary {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important; /* WooCommerce core sets a 48% float width. */
	max-width: 100% !important;
	flex: 1 1 auto;
	float: none !important;
	margin: 0 !important;
}

/* Everything below the fold spans the full width. */
.mw-single div.product > .woocommerce-tabs,
.mw-single div.product > .up-sells,
.mw-single div.product > .related,
.mw-single div.product > .mw-sections,
.mw-single div.product > #reviews {
	grid-column: 1 / -1;
	width: 100%;
	float: none;
	clear: both;
}

@media (max-width: 900px) {
	.mw-single .woocommerce div.product,
	.mw-single div.product {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/* Single column: place them on consecutive rows, not side by side. */
	.mw-single div.product > .woocommerce-product-gallery,
	.mw-single div.product > div.images {
		grid-column: 1;
		grid-row: 1;
	}

	.mw-single div.product > .summary,
	.mw-single div.product > div.summary {
		grid-column: 1;
		grid-row: 2;
	}
}

/* ==========================================================================
   2. Gallery
   ========================================================================== */

.mw-single .woocommerce-product-gallery {
	position: relative;
	opacity: 1 !important; /* WooCommerce fades the gallery in with inline CSS. */
}

.mw-single .woocommerce-product-gallery__wrapper {
	margin: 0;
}

.mw-single .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--mw-radius);
	background: var(--mw-surface);
}

.mw-single .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--mw-background);
	box-shadow: var(--mw-shadow-sm);
	color: var(--mw-text);
	font-size: 0;
	text-indent: 0;
}

.mw-single .woocommerce-product-gallery__trigger::before {
	content: "";
	width: 14px;
	height: 14px;
	border: 1.6px solid currentColor;
	border-radius: 50%;
}

.mw-single .woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	right: 11px;
	bottom: 11px;
	width: 6px;
	height: 1.6px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: right center;
}

/* Thumbnails. */
.mw-single .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.mw-single .flex-control-thumbs li {
	width: auto !important; /* Overrides WooCommerce's 25% widths. */
	margin: 0 !important;
	float: none !important;
	list-style: none;
}

.mw-single .flex-control-thumbs img {
	width: 100%;
	height: auto;
	border-radius: var(--mw-radius-sm);
	opacity: 0.6;
	cursor: pointer;
	transition: opacity var(--mw-dur-fast) var(--mw-ease), box-shadow var(--mw-dur-fast) var(--mw-ease);
}

.mw-single .flex-control-thumbs img:hover,
.mw-single .flex-control-thumbs img.flex-active {
	opacity: 1;
	box-shadow: inset 0 0 0 2px var(--mw-primary);
}

/* Thumbnails to the left of the stage. */
@media (min-width: 901px) {
	.mw-gallery-thumbs-left .woocommerce-product-gallery {
		display: grid;
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 14px;
		align-items: start;
	}

	.mw-gallery-thumbs-left .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper,
	.mw-gallery-thumbs-left .woocommerce-product-gallery > .flex-viewport {
		grid-column: 2;
		grid-row: 1;
	}

	.mw-gallery-thumbs-left .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		grid-template-columns: minmax(0, 1fr);
		margin: 0;
		max-height: 620px;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	.mw-gallery-thumbs-left .woocommerce-product-gallery__trigger {
		grid-column: 2;
		grid-row: 1;
	}

	/* Stacked: show every image, no slider chrome. */
	.mw-gallery-stacked .flex-control-thumbs {
		display: none;
	}
}

/* ==========================================================================
   3. Summary column
   ========================================================================== */

.mw-single .summary {
	font-size: 1rem;
}

.mw-single .mw-summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

@media (min-width: 901px) {
	.mw-single .mw-summary--sticky {
		position: sticky;
		top: var(--mw-sticky-offset, 24px);
	}
}

.mw-single .product_title,
.mw-single .summary .product_title {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: var(--mw-tracking);
}

.mw-single .summary .price,
.mw-single .summary p.price {
	margin: 0;
	color: var(--mw-text);
	font-size: 1.375rem;
	font-weight: 550;
	font-variant-numeric: tabular-nums;
}

.mw-single .summary .price del {
	margin-right: 8px;
	color: var(--mw-muted);
	font-size: 0.85em;
	font-weight: 400;
}

.mw-single .summary .price ins {
	background: none;
	color: var(--mw-sale);
	text-decoration: none;
}

.mw-single .summary .woocommerce-product-rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 0.875rem;
}

.mw-single .summary .woocommerce-product-rating .star-rating {
	margin: 0;
	font-size: 0.8em;
}

.mw-single .summary .woocommerce-review-link {
	color: var(--mw-muted);
	text-decoration: none;
	border-bottom: 1px solid var(--mw-border);
}

.mw-single .woocommerce-product-details__short-description {
	color: var(--mw-muted);
	line-height: 1.65;
	max-width: 58ch;
}

.mw-single .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

/* Stock line. */
.mw-single .mw-stockline {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--mw-muted);
	font-size: 0.875rem;
}

.mw-single .mw-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}

.mw-single .mw-stockline--is-in {
	color: #067647;
}

.mw-single .mw-stockline--is-low {
	color: #b54708;
}

.mw-single .mw-stockline--is-out {
	color: var(--mw-sale);
}

/* Cart form. */
.mw-single form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.mw-single form.cart .quantity {
	margin: 0;
	flex: none;
}

.mw-single form.cart .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 52px;
	padding: 14px 24px;
	border: 1px solid transparent;
	border-radius: var(--mw-btn-radius);
	background: var(--mw-primary);
	color: var(--mw-primary-contrast);
	font-family: var(--mw-font);
	font-size: 0.9375rem;
	font-weight: 550;
	letter-spacing: var(--mw-tracking);
	cursor: pointer;
	transition: opacity var(--mw-dur-fast) var(--mw-ease);
}

.mw-single form.cart .single_add_to_cart_button:hover {
	opacity: 0.86;
}

.mw-single form.cart .single_add_to_cart_button.disabled,
.mw-single form.cart .single_add_to_cart_button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.mw-single .mw-buynow {
	flex: 1 1 100%;
}

/* Variations table. */
.mw-single table.variations {
	width: 100%;
	margin: 0 0 14px;
	border: 0;
	border-collapse: collapse;
}

.mw-single table.variations tr {
	display: block;
	margin-bottom: 12px;
}

.mw-single table.variations th,
.mw-single table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}

.mw-single table.variations th label {
	display: block;
	margin-bottom: 6px;
	color: var(--mw-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

.mw-single table.variations select {
	width: 100%;
	min-height: 48px;
	padding: 12px 36px 12px 14px;
	border: 1px solid var(--mw-border);
	border-radius: var(--mw-radius);
	background-color: var(--mw-background);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	color: var(--mw-text);
	font-family: var(--mw-font);
	font-size: 0.9375rem;
	appearance: none;
}

.mw-single .reset_variations {
	display: inline-block;
	margin-top: 4px;
	color: var(--mw-muted);
	font-size: 0.8125rem;
}

.mw-single .woocommerce-variation-price {
	margin-bottom: 12px;
}

.mw-single .woocommerce-variation-availability p {
	margin: 0 0 10px;
	color: var(--mw-muted);
	font-size: 0.875rem;
}

/* Assurance + meta. */
.mw-single .mw-assure {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 14px 16px;
	border: 1px solid var(--mw-border);
	border-radius: var(--mw-radius);
	color: var(--mw-muted);
	font-size: 0.875rem;
	line-height: 1.5;
}

.mw-single .mw-assure p {
	margin: 0;
}

.mw-single .product_meta {
	padding-top: 16px;
	border-top: 1px solid var(--mw-border);
	color: var(--mw-muted);
	font-size: 0.8125rem;
	line-height: 1.9;
}

.mw-single .product_meta a {
	color: var(--mw-text);
	text-decoration: none;
	border-bottom: 1px solid var(--mw-border);
}

/* ==========================================================================
   4. Tabs / accordion
   ========================================================================== */

.mw-single .woocommerce-tabs {
	margin-top: var(--mw-section-space);
	padding-top: clamp(24px, 4vw, 40px);
	border-top: 1px solid var(--mw-border);
}

.mw-single .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
	list-style: none;
}

.mw-single .woocommerce-tabs ul.tabs::before,
.mw-single .woocommerce-tabs ul.tabs::after,
.mw-single .woocommerce-tabs ul.tabs li::before,
.mw-single .woocommerce-tabs ul.tabs li::after {
	content: none;
	display: none;
}

.mw-single .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.mw-single .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 10px 2px;
	margin-right: 22px;
	border-bottom: 2px solid transparent;
	color: var(--mw-muted);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	transition: color var(--mw-dur-fast) var(--mw-ease), border-color var(--mw-dur-fast) var(--mw-ease);
}

.mw-single .woocommerce-tabs ul.tabs li.active a,
.mw-single .woocommerce-tabs ul.tabs li a:hover {
	border-bottom-color: var(--mw-primary);
	color: var(--mw-text);
}

.mw-single .woocommerce-Tabs-panel {
	max-width: 78ch;
	line-height: 1.7;
}

.mw-single .woocommerce-Tabs-panel h2 {
	font-family: var(--mw-font-heading);
	font-size: 1.125rem;
	font-weight: 600;
}

/* Accordion presentation (JS adds .mw-acc). */
.mw-single .mw-acc__item {
	border-bottom: 1px solid var(--mw-border);
}

.mw-single .mw-acc__btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 18px 0;
	border: 0;
	background: none;
	color: var(--mw-text);
	font-family: var(--mw-font-heading);
	font-size: 1rem;
	font-weight: 550;
	text-align: left;
	cursor: pointer;
}

.mw-single .mw-acc__btn .mw-icon {
	transition: transform var(--mw-dur) var(--mw-ease);
	color: var(--mw-muted);
}

.mw-single .mw-acc__btn[aria-expanded="true"] .mw-icon {
	transform: rotate(180deg);
}

.mw-single .mw-acc__panel {
	padding: 0 0 22px;
	line-height: 1.7;
}

.mw-single .mw-acc__panel[hidden] {
	display: none;
}

/* Attribute table. */
.mw-single .shop_attributes {
	width: 100%;
	border-collapse: collapse;
}

.mw-single .shop_attributes th,
.mw-single .shop_attributes td {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--mw-border);
	font-size: 0.9375rem;
	text-align: left;
	vertical-align: top;
}

.mw-single .shop_attributes th {
	width: 34%;
	color: var(--mw-muted);
	font-weight: 500;
}

.mw-single .shop_attributes td p {
	margin: 0;
}

/* ==========================================================================
   5. Reviews
   ========================================================================== */

.mw-single #reviews .commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mw-single #reviews .comment_container {
	display: flex;
	gap: 14px;
	padding: 20px 0;
	border-bottom: 1px solid var(--mw-border);
}

.mw-single #reviews .comment_container img.avatar {
	position: static;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	flex: none;
}

.mw-single #reviews .comment-text {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	flex: 1;
}

.mw-single #reviews .comment-form {
	max-width: 620px;
}

.mw-single #reviews .comment-form input[type="text"],
.mw-single #reviews .comment-form input[type="email"],
.mw-single #reviews .comment-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--mw-border);
	border-radius: var(--mw-radius);
	background: var(--mw-background);
	font-family: var(--mw-font);
	font-size: 1rem;
}

/* ==========================================================================
   6. Related / upsells
   ========================================================================== */

.mw-single .related,
.mw-single .up-sells {
	margin-top: var(--mw-section-space);
	padding-top: clamp(24px, 4vw, 40px);
	border-top: 1px solid var(--mw-border);
}

.mw-single .related > h2,
.mw-single .up-sells > h2 {
	margin: 0 0 clamp(20px, 3vw, 28px);
	font-family: var(--mw-font-heading);
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	font-weight: 600;
	letter-spacing: var(--mw-tracking);
}

/* ==========================================================================
   7. Quick view modal contents
   ========================================================================== */

.mw-quickview {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(20px, 3vw, 40px);
	padding: clamp(20px, 3vw, 32px);
}

@media (max-width: 800px) {
	.mw-quickview {
		grid-template-columns: minmax(0, 1fr);
	}
}

.mw-qvgallery__stage {
	position: relative;
	border-radius: var(--mw-radius);
	overflow: hidden;
	background: var(--mw-surface);
	aspect-ratio: var(--mw-image-ratio);
}

.mw-qvgallery__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity var(--mw-dur) var(--mw-ease);
}

.mw-qvgallery__slide.is-active {
	opacity: 1;
}

.mw-qvgallery__img {
	width: 100%;
	height: 100%;
	object-fit: var(--mw-image-fit);
}

.mw-qvgallery__thumbs {
	display: flex;
	gap: 8px;
	margin-top: 10px;
	overflow-x: auto;
	scrollbar-width: none;
}

.mw-qvgallery__thumbs::-webkit-scrollbar {
	display: none;
}

.mw-qvgallery__thumb {
	flex: none;
	width: 62px;
	padding: 0;
	border: 0;
	border-radius: var(--mw-radius-sm);
	background: none;
	cursor: pointer;
	opacity: 0.6;
	overflow: hidden;
	transition: opacity var(--mw-dur-fast) var(--mw-ease), box-shadow var(--mw-dur-fast) var(--mw-ease);
}

.mw-qvgallery__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.mw-qvgallery__thumb.is-active,
.mw-qvgallery__thumb:hover {
	opacity: 1;
	box-shadow: inset 0 0 0 2px var(--mw-primary);
}

.mw-quickview__summary {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100% !important; /* WooCommerce's .summary float width. */
	float: none !important;
	margin: 0 !important;
	padding-right: 36px;
}

.mw-quickview__summary .product_title {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.2;
}

.mw-quickview__summary .price {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 550;
}

.mw-quickview__full {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	color: var(--mw-muted);
	font-size: 0.875rem;
	text-decoration: none;
}

.mw-quickview__full:hover {
	color: var(--mw-text);
}

/* ==========================================================================
   8. Mobile sticky add-to-cart bar
   ========================================================================== */

.mw-stickybar {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9997;
	border-top: 1px solid var(--mw-border);
	background: var(--mw-background);
	box-shadow: 0 -4px 16px rgba(16, 24, 40, 0.06);
	transform: translateY(100%);
	transition: transform var(--mw-dur) var(--mw-ease);
}

.mw-stickybar.is-visible {
	transform: none;
}

.mw-stickybar__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	max-width: var(--mw-container);
	margin-inline: auto;
	padding: 10px clamp(14px, 4vw, 24px) calc(10px + env(safe-area-inset-bottom));
}

.mw-stickybar__meta {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
}

.mw-stickybar__name {
	font-size: 0.875rem;
	font-weight: 500;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mw-stickybar__price {
	color: var(--mw-muted);
	font-size: 0.8125rem;
}

.mw-stickybar__price .price {
	font-size: inherit;
}

.mw-stickybar__btn {
	flex: none;
	min-width: 140px;
}

@media (min-width: 901px) {
	.mw-stickybar {
		display: none;
	}
}

/* ==========================================================================
   9. Quick view reuses the single-product form
   --------------------------------------------------------------------------
   The modal renders WooCommerce's real add-to-cart and variation forms, but it
   opens on archive pages where the `mw-single` body class is absent. These
   rules re-scope the form styling to the modal so the button, selects and
   price look identical in both places.
   ========================================================================== */

.mw-quickview form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0;
}

.mw-quickview form.cart .quantity {
	margin: 0;
	flex: none;
}

.mw-quickview form.cart .single_add_to_cart_button {
	flex: 1 1 180px;
	min-height: 48px;
	padding: 13px 22px;
	border: 1px solid transparent;
	border-radius: var(--mw-btn-radius);
	background: var(--mw-primary);
	color: var(--mw-primary-contrast);
	font-family: var(--mw-font);
	font-size: 0.9375rem;
	font-weight: 550;
	letter-spacing: var(--mw-tracking);
	text-transform: none;
	cursor: pointer;
	transition: opacity var(--mw-dur-fast) var(--mw-ease);
}

.mw-quickview form.cart .single_add_to_cart_button:hover {
	opacity: 0.86;
	background: var(--mw-primary);
	color: var(--mw-primary-contrast);
}

.mw-quickview form.cart .single_add_to_cart_button.disabled,
.mw-quickview form.cart .single_add_to_cart_button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.mw-quickview .mw-buynow {
	flex: 1 1 100%;
}

.mw-quickview table.variations {
	width: 100%;
	margin: 0 0 12px;
	border: 0;
	border-collapse: collapse;
}

.mw-quickview table.variations tr {
	display: block;
	margin-bottom: 10px;
}

.mw-quickview table.variations th,
.mw-quickview table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}

.mw-quickview table.variations th label {
	display: block;
	margin-bottom: 6px;
	color: var(--mw-muted);
	font-size: 0.8125rem;
	font-weight: 500;
}

.mw-quickview table.variations select {
	width: 100%;
	min-height: 46px;
	padding: 11px 34px 11px 13px;
	border: 1px solid var(--mw-border);
	border-radius: var(--mw-radius);
	background-color: var(--mw-background);
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 11px center;
	color: var(--mw-text);
	font-family: var(--mw-font);
	font-size: 0.9375rem;
	appearance: none;
}

.mw-quickview .reset_variations {
	display: inline-block;
	margin-top: 4px;
	color: var(--mw-muted);
	font-size: 0.8125rem;
}

.mw-quickview .woocommerce-variation-price {
	margin-bottom: 10px;
}

.mw-quickview .woocommerce-variation-availability p {
	margin: 0 0 8px;
	color: var(--mw-muted);
	font-size: 0.875rem;
}

.mw-quickview .price {
	margin: 0;
	color: var(--mw-text);
	font-size: 1.125rem;
	font-weight: 550;
	font-variant-numeric: tabular-nums;
}

.mw-quickview .price del {
	margin-right: 8px;
	color: var(--mw-muted);
	font-weight: 400;
}

.mw-quickview .price ins {
	background: none;
	color: var(--mw-sale);
	text-decoration: none;
}

.mw-quickview .woocommerce-product-details__short-description {
	color: var(--mw-muted);
	line-height: 1.6;
}

.mw-quickview .stock {
	margin: 0;
	color: var(--mw-muted);
	font-size: 0.875rem;
}

/* ==========================================================================
   10. Theme-conflict normalisation (single product)
   --------------------------------------------------------------------------
   Two things themes commonly do that break the design system on this page.
   Both are annotated `!important` because the competing selectors are theme
   rules with five or more classes that a plugin cannot outrank cleanly.
   ========================================================================== */

/* 1. Primary CTA radius. Themes often pill this one button (50px on brighthub)
      while every other button on the page — the cards, Place Order, the drawer
      — follows the plugin's radius token. One page, one button language. */
.mw-single .summary form.cart .single_add_to_cart_button,
.mw-quickview form.cart .single_add_to_cart_button {
	border-radius: var(--mw-btn-radius) !important;
}

/* 2. Quantity field. WooCommerce sizes it at 3.631em and themes frequently
      shrink it further — it measured 20x22px here, well under a usable touch
      target and visually adrift from the stepper beside it. */
.mw-single .quantity input.qty,
.mw-single .quantity input[type="number"] {
	width: 3.5rem !important;
	min-width: 3.5rem;
	height: auto !important;
	min-height: 44px !important;
	padding: 8px 4px !important;
	font-size: 0.9375rem;
	line-height: 1.2;
	text-align: center;
}

.mw-single .quantity,
.mw-single .quantity-wrap {
	display: inline-flex;
	align-items: center;
}
