/**
 * Mahis Commerce single-product page.
 */

.mc-single-product {
	min-height: 60vh;
	padding-block: var(--mc-space-lg) var(--mc-space-2xl);
	color: var(--mc-color-text-primary);
	background: var(--mc-color-background);
}

.mc-single-product--mobile-bar {
	padding-block-end: calc(var(--mc-space-2xl) * 2 + env(safe-area-inset-bottom));
}

.mc-single-product__container {
	width: min(100%, var(--mc-container-width));
	padding-inline: var(--mc-container-padding-mobile);
	margin-inline: auto;
}

.mc-product-main {
	display: block;
}

.mc-single-product div.product .summary {
	display: contents;
	width: auto;
	margin: 0;
	float: none;
}

.mc-product-gallery,
.mc-product-info,
.mc-purchase-box,
.mc-product-introduction,
.mc-product-details,
.mc-product-reviews {
	margin-block-end: var(--mc-space-lg);
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-card);
}

.mc-product-gallery {
	min-width: 0;
	padding: var(--mc-space-sm);
}

.mc-product-gallery__viewport {
	position: relative;
	overflow: hidden;
	border-radius: var(--mc-radius-medium);
}

.mc-product-gallery__track {
	display: grid;
	grid-auto-columns: 100%;
	grid-auto-flow: column;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.mc-product-gallery__track::-webkit-scrollbar {
	display: none;
}

.mc-product-gallery__slide {
	display: grid;
	width: 100%;
	padding: 0;
	margin: 0;
	place-items: center;
	scroll-snap-align: center;
	background: var(--mc-color-surface);
}

.mc-product-gallery__slide a {
	display: block;
	width: 100%;
}

.mc-product-gallery__slide img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
}

.mc-product-gallery__arrow {
	display: none;
	position: absolute;
	z-index: 2;
	inset-block-start: 50%;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	color: var(--mc-color-text-primary);
	transform: translateY(-50%);
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-full);
	box-shadow: var(--mc-shadow-small);
	cursor: pointer;
}

.mc-product-gallery__arrow--previous {
	inset-inline-start: var(--mc-space-sm);
}

.mc-product-gallery__arrow--next {
	inset-inline-end: var(--mc-space-sm);
}

.mc-product-gallery__thumbnails {
	display: none;
}

.mc-product-gallery__dots {
	display: flex;
	gap: var(--mc-space-sm);
	justify-content: center;
	padding-block-start: var(--mc-space-sm);
}

.mc-product-gallery__dots a {
	display: block;
	width: 0.625rem;
	height: 0.625rem;
	padding: 0;
	background: var(--mc-color-border);
	border: 0;
	border-radius: var(--mc-radius-full);
	cursor: pointer;
}

.mc-product-gallery__dots a[aria-current="true"] {
	background: var(--mc-color-primary);
}

.mc-product-gallery__dialog {
	max-width: min(92vw, 60rem);
	max-height: 92vh;
	padding: var(--mc-space-lg);
	background: var(--mc-color-surface);
	border: 0;
	border-radius: var(--mc-radius-card);
}

.mc-product-gallery__dialog::backdrop {
	background: rgb(17 24 39 / 0.72);
}

.mc-product-gallery__dialog img {
	display: block;
	max-width: 100%;
	max-height: calc(92vh - var(--mc-space-2xl));
	object-fit: contain;
}

.mc-product-gallery__dialog button {
	position: absolute;
	inset-block-start: var(--mc-space-sm);
	inset-inline-end: var(--mc-space-sm);
	width: 2.5rem;
	height: 2.5rem;
	font-size: var(--mc-font-size-xl);
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-full);
	cursor: pointer;
}

.mc-product-info,
.mc-purchase-box,
.mc-product-introduction,
.mc-product-details,
.mc-product-reviews {
	padding: var(--mc-space-lg);
}

.mc-product-info .product_title {
	margin-block: 0 var(--mc-space-md);
	font-size: var(--mc-font-size-2xl);
	font-weight: var(--mc-font-weight-bold);
	line-height: var(--mc-line-height-tight);
}

.mc-product-brand a,
.mc-product-brand > span {
	display: inline-flex;
	gap: var(--mc-space-sm);
	align-items: center;
	margin-block-end: var(--mc-space-md);
	color: var(--mc-color-primary);
	font-size: var(--mc-font-size-sm);
	line-height: var(--mc-line-height-normal);
	text-decoration: none;
}

.mc-product-brand img {
	width: 2.5rem;
	height: 2.5rem;
	object-fit: contain;
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-small);
}

