/**
 * Single product page — Shoptimizer / test3 PDP layout.
 */

/* Shell */
body.single-product .site-content {
	background-color: #f8f8f8;
}

body.single-product .content-area {
	width: 100%;
}

/* Shoptimizer shell: .col-full gutters cancel .content-area bleed (test3 PDP). */
@media (max-width: 992px) {
	body.single-product .hq-wc-single > .col-full {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		padding-inline: 1em;
	}

	body.single-product .content-area {
		width: calc(100% + 2em);
		margin-left: -1em;
	}
}

/* Notices */
.pdp-ajax.single-product .woocommerce-error {
	max-width: 100%;
	width: 300px;
	margin: 0;
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
	font-size: 14px;
}

.pdp-ajax.single-product .woocommerce-error a {
	display: none;
}

.single-product .woocommerce-message {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}

.single-product .woocommerce-message .message-content a.button {
	display: none;
}

.single-product .woocommerce-message a {
	color: #fff;
}

.single-product .woocommerce-message .buttons-wrapper {
	display: flex;
}

.single-product .woocommerce-message .buttons-wrapper .button {
	border-radius: 4px;
	padding: 0.5rem 1rem;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.35);
}

.single-product .woocommerce-message .buttons-wrapper .button.checkout {
	background: rgba(255, 255, 255, 0.15);
	order: 2;
	margin-left: 1em;
}

.single-product .woocommerce-message .buttons-wrapper .button:hover {
	background: rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* Containers */
.product-details-wrapper,
.related.products,
.upsells.products,
.woocommerce-tabs.wc-tabs-wrapper,
.woocommerce-Tabs-panel {
	max-width: calc(var(--hq-col-full, 1170px) + 5.2325em);
	margin-right: auto;
	margin-left: auto;
}

.product-details-wrapper,
.related.products,
.upsells.products,
.woocommerce-tabs.wc-tabs-wrapper {
	padding-right: 1em;
	padding-left: 1em;
}

@media (min-width: 993px) {
	.product-details-wrapper,
	.related.products,
.upsells.products,
	.woocommerce-tabs.wc-tabs-wrapper,
	.woocommerce-Tabs-panel {
		padding-right: 2.617924em;
		padding-left: 2.617924em;
	}
}

.product-details-wrapper {
	overflow: hidden;
	padding-bottom: 2rem;
	position: relative;
	z-index: 5;
	margin-top: 2rem;
}

.product {
	position: relative;
}

/* PhotoSwipe lightbox above site chrome (Shoptimizer / test3) */
body.single-product:has(.pswp--open) .col-full.topbar-wrapper,
body.single-product:has(.pswp--open) .site-header {
	z-index: 2;
}

@media (min-width: 993px) {
	body.single-product.sticky-d:has(.pswp--open) .col-full-nav,
	body.single-product.sticky-d:has(.pswp--open) .col-full-nav.is_stuck {
		z-index: 5;
	}
}

@media (max-width: 992px) {
	body.single-product:not(.mobile-toggled).sticky-m:has(.pswp--open) .site-header {
		z-index: 0;
	}
}

.single-product #pswp.pswp--open {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
}

/* CommerceKit gallery wrapper is `.images`; inner `#commercegurus-pdp-gallery` stays full width. */
.product #commercegurus-pdp-gallery {
	width: 100%;
	float: none;
	max-width: none;
}

.product #commercegurus-pdp-gallery-wrapper {
	width: 100%;
}

/* 50 / 50 gallery + summary grid */
@media (min-width: 993px) {
	.product .images,
	.product .woocommerce-product-gallery,
	.product #commercegurus-pdp-gallery-wrapper {
		float: left;
		width: 50%;
	}

	.product .summary {
		position: relative;
		float: right;
		width: 50%;
	}

	.single-product .product-details-wrapper {
		overflow: visible;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 2rem;
	}

	.single-product .product .images,
	.single-product .product #commercegurus-pdp-gallery-wrapper {
		float: none;
		flex: 0 0 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}

	.single-product div.product .summary {
		float: none;
		flex: 0 0 calc(50% - 1rem);
		max-width: calc(50% - 1rem);
		position: sticky;
		top: 30px;
		align-self: flex-start;
	}

	body.admin-bar.single-product div.product .summary {
		top: 60px;
	}

	body.sticky-d.single-product div.product .summary {
		top: 90px;
	}

	body.admin-bar.sticky-d.single-product div.product .summary {
		top: 120px;
	}
}

