/* ==========================================================================
   Healthcare DME — Single product layout
   Styles hdme-single-product.php.
   ========================================================================== */

.hdme-product {
	display: block;
	padding-block: clamp(1.25rem, 1rem + 1vw, 2rem) clamp(2.5rem, 1.6rem + 3vw, 4rem);
	background: var(--hdme-grey-25);
}

.hdme-scope main.hdme-product {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}
.single-product .fusion-sidebar { display: none !important; }

.hdme-product__crumbs {
	margin-bottom: var(--hdme-space-4);
	font-size: var(--hdme-text-sm);
	color: var(--hdme-text-muted);
}
.hdme-product__crumbs a { color: var(--hdme-link); }

/* ---- Two-column top ----------------------------------------------------- */

.hdme-product__top {
	display: grid;
	gap: clamp(1.5rem, 1rem + 2.5vw, 3.5rem);
	align-items: start;
	margin-bottom: clamp(2rem, 1.4rem + 2vw, 3.5rem);
}
@media (min-width: 900px) {
	.hdme-product__top { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); }
}

/* ---- Gallery ------------------------------------------------------------ */

.hdme-product__gallery {
	position: relative;
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: var(--hdme-space-4);
	overflow: hidden;
}
.hdme-product__gallery .woocommerce-product-gallery {
	display: block !important;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.hdme-product__gallery img {
	border-radius: var(--hdme-radius);
	background: var(--hdme-surface);
	mix-blend-mode: multiply;
}
.hdme-product__gallery .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hdme-space-2);
	margin-top: var(--hdme-space-4);
	padding: 0;
	list-style: none;
}
.hdme-product__gallery .flex-control-thumbs li {
	width: 68px;
	margin: 0;
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius);
	overflow: hidden;
	cursor: pointer;
}
.hdme-product__gallery .flex-control-thumbs li img.flex-active,
.hdme-product__gallery .flex-control-thumbs li:hover { outline: 2px solid var(--hdme-blue-400); }

.hdme-product__gallery .onsale { display: none !important; }
.hdme-product__stock-badge {
	position: absolute;
	top: var(--hdme-space-4);
	left: var(--hdme-space-4);
	z-index: 5;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0.2rem 0.65rem;
	border-radius: var(--hdme-radius-pill);
	color: #fff;
	font-size: var(--hdme-text-xs);
	font-weight: var(--hdme-weight-bold);
	line-height: 1.2;
	box-shadow: var(--hdme-shadow-sm);
}
.hdme-product__stock-badge--in { background: #16834a; }
.hdme-product__stock-badge--back { background: #f59e0b; color: #3d2600; }
.hdme-product__stock-badge--out { background: #d92d20; }

/* Multi-image navigation: round controls above the thumbnail strip. */
.hdme-scope .hdme-product__gallery .flex-direction-nav {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.hdme-scope .hdme-product__gallery .flex-direction-nav a {
	top: auto !important;
	bottom: 104px !important;
	display: grid !important;
	place-items: center;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: var(--hdme-grey-700) !important;
	opacity: 1 !important;
	box-shadow: var(--hdme-shadow-sm) !important;
	text-decoration: none !important;
}
.hdme-scope .hdme-product__gallery .flex-direction-nav a::before {
	font-size: 20px !important;
	line-height: 1 !important;
}
.hdme-scope .hdme-product__gallery .flex-direction-nav .flex-prev {
	left: auto !important;
	right: 58px !important;
}
.hdme-scope .hdme-product__gallery .flex-direction-nav .flex-next {
	right: 10px !important;
}
.hdme-scope .hdme-product__gallery .flex-direction-nav a:hover {
	border-color: var(--hdme-blue-400) !important;
	color: var(--hdme-blue-700) !important;
}

/* ---- Buy box ------------------------------------------------------------ */

.hdme-product__summary {
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: clamp(1.25rem, 1rem + 1vw, 2rem);
}
@media (min-width: 1100px) {
	/* Keep the price and Add to cart in view while the customer reads specs. */
	.hdme-product__summary { position: sticky; top: var(--hdme-space-5); }
}

.hdme-product__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--hdme-space-2);
	margin-bottom: var(--hdme-space-3);
}
.hdme-badge--best-seller {
	background: #ffb000 !important;
	color: #2f2100 !important;
	font-weight: var(--hdme-weight-bold) !important;
}
.hdme-product__cat {
	font-size: var(--hdme-text-xs);
	font-weight: var(--hdme-weight-semi);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hdme-blue-700);
	text-decoration: none;
}
.hdme-product__cat:hover { text-decoration: underline; text-underline-offset: 3px; }

.hdme-product__title {
	margin: 0 0 var(--hdme-space-2);
	font-size: var(--hdme-text-2xl);
	line-height: var(--hdme-leading-tight);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
}
.hdme-product__sku {
	margin: 0 0 var(--hdme-space-4);
	font-size: var(--hdme-text-sm);
	color: var(--hdme-text-muted);
}
.hdme-product__sku span { font-weight: var(--hdme-weight-medium); color: var(--hdme-grey-700); }

.hdme-product__price {
	margin: 0;
	font-size: var(--hdme-text-2xl);
	font-weight: var(--hdme-weight-bold);
	color: var(--hdme-grey-900);
	line-height: 1.2;
}
.hdme-product__price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem 0.65rem;
	margin-bottom: var(--hdme-space-3);
}
.hdme-product__price-row .hdme-sale-badge {
	display: inline-flex;
	align-items: center;
	min-height: 23px;
	padding: 0.2rem 0.55rem;
	border-radius: var(--hdme-radius-pill);
	background: #16834a;
	color: #fff;
	font-size: 0.7rem;
	font-weight: var(--hdme-weight-bold);
	line-height: 1.15;
	white-space: nowrap;
}
.hdme-product__price del { font-size: var(--hdme-text-lg); font-weight: var(--hdme-weight-normal); color: var(--hdme-text-muted); }
.hdme-product__price ins { text-decoration: none; color: var(--hdme-danger); }
.hdme-product__price .hdme-login-for-price a { font-size: var(--hdme-text-lg); }

.hdme-product__stock { margin-bottom: var(--hdme-space-4); }

/* The cart block holds everything WooCommerce and the plugins print. */
.hdme-product__cart { margin-bottom: var(--hdme-space-5); }
.hdme-product__cart .woocommerce-product-details__short-description {
	margin-top: var(--hdme-space-4);
	margin-bottom: var(--hdme-space-5);
	padding-top: var(--hdme-space-4);
	border-top: 1px solid var(--hdme-border);
	color: var(--hdme-grey-600);
	font-size: var(--hdme-text-base);
	line-height: var(--hdme-leading-normal);
}
.hdme-product__cart form.cart { margin-bottom: 0; }
/* Some imported descriptions use <pre> for normal product copy, not code. */
.hdme-product :is(.woocommerce-product-details__short-description, #tab-description) pre {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	font-family: inherit;
}
.hdme-product__cart .quantity { margin-right: var(--hdme-space-3); }
.hdme-product__cart .single_add_to_cart_button {
	min-height: 52px;
	padding-inline: var(--hdme-space-7);
	font-size: var(--hdme-text-lg);
}
@media (max-width: 600px) {
	.hdme-product__cart form.cart { display: flex; flex-wrap: wrap; gap: var(--hdme-space-3); }
	.hdme-product__cart .quantity { margin-right: 0; }
	.hdme-product__cart .single_add_to_cart_button { width: 100%; }
}