.mc-product-info .woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-sm);
	align-items: center;
	margin-block-end: var(--mc-space-md);
}

.mc-product-info .woocommerce-review-link,
.mc-product-actions a,
.mc-product-actions button {
	color: var(--mc-color-primary);
	text-decoration: none;
}

.mc-product-info .woocommerce-product-details__short-description {
	color: var(--mc-color-text-secondary);
	line-height: var(--mc-line-height-normal);
}

.mc-product-sku {
	color: var(--mc-color-text-secondary);
	font-size: var(--mc-font-size-sm);
}

.mc-product-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-md);
	margin-block-start: var(--mc-space-md);
}

.mc-product-action {
	display: inline-grid;
	width: 2.75rem;
	height: 2.75rem;
	padding: var(--mc-space-sm);
	place-items: center;
	font: inherit;
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-full);
	cursor: pointer;
}

.mc-product-action svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mc-product-action:hover,
.mc-product-action:focus-visible,
.mc-product-action.is-active {
	color: var(--mc-color-primary);
	border-color: var(--mc-color-primary);
}

.mc-product-action:disabled {
	opacity: 1;
	color: var(--mc-color-text-secondary);
	cursor: not-allowed;
}

.mc-product-actions__status {
	align-self: center;
	color: var(--mc-color-text-secondary);
	font-size: var(--mc-font-size-sm);
}

.mc-purchase-box {
	align-self: start;
}

.mc-product-cart-notice {
	padding: var(--mc-space-sm) var(--mc-space-md);
	margin-block-end: var(--mc-space-md);
	color: var(--mc-color-danger);
	background: color-mix(in srgb, var(--mc-color-danger) 8%, var(--mc-color-surface));
	border-inline-start: 3px solid var(--mc-color-danger);
	border-radius: var(--mc-radius-small);
}

.mc-product-cart-notice.is-success {
	color: var(--mc-color-success);
	background: color-mix(in srgb, var(--mc-color-success) 8%, var(--mc-color-surface));
	border-inline-start-color: var(--mc-color-success);
}

.mc-purchase-box > .price {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-sm);
	align-items: baseline;
	margin-block-start: 0;
	font-size: var(--mc-font-size-xl);
	font-weight: var(--mc-font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: var(--mc-line-height-control);
}

.mc-purchase-box .price del {
	color: var(--mc-color-text-secondary);
	font-size: var(--mc-font-size-sm);
}

.mc-purchase-box .price ins {
	color: var(--mc-color-danger);
	text-decoration: none;
}

.mc-product-discount {
	display: inline-flex;
	padding: var(--mc-space-xs) var(--mc-space-sm);
	margin-block-end: var(--mc-space-md);
	color: var(--mc-color-surface);
	font-size: var(--mc-font-size-sm);
	font-weight: var(--mc-font-weight-semibold);
	line-height: var(--mc-line-height-control);
	background: var(--mc-color-danger);
	border-radius: var(--mc-radius-full);
}

.mc-product-stock {
	margin-block-end: var(--mc-space-md);
	font-size: var(--mc-font-size-sm);
	line-height: var(--mc-line-height-normal);
}

.mc-product-stock .stock {
	margin: 0;
	color: var(--mc-color-success);
}

.mc-product-stock .out-of-stock {
	color: var(--mc-color-danger);
}

.mc-purchase-box form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-sm);
	margin-block: var(--mc-space-md) 0;
}

.mc-purchase-box form.cart .variations,
.mc-purchase-box form.cart .group_table {
	width: 100%;
	border-collapse: collapse;
}

.mc-purchase-box form.cart .variations th,
.mc-purchase-box form.cart .variations td,
.mc-purchase-box form.cart .group_table td {
	padding: var(--mc-space-sm);
	text-align: start;
	border-block-end: 1px solid var(--mc-color-border);
}

.mc-purchase-box select,
.mc-purchase-box input.qty {
	min-height: 2.75rem;
	padding: var(--mc-space-sm);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-small);
}

.woocommerce div.product .mc-purchase-box form.cart .single_add_to_cart_button {
	flex: 1;
	min-height: 3rem;
	color: var(--mc-color-button-text);
	background: var(--mc-color-primary);
	border-color: var(--mc-color-primary);
}

.woocommerce div.product .mc-purchase-box form.cart .single_add_to_cart_button:hover,
.woocommerce div.product .mc-purchase-box form.cart .single_add_to_cart_button:focus-visible {
	color: var(--mc-color-button-text);
	background: var(--mc-color-primary-hover);
	border-color: var(--mc-color-primary-hover);
}