@media (min-width: 993px) and (max-width: 1199px) {
	.product .images,
	.product .woocommerce-product-gallery,
	.product #commercegurus-pdp-gallery-wrapper,
	.product .summary,
	.single-product div.product .summary {
		width: 50%;
		flex-basis: calc(50% - 1rem);
		max-width: calc(50% - 1rem);
	}
}

@media (max-width: 992px) {
	.product .images,
	.product .woocommerce-product-gallery,
	.product #commercegurus-pdp-gallery-wrapper {
		margin-bottom: 1rem;
	}

	.single-product #commercegurus-pdp-gallery-wrapper.ckit-mobile-pdp-gallery-active {
		margin-left: -1em;
		width: calc(100% + 2em);
		margin-bottom: 10px;
	}
}

.product .images,
.product .woocommerce-product-gallery,
.product #commercegurus-pdp-gallery-wrapper {
	position: relative;
}

.product-details-wrapper::after {
	content: "";
	display: table;
	clear: both;
}

/* CommerceKit gallery — uniform square slides */
.single-product #commercegurus-pdp-gallery .cg-main-swiper.swiper-container-autoheight,
.single-product #commercegurus-pdp-gallery .cg-main-swiper.swiper-container-autoheight .swiper-wrapper {
	height: auto !important;
}

.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide {
	aspect-ratio: 1;
	width: 100%;
	height: auto !important;
	overflow: hidden;
	background: #fff;
}

.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide-imglink {
	display: block;
	width: 100%;
	height: 100%;
}

.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide img.pdp-img,
.single-product #commercegurus-pdp-gallery .cg-main-swiper .swiper-slide img.wp-post-image {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover;
	object-position: center;
}

.single-product #commercegurus-pdp-gallery.cg-layout-vertical-left .cg-thumb-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.single-product #commercegurus-pdp-gallery .swiper-button-next,
.single-product #commercegurus-pdp-gallery .swiper-button-prev {
	border: none;
	box-shadow: none;
}