/* ========================================================================
   Product review rail and modal
   ===================================================================== */

.hdme-review-rail {
	position: fixed;
	top: 45%;
	right: 0;
	z-index: 99980;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	width: 46px;
	padding: 12px 7px;
	border: 0;
	border-radius: 10px 0 0 10px;
	background: var(--hdme-blue-900);
	color: #fff;
	box-shadow: 0 8px 22px rgba(18, 43, 77, 0.22);
	cursor: pointer;
}
.hdme-review-rail:hover,
.hdme-review-rail:focus-visible { background: var(--hdme-blue-700); color: #fff; }
.hdme-review-rail__stars {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	font-size: 17px;
	line-height: 0.78;
}
.hdme-review-rail__stars .hdme-review-star { display: block; }
.hdme-review-rail strong { font-size: var(--hdme-text-sm); }

.hdme-review-modal[hidden] { display: none !important; }
.hdme-review-modal {
	position: fixed;
	inset: 0;
	z-index: 100010;
	display: grid;
	place-items: center;
	padding: clamp(12px, 3vw, 36px);
}
.hdme-review-modal__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(8, 18, 31, 0.68);
	cursor: default;
}
.hdme-review-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(720px, 100%);
	max-height: min(84vh, 780px);
	overflow-y: auto;
	border-radius: var(--hdme-radius-lg);
	background: #fff;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}
.hdme-review-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--hdme-grey-100);
	color: var(--hdme-grey-900);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.hdme-review-modal__head {
	padding: clamp(24px, 4vw, 38px);
	border-bottom: 1px solid var(--hdme-border);
	text-align: center;
}
.hdme-review-modal__head h2 {
	margin: 0 44px var(--hdme-space-2);
	font-size: clamp(1.35rem, 1.1rem + 0.7vw, 1.8rem);
}
.hdme-review-modal__stars {
	color: #54a8dc;
	font-size: 1.7rem;
	letter-spacing: 2px;
}
.hdme-review-modal__head p { margin: var(--hdme-space-2) 0 var(--hdme-space-4); color: var(--hdme-grey-600); }
.hdme-review-modal__write {
	min-height: 44px;
	padding: 0.65rem 1.5rem;
	border: 0;
	border-radius: var(--hdme-radius-pill);
	background: var(--hdme-blue-500);
	color: #fff;
	font-weight: var(--hdme-weight-bold);
	cursor: pointer;
}
.hdme-review-modal__write:hover { background: var(--hdme-blue-700); }
.hdme-review-modal__form { scroll-margin-top: 16px; }
.hdme-review-modal__form #review_form_wrapper {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: clamp(20px, 4vw, 36px) !important;
	border: 0 !important;
	background: #fff !important;
}
.hdme-review-modal__form #reply-title {
	display: block;
	margin-bottom: var(--hdme-space-3);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
}
.hdme-review-modal__form label { display: block; margin-bottom: 6px; font-weight: var(--hdme-weight-semi); }
.hdme-review-modal__form textarea,
.hdme-review-modal__form input[type="text"],
.hdme-review-modal__form input[type="email"] {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid var(--hdme-border-strong);
	border-radius: var(--hdme-radius);
	background: #fff;
	font-size: 16px;
}
.hdme-review-modal__form textarea { min-height: 140px; }
.hdme-modal-open { overflow: hidden; }

/* Sticky purchase bar appears only after the original cart form has scrolled
   above the viewport; its button delegates to that original form. */