.mc-product-cart-control {
	display: inline-grid;
	grid-template-columns: 2.75rem minmax(2.75rem, auto) 2.75rem;
	align-items: center;
	min-height: 3rem;
	overflow: hidden;
	background: var(--mc-color-surface);
	border: 1px solid var(--mc-color-primary);
	border-radius: var(--mc-radius-button);
}

.mc-product-cart-control[hidden] {
	display: none;
}

.mc-product-cart-control button,
.mc-product-cart-control output {
	display: grid;
	height: 100%;
	min-height: 2.75rem;
	padding: 0;
	place-items: center;
	color: var(--mc-color-primary);
	font: inherit;
	font-weight: var(--mc-font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: var(--mc-line-height-control);
	background: transparent;
	border: 0;
}

.mc-product-cart-control button {
	cursor: pointer;
}

.mc-product-cart-control button:disabled {
	cursor: wait;
	opacity: 1;
}

.mc-product-cart-control output {
	color: var(--mc-color-text-primary);
	border-inline: 1px solid var(--mc-color-border);
}

.mc-purchase-box.has-mc-cart-item form.cart > .quantity,
.mc-purchase-box.has-mc-cart-item form.cart > .single_add_to_cart_button,
.mc-purchase-box.has-mc-cart-item form.cart .woocommerce-variation-add-to-cart > .quantity,
.mc-purchase-box.has-mc-cart-item form.cart .woocommerce-variation-add-to-cart > .single_add_to_cart_button {
	display: none;
}

.mc-purchase-box[aria-busy="true"],
.mc-mobile-buy-bar[aria-busy="true"] {
	opacity: 1;
}

.mc-purchase-box[aria-busy="true"] .single_add_to_cart_button:disabled,
.mc-mobile-buy-bar[aria-busy="true"] .mc-button {
	opacity: 1;
	cursor: wait;
}

.mc-single-product--hide-quantity .mc-purchase-box .quantity {
	display: none;
}

.mc-purchase-benefits {
	display: grid;
	gap: var(--mc-space-sm);
	padding: var(--mc-space-md) 0 0;
	margin: var(--mc-space-md) 0 0;
	border-block-start: 1px solid var(--mc-color-border);
	list-style: none;
}

.mc-purchase-benefits li,
.mc-purchase-benefits span {
	display: grid;
	gap: var(--mc-space-xs);
}

.mc-purchase-benefits span {
	color: var(--mc-color-text-secondary);
	font-size: var(--mc-font-size-sm);
}

.mc-product-introduction,
.mc-product-details,
.mc-product-reviews,
.mc-product-section--single {
	clear: both;
}

.mc-product-introduction h2,
.mc-product-details > h2 {
	margin-block-start: 0;
	font-size: var(--mc-font-size-xl);
	font-weight: var(--mc-font-weight-bold);
	line-height: var(--mc-line-height-tight);
}

.mc-product-introduction__content {
	position: relative;
	line-height: var(--mc-line-height-relaxed);
}

.mc-product-introduction.is-collapsible.is-enhanced:not(.is-expanded) .mc-product-introduction__content {
	max-height: var(--mc-product-introduction-height);
	overflow: hidden;
}

.mc-product-introduction.is-collapsible.is-enhanced:not(.is-expanded) .mc-product-introduction__content::after {
	position: absolute;
	inset: auto 0 0;
	height: var(--mc-space-2xl);
	background: linear-gradient(to bottom, transparent, var(--mc-color-surface));
	content: "";
	pointer-events: none;
}

.mc-product-introduction__toggle {
	min-height: 2.75rem;
	padding-inline: var(--mc-space-md);
	margin-block-start: var(--mc-space-md);
	color: var(--mc-color-primary);
	font-weight: var(--mc-font-weight-semibold);
	background: transparent;
	border: 1px solid var(--mc-color-primary);
	border-radius: var(--mc-radius-button);
	cursor: pointer;
}

.mc-product-details details {
	border-block-start: 1px solid var(--mc-color-border);
}

.mc-product-details summary {
	padding-block: var(--mc-space-md);
	font-weight: var(--mc-font-weight-semibold);
	cursor: pointer;
}

.mc-product-details__content {
	padding-block-end: var(--mc-space-md);
	color: var(--mc-color-text-secondary);
	line-height: var(--mc-line-height-relaxed);
}

.mc-product-details table {
	width: 100%;
	border-collapse: collapse;
}

.mc-product-details th,
.mc-product-details td {
	padding: var(--mc-space-sm);
	text-align: start;
	border-block-end: 1px solid var(--mc-color-border);
}

.mc-product-section--single {
	margin-block-end: var(--mc-space-lg);
}

.mc-product-section--single .mc-product-carousel__container {
	padding-inline: 0;
}

.mc-product-reviews .woocommerce-Reviews-title {
	margin-block-start: 0;
	font-size: var(--mc-font-size-xl);
	font-weight: var(--mc-font-weight-bold);
	line-height: var(--mc-line-height-tight);
}

.mc-product-reviews .commentlist {
	padding: 0;
	list-style: none;
}

.mc-product-reviews .comment_container {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--mc-space-md);
	padding-block: var(--mc-space-md);
	border-block-end: 1px solid var(--mc-color-border);
}

