/* Hotel Duniya – single product: swatches, variation labels, qty + buttons (Woodmart) */
.single-product {
	--hd-ink: #141414;
	--hd-muted: #6b665e;
	--hd-line: #dcd6cc;
	--hd-paper: #faf7f2;
	--hd-gold: #c8891a;
	--hd-gold-dk: #a96f0e;
	--hd-radius: 10px;
}

/* Attribute label: "THREAD COUNT: 300 TC" */
.single-product .variations_form .variations th.label,
.single-product .variations_form .variations .label label,
.single-product .variations_form .wd-attr-name {
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	color: var(--hd-ink) !important;
	padding-bottom: 10px !important;
}
.single-product .variations_form .wd-attr-selected {
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--hd-muted) !important;
	font-size: 14px !important;
	margin-left: 4px;
}
.single-product .variations_form .variations tr { margin-bottom: 18px !important; }

/* Swatch grid */
.single-product .wd-swatches-product {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	margin: 0 !important;
}
.single-product .wd-swatches-product .wd-swatch {
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	width: auto !important;
}

/* Text swatch – base */
.single-product .wd-swatches-product .wd-swatch.wd-text,
.single-product .wd-swatches-product .wd-swatch:not(.wd-bg) {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 46px !important;
	padding: 9px 16px !important;
	background: #fff !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: var(--hd-radius) !important;
	box-shadow: none !important;
	color: var(--hd-ink) !important;
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	cursor: pointer;
	transition: border-color .18s, background-color .18s, color .18s, box-shadow .18s;
}
.single-product .wd-swatches-product .wd-swatch .wd-swatch-text {
	font: inherit !important;
	color: inherit !important;
	white-space: normal !important;
	padding: 0 !important;
}
/* Kill Woodmart's default ring/outline pseudo-elements */
.single-product .wd-swatches-product .wd-swatch:before,
.single-product .wd-swatches-product .wd-swatch:after { display: none !important; }

/* Hover */
.single-product .wd-swatches-product .wd-swatch:not(.wd-active):not(.wd-disabled):hover {
	border-color: var(--hd-ink) !important;
	background: var(--hd-paper) !important;
}

/* Active */
.single-product .wd-swatches-product .wd-swatch.wd-active {
	background: var(--hd-ink) !important;
	border-color: var(--hd-ink) !important;
	color: #fff !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--hd-ink) !important;
}

/* Unavailable combination */
.single-product .wd-swatches-product .wd-swatch.wd-disabled {
	opacity: .4 !important;
	cursor: not-allowed;
	background: repeating-linear-gradient(135deg, #fff 0 6px, #f3f0ea 6px 7px) !important;
}

/* Size swatches with "(54"x90")" – keep tidy 2-line tiles */
.single-product .wd-swatches-product.wd-swatches-attr-pa_size .wd-swatch,
.single-product [data-id="pa_size"] .wd-swatch {
	min-width: 104px !important;
}

/* Clear link */
.single-product .variations_form .reset_variations {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	margin-top: 4px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--hd-muted) !important;
	text-decoration: none !important;
	border-bottom: 1px solid currentColor;
}
.single-product .variations_form .reset_variations:before {
	content: "×";
	font-size: 15px;
	line-height: 1;
}
.single-product .variations_form .reset_variations:hover { color: var(--hd-ink) !important; }

/* Selected variation price */
.single-product .woocommerce-variation-price .price {
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: var(--hd-ink) !important;
	margin: 6px 0 14px !important;
}

/* Qty + Add to cart row */
.single-product .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form) {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
	gap: 10px !important;
}
.single-product form.cart div.quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	height: 52px !important;
	margin: 0 !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: var(--hd-radius) !important;
	overflow: hidden;
	background: #fff;
}
.single-product form.cart div.quantity input[type="button"],
.single-product form.cart div.quantity .minus,
.single-product form.cart div.quantity .plus {
	width: 40px !important;
	height: 100% !important;
	min-height: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--hd-ink) !important;
	font-size: 18px !important;
	box-shadow: none !important;
}
.single-product form.cart div.quantity input[type="button"]:hover { background: var(--hd-paper) !important; }
.single-product form.cart div.quantity .qty {
	width: 52px !important;
	height: 100% !important;
	border: 0 !important;
	border-left: 1px solid var(--hd-line) !important;
	border-right: 1px solid var(--hd-line) !important;
	border-radius: 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--hd-ink) !important;
	background: #fff !important;
}