.hdme-sticky-cart {
	position: fixed;
	left: 50%;
	bottom: 18px;
	z-index: 9995;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--hdme-space-5);
	width: min(620px, calc(100vw - 32px));
	padding: 12px 14px 12px 20px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-blue-900);
	color: #fff;
	box-shadow: 0 14px 34px rgba(12, 31, 63, 0.3);
	opacity: 0;
	pointer-events: none;
	transform: translate(-50%, calc(100% + 34px));
	transition: opacity 180ms ease, transform 180ms ease;
}
.hdme-sticky-cart.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translate(-50%, 0);
}
.hdme-sticky-cart__product { min-width: 0; display: grid; gap: 3px; }
.hdme-sticky-cart__product strong {
	overflow: hidden;
	color: #fff;
	font-size: var(--hdme-text-sm);
	line-height: 1.25;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.hdme-sticky-cart__product > span,
.hdme-sticky-cart__product .amount { color: #fff !important; font-size: var(--hdme-text-sm) !important; }
.hdme-sticky-cart__product del { opacity: 0.72; }
.hdme-sticky-cart__button {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-width: 160px;
	min-height: 46px;
	padding: 0.65rem 1rem;
	border: 0;
	border-radius: var(--hdme-radius);
	background: var(--hdme-blue-400);
	color: #fff;
	font-size: var(--hdme-text-sm);
	font-weight: var(--hdme-weight-bold);
	cursor: pointer;
}
.hdme-sticky-cart__button:hover { background: var(--hdme-blue-500); }
.hdme-sticky-cart__button[aria-disabled="true"] { opacity: 0.65; }

@media (max-width: 600px) {
	.hdme-review-rail { top: auto; bottom: 165px; width: 40px; padding-inline: 5px; }
	.hdme-review-rail__stars { font-size: 15px; }
	.hdme-review-modal { padding: 8px; }
	.hdme-review-modal__dialog { max-height: 92vh; }
	.hdme-sticky-cart {
		bottom: 10px;
		gap: 10px;
		padding: 9px 10px 9px 13px;
	}
	.hdme-sticky-cart__product strong { max-width: 170px; }
	.hdme-sticky-cart__button { min-width: 126px; min-height: 44px; padding-inline: 0.7rem; }
}

@media (min-width: 601px) and (max-width: 1023px) {
	.hdme-review-rail { top: auto; bottom: 180px; }
}

/* Frequently-bought-together rows should support the purchase form rather
   than visually competing with the main product title and price. */
.hdme-scope .hdme-product__summary .woobt-title,
.hdme-scope .hdme-product__summary .woobt-title-inner,
.hdme-scope .hdme-product__summary .woobt-title a {
	font-size: 0.9rem !important;
	font-weight: var(--hdme-weight-medium) !important;
	line-height: 1.4 !important;
}
.hdme-scope .hdme-product__summary .woobt-price,
.hdme-scope .hdme-product__summary .woobt-price .amount {
	font-size: 1.05rem !important;
	font-weight: var(--hdme-weight-semi) !important;
	line-height: 1.25 !important;
}

@media (max-width: 600px) {
	.hdme-scope .hdme-product__summary .woobt-title,
	.hdme-scope .hdme-product__summary .woobt-title-inner,
	.hdme-scope .hdme-product__summary .woobt-title a { font-size: 0.86rem !important; }

	.hdme-scope .hdme-product__summary .woobt-price,
	.hdme-scope .hdme-product__summary .woobt-price .amount { font-size: 1rem !important; }
}

/* Variation selects */
.hdme-product__cart table.variations { width: 100%; border: 0; margin-bottom: var(--hdme-space-2); }
.hdme-product__cart table.variations th,
.hdme-product__cart table.variations td { border: 0; padding: 0 !important; display: block; width: 100%; background: transparent; }
.hdme-product__cart table.variations label { font-weight: var(--hdme-weight-semi); color: var(--hdme-grey-700); }
.hdme-scope .hdme-product__cart table.variations th.label,
.hdme-scope .hdme-product__cart table.variations td.label,
.hdme-scope .hdme-product__cart table.variations label { text-align: left !important; }
.hdme-product__cart .woocommerce-variation-price { margin-bottom: var(--hdme-space-3); font-size: var(--hdme-text-xl); font-weight: var(--hdme-weight-bold); }

.hdme-product__summary .product_meta {
	margin-top: var(--hdme-space-5);
	padding-top: var(--hdme-space-4);
	border-top: 1px solid var(--hdme-border);
	font-size: var(--hdme-text-sm);
	color: var(--hdme-text-muted);
}

/* ---- Details: tabs, reviews, related ------------------------------------ */

.hdme-product__details {
	background: var(--hdme-surface);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: clamp(1.25rem, 1rem + 1.5vw, 2.5rem);
	padding-top: 24px;
}

.hdme-product__details .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hdme-space-2);
	margin: 0 0 var(--hdme-space-3);
	padding: 0 0 var(--hdme-space-3);
	border-bottom: 1px solid var(--hdme-border);
	list-style: none;
}
.hdme-product__details .woocommerce-tabs ul.tabs::before,
.hdme-product__details .woocommerce-tabs ul.tabs li::before,
.hdme-product__details .woocommerce-tabs ul.tabs li::after { display: none !important; }
.hdme-product__details .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: var(--hdme-radius-pill);
}
.hdme-product__details .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: var(--hdme-tap-min);
	padding: var(--hdme-space-2) var(--hdme-space-5);
	border-radius: var(--hdme-radius-pill);
	font-size: var(--hdme-text-base);
	font-weight: var(--hdme-weight-semi);
	color: var(--hdme-grey-600);
	text-decoration: none;
}
.hdme-product__details .woocommerce-tabs ul.tabs li a:hover { background: var(--hdme-blue-50); color: var(--hdme-blue-700); }
.hdme-product__details .woocommerce-tabs ul.tabs li.active a { background: var(--hdme-blue-600); color: #fff; }

.hdme-product__details .woocommerce-Tabs-panel h2 {
	font-size: var(--hdme-text-xl);
	margin-bottom: var(--hdme-space-4);
	color: var(--hdme-grey-900);
}
.hdme-product__details .woocommerce-Tabs-panel p { max-width: var(--hdme-container-text); }

/* Start the description directly below the tab divider, without a second title. */
#wrapper .hdme-product__details .woocommerce-tabs > #tab-description {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.hdme-scope .hdme-product__details #tab-description > :first-child {
	margin-top: 0 !important;
}

/* Reviews */
.hdme-product__details #reviews .commentlist {
	list-style: none;
	margin: 0 0 var(--hdme-space-6);
	padding: 0;
	display: grid;
	gap: var(--hdme-space-4);
}
.hdme-product__details #reviews .commentlist li {
	background: var(--hdme-grey-25);
	border: 1px solid var(--hdme-border);
	border-radius: var(--hdme-radius-lg);
	padding: var(--hdme-space-5);
}
.hdme-product__details #reviews .comment-text { margin: 0; }
.hdme-product__details .star-rating { color: #d98b00; }
.hdme-product__details #review_form .comment-form-rating p.stars a { font-size: 1.3em; }
.hdme-product__details #respond textarea {
	min-height: 140px;
	border-radius: var(--hdme-radius);
	border: 1px solid var(--hdme-border-strong);
	padding: var(--hdme-space-3) var(--hdme-space-4);
	font-size: max(16px, var(--hdme-text-base));
	width: 100%;
}
.hdme-product__details #respond .form-submit input {
	min-height: var(--hdme-tap-min);
	padding-inline: var(--hdme-space-6);
	border-radius: var(--hdme-radius);
	background: var(--hdme-blue-600);
	color: #fff;
	border: 0;
	font-weight: var(--hdme-weight-semi);
	cursor: pointer;
}
.hdme-product__details #respond .form-submit input:hover { background: var(--hdme-blue-700); }
.hdme-product__details .woocommerce-noreviews {
	padding: var(--hdme-space-5);
	background: var(--hdme-grey-25);
	border: 1px dashed var(--hdme-border-strong);
	border-radius: var(--hdme-radius);
	color: var(--hdme-grey-600);
}

/* Related / upsells */
.hdme-product__details .related > h2,
.hdme-product__details .upsells > h2 {
	font-size: var(--hdme-text-xl);
	margin: var(--hdme-space-8) 0 var(--hdme-space-5);
	color: var(--hdme-grey-900);
}

/* ==========================================================================
   Corrections from the rendered page
   ========================================================================== */

/* Avada renders the product tabs vertically (woo-tabs-vertical), which pushes
   the panel into a narrow column. Horizontal reads better and gives the
   description the full width. */
.hdme-scope .hdme-product__details .woocommerce-tabs,
.hdme-scope .hdme-product__details .woo-tabs-vertical {
	display: block !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.hdme-scope .hdme-product__details .woocommerce-tabs ul.tabs {
	width: 100% !important;
	float: none !important;
	flex-direction: row !important;
}
.hdme-scope .hdme-product__details .woocommerce-tabs ul.tabs li { width: auto !important; float: none !important; }
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel,
.hdme-scope .hdme-product__details .entry-content {
	width: 100% !important;
	float: none !important;
	padding-left: 0 !important;
}

/* Long imported descriptions: give them rhythm instead of a wall of text. */
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel h2,
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel h3,
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel h4 {
	margin-top: var(--hdme-space-6);
	margin-bottom: var(--hdme-space-3);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-semi);
	color: var(--hdme-grey-900);
}
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel p,
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel li {
	max-width: var(--hdme-container-text);
	line-height: var(--hdme-leading-normal);
	color: var(--hdme-grey-700);
}

/* Related products reuse Avada's loop markup, where the price and the
   add-to-cart button were overlapping. Give the card a column flow. */