.mc-product-reviews .avatar {
	width: 3rem;
	height: 3rem;
	border-radius: var(--mc-radius-full);
}

.mc-product-reviews .comment-text {
	min-width: 0;
}

.mc-product-reviews input:not([type="submit"]),
.mc-product-reviews select,
.mc-product-reviews textarea {
	width: 100%;
	padding: var(--mc-space-sm);
	border: 1px solid var(--mc-color-border);
	border-radius: var(--mc-radius-small);
}

.mc-mobile-buy-bar {
	position: fixed;
	z-index: 50;
	inset: auto 0 0;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--mc-space-sm);
	align-items: center;
	padding: var(--mc-space-sm) var(--mc-container-padding-mobile) calc(var(--mc-space-sm) + env(safe-area-inset-bottom));
	background: var(--mc-color-surface);
	border-block-start: 1px solid var(--mc-color-border);
	box-shadow: var(--mc-shadow-large);
}

.mc-mobile-buy-bar__price {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mc-space-xs);
	font-weight: var(--mc-font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: var(--mc-line-height-control);
}

.mc-mobile-buy-bar__price del {
	color: var(--mc-color-text-secondary);
	font-size: var(--mc-font-size-xs);
}

.mc-mobile-buy-bar__price ins {
	color: var(--mc-color-danger);
	text-decoration: none;
}

.mc-mobile-buy-bar__discount {
	position: absolute;
	inset-block-start: calc(-1 * var(--mc-space-sm));
	inset-inline-start: var(--mc-container-padding-mobile);
	padding-inline: var(--mc-space-sm);
	color: var(--mc-color-surface);
	font-size: var(--mc-font-size-xs);
	background: var(--mc-color-danger);
	border-radius: var(--mc-radius-full);
}

.mc-mobile-buy-bar .mc-button {
	min-height: 3rem;
}

.mc-mobile-buy-bar .mc-button[hidden] {
	display: none;
}

.mc-mobile-buy-bar .mc-product-cart-control {
	grid-column: 2;
}