/* Add to cart */
.single-product .single_add_to_cart_button {
	flex: 1 1 220px !important;
	height: 52px !important;
	min-height: 52px !important;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: var(--hd-radius) !important;
	background: var(--hd-ink) !important;
	color: #fff !important;
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
	transition: background-color .18s, transform .18s;
}
.single-product .single_add_to_cart_button:hover { background: #2b2b2b !important; }
.single-product .single_add_to_cart_button:active { transform: translateY(1px); }
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled {
	background: #b9b4ab !important;
	cursor: not-allowed;
	opacity: 1 !important;
}

/* Buy now (Woodmart) */
.single-product .wd-buy-now-btn {
	flex: 1 1 100% !important;
	height: 52px !important;
	border-radius: var(--hd-radius) !important;
	background: var(--hd-gold) !important;
	color: #141414 !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	border: 0 !important;
}
.single-product .wd-buy-now-btn:hover { background: var(--hd-gold-dk) !important; color: #fff !important; }

/* Wishlist / compare links under cart */
.single-product .wd-wishlist-btn a,
.single-product .wd-compare-btn a {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--hd-muted) !important;
}
.single-product .wd-wishlist-btn a:hover,
.single-product .wd-compare-btn a:hover { color: var(--hd-ink) !important; }

/* Mobile */
@media (max-width: 767px) {
	.single-product .wd-swatches-product { gap: 6px !important; }
	.single-product .wd-swatches-product .wd-swatch:not(.wd-bg) {
		padding: 8px 12px !important;
		font-size: 13px !important;
		min-height: 44px !important;
	}
	.single-product .wd-swatches-product.wd-swatches-attr-pa_size,
	.single-product [data-id="pa_size"] .wd-swatches-product {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.single-product .wd-swatches-product.wd-swatches-attr-pa_size .wd-swatch,
	.single-product [data-id="pa_size"] .wd-swatch { min-width: 0 !important; width: 100% !important; }
	.single-product .single_add_to_cart_button { flex: 1 1 0 !important; }
}


/* =====================================================================
   FULL PRODUCT PAGE
   ===================================================================== */
.single-product .site-content,
.single-product .main-page-wrapper { background: #fff; }
.single-product .single-product-page { font-family: "Hanken Grotesk", sans-serif; color: var(--hd-ink); }

/* Breadcrumb + product nav */
.single-product .wd-breadcrumbs,
.single-product .woocommerce-breadcrumb {
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: var(--hd-muted) !important;
}
.single-product .woocommerce-breadcrumb a { color: var(--hd-muted) !important; }
.single-product .woocommerce-breadcrumb a:hover { color: var(--hd-ink) !important; }
.single-product .woocommerce-breadcrumb .breadcrumb-last { color: var(--hd-ink) !important; }
.single-product .single-breadcrumbs-wrapper { margin-bottom: 24px !important; }

/* Gallery */
.single-product .woocommerce-product-gallery .wd-carousel-item img,
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery figure img {
	border-radius: 14px !important;
	background: var(--hd-paper);
}
.single-product .wd-gallery-thumb .wd-carousel-item img,
.single-product .wd-gallery-thumb img {
	border-radius: 8px !important;
	border: 1px solid transparent;
	opacity: .7;
	transition: opacity .18s, border-color .18s;
}
.single-product .wd-gallery-thumb .wd-thumb-active img,
.single-product .wd-gallery-thumb .wd-carousel-item:hover img {
	opacity: 1;
	border-color: var(--hd-ink);
}
.single-product .product-images .wd-action-btn > a,
.single-product .woocommerce-product-gallery .wd-show-product-gallery-wrap > a {
	background: #fff !important;
	border-radius: 999px !important;
	box-shadow: 0 2px 10px rgba(0,0,0,.08) !important;
}
.single-product .onsale,
.single-product .product-labels .product-label {
	background: var(--hd-gold) !important;
	color: #141414 !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: 11px !important;
	letter-spacing: .08em !important;
	padding: 6px 12px !important;
	min-height: 0 !important;
}

/* Summary column */
.single-product .summary-inner { padding-top: 4px; }
.single-product .product_title {
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 600 !important;
	font-size: clamp(28px, 3.2vw, 40px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.01em !important;
	color: var(--hd-ink) !important;
	margin-bottom: 14px !important;
	text-wrap: pretty;
}
.single-product .summary-inner > .price,
.single-product .summary .price {
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 26px !important;
	font-weight: 700 !important;
	color: var(--hd-ink) !important;
	margin-bottom: 10px !important;
}
.single-product .summary .price small,
.single-product .summary .price .woocommerce-price-suffix {
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--hd-muted) !important;
}
.single-product .summary .price del { color: var(--hd-muted) !important; font-weight: 500 !important; font-size: .7em !important; }
.single-product .summary .price ins { text-decoration: none !important; }

/* Rating */
.single-product .woocommerce-product-rating {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 20px !important;
}
.single-product .star-rating span:before,
.single-product .star-rating:before { color: var(--hd-gold) !important; }
.single-product .star-rating:before { opacity: .25; }
.single-product .woocommerce-review-link { font-size: 13px !important; color: var(--hd-muted) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* Short description */
.single-product .woocommerce-product-details__short-description {
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: #3a3732 !important;
	padding: 18px 0 !important;
	margin-bottom: 18px !important;
	border-top: 1px solid var(--hd-line);
	border-bottom: 1px solid var(--hd-line);
}
.single-product .woocommerce-product-details__short-description ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.single-product .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 20px !important;
	margin-bottom: 6px !important;
}
.single-product .woocommerce-product-details__short-description li:before {
	content: "";
	position: absolute;
	left: 0; top: .6em;
	width: 8px; height: 8px;
	border-radius: 2px;
	background: var(--hd-gold);
}

/* Stock */
.single-product .stock {
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	margin: 8px 0 12px !important;
}
.single-product .stock.in-stock { color: #2f7d4a !important; }
.single-product .stock.out-of-stock { color: #b23a2b !important; }

/* MOQ / Multiples-of-4 hint (from functions.php validation) */
.single-product .hd-qty-note {
	display: block;
	width: 100%;
	font-size: 12px;
	color: var(--hd-muted);
	margin-top: 2px;
}

/* Meta (SKU, category, tags) */
.single-product .product_meta {
	display: grid !important;
	gap: 6px !important;
	margin-top: 24px !important;
	padding-top: 18px !important;
	border-top: 1px solid var(--hd-line);
	font-size: 13px !important;
	color: var(--hd-muted) !important;
}
.single-product .product_meta > span { display: block; }
.single-product .product_meta .meta-label,
.single-product .product_meta > span > :first-child { color: var(--hd-ink); font-weight: 700; }
.single-product .product_meta a { color: var(--hd-ink) !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* Share */
.single-product .product-share .wd-social-icons a {
	width: 34px !important;
	height: 34px !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: 999px !important;
	color: var(--hd-ink) !important;
	background: #fff !important;
}
.single-product .product-share .wd-social-icons a:hover { background: var(--hd-ink) !important; color: #fff !important; border-color: var(--hd-ink) !important; }

/* Tabs (Description / Additional info / Reviews) */
.single-product .product-tabs-wrapper {
	background: var(--hd-paper) !important;
	border-top: 0 !important;
	padding: 56px 0 !important;
	margin-top: 56px !important;
}
.single-product .woocommerce-tabs .wd-nav-tabs,
.single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 8px !important;
	margin-bottom: 36px !important;
	border: 0 !important;
}
.single-product .woocommerce-tabs .wd-nav-tabs > li,
.single-product .woocommerce-tabs ul.tabs > li { margin: 0 !important; border: 0 !important; background: none !important; }
.single-product .woocommerce-tabs .wd-nav-tabs > li > a,
.single-product .woocommerce-tabs ul.tabs > li > a {
	display: inline-flex !important;
	align-items: center;
	height: 42px;
	padding: 0 20px !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: var(--hd-ink) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}
.single-product .woocommerce-tabs .wd-nav-tabs > li > a:after { display: none !important; }
.single-product .woocommerce-tabs .wd-nav-tabs > li.active > a,
.single-product .woocommerce-tabs ul.tabs > li.active > a {
	background: var(--hd-ink) !important;
	border-color: var(--hd-ink) !important;
	color: #fff !important;
}
.single-product .woocommerce-Tabs-panel {
	max-width: 860px;
	margin: 0 auto !important;
	font-size: 15px;
	line-height: 1.75;
	color: #3a3732;
}
.single-product .woocommerce-Tabs-panel h2,
.single-product .woocommerce-Tabs-panel h3 {
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 600 !important;
	color: var(--hd-ink) !important;
}

/* Accordion layout variant (Woodmart "accordion" tabs) */
.single-product .wd-accordion-item {
	border-bottom: 1px solid var(--hd-line) !important;
}
.single-product .wd-accordion-title {
	padding: 18px 0 !important;
}
.single-product .wd-accordion-title-text {
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
	color: var(--hd-ink) !important;
}

/* Additional info table */
.single-product .woocommerce-product-attributes {
	border: 1px solid var(--hd-line) !important;
	border-radius: var(--hd-radius);
	overflow: hidden;
	background: #fff;
}
.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
	padding: 14px 18px !important;
	border-bottom: 1px solid var(--hd-line) !important;
	font-size: 14px !important;
	text-align: left !important;
}
.single-product .woocommerce-product-attributes th {
	width: 34%;
	font-weight: 700 !important;
	color: var(--hd-ink) !important;
	background: #fcfaf6;
}
.single-product .woocommerce-product-attributes tr:last-child th,
.single-product .woocommerce-product-attributes tr:last-child td { border-bottom: 0 !important; }

/* Reviews */
.single-product #reviews .commentlist li .comment_container,
.single-product #reviews .comment-text {
	background: #fff !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: var(--hd-radius) !important;
}
.single-product #reviews .comment-text { padding: 18px !important; }
.single-product #reviews .avatar { border-radius: 999px !important; }
.single-product #review_form input[type="text"],
.single-product #review_form input[type="email"],
.single-product #review_form textarea {
	border: 1px solid var(--hd-line) !important;
	border-radius: var(--hd-radius) !important;
	background: #fff !important;
}
.single-product #review_form input:focus,
.single-product #review_form textarea:focus { border-color: var(--hd-ink) !important; }
.single-product #review_form #submit {
	height: 48px;
	padding: 0 28px !important;
	border-radius: var(--hd-radius) !important;
	background: var(--hd-ink) !important;
	color: #fff !important;
	font-weight: 700 !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}
.single-product .comment-form-rating .stars a { color: var(--hd-gold) !important; }

/* Related / upsells */
.single-product .related-and-upsells { padding-top: 56px !important; }
.single-product .related-and-upsells .title,
.single-product .related-and-upsells .slider-title,
.single-product .related > h2,
.single-product .upsells > h2 {
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 600 !important;
	font-size: clamp(26px, 3vw, 36px) !important;
	text-transform: none !important;
	letter-spacing: -.01em !important;
	color: var(--hd-ink) !important;
	text-align: center;
	margin-bottom: 28px !important;
	border: 0 !important;
}
.single-product .related-and-upsells .slider-title:after,
.single-product .related-and-upsells .title:after { display: none !important; }
.single-product .related-and-upsells .wd-product .product-wrapper {
	border-radius: 12px;
	transition: box-shadow .2s;
}
.single-product .related-and-upsells .wd-product .product-image-link img { border-radius: 12px; background: var(--hd-paper); }
.single-product .related-and-upsells .wd-product .wd-entities-title {
	font-family: "Hanken Grotesk", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}
.single-product .related-and-upsells .wd-product .wd-entities-title a { color: var(--hd-ink) !important; }
.single-product .related-and-upsells .wd-product .price { font-weight: 700 !important; color: var(--hd-ink) !important; }
.single-product .related-and-upsells .wd-carousel-container .wd-btn-arrow,
.single-product .related-and-upsells .wd-nav-arrows .wd-btn-arrow > span,
.single-product .related-and-upsells .owl-nav > div {
	width: 42px !important;
	height: 42px !important;
	border-radius: 999px !important;
	background: #fff !important;
	border: 1px solid var(--hd-line) !important;
	color: var(--hd-ink) !important;
}

/* Sticky add to cart bar (Woodmart) */
.single-product .wd-sticky-btn {
	border-top: 1px solid var(--hd-line) !important;
	box-shadow: 0 -6px 24px rgba(0,0,0,.06) !important;
}
.single-product .wd-sticky-btn .wd-entities-title,
.single-product .wd-sticky-btn .wd-sticky-btn-title { font-family: "Hanken Grotesk", sans-serif !important; font-weight: 700 !important; }
.single-product .wd-sticky-btn .single_add_to_cart_button { height: 44px !important; min-height: 44px !important; flex: 0 0 auto !important; }
.single-product .wd-sticky-btn div.quantity { height: 44px !important; }

/* Floating "Request a Call Back" button */
.single-product [class*="call-back"] a,
.single-product [class*="callback"] a,
.single-product .wd-sticky-social a {
	border-radius: 999px 0 0 999px !important;
	font-family: "Hanken Grotesk", sans-serif !important;
	font-weight: 700 !important;
}

/* Tablet / mobile page-level */
@media (max-width: 1024px) {
	.single-product .product-tabs-wrapper { padding: 40px 0 !important; margin-top: 40px !important; }
}
@media (max-width: 767px) {
	.single-product .product_title { font-size: 26px !important; }
	.single-product .summary-inner > .price,
	.single-product .summary .price { font-size: 22px !important; }
	.single-product .summary-inner { padding-top: 18px; }
	.single-product .woocommerce-tabs .wd-nav-tabs,
	.single-product .woocommerce-tabs ul.tabs {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 4px;
	}
	.single-product .woocommerce-tabs .wd-nav-tabs > li > a { white-space: nowrap; }
	.single-product .woocommerce-product-attributes th { width: 42%; }
	.single-product .related-and-upsells { padding-top: 40px !important; }
}


/* =====================================================================
   ELEMENTOR LAYOUT (hotelduniya-product.json)
   ===================================================================== */
.hd-pd.e-con, .hd-pd { --padding-top:0; --padding-bottom:0; padding: 0 !important; }
.hd-pd-wrap.e-con, .hd-pd-wrap {
	width: 100% !important;
	max-width: 1280px !important;
	margin: 0 auto !important;
	padding: 0 clamp(16px, 4vw, 40px) !important;
	display: block !important;
}
.hd-pd-top { padding-top: 24px !important; }
.hd-pd-grid.e-con, .hd-pd-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) !important;
	gap: clamp(24px, 4vw, 56px) !important;
	align-items: start !important;
	padding: 0 !important;
}
.hd-pd-media.e-con, .hd-pd-info.e-con { width: 100% !important; max-width: none !important; padding: 0 !important; display: block !important; }
.hd-pd-media { position: sticky !important; top: 100px; }
.hd-pd .elementor-widget-shortcode { margin-bottom: 0 !important; width: 100%; }
.hd-pd .elementor-shortcode > :first-child { margin-top: 0; }
.hd-pd-crumb { margin-bottom: 24px; }
.hd-pd-gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; opacity: 1 !important; }
.hd-pd-summary { width: 100% !important; float: none !important; }