.hdme-scope .hdme-product__details .related ul.products li.product,
.hdme-scope .hdme-product__details .upsells ul.products li.product {
	display: flex;
	flex-direction: column;
	gap: var(--hdme-space-2);
	padding: var(--hdme-space-4);
}
.hdme-scope .hdme-product__details .related ul.products li.product .price,
.hdme-scope .hdme-product__details .upsells ul.products li.product .price {
	position: static !important;
	margin-top: auto;
}
.hdme-scope .hdme-product__details .related ul.products li.product a.button,
.hdme-scope .hdme-product__details .related ul.products li.product .added_to_cart {
	position: static !important;
	width: 100%;
	margin-top: var(--hdme-space-2);
	text-align: center;
}
/* The affirm / financing widget inside a card is noise at this size. */
.hdme-scope .hdme-product__details .related .affirm-as-low-as,
.hdme-scope .hdme-product__details .related .fusion-quick-view { display: none !important; }

/* Keep the pre-initialisation layout tidy without disabling FlexSlider slides. */
.hdme-scope .hdme-product__gallery .woocommerce-product-gallery__wrapper {
	display: block;
}
.hdme-scope .hdme-product__gallery .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}
.hdme-scope .hdme-product__gallery .woocommerce-product-gallery.flexslider .woocommerce-product-gallery__image {
	display: block !important;
}

/* Gallery thumbnails sit in a real row below the hero image. Avada otherwise
   squeezes them into a sliver-width column beside the image. */
.hdme-scope .hdme-product__gallery .flex-control-thumbs {
	position: static !important;
	display: flex !important;
	flex-flow: row nowrap !important;
	gap: var(--hdme-space-2);
	width: 100% !important;
	height: auto !important;
	margin: var(--hdme-space-4) 0 0 !important;
	padding: 2px 2px 6px !important;
	float: none !important;
	clear: both;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
}
.hdme-scope .hdme-product__gallery .flex-control-thumbs li {
	flex: 0 0 72px !important;
	width: 72px !important;
	height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	border: 1px solid var(--hdme-border) !important;
	border-radius: var(--hdme-radius) !important;
	background: #fff;
	overflow: hidden;
}
.hdme-scope .hdme-product__gallery .flex-control-thumbs li img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 4px !important;
	object-fit: contain;
	opacity: 0.68;
	cursor: pointer;
}
.hdme-scope .hdme-product__gallery .flex-control-thumbs li img:hover,
.hdme-scope .hdme-product__gallery .flex-control-thumbs li img.flex-active {
	opacity: 1;
	box-shadow: inset 0 0 0 2px var(--hdme-blue-500);
}


/* ==========================================================================
   Product interaction and merchandising refinements
   ========================================================================== */

.hdme-product {
	background: var(--hdme-page-bg);
}

.hdme-scope .hdme-product__title {
	font-size: clamp(1.45rem, 1.25rem + 0.8vw, 1.9rem) !important;
	line-height: 1.18 !important;
	color: var(--hdme-blue-600) !important;
}

/* The standard WooCommerce meta is intentionally the sole SKU presentation. */
.hdme-product__summary .product_meta > * {
	display: none !important;
}
.hdme-product__summary .product_meta .sku_wrapper {
	display: inline-flex !important;
	align-items: center;
	gap: var(--hdme-space-1);
}
.hdme-product__summary .product_meta {
	margin-top: var(--hdme-space-4);
	padding-top: var(--hdme-space-3);
}
.hdme-product__summary .hdme-trust {
	display: none;
}

/* Avada places a cloned variation price inside the attributes table. The
   standard WooCommerce variation below it remains visible and authoritative. */
.hdme-product__cart .single_variation_price_reset {
	display: none !important;
}

.hdme-product__cart table.variations tr {
	display: grid;
	gap: var(--hdme-space-1);
	margin-bottom: var(--hdme-space-2);
}
.hdme-product__cart table.variations tr:has(.single_variation_price_reset) {
	display: none !important;
}
.hdme-product__cart table.variations select {
	width: 100%;
	min-height: 46px;
	padding: 0 2.75rem 0 var(--hdme-space-3);
	border: 1px solid var(--hdme-blue-200);
	border-radius: var(--hdme-radius);
	background-color: #fff;
	background-image: linear-gradient(45deg, transparent 50%, var(--hdme-blue-700) 50%), linear-gradient(135deg, var(--hdme-blue-700) 50%, transparent 50%);
	background-position: calc(100% - 17px) 19px, calc(100% - 11px) 19px;
	background-size: 6px 6px, 6px 6px;
	background-repeat: no-repeat;
	color: var(--hdme-grey-800);
	font-size: 16px;
	font-weight: var(--hdme-weight-medium);
	appearance: none;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(40, 81, 138, 0.06);
}
.hdme-product__cart table.variations select:hover {
	border-color: var(--hdme-blue-400);
}
.hdme-product__cart table.variations select:focus {
	border-color: var(--hdme-blue-500);
	box-shadow: 0 0 0 3px rgba(66, 126, 209, 0.18);
	outline: 0;
}
.hdme-product__cart form.variations_form > .single_variation_wrap {
	margin-top: 0 !important;
}
.hdme-product__cart form.variations_form > .single_variation_wrap > .woocommerce-variation {
	margin: 0 0 var(--hdme-space-2) !important;
	padding: 0 !important;
}
.hdme-product__cart form.variations_form > .single_variation_wrap .woocommerce-variation-price {
	margin: 0 0 var(--hdme-space-2) !important;
}