/* Sale badge in summary */
.summary .onsale {
	color: var(--hq-color-primary, #e0cee5);
	background: transparent;
	font-size: 14px;
}

/* Title */
.summary h1 {
	margin-bottom: 0.35rem;
	padding-right: 60px;
	word-break: break-word;
	font-size: 34px;
	font-weight: 600;
	letter-spacing: -0.5px;
	line-height: 1.2;
}

@media (max-width: 992px) {
	.summary h1.entry-title {
		font-size: 24px;
		padding-right: 0;
	}
}

/* Prev / next */
.shoptimizer-product-prevnext {
	display: inline-flex;
	position: absolute;
	top: 12px;
	right: 0;
}

.shoptimizer-product-prevnext a {
	display: inline-flex;
	position: relative;
	color: #333;
}

.shoptimizer-product-prevnext svg {
	width: 20px;
	height: 20px;
	stroke: #999;
	transition: stroke 0.2s;
}

.shoptimizer-product-prevnext a:hover svg {
	stroke: #666;
}

.shoptimizer-product-prevnext .tooltip {
	visibility: hidden;
	position: absolute;
	z-index: 2;
	right: 0;
	width: 120px;
	margin-top: 30px;
	opacity: 0;
	background-color: #fff;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
	font-size: 13px;
	text-align: center;
	transition: all 0.25s ease-out;
	transform: translateY(10px);
}

.shoptimizer-product-prevnext .tooltip img {
	display: block;
}

.shoptimizer-product-prevnext .title {
	display: block;
	padding: 0.5rem 0.75rem 0.25rem;
	font-size: 12px;
	line-height: 1.4;
}

.shoptimizer-product-prevnext .prevnext_price {
	display: block;
	padding-bottom: 10px;
	color: #444;
	font-size: 11px;
	line-height: 1.4;
}

.shoptimizer-product-prevnext a:hover .tooltip {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 992px) {
	.shoptimizer-product-prevnext {
		display: none;
	}
}

/* Price — override WooCommerce default #958e09 with theme primary (test3) */
.single-product.woocommerce div.product p.price,
.single-product.woocommerce div.product p.price .amount,
.single-product.woocommerce div.product p.price .woocommerce-Price-amount,
.single-product.woocommerce div.product p.price bdi {
	color: var(--hq-color-primary, #e0cee5);
}

.product p.price {
	float: left;
	margin: 0 0 0.5rem;
	font-size: clamp(1rem, 0.873rem + 0.4065vw, 1.125rem);
}

.product p.price ins {
	color: var(--hq-color-primary, #e0cee5);
	text-decoration: none;
}

.product p.price del {
	color: #72767c;
}

/* Product badges widget */
.product-widget {
	clear: both;
	margin-bottom: 1rem;
	padding-top: 0.75rem;
	color: #111;
	font-size: 14px;
}

.product-widget fieldset {
	margin-top: 0.5em;
	padding-top: 0.5rem;
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border: 1px solid #e2e2e2;
}

.product-badges {
	width: 100%;
	border-collapse: collapse;
}

.product-badges td {
	vertical-align: middle;
	padding: 12px;
	font-size: 15px;
}

.product-badges td i {
	font-size: 16px;
	min-width: 18px;
	margin-right: 8px;
	color: var(--hq-color-primary, #e0cee5) !important;
}

@media (max-width: 768px) {
	.product-badges,
	.product-badges tbody {
		display: block;
		width: 100%;
	}

	.product-badges tr {
		display: flex;
		gap: 10px;
		margin-bottom: 10px;
	}

	.product-badges td {
		flex: 1;
		display: flex;
		align-items: center;
		background: #f7f7f7;
		border-radius: 10px;
		padding: 12px 10px;
		font-size: 13px;
		line-height: 1.4;
	}
}

#shoptimizer-modals-wrapper:empty {
	display: none;
}

/* Rating */
.product .woocommerce-product-rating {
	display: flex;
	align-items: center;
	clear: both;
}

.product .woocommerce-product-rating a {
	color: #333;
	font-size: 13px;
	line-height: 1;
}

/* Short description (bottom accordions) */
.woocommerce-product-details__short-description {
	clear: both;
	font-size: 14px;
	line-height: 1.5;
	padding-bottom: 0.5rem;
}

.woocommerce-product-details__short-description > details:first-child {
	margin-top: 15px;
}

form.cart + .woocommerce-product-details__short-description,
.product-widget + .woocommerce-product-details__short-description {
	padding-top: 0;
}

.woocommerce-product-details__short-description p {
	margin-bottom: 0.75rem;
}

.woocommerce-product-details__short-description p:empty,
.woocommerce-product-details__short-description *:last-child {
	margin-bottom: 0;
}

.summary details summary {
	display: block;
	font-size: 13px;
	border-top: 1px solid #e2e2e2;
	padding: 0.6rem 2rem 0.6rem 0;
	font-weight: 600;
	letter-spacing: 0.3px;
	text-transform: uppercase;
	cursor: pointer;
	position: relative;
	color: #111;
	list-style: none;
}

.summary details summary::-webkit-details-marker {
	display: none;
}

.summary details summary::after {
	content: "";
	width: 14px;
	height: 14px;
	display: block;
	background: #111;
	margin-top: -7px;
	position: absolute;
	right: 0;
	top: 50%;
	transition: transform 0.2s;
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9L12 16L5 9' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
}

.summary details[open] summary::after {
	transform: scaleY(-1);
}

.summary details .cg-accordion-item {
	padding-bottom: 15px;
	font-size: 14px;
}

/* Stock */
.product p.stock {
	clear: both;
	margin-top: 1rem;
	margin-bottom: 0;
	padding-top: 0.85rem;
	border-top: 1px solid #e2e2e2;
	font-size: 13px;
}

.stock.in-stock {
	color: #0f834d;
}

.stock.out-of-stock {
	color: #a61e00;
	font-weight: bold;
}

/* Cart — flex row (float + calc width wraps when summary is wider than test3) */
div.product .summary form.cart {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	margin: 0.75rem 0 1rem;
}

.single-product div.product form.cart::before,
.single-product div.product form.cart::after {
	display: none;
}

.product form.cart .quantity {
	float: none;
	flex: 0 0 auto;
	position: relative;
}

.product form.cart .quantity .qty {
	text-align: center;
}

.product form.cart .quantity input::-webkit-outer-spin-button,
.product form.cart .quantity input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.product form.cart .quantity input[type="number"] {
	-moz-appearance: textfield;
}

.product .cart .quantity .input-text {
	width: 50px;
	height: 52px;
	padding: 0 0.4em;
	border: 1px solid #e2e2e2;
	background-color: #fff;
	outline-offset: -3px;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.product .cart .quantity .input-text:focus {
	border-color: #ccc;
}

.product .cart .quantity .input-text:focus-visible {
	position: relative;
	z-index: 1;
}

.product .cart .quantity-nav {
	position: absolute;
	top: 0;
	right: -34px;
	bottom: 0;
	width: 35px;
	border: 1px solid #e2e2e2;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	background: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.product .cart .quantity-button {
	position: absolute;
	right: 0;
	left: 0;
	height: 50%;
	background: no-repeat center;
	background-size: auto 8px;
	cursor: pointer;
	user-select: none;
}

.product .cart .quantity-button.quantity-down {
	bottom: 0;
}

.product .cart .quantity-button.quantity-up::before,
.product .cart .quantity-button.quantity-down::before {
	content: "";
	width: 18px;
	height: 18px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	background: #333;
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
}

.product .cart .quantity-button.quantity-up::before {
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M14.7071 12.7071C14.3166 13.0976 13.6834 13.0976 13.2929 12.7071L10 9.41421L6.70711 12.7071C6.31658 13.0976 5.68342 13.0976 5.29289 12.7071C4.90237 12.3166 4.90237 11.6834 5.29289 11.2929L9.29289 7.29289C9.68342 6.90237 10.3166 6.90237 10.7071 7.29289L14.7071 11.2929C15.0976 11.6834 15.0976 12.3166 14.7071 12.7071Z' fill='%234A5568'/%3E%3C/svg%3E");
}

.product .cart .quantity-button.quantity-down::before {
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.29289 7.29289C5.68342 6.90237 6.31658 6.90237 6.70711 7.29289L10 10.5858L13.2929 7.29289C13.6834 6.90237 14.3166 6.90237 14.7071 7.29289C15.0976 7.68342 15.0976 8.31658 14.7071 8.70711L10.7071 12.7071C10.3166 13.0976 9.68342 13.0976 9.29289 12.7071L5.29289 8.70711C4.90237 8.31658 4.90237 7.68342 5.29289 7.29289Z' fill='%234A5568'/%3E%3C/svg%3E");
}

.single-product div.product form.cart .button.single_add_to_cart_button,
.single-product div.product form.cart button.single_add_to_cart_button {
	float: none;
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 52px;
	margin-left: 40px;
	padding: 0;
	border: none;
	border-radius: 4px;
	background: var(--hq-color-primary, #e0cee5);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 52px;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	display: block;
	position: relative;
	cursor: pointer;
	transition: background 0.2s;
}

.single-product div.product form.cart .button.single_add_to_cart_button:hover,
.single-product div.product form.cart button.single_add_to_cart_button:hover {
	background: #d9b2e4;
	color: #fff;
}

.product form.cart .quantity:has(input[type="hidden"]) + button.single_add_to_cart_button,
.product form.cart .quantity.hidden + .single_add_to_cart_button {
	margin-left: 0;
	flex: 1 1 100%;
	width: 100%;
}

.product form.cart .button,
.product form.cart .single_add_to_cart_button {
	position: relative;
}

.product form.cart .single_add_to_cart_button::after {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -9px;
	margin-left: -9px;
	opacity: 0;
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-left-color: #fff;
	border-radius: 50%;
}

.product form.cart .loading.single_add_to_cart_button::after {
	opacity: 1;
	animation: hq-pdp-spin 450ms infinite linear;
}

.product form.cart .button.loading {
	color: transparent !important;
}

.product form.cart .button.added::before {
	position: relative;
	top: 4px;
	margin-right: 8px;
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background: #fff;
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 12L11 14L15 10M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.product form.cart::after,
.product form.cart::before {
	display: table;
	content: "";
	clear: both;
}

@keyframes hq-pdp-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Tabs — reset WooCommerce pill tabs, match Shoptimizer / test3 */
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
	margin: 0;
	padding: 1.5rem 0 0;
	text-align: center;
	list-style: none;
	overflow: visible;
	position: relative;
}

.woocommerce.single-product #content div.product .woocommerce-tabs ul.tabs::before,
.woocommerce.single-product #content div.product .woocommerce-tabs ul.tabs::after,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs::before,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs::after {
	display: none !important;
	content: none !important;
	border: none !important;
	border-bottom: none !important;
	height: 0 !important;
	width: 0 !important;
	position: static !important;
	box-shadow: none !important;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs.wc-tabs {
	border-bottom: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: inherit;
	z-index: auto;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
	content: none;
	border: none;
	box-shadow: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active {
	background: transparent;
	border: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active::before,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active::after {
	display: none;
	content: none;
	box-shadow: none;
}

.woocommerce-tabs.wc-tabs-wrapper {
	max-width: 100%;
	width: 100%;
	border-top: none;
	background-color: #fff;
	overflow: hidden;
}

.woocommerce-tabs {
	overflow: hidden;
	background-color: #fff;
}

@media (min-width: 993px) {
	.woocommerce-tabs {
		padding-bottom: 2.617924em;
	}
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 0.75rem;
	color: #444;
	font-size: clamp(0.9375rem, 0.874rem + 0.2033vw, 1rem);
	font-weight: 400;
	text-decoration: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a:hover {
	color: #444;
	text-decoration: none;
}

.woocommerce.single-product div.product .woocommerce-tabs .tabs li a::after {
	display: block;
	position: absolute;
	top: calc(100% - 8px);
	left: 11px;
	width: calc(100% - 22px);
	border-bottom: 3px solid var(--hq-color-primary, #e0cee5);
	content: "";
	transition: transform 0.3s cubic-bezier(0.28, 0.75, 0.22, 0.95);
	transform: scale(0, 1);
	transform-origin: right center;
	will-change: transform;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: #111;
	font-weight: 600;
	text-shadow: none;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li.reviews_tab a {
	position: relative;
	padding-right: 30px;
}

.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a span {
	font-size: 10px;
	position: absolute;
	bottom: 13px;
	right: 4px;
	border-radius: 50%;
	color: #fff;
	height: 20px;
	width: 20px;
	line-height: 20px;
	display: inline-block;
	background-color: var(--hq-color-primary, #e0cee5);
	font-weight: bold;
}

.woocommerce.single-product div.product .woocommerce-tabs .tabs li#tab-title-reviews a::after {
	width: calc(100% - 41px);
}

.woocommerce.single-product div.product .woocommerce-tabs .tabs li.active a::after {
	transform: scale(1, 1);
	transform-origin: left center;
}

.woocommerce.single-product div.product .woocommerce-tabs .tabs li.active a:focus-visible::after {
	visibility: hidden;
}

.woocommerce-tabs .panel {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.panel.woocommerce-Tabs-panel--description > h2:first-of-type,
.panel.woocommerce-Tabs-panel--additional_information h2:first-of-type,
.panel.woocommerce-Tabs-panel--reviews h2:first-of-type {
	display: none;
	margin: 0;
	padding: 0;
	border: 0;
}

/* Additional information — attributes table (override WooCommerce dotted borders) */
.single-product .woocommerce-tabs table.woocommerce-product-attributes.shop_attributes {
	border-top: none;
	border-bottom: none;
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem);
	margin: 1.5rem auto 0 auto;
	border-collapse: separate;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes th,
.single-product .woocommerce-tabs table.woocommerce-product-attributes td {
	border-top: none;
	border-bottom: 1px solid #eee;
	padding: 0.75rem 0;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes tr:first-child th,
.single-product .woocommerce-tabs table.woocommerce-product-attributes tr:first-child td {
	padding-top: 0;
	border-top: none;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes tr:last-child th,
.single-product .woocommerce-tabs table.woocommerce-product-attributes tr:last-child td {
	border: none;
	border-top: none;
	border-bottom: none;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes td {
	text-align: right;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes th {
	color: #111;
	font-weight: 600;
	min-width: 150px;
}

.single-product .woocommerce-tabs table.woocommerce-product-attributes p {
	margin-bottom: 0;
}

/* Product reviews tab (Shoptimizer comments.css + forms — test3) */
.woocommerce.single-product #reviews {
	outline: 0;
	margin-bottom: 2rem;
}

.woocommerce.single-product #reviews .woocommerce-Reviews-title {
	display: none;
}

.woocommerce.single-product #reviews .woocommerce-noreviews {
	padding: 0;
	margin: 0;
	color: inherit;
	background-color: transparent;
	border: none;
	border-left: none;
	border-radius: 0;
	font-size: clamp(0.875rem, 0.7188rem + 0.5vw, 1rem);
}

.woocommerce.single-product #reviews .commentlist {
	margin-top: 1.5rem;
	margin-bottom: 0;
	margin-left: 0;
	list-style: none;
	background: none;
	width: 100%;
}

.woocommerce.single-product #reviews .commentlist li {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
	padding-left: 0;
	border: 0;
	border-bottom: 1px solid #eee;
	overflow: hidden;
	background: transparent;
	position: relative;
}

@media (min-width: 993px) {
	.woocommerce.single-product #reviews .commentlist {
		margin-top: 2rem;
	}

	.woocommerce.single-product #reviews .commentlist li {
		margin-bottom: 1.75rem;
		padding-bottom: 1.75rem;
	}
}

.woocommerce.single-product #reviews .commentlist li .avatar {
	float: left;
	width: 70px;
	height: auto;
	margin-top: 0.25rem;
	margin-right: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	box-shadow: none;
	background: transparent;
}

.woocommerce.single-product #reviews .commentlist li .comment_container .comment-text {
	float: right;
	width: calc(100% - 100px);
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 0;
}

.woocommerce.single-product #reviews .commentlist li p.meta {
	margin-bottom: 0.5rem;
}

.woocommerce.single-product #reviews .commentlist li p.meta .verified {
	font-size: 0.815em;
	font-style: normal;
}

@media (max-width: 770px) {
	.woocommerce.single-product #reviews .commentlist li p.meta .verified {
		display: block;
		margin-top: -0.15rem;
		margin-bottom: 0.25rem;
	}

	.woocommerce.single-product #reviews .commentlist li .avatar {
		width: 50px;
	}

	.woocommerce.single-product #reviews .commentlist li .comment_container .comment-text {
		width: calc(100% - 70px);
	}

	.woocommerce.single-product #reviews .commentlist li .comment_container .comment-text .star-rating {
		top: 3px;
	}
}