@media (max-width: 47.999rem) {
	.mc-single-product {
		padding-block-start: var(--mc-space-md);
	}

	.mc-single-product .mc-breadcrumb {
		margin-block-end: var(--mc-space-md);
	}

	.mc-product-gallery,
	.mc-product-info,
	.mc-purchase-box {
		margin-block-end: var(--mc-space-md);
	}

	.mc-product-info,
	.mc-purchase-box {
		padding: var(--mc-space-md);
	}

	.mc-product-brand a,
	.mc-product-brand > span {
		margin-block-end: var(--mc-space-sm);
		font-size: var(--mc-mobile-font-size-sm);
	}

	.mc-product-info .product_title {
		margin-block-end: var(--mc-space-sm);
		font-size: var(--mc-mobile-font-size-product-title);
		line-height: var(--mc-mobile-line-height-heading);
	}

	.mc-product-info .woocommerce-product-rating {
		margin-block-end: var(--mc-space-sm);
	}

	.mc-product-info .woocommerce-review-link,
	.mc-product-sku,
	.mc-product-actions__status,
	.mc-purchase-box .stock {
		font-size: var(--mc-mobile-font-size-sm);
		line-height: var(--mc-mobile-line-height-body);
	}

	.mc-product-info .woocommerce-product-details__short-description {
		font-size: var(--mc-mobile-font-size-body);
		line-height: var(--mc-mobile-line-height-body);
	}

	.mc-product-info .woocommerce-product-details__short-description > :first-child {
		margin-block-start: 0;
	}

	.mc-product-info .woocommerce-product-details__short-description > :last-child {
		margin-block-end: 0;
	}

	.mc-product-sku {
		margin-block: var(--mc-space-sm) 0;
	}

	.mc-product-actions {
		gap: var(--mc-space-sm);
		margin-block-start: var(--mc-space-sm);
	}

	.mc-purchase-box > .price {
		margin-block: 0 var(--mc-space-sm);
		font-size: var(--mc-mobile-font-size-section-title);
	}

	.mc-purchase-box .price del,
	.mc-product-discount {
		font-size: var(--mc-mobile-font-size-xs);
	}

	.mc-product-discount {
		margin-block-end: var(--mc-space-sm);
	}

	.mc-product-stock,
	.mc-purchase-box .stock {
		margin-block-end: var(--mc-space-sm);
	}

	.mc-purchase-box form.cart {
		margin-block-start: var(--mc-space-sm);
	}

	.mc-purchase-box .single_add_to_cart_button,
	.mc-product-introduction__toggle,
	.mc-mobile-buy-bar .mc-button,
	.mc-product-cart-control {
		font-size: var(--mc-mobile-font-size-body);
	}

	.mc-mobile-buy-bar__price {
		font-size: var(--mc-mobile-font-size-secondary-heading);
	}

	.mc-product-introduction h2,
	.mc-product-details > h2,
	.mc-product-reviews .woocommerce-Reviews-title {
		margin-block: 0 var(--mc-space-sm);
		font-size: var(--mc-mobile-font-size-section-title);
		line-height: var(--mc-mobile-line-height-heading);
	}

	.mc-product-section--single .mc-product-carousel__header h2 {
		margin: 0;
		font-size: var(--mc-mobile-font-size-section-title);
		line-height: var(--mc-mobile-line-height-heading);
	}

	.mc-product-introduction__content,
	.mc-product-details__content,
	.mc-product-reviews {
		font-size: var(--mc-mobile-font-size-body);
		line-height: var(--mc-mobile-line-height-body);
	}

	.mc-product-introduction__content h3,
	.mc-product-details__content h3 {
		font-size: var(--mc-mobile-font-size-secondary-heading);
		line-height: var(--mc-mobile-line-height-heading);
	}

	.mc-product-details summary,
	.mc-product-introduction__toggle {
		font-size: var(--mc-mobile-font-size-body);
		font-weight: var(--mc-font-weight-bold);
		line-height: var(--mc-mobile-line-height-control);
	}

	.mc-purchase-benefits span {
		font-size: var(--mc-mobile-font-size-sm);
	}
}

@media (max-width: 63.999rem) {
	.mc-product-js .mc-single-product--mobile-bar .mc-purchase-box[data-mc-ajax-cart] .single_add_to_cart_button,
	.mc-product-js .mc-single-product--mobile-bar .mc-purchase-box[data-mc-ajax-cart] form.cart > .quantity,
	.mc-product-js .mc-single-product--mobile-bar .mc-purchase-box[data-mc-ajax-cart] .woocommerce-variation-add-to-cart > .quantity {
		display: none;
	}
}

@media (min-width: 48rem) {
	.mc-single-product__container {
		padding-inline: var(--mc-container-padding-desktop);
	}

	.mc-product-gallery__thumbnails {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: var(--mc-space-sm);
		padding-block-start: var(--mc-space-sm);
	}

	.mc-product-gallery__thumbnails a {
		display: block;
		padding: var(--mc-space-xs);
		background: var(--mc-color-surface);
		border: 1px solid var(--mc-color-border);
		border-radius: var(--mc-radius-small);
		cursor: pointer;
	}

	.mc-product-gallery__thumbnails a[aria-current="true"] {
		border-color: var(--mc-color-primary);
	}

	.mc-product-gallery__thumbnails img {
		display: block;
		width: 100%;
		aspect-ratio: 1;
		object-fit: contain;
	}

	.mc-product-gallery__dots {
		display: none;
	}
}

@media (min-width: 64rem) {
	.mc-product-main {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(18rem, 0.72fr);
		gap: var(--mc-space-lg);
		align-items: start;
	}

	.mc-product-gallery,
	.mc-product-info,
	.mc-purchase-box {
		margin-block-end: var(--mc-space-xl);
	}

	.mc-product-gallery__arrow {
		display: block;
	}

	.mc-single-product--sticky-purchase .mc-purchase-box {
		position: sticky;
		inset-block-start: var(--mc-space-lg);
	}

	.mc-mobile-buy-bar {
		display: none;
	}

	.mc-single-product--mobile-bar {
		padding-block-end: var(--mc-space-2xl);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mc-product-gallery__track {
		scroll-behavior: auto;
	}
}