/* Avada button/color selectors only; native variation dropdowns stay unchanged. */
.hdme-product__cart .avada-select-wrapper { gap: 8px; }
.hdme-product__cart :is(.avada-button-select,.avada-color-select) {
	box-sizing: border-box;
	min-width: 44px;
	min-height: 44px;
	height: auto;
	margin: 0 !important;
	border: 1px solid var(--hdme-blue-200) !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: var(--hdme-blue-800) !important;
	box-shadow: none;
	font: 600 14px/1.35 var(--hdme-font-body);
	text-decoration: none;
	transition: border-color .15s, background-color .15s, box-shadow .15s;
}
.hdme-product__cart .avada-button-select { padding: 10px 15px; max-width: 100%; text-align: center; overflow-wrap: anywhere; }
.hdme-product__cart .avada-color-select { width: 44px; height: 44px; padding: 5px; }
.hdme-product__cart .avada-color-select > span { border-radius: 5px; box-shadow: inset 0 0 0 1px #00000012; }
.hdme-product__cart :is(.avada-button-select,.avada-color-select):hover:not([data-disabled]) {
	border-color: var(--hdme-blue-600) !important;
	background: var(--hdme-blue-50) !important;
}
.hdme-product__cart :is(.avada-button-select,.avada-color-select)[data-checked] {
	border-color: var(--hdme-blue-600) !important;
	box-shadow: inset 0 0 0 1px var(--hdme-blue-600);
	background: var(--hdme-blue-50) !important;
}
.hdme-product__cart .avada-button-select[data-checked] { background: var(--hdme-blue-600) !important; color: #fff !important; }
.hdme-product__cart :is(.avada-button-select,.avada-color-select):focus-visible { outline: 2px solid var(--hdme-blue-600); outline-offset: 3px; }
.hdme-product__cart :is(.avada-button-select,.avada-color-select)[data-disabled] { opacity: .4; cursor: not-allowed; }

/* Common variation-swatch plugins: consistent compact selectable pills. */
.hdme-product__cart .variable-items-wrapper,
.hdme-product__cart .thwvsf-wrapper-ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--hdme-space-2);
	margin: 0;
	padding: 0;
}
.hdme-product__cart .variable-item,
.hdme-product__cart .thwvsf-wrapper-item-li {
	min-height: 40px;
	padding: 0.45rem 0.75rem !important;
	border: 1px solid var(--hdme-border-strong) !important;
	border-radius: var(--hdme-radius) !important;
	background: #fff !important;
	box-shadow: none !important;
}
.hdme-product__cart .variable-item.selected,
.hdme-product__cart .thwvsf-wrapper-item-li.thwvsf-selected {
	border-color: var(--hdme-blue-600) !important;
	background: var(--hdme-blue-600) !important;
	color: #fff !important;
}

/* Desktop purchase controls share a row; touch layouts are separated below. */
.hdme-product__cart form.cart:not(.variations_form),
.hdme-product__cart .woocommerce-variation-add-to-cart {
	display: grid !important;
	grid-template-columns: minmax(88px, 104px) minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--hdme-space-2);
	align-items: stretch;
	width: 100%;
}
.hdme-product__cart form.cart:not(.variations_form) > .quantity,
.hdme-product__cart .woocommerce-variation-add-to-cart > .quantity {
	margin: 0 !important;
}
.hdme-product__cart .quantity.buttons_added {
	display: grid !important;
	grid-template-columns: 30px minmax(28px, 1fr) 30px;
	align-items: stretch;
	min-width: 0;
	height: 46px;
	border: 1px solid var(--hdme-blue-200);
	border-radius: var(--hdme-radius);
	background: #fff;
	overflow: hidden;
}
.hdme-product__cart .quantity .minus,
.hdme-product__cart .quantity .plus {
	width: 30px !important;
	min-width: 30px;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: var(--hdme-blue-50) !important;
	color: var(--hdme-blue-800) !important;
	font-size: 1.1rem !important;
	font-weight: var(--hdme-weight-bold);
	cursor: pointer;
}
.hdme-product__cart .quantity .minus:hover,
.hdme-product__cart .quantity .plus:hover {
	background: var(--hdme-blue-100) !important;
}
.hdme-product__cart .quantity input.qty {
	width: 100% !important;
	min-width: 0;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-inline: 1px solid var(--hdme-blue-100) !important;
	border-radius: 0 !important;
	background: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: var(--hdme-weight-semi);
	appearance: textfield;
}
.hdme-product__cart .quantity input.qty::-webkit-inner-spin-button,
.hdme-product__cart .quantity input.qty::-webkit-outer-spin-button {
	margin: 0;
	appearance: none;
}
.hdme-product__cart .single_add_to_cart_button,
.hdme-product__cart .pisol_buy_now_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-width: 0;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 0.55rem 0.7rem !important;
	border: 0 !important;
	border-radius: var(--hdme-radius) !important;
	color: #fff !important;
	font-size: var(--hdme-text-sm) !important;
	font-weight: var(--hdme-weight-bold) !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	box-shadow: none !important;
}
.hdme-product__cart .single_add_to_cart_button {
	background: var(--hdme-blue-600) !important;
}
.hdme-product__cart .single_add_to_cart_button:hover {
	background: var(--hdme-blue-700) !important;
}
.hdme-product__cart .pisol_buy_now_button {
	background: var(--hdme-grey-900) !important;
}
.hdme-product__cart .pisol_buy_now_button::before {
	content: none !important;
}
.hdme-product__cart .pisol_buy_now_button:hover {
	background: #000 !important;
}
.hdme-product__cart .single_add_to_cart_button.disabled,
.hdme-product__cart .pisol_buy_now_button.disabled {
	opacity: 0.48;
	cursor: not-allowed;
}

/* Notice and service cards below the purchase controls. */
.hdme-purchase-note {
	margin-top: var(--hdme-space-4);
	padding: var(--hdme-space-3) var(--hdme-space-4);
	border-left: 4px solid #f04438;
	border-radius: var(--hdme-radius);
	background: #fff1f0;
	color: var(--hdme-grey-700);
	font-size: var(--hdme-text-xs);
	font-style: italic;
	line-height: 1.5;
}
.hdme-purchase-note strong {
	color: var(--hdme-grey-900);
	font-style: normal;
}
.hdme-purchase-benefits {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--hdme-space-3);
	margin: var(--hdme-space-3) 0 0;
	padding: 0;
	list-style: none;
}
.hdme-purchase-benefits li {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--hdme-space-2);
	min-height: 116px;
	padding: var(--hdme-space-3);
	border: 1px solid var(--hdme-blue-100);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-grey-25);
	color: var(--hdme-grey-900);
	text-align: center;
	line-height: 1.3;
}
.hdme-purchase-benefits li > span {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--hdme-blue-50);
	color: var(--hdme-blue-700);
	font-size: 1.15rem;
	font-weight: var(--hdme-weight-bold);
}
.hdme-purchase-benefits strong {
	font-size: var(--hdme-text-xs);
}