.woocommerce.single-product #reviews .commentlist li time {
	display: block;
	color: #555;
	font-size: 0.8em;
}

.woocommerce.single-product #reviews .woocommerce-review__dash {
	display: none;
}

.woocommerce.single-product #reviews .commentlist li .comment_container .comment-text .star-rating {
	float: right;
	top: 6px;
}

.woocommerce.single-product #reviews .commentlist li .description {
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem);
}

.woocommerce.single-product #reviews .commentlist li .description p:last-child {
	margin-bottom: 0;
}

.woocommerce.single-product #reviews .commentlist ul.children {
	clear: both;
	margin-left: 70px;
	list-style: none;
}

@media (min-width: 993px) {
	.woocommerce.single-product #reviews .commentlist ul.children {
		margin-left: 100px;
		padding-top: 0.5rem;
		clear: both;
	}
}

.woocommerce.single-product #reviews .commentlist ul.children li.comment {
	border: none;
	background-color: #f0f5fa;
	padding: 1.5rem;
	border-left: 2px solid #d4e2ee;
}

.woocommerce.single-product #reviews .commentlist ul.children li.comment .comment-text {
	margin-bottom: 0;
}

.woocommerce.single-product #reviews li.review:has(.children) .comment-text {
	margin-bottom: 1rem;
}