/* Wishlist (Woodmart) */
.single-product .wd-wishlist-btn,
.single-product .wd-compare-btn { margin-top: 14px !important; }
.single-product .wd-wishlist-btn a {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	height: 40px;
	padding: 0 16px !important;
	border: 1px solid var(--hd-line);
	border-radius: 999px;
	color: var(--hd-ink) !important;
}
.single-product .wd-wishlist-btn a:hover { border-color: var(--hd-ink); background: var(--hd-paper); }

.hd-qty-note { font-size: 12px; color: var(--hd-muted); margin: 8px 0 0 !important; }

/* Note */
.hd-pd-note {
	margin: 22px 0 0 !important;
	padding: 12px 16px;
	border-radius: var(--hd-radius);
	background: #fbf3e3;
	color: #7a5108;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}

/* Accordion (shortcode) + Woodmart / Elementor accordions on product pages */
.hd-acc { margin-top: 22px; border-top: 1px solid var(--hd-line); }
.hd-acc__item { border-bottom: 1px solid var(--hd-line); }
.hd-acc__head {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0;
	cursor: pointer;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--hd-ink);
}
.hd-acc__head::-webkit-details-marker { display: none; }
.hd-acc__head i {
	flex: none;
	position: relative;
	width: 28px; height: 28px;
	border: 1px solid var(--hd-line);
	border-radius: 999px;
	transition: background .18s, border-color .18s;
}
.hd-acc__head i:before, .hd-acc__head i:after {
	content: ""; position: absolute; left: 50%; top: 50%;
	width: 10px; height: 1.5px; background: var(--hd-ink);
	transform: translate(-50%, -50%);
	transition: transform .2s, opacity .2s;
}
.hd-acc__head i:after { transform: translate(-50%, -50%) rotate(90deg); }
.hd-acc__item[open] .hd-acc__head i { background: var(--hd-ink); border-color: var(--hd-ink); }
.hd-acc__item[open] .hd-acc__head i:before, .hd-acc__item[open] .hd-acc__head i:after { background: #fff; }
.hd-acc__item[open] .hd-acc__head i:after { transform: translate(-50%, -50%) rotate(0); opacity: 0; }
.hd-acc__head:hover i { border-color: var(--hd-ink); }
.hd-acc__body { padding: 0 0 20px; font-size: 15px; line-height: 1.7; color: #3a3732; }
.hd-acc__body p { margin: 0 0 10px; }
.hd-acc__body ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.hd-acc__body li { position: relative; padding-left: 20px; }
.hd-acc__body li:before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 2px; background: var(--hd-gold); }
.hd-acc__body a { color: var(--hd-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.hd-acc__body a:hover { color: var(--hd-gold-dk); }
.hd-acc__body table { width: 100%; border-collapse: collapse; font-size: 14px; border: 1px solid var(--hd-line); border-radius: var(--hd-radius); overflow: hidden; }
.hd-acc__body th, .hd-acc__body td { padding: 10px 14px; border-bottom: 1px solid var(--hd-line); text-align: left; }
.hd-acc__body th { background: #fcfaf6; font-weight: 700; }

/* Existing Woodmart / Elementor accordions in the summary (as on the live page) */
.single-product .summary .wd-accordion-item,
.single-product .summary .elementor-accordion-item,
.single-product .summary .e-n-accordion-item { border: 0 !important; border-bottom: 1px solid var(--hd-line) !important; }
.single-product .summary .wd-accordion-title,
.single-product .summary .elementor-tab-title,
.single-product .summary .e-n-accordion-item-title { padding: 18px 0 !important; border: 0 !important; background: none !important; }
.single-product .summary .wd-accordion-title-text,
.single-product .summary .elementor-accordion-title,
.single-product .summary .e-n-accordion-item-title-text {
	font-size: 13px !important; font-weight: 700 !important; letter-spacing: .1em !important;
	text-transform: uppercase !important; color: var(--hd-ink) !important;
}
.single-product .summary .wd-accordion-content,
.single-product .summary .elementor-tab-content { padding: 0 0 20px !important; border: 0 !important; font-size: 15px; line-height: 1.7; color: #3a3732; }
.single-product .summary .wd-accordion-content a,
.single-product .summary .elementor-tab-content a { color: var(--hd-ink) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Trust badges */
.hd-trust {
	position: relative;
	margin-top: 32px;
	padding: 28px 20px 22px;
	border: 1px solid var(--hd-line);
	border-radius: 14px;
	background: #fff;
}
.hd-trust__title {
	position: absolute;
	top: 0; left: 50%;
	transform: translate(-50%, -50%);
	margin: 0 !important;
	padding: 0 14px;
	background: #fff;
	white-space: nowrap;
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: 20px;
	color: var(--hd-ink);
}
.hd-trust__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.hd-trust__item {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	text-align: center; font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--hd-ink);
}
.hd-trust__icon {
	width: 52px; height: 52px; border-radius: 999px;
	display: flex; align-items: center; justify-content: center;
	background: var(--hd-paper); color: var(--hd-ink);
	border: 1px solid var(--hd-line);
}

/* Tabs + related sections (Elementor wrappers) */
.hd-pd-tabs-sec { background: var(--hd-paper) !important; margin-top: 56px !important; }
.hd-pd-tabs-sec .product-tabs-wrapper { margin-top: 0 !important; background: transparent !important; }
.hd-pd-related-sec .related-and-upsells { padding-bottom: 72px !important; }

@media (max-width: 1024px) {
	.hd-pd-grid.e-con, .hd-pd-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 28px !important; }
	.hd-pd-media { top: 80px; }
}
@media (max-width: 767px) {
	.hd-pd-grid.e-con, .hd-pd-grid { grid-template-columns: minmax(0, 1fr) !important; gap: 18px !important; }
	.hd-pd-media { position: static !important; }
	.hd-pd-tabs-sec { margin-top: 40px !important; }
	.hd-trust { padding: 26px 12px 18px; }
	.hd-trust__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
	.hd-trust__title { font-size: 18px; }
}


/* =====================================================================
   VARIATIONS BLOCK – stacked label over options (fixes table layout)
   ===================================================================== */
.single-product .variations_form .variations,
.single-product .variations_form .variations tbody,
.single-product .variations_form .variations tr,
.single-product .variations_form .variations th,
.single-product .variations_form .variations td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	vertical-align: top !important;
}
.single-product .variations_form .variations {
	margin: 4px 0 18px !important;
	padding: 18px !important;
	border: 1px solid var(--hd-line) !important;
	border-radius: 14px !important;
	background: #fcfaf6 !important;
}
.single-product .variations_form .variations tbody {
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
}
.single-product .variations_form .variations tr + tr {
	padding-top: 18px !important;
	border-top: 1px dashed var(--hd-line) !important;
}
.single-product .variations_form .variations th.label,
.single-product .variations_form .variations td.label {
	display: flex !important;
	align-items: baseline !important;
	gap: 6px !important;
	padding: 0 0 10px !important;
	line-height: 1.3 !important;
}
.single-product .variations_form .variations th.label label,
.single-product .variations_form .variations td.label label {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: baseline;
	gap: 6px;
}
/* Remove Woodmart's ":" pseudo spacing so it reads "THREAD COUNT: 210 TC" */
.single-product .variations_form .variations .label label:after { margin-left: -2px; }

/* Step number before each attribute */
.single-product .variations_form .variations tbody { counter-reset: hdstep; }
.single-product .variations_form .variations tr { counter-increment: hdstep; }
.single-product .variations_form .variations th.label:before,
.single-product .variations_form .variations td.label:before {
	content: counter(hdstep);
	flex: none;
	align-self: center;
	width: 22px; height: 22px;
	border-radius: 999px;
	background: var(--hd-ink);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 4px;
}

.single-product .variations_form .variations td.value {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 10px !important;
}
.single-product .variations_form .variations td.value select { display: none !important; }
.single-product .variations_form .variations td.value .wd-swatches-product { width: 100%; }

/* Swatches: compact, even tiles */
.single-product .wd-swatches-product .wd-swatch:not(.wd-bg) {
	min-height: 44px !important;
	padding: 8px 16px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	background: #fff !important;
}
.single-product .wd-swatches-product .wd-swatch.wd-active {
	background: var(--hd-ink) !important;
	color: #fff !important;
}

/* Unavailable for current selection – clean diagonal strike, still clickable */
.single-product .wd-swatches-product .wd-swatch.wd-disabled,
.single-product .wd-swatches-product .wd-swatch.wd-disabled:hover {
	opacity: 1 !important;
	color: #a8a299 !important;
	border-style: dashed !important;
	border-color: #d4cdc1 !important;
	background: #fff linear-gradient(to top right, transparent calc(50% - .6px), #ddd6ca calc(50% - .6px), #ddd6ca calc(50% + .6px), transparent calc(50% + .6px)) !important;
	cursor: pointer;
	pointer-events: auto !important;
}
.single-product .wd-swatches-product .wd-swatch.wd-disabled .wd-swatch-text { text-decoration: none !important; }

/* Clear link sits under the last row, right-aligned */
.single-product .variations_form .variations .reset_variations {
	align-self: flex-end !important;
	margin: 2px 0 0 !important;
}

/* Hint when nothing chosen yet (button disabled) */
.single-product .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button { letter-spacing: .06em !important; }
.single-product .woocommerce-variation-add-to-cart-disabled:before {
	content: "Choose thread count and size to see the price";
	flex: 1 1 100%;
	order: -1;
	font-size: 13px;
	font-weight: 600;
	color: var(--hd-muted);
}

/* Selected variation price + stock row */
.single-product .single_variation_wrap .woocommerce-variation {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
	margin-bottom: 14px;
}
.single-product .single_variation_wrap .woocommerce-variation:empty { display: none !important; }
.single-product .woocommerce-variation-price .price { margin: 0 !important; }
.single-product .woocommerce-variation-availability .stock { margin: 0 !important; }

/* Compare + wishlist row */
.single-product .summary .wd-compare-btn,
.single-product .summary .wd-wishlist-btn { display: inline-flex !important; vertical-align: middle; margin: 14px 8px 0 0 !important; }
.single-product .summary .wd-compare-btn a {
	display: inline-flex !important; align-items: center; gap: 8px;
	height: 40px; padding: 0 16px !important;
	border: 1px solid var(--hd-line); border-radius: 999px;
	color: var(--hd-ink) !important; font-size: 13px !important; font-weight: 600 !important;
}
.single-product .summary .wd-compare-btn a:hover { border-color: var(--hd-ink); background: var(--hd-paper); }

@media (max-width: 767px) {
	.single-product .variations_form .variations { padding: 14px !important; }
	.single-product .wd-swatches-product .wd-swatch:not(.wd-bg) { padding: 8px 12px !important; font-size: 13px !important; }
}


/* =====================================================================
   PRODUCT DESCRIPTION BLOCKS (.hdd) – paste HTML from /descriptions/
   ===================================================================== */
.hdd{--ink:#141414;--muted:#6b665e;--line:#dcd6cc;--paper:#faf7f2;--gold:#c8891a;font-family:"Hanken Grotesk",system-ui,sans-serif;color:#3a3732;font-size:16px;line-height:1.7;max-width:1080px;margin:0 auto}
.hdd *{box-sizing:border-box}
.hdd h2,.hdd h3{font-family:"Playfair Display",Georgia,serif;color:var(--ink);font-weight:600;letter-spacing:-.01em;line-height:1.15;margin:0 0 14px;text-transform:none}
.hdd h2{font-size:clamp(26px,3vw,36px)}
.hdd h3{font-size:22px}
.hdd p{margin:0 0 14px}
.hdd strong{color:var(--ink);font-weight:700}
.hdd img{display:block;width:100%;height:auto;border-radius:14px;background:var(--paper);margin:0}
.hdd .hdd-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.hdd .hdd-sec{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(32px,5vw,56px) 0;border-bottom:1px solid var(--line)}
.hdd .hdd-sec:last-child{border-bottom:0}
.hdd .hdd-sec.hdd-flip .hdd-media{order:-1}
.hdd .hdd-sec.hdd-full{grid-template-columns:minmax(0,1fr)}
.hdd .hdd-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.hdd .hdd-chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 18px;padding:0;list-style:none}
.hdd .hdd-chips li{margin:0;padding:12px 20px;border:1px solid var(--ink);border-radius:10px;font-weight:700;color:var(--ink);background:#fff;line-height:1.2}
.hdd .hdd-chips li span{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:3px}
.hdd .hdd-points{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:8px}
.hdd .hdd-points li{position:relative;padding-left:20px;margin:0}
.hdd .hdd-points li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:2px;background:var(--gold)}
.hdd table.hdd-sizes{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 14px;font-size:15px;background:#fff}
.hdd table.hdd-sizes th,.hdd table.hdd-sizes td{padding:12px 16px;text-align:left;border:0;border-bottom:1px solid var(--line)}
.hdd table.hdd-sizes thead th{background:var(--ink);color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.hdd table.hdd-sizes tbody tr:nth-child(even) td{background:#fcfaf6}
.hdd table.hdd-sizes tbody tr:last-child td{border-bottom:0}
.hdd table.hdd-sizes td:first-child{font-weight:700;color:var(--ink)}
.hdd .hdd-note{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fbf3e3;color:#7a5108;font-weight:700;font-size:14px}
.hdd .hdd-faq{display:grid;gap:10px;margin-top:8px}
.hdd .hdd-faq details{border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 20px}
.hdd .hdd-faq details[open]{border-color:var(--ink)}
.hdd .hdd-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;color:var(--ink);font-size:16px;line-height:1.4}
.hdd .hdd-faq summary::-webkit-details-marker{display:none}
.hdd .hdd-faq summary:after{content:"+";flex:none;width:28px;height:28px;border-radius:999px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:500}
.hdd .hdd-faq details[open] summary:after{content:"−";background:var(--ink);color:#fff;border-color:var(--ink)}
.hdd .hdd-faq details p{padding:0 0 18px;margin:0}
@media (max-width:767px){
.hdd{font-size:15px}
.hdd .hdd-sec{grid-template-columns:minmax(0,1fr);gap:20px}
.hdd .hdd-sec .hdd-media,.hdd .hdd-sec.hdd-flip .hdd-media{order:-1}
.hdd table.hdd-sizes th,.hdd table.hdd-sizes td{padding:10px 12px}
.hdd .hdd-faq details{padding:0 16px}
}

/* Description: full width + wpautop-safe image grid */
.single-product .woocommerce-Tabs-panel--description,
.single-product .woocommerce-Tabs-panel:has(.hdd),
.single-product .wc-tab-inner:has(.hdd),
.single-product .wd-accordion-content:has(.hdd) {
	max-width: 1280px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.hdd { max-width: none !important; width: 100% !important; }
.hdd > p:empty, .hdd br, .hdd-sec > br, .hdd-pair > br { display: none !important; }
.hdd p:has(> img:only-child), .hdd-pair > p, .hdd-media > p { display: contents !important; margin: 0 !important; }
.hdd .hdd-sec { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important; }
.hdd .hdd-sec.hdd-full { grid-template-columns: minmax(0, 1fr) !important; }
.hdd .hdd-sec.hdd-full .hdd-text { max-width: 820px; }
.hdd .hdd-media { width: 100%; min-width: 0; }
.hdd .hdd-pair { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 12px !important; width: 100%; }
.hdd .hdd-media img,
.hdd .hdd-pair img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.hdd .hdd-media:not(.hdd-pair) img { aspect-ratio: auto; }
@media (max-width: 767px) {
	.hdd .hdd-sec { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Single price for variable products */
.single-product .summary .price .hd-from {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--hd-muted);
	margin-right: 4px;
	vertical-align: middle;
}
.single-product .summary .price.hd-price-selected { animation: hdPricePop .35s ease; }
@keyframes hdPricePop { from { opacity: .3; transform: translateY(3px); } to { opacity: 1; transform: none; } }
/* Variation price already shown at top – hide the duplicate below swatches */
.single-product .single_variation_wrap .woocommerce-variation-price { display: none !important; }