.hdme-payment-options {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) repeat(3, minmax(0, 1fr));
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 12px 0 0;
}
.hdme-payment-options li {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-width: 0;
	min-height: 58px;
	padding: 8px 5px;
	border: 1px solid var(--hdme-blue-100);
	border-radius: 9px;
	background: #fff;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
}
.hdme-payment-options__card { flex-direction: column; color: var(--hdme-blue-800); }
.hdme-payment-options__card span { font-size: 11px; white-space: nowrap; }
.hdme-payment-options img { display: block; width: 100%; max-width: 92px; height: 30px; object-fit: contain; }
.hdme-payment-options__affirm img { max-width: 72px; }
.hdme-payment-options__paypal { color: #003087; font-style: italic; }
.hdme-payment-options__affirm { color: #23234f; }
.hdme-payment-options__carecredit { color: #287849; }
.hdme-payment-options__note { margin: 8px 0 0; font-size: 12px; line-height: 1.5; color: var(--hdme-text-muted); }
@media (max-width: 420px) {
	.hdme-payment-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.hdme-rental-terms {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--hdme-space-3);
	margin-top: var(--hdme-space-3);
	padding: var(--hdme-space-4);
	border: 1px solid var(--hdme-blue-200);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-blue-50);
	color: var(--hdme-blue-900);
	text-decoration: none;
	transition: border-color var(--hdme-transition), box-shadow var(--hdme-transition), transform var(--hdme-transition);
}
.hdme-rental-terms:hover {
	border-color: var(--hdme-blue-400);
	box-shadow: var(--hdme-shadow-sm);
	transform: translateY(-1px);
}
.hdme-rental-terms__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: var(--hdme-radius);
	background: #fff;
	font-size: 1.25rem;
}
.hdme-rental-terms strong,
.hdme-rental-terms small {
	display: block;
}
.hdme-rental-terms strong {
	font-size: var(--hdme-text-sm);
	line-height: 1.35;
}
.hdme-rental-terms small {
	margin-top: 2px;
	color: var(--hdme-grey-600);
	font-size: var(--hdme-text-xs);
}
.hdme-rental-terms__arrow {
	font-size: 1.25rem;
}

/* Sale prices and badges are intentionally consistent on product and archive. */
.hdme-product__price del,
.hdme-product__cart .price del,
.hdme-product__details .price del,
.hdme-pcard__price del {
	position: relative;
	display: inline-block;
	color: #d92d20 !important;
	font-size: 0.875rem !important;
	font-weight: var(--hdme-weight-normal) !important;
	opacity: 1 !important;
	text-decoration: none !important;
}
.hdme-product__price del .woocommerce-Price-amount,
.hdme-product__price del bdi,
.hdme-product__price del .woocommerce-Price-currencySymbol,
.hdme-product__cart .price del .woocommerce-Price-amount,
.hdme-product__cart .price del bdi,
.hdme-product__cart .price del .woocommerce-Price-currencySymbol {
	font-size: inherit !important;
	font-weight: var(--hdme-weight-normal) !important;
}
.hdme-product__price del::after,
.hdme-product__cart .price del::after,
.hdme-product__details .price del::after {
	position: absolute;
	left: -2px;
	right: -2px;
	top: 50%;
	height: 2px;
	background: #d92d20;
	content: "";
	transform: rotate(-6deg);
	transform-origin: center;
}
.hdme-product__price ins,
.hdme-product__cart .price ins,
.hdme-product__details .price ins {
	color: var(--hdme-grey-900) !important;
	text-decoration: none !important;
}
.hdme-product__details .onsale {
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0.35rem 0.65rem !important;
	border-radius: var(--hdme-radius-pill) !important;
	background: #16834a !important;
	color: #fff !important;
	font-size: var(--hdme-text-xs) !important;
	font-weight: var(--hdme-weight-bold) !important;
	line-height: 1.2 !important;
}

/* Tabs and every panel begin at the same left edge. */
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel,
.hdme-scope .hdme-product__details .entry-content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel > *,
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel p,
.hdme-scope .hdme-product__details .woocommerce-Tabs-panel li {
	max-width: none;
}
.hdme-product__details .woocommerce-tabs ul.tabs li a {
	border: 1px solid transparent;
}
.hdme-product__details .woocommerce-tabs ul.tabs li:not(.active) a {
	border-color: var(--hdme-border);
	background: #fff;
}
.hdme-product__details .woocommerce-tabs ul.tabs li.active a {
	box-shadow: var(--hdme-shadow-sm);
}
.hdme-scope.single-product main.hdme-product .hdme-product__details .woocommerce-tabs {
	display: block !important;
}
.hdme-scope.single-product main.hdme-product .hdme-product__details .woocommerce-tabs > ul.tabs {
	display: flex !important;
	width: 100% !important;
	float: none !important;
}
#wrapper .hdme-product__details .woocommerce-tabs > .woocommerce-Tabs-panel.entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: var(--hdme-space-4) 0 0 !important;
	float: none !important;
	clear: both !important;
}

/* Review form */
.hdme-product__details #reviews {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
	gap: var(--hdme-space-6);
	align-items: start;
}
.hdme-product__details #review_form_wrapper {
	padding: var(--hdme-space-5);
	border: 1px solid var(--hdme-blue-100);
	border-radius: var(--hdme-radius-lg);
	background: var(--hdme-grey-25);
}
.hdme-product__details #reply-title {
	display: block;
	margin-bottom: var(--hdme-space-3);
	color: var(--hdme-grey-900);
	font-size: var(--hdme-text-lg);
	font-weight: var(--hdme-weight-bold);
	line-height: 1.35;
}
.hdme-product__details #review_form label {
	display: block;
	margin-bottom: var(--hdme-space-2);
	color: var(--hdme-grey-800);
	font-weight: var(--hdme-weight-semi);
}
.hdme-product__details #review_form input[type="text"],
.hdme-product__details #review_form input[type="email"] {
	width: 100%;
	min-height: var(--hdme-tap-min);
	padding: 0 var(--hdme-space-3);
	border: 1px solid var(--hdme-border-strong);
	border-radius: var(--hdme-radius);
	background: #fff;
	font-size: 16px;
}
.hdme-product__details #review_form p.stars {
	margin: 0 0 var(--hdme-space-4);
}
.hdme-product__details #review_form p.stars span {
	display: inline-flex;
	gap: var(--hdme-space-1);
}
.hdme-product__details #review_form p.stars a {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	overflow: hidden;
	color: var(--hdme-grey-300);
	font-size: 0;
	text-decoration: none;
}
.hdme-product__details #review_form p.stars a::before {
	content: "\2605";
	position: static;
	color: currentColor;
	font-family: inherit;
	font-size: 1.65rem;
	line-height: 1;
}
.hdme-product__details #review_form p.stars:hover a,
.hdme-product__details #review_form p.stars.selected a {
	color: #d98b00;
}
.hdme-product__details #review_form p.stars a:hover ~ a,
.hdme-product__details #review_form p.stars.selected a.active ~ a {
	color: var(--hdme-grey-300);
}
.hdme-product__details .comment-form-author,
.hdme-product__details .comment-form-email {
	display: inline-block;
	width: calc(50% - 0.5rem);
	vertical-align: top;
}
.hdme-product__details .comment-form-email {
	margin-left: 0.75rem;
}