@media (min-width: 993px) {
	.woocommerce.single-product #reviews .commentlist ul.children li.comment {
		padding: 2rem;
	}
}

.woocommerce.single-product #reviews .commentlist li ul.children li:last-child {
	margin-bottom: 0;
}

.woocommerce.single-product #reviews .commentlist ul.children li.comment .avatar {
	display: none;
}

.woocommerce.single-product #reviews .commentlist li ul.children .comment_container .comment-text {
	float: none;
	width: 100%;
}

.woocommerce.single-product #reviews .commentlist li ul.children .comment_container .comment-text p:last-child {
	margin-bottom: 0;
}

.woocommerce.single-product #reviews #respond {
	margin: 0;
	border: 0;
	padding-top: 1.5rem;
	font-size: 15px;
}

@media (min-width: 993px) {
	.woocommerce.single-product #reviews #respond .comment-form-author {
		float: left;
		width: 47%;
		margin-right: 2.703529412%;
	}

	.woocommerce.single-product #reviews #respond .comment-form-email {
		float: left;
		width: 50%;
	}

	.woocommerce.single-product #reviews #respond .comment-form-comment {
		clear: both;
	}
}

.woocommerce.single-product #reviews #respond .comment-form-url {
	display: none;
}

.woocommerce.single-product #reviews #respond .comment-reply-title {
	display: block;
	font-weight: 600;
	margin-bottom: 1rem;
	line-height: 1.35;
	color: #111;
	font-size: clamp(1.25rem, 0.9959rem + 0.813vw, 1.5rem);
}

.woocommerce.single-product #reviews #respond .comment-reply-title a,
.woocommerce.single-product #reviews #respond .comment-reply-title a:hover {
	color: #111;
}

.woocommerce.single-product #reviews #respond p.comment-notes {
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem);
}

.woocommerce.single-product #reviews .comment-form-rating {
	margin-bottom: 1rem;
}

.woocommerce.single-product #reviews .comment-form-rating p.stars a {
	width: 1.6em;
	height: 1.6em;
}

.woocommerce.single-product #reviews .comment-form-rating p.stars a::before {
	width: 1.6em;
	height: 1.6em;
	font-size: 24px;
}

.woocommerce.single-product #reviews #respond label {
	display: block;
	margin-bottom: 0.35rem;
	color: #222;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.woocommerce.single-product #reviews #respond .comment-form-author input,
.woocommerce.single-product #reviews #respond .comment-form-email input,
.woocommerce.single-product #reviews #respond textarea,
.woocommerce.single-product #reviews #respond select {
	width: 100%;
}

.woocommerce.single-product #reviews #respond select {
	padding: 0 40px 0 0.7em;
	background: url("data:image/svg+xml;charset=utf8,%3Csvg width='1792' height='1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Ctitle%3Ebackground%3C/title%3E%3Crect fill='none' id='canvas_background' height='402' width='582' y='-1' x='-1'/%3E%3C/g%3E%3Cg%3E%3Ctitle%3ELayer 1%3C/title%3E%3Cpath fill='%23888' id='svg_1' d='m1408,704q0,26 -19,45l-448,448q-19,19 -45,19t-45,-19l-448,-448q-19,-19 -19,-45t19,-45t45,-19l896,0q26,0 45,19t19,45z'/%3E%3C/g%3E%3C/svg%3E") calc(100% - 12px) 12px no-repeat;
	margin: 0;
	background-size: 15px 15px;
	appearance: none;
	outline: 0;
	border: 1px solid #d2d6dc;
	border-radius: 0.3rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	height: 40px;
}