/* Social share becomes a clean row of labelled actions. */
.hdme-scope .hdme-product__details ul.social-share {
	display: flex !important;
	flex-wrap: wrap;
	gap: var(--hdme-space-2);
	justify-content: center;
	margin: var(--hdme-space-6) 0 0 !important;
	padding: var(--hdme-space-4) 0 0 !important;
	border-top: 1px solid var(--hdme-border);
	list-style: none !important;
}
.hdme-scope .hdme-product__details ul.social-share li {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.hdme-scope .hdme-product__details ul.social-share li::marker {
	content: "";
}
.hdme-scope .hdme-product__details ul.social-share a {
	display: inline-flex;
	align-items: center;
	gap: var(--hdme-space-2);
	min-height: 40px;
	padding: 0.35rem 0.75rem;
	border: 0 !important;
	border-radius: var(--hdme-radius-pill);
	color: #fff !important;
	text-decoration: none;
	box-shadow: none !important;
}
.hdme-scope .hdme-product__details ul.social-share a:hover {
	color: #fff !important;
	filter: brightness(0.9);
	transform: translateY(-1px);
}
.hdme-scope .hdme-product__details ul.social-share .fontawesome-icon {
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-size: 1.05rem !important;
	line-height: 1 !important;
	box-shadow: none !important;
}
.hdme-scope .hdme-product__details ul.social-share li.facebook a { background: #1877f2 !important; }
.hdme-scope .hdme-product__details ul.social-share li.twitter a { background: #000 !important; }
.hdme-scope .hdme-product__details ul.social-share li.pinterest a { background: #e60023 !important; }
.hdme-scope .hdme-product__details ul.social-share li.email a { background: #0b6fa4 !important; }

/* Related products: consistent responsive cards rather than Avada's compressed
   legacy row. */
.hdme-scope .hdme-product__details .related ul.products,
.hdme-scope .hdme-product__details .upsells ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--hdme-space-4);
	width: 100%;
	margin: 0 !important;
}
.hdme-scope .hdme-product__details .related ul.products::before,
.hdme-scope .hdme-product__details .related ul.products::after,
.hdme-scope .hdme-product__details .upsells ul.products::before,
.hdme-scope .hdme-product__details .upsells ul.products::after {
	display: none !important;
	content: none !important;
}
.hdme-scope .hdme-product__details .related ul.products li.product,
.hdme-scope .hdme-product__details .upsells ul.products li.product {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	border: 1px solid var(--hdme-blue-100);
	border-radius: var(--hdme-radius-lg);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--hdme-shadow-sm);
}
.hdme-scope .hdme-product__details .related .fusion-product-wrapper,
.hdme-scope .hdme-product__details .upsells .fusion-product-wrapper {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: 100%;
	border: 0 !important;
	background: #fff !important;
}
.hdme-scope .hdme-product__details .related .product-images,
.hdme-scope .hdme-product__details .upsells .product-images {
	display: block;
	padding: var(--hdme-space-3);
}
.hdme-scope .hdme-product__details .related .product-images img,
.hdme-scope .hdme-product__details .upsells .product-images img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	border-radius: var(--hdme-radius);
}
.hdme-scope .hdme-product__details .related .product-details,
.hdme-scope .hdme-product__details .upsells .product-details {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--hdme-space-2);
	padding: var(--hdme-space-4) !important;
}
.hdme-scope .hdme-product__details .related .product-title,
.hdme-scope .hdme-product__details .upsells .product-title {
	font-size: var(--hdme-text-sm) !important;
	line-height: 1.4 !important;
}
.hdme-scope .hdme-product__details .related .product-buttons,
.hdme-scope .hdme-product__details .upsells .product-buttons {
	display: flex !important;
	flex-direction: column;
	gap: var(--hdme-space-2);
	width: 100%;
	margin-top: auto;
	padding: 0 var(--hdme-space-4) var(--hdme-space-4) !important;
	border: 0 !important;
}
.hdme-scope .hdme-product__details .related .product-buttons a,
.hdme-scope .hdme-product__details .upsells .product-buttons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 44px;
	margin: 0 !important;
	padding: 0.55rem 0.6rem;
	border-radius: var(--hdme-radius);
	background: var(--hdme-blue-600);
	color: #fff !important;
	font-size: var(--hdme-text-xs);
	font-weight: var(--hdme-weight-bold);
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
	text-decoration: none;
}
.hdme-scope .hdme-product__details .related .product-buttons a::before,
.hdme-scope .hdme-product__details .related .product-buttons a::after,
.hdme-scope .hdme-product__details .upsells .product-buttons a::before,
.hdme-scope .hdme-product__details .upsells .product-buttons a::after {
	display: none !important;
	content: none !important;
}
.hdme-scope .hdme-product__details .related .affirm-modal-trigger,
.hdme-scope .hdme-product__details .upsells .affirm-modal-trigger {
	display: none !important;
}
.hdme-scope .hdme-product__details .related li.product .show_details_button,
.hdme-scope .hdme-product__details .upsells li.product .show_details_button {
	display: none !important;
}
.hdme-scope .hdme-product__details .related li.product.outofstock .show_details_button,
.hdme-scope .hdme-product__details .upsells li.product.outofstock .show_details_button {
	display: inline-flex !important;
}