.woocommerce.single-product #reviews #respond input[type="text"],
.woocommerce.single-product #reviews #respond input[type="email"] {
	outline: 0;
	margin-bottom: 0;
	border: 1px solid #d2d6dc;
	border-radius: 0.3rem;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	height: 40px;
	padding: 0 0.7em;
}

.woocommerce.single-product #reviews #respond textarea {
	overflow: auto;
	border: 1px solid #d2d6dc;
	border-radius: 0.25rem;
	padding: 0.8em;
	outline: 0;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	height: 150px;
	padding-left: 0.875em;
	vertical-align: top;
}

.woocommerce.single-product #reviews #respond #comment {
	height: 150px;
}

.woocommerce.single-product #reviews #respond input[type="text"]:focus,
.woocommerce.single-product #reviews #respond input[type="email"]:focus,
.woocommerce.single-product #reviews #respond textarea:focus,
.woocommerce.single-product #reviews #respond select:focus {
	border-color: #999;
}

.woocommerce.single-product #reviews #respond input[type="checkbox"] {
	position: absolute;
	top: 4px;
	left: 0;
	margin: 0;
	width: auto;
}

.woocommerce.single-product #reviews #respond p:has(input[type="checkbox"]) {
	position: relative;
	padding-left: 1.5rem;
	clear: both;
	margin-bottom: 0.5rem;
}

.woocommerce.single-product #reviews #respond p:has(input[type="checkbox"]):last-child {
	margin-bottom: 2rem;
}

.woocommerce.single-product #reviews #respond p:has(input[type="checkbox"]) label {
	margin-bottom: 0;
	font-size: 14px;
	font-weight: normal;
}

.woocommerce.single-product #reviews #respond p.form-submit {
	margin-top: 1.5rem;
	margin-bottom: 0;
	clear: both;
}

.woocommerce.single-product #reviews #respond p.form-submit .submit {
	display: inline-block;
	padding: 0.8180469716em 1.41575em;
	border: 0;
	border-radius: 4px;
	font-size: clamp(0.875rem, 0.8115rem + 0.2033vw, 0.9375rem);
	outline: 0;
	background: var(--hq-color-primary, #e0cee5);
	background-color: var(--hq-color-primary, #e0cee5);
	color: #fff;
	font-weight: 600;
	text-shadow: none;
	cursor: pointer;
	transition: background 0.2s;
	width: auto;
	height: auto;
	line-height: 1.4;
	box-shadow: none;
	-webkit-appearance: none;
}

.woocommerce.single-product #reviews #respond p.form-submit .submit:hover {
	background: var(--hq-color-primary-hover, #d9b2e4);
	background-color: var(--hq-color-primary-hover, #d9b2e4);
	color: #fff;
	opacity: 1;
}

.woocommerce.single-product #reviews #respond .required {
	border-bottom: 0;
	color: #df0202;
	text-decoration: none;
}

.woocommerce.single-product #reviews .comment-form p {
	margin-bottom: 1rem;
}

@media (max-width: 600px) {
	.woocommerce.single-product div.product .woocommerce-tabs ul.tabs {
		text-align: left;
	}

	.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li,
	.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a {
		display: block;
		padding: 0;
	}

	.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li {
		padding: 0.7rem 0;
		border-bottom: 1px solid #eee;
	}

	.woocommerce.single-product div.product .woocommerce-tabs ul.tabs li a span {
		position: relative;
		top: -2px;
		right: -4px;
		text-align: center;
	}

	.woocommerce.single-product div.product .woocommerce-tabs .tabs li a::after {
		display: none;
	}
}

/* Meta band */
.product_meta {
	width: 100vw;
	max-width: 100%;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	text-align: center;
}

body.single-product .related-wrapper .product_meta {
	width: 100%;
	max-width: 100%;
	left: auto;
	right: auto;
	margin-left: 0;
	margin-right: 0;
}

.product_meta:has(span) {
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	border-top: 1px solid rgba(0, 0, 0, 0.05);
	font-size: clamp(0.8125rem, 0.749rem + 0.2033vw, 0.875rem);
}

.product_meta .posted_in,
.product_meta .sku_wrapper,
.product_meta .tagged_as {
	display: block;
	margin: 0 8px;
	color: #111;
}

@media (min-width: 993px) {
	.product_meta .posted_in,
	.product_meta .sku_wrapper,
	.product_meta .tagged_as {
		display: inline-block;
	}
}

.product_meta .posted_in a,
.product_meta .tagged_as a {
	color: #555;
}

/* Related / upsells */
.related-wrapper {
	background-color: #fff;
}

@media (min-width: 993px) {
	.related-wrapper > section > h2 {
		padding-top: 3rem;
	}

	.related > h2:first-child,
	.upsells > h2:first-child {
		margin-bottom: 1.75rem;
		text-align: left;
	}

	body.single-product .related-wrapper section.related.products,
	body.single-product .related-wrapper section.upsells.products {
		padding-bottom: 3rem;
	}
}

body.single-product .related-wrapper .related.products > h2,
body.single-product .related-wrapper .upsells.products > h2 {
	text-align: left;
}

@media (max-width: 992px) {
	.related-wrapper section {
		padding-top: 2rem;
		padding-bottom: 1rem;
	}
}

/* Related product grid — Shoptimizer flex + -15px offset (flush with heading) */
body.single-product .related-wrapper section.related.products ul.products.columns-4,
body.single-product .related-wrapper section.upsells.products ul.products.columns-4 {
	display: flex;
	flex-wrap: wrap;
	width: calc(100% + 30px);
	margin: 0 0 0 -15px;
	padding: 0;
	list-style: none;
	clear: both;
}

body.single-product .related-wrapper section.related.products ul.products.columns-4::before,
body.single-product .related-wrapper section.related.products ul.products.columns-4::after,
body.single-product .related-wrapper section.upsells.products ul.products.columns-4::before,
body.single-product .related-wrapper section.upsells.products ul.products.columns-4::after {
	display: none;
	content: none;
}

body.single-product .related-wrapper section.related.products ul.products.columns-4 > li.product,
body.single-product .related-wrapper section.upsells.products ul.products.columns-4 > li.product {
	position: relative;
	float: left;
	width: 50%;
	margin: 0 !important;
	padding: 0 15px;
	list-style: none;
	box-sizing: border-box;
}

@media (min-width: 993px) {
	body.single-product .related-wrapper section.related.products ul.products.columns-4 > li.product,
	body.single-product .related-wrapper section.upsells.products ul.products.columns-4 > li.product {
		width: 24.97% !important;
		padding-bottom: 0;
		align-self: flex-start;
	}
}

/* Card chrome — related-product-cards.css */

/* Star rating accent */
.single-product .star-rating > span::before {
	background-color: var(--hq-color-primary, #e0cee5);
}