/* Related catalogue cards: 1 mobile, 2 tablet, 4 desktop in one row. */
.hdme-scope .hdme-product__details .hdme-related-products .hdme-grid--archive {
	grid-template-columns: minmax(0, 1fr) !important;
}
@media (min-width: 768px) {
	.hdme-scope .hdme-product__details .hdme-related-products .hdme-grid--archive {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
@media (min-width: 1024px) {
	.hdme-scope .hdme-product__details .hdme-related-products .hdme-grid--archive {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 999px) {
	.hdme-product__summary {
		position: static;
	}
	.hdme-product__details #reviews {
		grid-template-columns: 1fr;
	}
	.hdme-scope .hdme-product__details .related ul.products,
	.hdme-scope .hdme-product__details .upsells ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Avada's quantity width cannot fit the former 84px mobile grid track.
   Give it its own row, then keep purchase/rental actions together below it.
   Other WooCommerce/plugin fields retain their full-width document order. */
@media (max-width: 1023px) {
	.hdme-product__cart form.variations_form { display: block !important; }
	.hdme-product__cart form.cart:not(.variations_form),
	.hdme-product__cart .woocommerce-variation-add-to-cart {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.hdme-product__cart form.cart:not(.variations_form) > :not(.single_add_to_cart_button):not(.pisol_buy_now_button),
	.hdme-product__cart .woocommerce-variation-add-to-cart > :not(.single_add_to_cart_button):not(.pisol_buy_now_button) {
		grid-column: 1 / -1;
		min-width: 0;
		max-width: 100%;
	}
	.hdme-product__cart .quantity.buttons_added {
		width: 134px !important;
		max-width: 100%;
		grid-template-columns: 44px minmax(0, 1fr) 44px;
		box-sizing: border-box;
		justify-self: center;
		float: none;
	}
	.hdme-product__cart .quantity .minus,
	.hdme-product__cart .quantity .plus {
		width: 44px !important;
		min-width: 44px;
	}
	.hdme-product__cart .single_add_to_cart_button,
	.hdme-product__cart .pisol_buy_now_button {
		grid-column: auto;
		float: none;
		font-size: 14px !important;
		white-space: normal;
		text-align: center;
		padding: 12px 8px !important;
	}
	.hdme-product__cart form.cart:not(.variations_form):not(:has(> .pisol_buy_now_button)) > .single_add_to_cart_button,
	.hdme-product__cart .woocommerce-variation-add-to-cart:not(:has(> .pisol_buy_now_button)) > .single_add_to_cart_button {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.hdme-purchase-benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.hdme-purchase-benefits li {
		min-height: 104px;
		padding: 10px;
	}
	.hdme-scope.single-product main.hdme-product .hdme-product__details .woocommerce-tabs > ul.tabs {
		display: grid !important;
		grid-template-columns: 1fr;
	}
	.hdme-scope.single-product main.hdme-product .hdme-product__details .woocommerce-tabs > ul.tabs li,
	.hdme-scope.single-product main.hdme-product .hdme-product__details .woocommerce-tabs > ul.tabs li a {
		width: 100% !important;
	}
	.hdme-product__details .comment-form-author,
	.hdme-product__details .comment-form-email {
		display: block;
		width: 100%;
		margin-left: 0;
	}
	.hdme-scope .hdme-product__details ul.social-share .fusion-woo-social-share-text {
		display: none;
	}
	.hdme-scope .hdme-product__details ul.social-share a {
		width: var(--hdme-tap-min);
		height: var(--hdme-tap-min);
		justify-content: center;
		padding: 0;
	}
	.hdme-scope .hdme-product__details .related ul.products,
	.hdme-scope .hdme-product__details .upsells ul.products {
		grid-template-columns: 1fr;
	}
}
.hdme-cgm-insurance-only {margin-top:20px;padding:20px;border:1px solid #d4e3f7;border-radius:14px;background:#eef5ff;}
/* Older descriptions contain fixed-width embeds and full-bleed builder rows.
   Contain them in the description panel instead of clipping their right edge. */
body.hdme-scope .hdme-product__details #tab-description :is(iframe,video,img) { max-width:100%!important; }
body.hdme-scope .hdme-product__details #tab-description iframe:is([src*="youtube"],[src*="youtu.be"],[src*="vimeo"]) { width:100%;height:auto;aspect-ratio:16/9; }
body.hdme-scope .hdme-product__details #tab-description .fusion-fullwidth { width:100%!important;max-width:100%!important;margin-inline:0!important;padding-inline:0!important;left:auto!important; }
body.hdme-scope .hdme-product__details #tab-description .fusion-builder-row { max-width:100%!important;margin-inline:0!important; }
body.hdme-scope .hdme-product__details #tab-description .fusion-layout-column { min-width:0;max-width:100%; }
body.hdme-scope .hdme-product__details #tab-description :is(.container,.fg-container,.row) { max-width:100%!important;width:auto!important;margin-inline:0!important; }
body.hdme-scope .hdme-product__details { overflow-wrap:anywhere; }
body.hdme-scope .hdme-product__details .woocommerce-product-attributes { width:100%;table-layout:fixed; }
body.hdme-scope .hdme-product__details .woocommerce-product-attributes th { width:36%; }
@media(max-width:800px) {
 body.hdme-scope .hdme-product__details #tab-description .fusion-layout-column { width:100%!important;margin-inline:0!important; }
 body.hdme-scope .hdme-product__details #tab-description .fusion-column-wrapper { margin-inline:0!important; }
}
.hdme-cgm-insurance-only p {margin:0 0 16px;line-height:1.6;color:#203e61;}
.hdme-cgm-insurance-only .hdme-btn {white-space:normal;text-align:center;}
.single-product .hdme-product .woobt-products {
 display:grid;gap:12px;border:0;margin:16px 0 22px;
}
.single-product .hdme-product .woobt-products .woobt-product {
 display:flex;align-items:flex-start;gap:10px;padding:16px;margin:0;
 border:1px solid #d3e0ef;border-radius:14px;background:#fff;
 box-shadow:0 3px 12px rgba(30,65,110,.04);box-sizing:border-box;
}
.single-product .hdme-product .woobt-product:has(.woobt-checkbox:checked) {border-color:#739bd0;background:#f2f7fe;}
.single-product .hdme-product .woobt-product:focus-within {outline:2px solid #aac7ef;outline-offset:2px;}
.single-product .hdme-product .woobt-product > div {padding:0;min-width:0;}
.single-product .hdme-product .woobt-product .woobt-choose {flex:0 0 20px;width:20px;margin-top:12px;}
.single-product .hdme-product .woobt-checkbox {width:18px;height:18px;accent-color:#3265ad;cursor:pointer;}
.single-product .hdme-product .woobt-product .woobt-thumb {flex:0 0 48px;width:48px;}
.single-product .hdme-product .woobt-thumb img {width:48px;height:48px;object-fit:contain;border-radius:8px;background:#fff;}
.single-product .hdme-product .woobt-product .woobt-title {flex:1 1 0;min-width:0;line-height:1.5;text-align:left!important;}
.single-product .hdme-product .woobt-product .woobt-price {flex:0 0 auto;width:auto;max-width:100px;font-size:15px;line-height:1.5;padding-top:2px;}
.single-product .hdme-product .woobt-product .variations_form {padding:0!important;margin:10px 0 0!important;border:0!important;}
.single-product .hdme-product .woobt-product .variations_form .variations {display:grid!important;gap:8px;width:100%!important;margin:0!important;padding:0!important;}
.single-product .hdme-product .woobt-product .variations_form .variations .variation {display:block;width:100%;max-width:100%;padding:0!important;margin:0!important;border:0!important;box-sizing:border-box;}
.single-product .hdme-product .woobt-product .variation .label {margin:0 0 5px!important;padding:0!important;font-size:12px!important;font-weight:600;line-height:1.4!important;color:#526982;}
.single-product .hdme-product .woobt-product .variation .value {padding:0!important;}
.single-product .hdme-product .woobt-product .variation select {
 display:block;width:100%!important;height:42px!important;min-height:42px!important;max-height:42px!important;
 padding:0 30px 0 10px!important;line-height:normal!important;font-size:14px!important;
 border:1px solid #b8cbe3!important;border-radius:8px!important;background-color:#fff!important;
 background-position:right 10px center!important;color:#203e61;box-sizing:border-box;
}
.single-product .hdme-product .woobt-product .variation .avada-select-parent {height:42px!important;min-height:0!important;margin:0!important;}
.single-product .hdme-product .woobt-product .variation .select-arrow {height:40px!important;line-height:40px!important;width:28px!important;}
.single-product .hdme-product .woobt-product .variation select:focus-visible {outline:2px solid #3265ad;outline-offset:2px;}
@media(max-width:600px) {
 .single-product .hdme-product .woobt-products .woobt-product {display:grid;grid-template-columns:20px 40px minmax(0,1fr);gap:8px;padding:12px;}
 .single-product .hdme-product .woobt-product .woobt-thumb {width:40px;}
 .single-product .hdme-product .woobt-thumb img {width:40px;height:40px;}
 .single-product .hdme-product .woobt-product .woobt-price {grid-column:3;max-width:none;text-align:left;padding-top:0;}
 .single-product .hdme-product .woobt-product .woobt-quantity {grid-column:3;width:auto;}
}
