/* Single product — Plan A v2: left large gallery / right buy box / accordion below */

body.single-product {
	--tp-bg: #f3e4cc;
	--tp-soft: #f7efe0;
	--tp-surface: #fffaf4;
	--tp-card: #f7f1e8;
	--tp-text: #2b2118;
	--tp-muted: #5c4a3d;
	--tp-accent: #a85f45;
	--tp-gold: #c9963d;
	--tp-line: rgba(90, 60, 40, 0.16);
	--tp-gap: 2.55rem;
	/* Header is in-flow — modest top spacing only */
	--tp-header-clear: 1.75rem;
	--tp-sticky-clear: 7.5rem;
	--tp-max: 1760px;
}

body.single-product #qodef-page-outer,
body.single-product #qodef-page-inner,
body.single-product .qodef-content,
body.single-product .product,
body.single-product #qodef-woo-page {
	background: var(--tp-bg) !important;
}

/* Keep product content below sticky/centered header */
body.single-product #qodef-page-inner {
	padding-top: var(--tp-header-clear) !important;
}

body.single-product .qodef-woo-single-inner,
body.single-product .woocommerce-tabs,
body.single-product .related.products {
	scroll-margin-top: var(--tp-sticky-clear);
}

/* Widen theme content grids (was ~1400 / 1180) */
body.single-product .qodef-content-grid,
body.single-product .product > .qodef-content-grid {
	width: min(100% - 1.5rem, var(--tp-max)) !important;
	max-width: var(--tp-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* —— Top buy row —— */
body.single-product .qodef-woo-single-inner,
body.single-product #qodef-woo-page.qodef--single .qodef-woo-single-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 1.15rem !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0.5rem auto 1.75rem !important;
	float: none !important;
	padding: 0 !important;
}

body.single-product .taitussi-pdp-head {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.65rem 1.25rem;
	width: 100%;
	padding: 0 0.15rem;
}

body.single-product .taitussi-pdp-buyrow {
	display: grid !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr) !important;
	gap: clamp(1.75rem, 3.2vw, 3.25rem) !important;
	align-items: start !important;
	width: 100% !important;
}

body.single-product .qodef-woo-single-image,
body.single-product .summary.entry-summary,
body.single-product #qodef-woo-page.qodef--single .qodef-woo-single-image,
body.single-product #qodef-woo-page.qodef--single .summary.entry-summary {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	vertical-align: top !important;
}

/* —— Gallery: force stacked (main on top, thumbs below) —— */
body.single-product .woocommerce-product-gallery {
	display: block !important;
	width: 100% !important;
	opacity: 1 !important;
	background: var(--tp-surface) !important;
	border: 1px solid var(--tp-line) !important;
	border-radius: 22px !important;
	padding: 1rem !important;
	overflow: hidden;
	box-sizing: border-box;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product #qodef-woo-page.qodef--single .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery.qodef-position--left .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery.qodef-position--below .woocommerce-product-gallery__wrapper {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.75rem !important;
	margin: 0 !important;
	width: 100% !important;
}

body.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
body.single-product #qodef-woo-page.qodef--single .woocommerce-product-gallery.qodef-position--left .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery.qodef-position--left .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
	position: relative !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden !important;
	border-radius: 12px !important;
	background: #fff;
}

body.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0 auto !important;
	border-radius: 12px;
	object-fit: contain !important;
}

body.single-product .woocommerce-product-gallery__wrapper > .qodef-woo-thumbnails-wrapper,
body.single-product #qodef-woo-page.qodef--single .woocommerce-product-gallery.qodef-position--left .woocommerce-product-gallery__wrapper > .qodef-woo-thumbnails-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 0.55rem !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product .qodef-woo-thumbnails-wrapper .woocommerce-product-gallery__image {
	position: relative !important;
	width: 4.5rem !important;
	height: 4.5rem !important;
	margin: 0 !important;
	flex: 0 0 4.5rem !important;
	overflow: hidden !important;
	border: 1px solid var(--tp-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	cursor: pointer;
}

body.single-product .qodef-woo-thumbnails-wrapper .woocommerce-product-gallery__image img,
body.single-product .qodef-woo-thumbnails-wrapper .woocommerce-product-gallery__image a {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
	display: block !important;
}

body.single-product .flex-control-thumbs {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.55rem !important;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body.single-product .flex-control-thumbs li {
	width: 4.5rem !important;
	height: 4.5rem !important;
	float: none !important;
	margin: 0 !important;
	border: 1px solid var(--tp-line);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

body.single-product .flex-control-thumbs li img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: 0.75;
}

body.single-product .flex-control-thumbs li img.flex-active,
body.single-product .flex-control-thumbs li img:hover {
	opacity: 1;
}

/* —— Right buy box —— */
body.single-product .summary.entry-summary {
	display: flex !important;
	flex-direction: column !important;
	gap: 1rem !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	min-height: 0;
}

body.single-product .product_title,
body.single-product .summary .product_title,
body.single-product .taitussi-pdp-head .product_title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	font-size: clamp(1.65rem, 2.7vw, 2.25rem) !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: var(--tp-text) !important;
}

body.single-product .summary > .price,
body.single-product .taitussi-pdp-head > .price {
	flex: 0 0 auto;
	align-self: baseline;
	order: unset;
	margin: 0 !important;
	padding-top: 0.15em;
	font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--tp-text) !important;
	white-space: nowrap;
}

body.single-product .summary > .price del,
body.single-product .taitussi-pdp-head > .price del {
	opacity: 0.45;
	font-size: 0.72em;
}

/* Short desc moved into Description accordion via JS */
body.single-product .summary > .woocommerce-product-details__short-description {
	display: none !important;
}

body.single-product .summary .cart,
body.single-product .summary .variations_form {
	order: 3;
	margin: 0 !important;
	padding: 1.85rem 1.9rem 2rem !important;
	border: 1px solid var(--tp-line) !important;
	border-radius: 22px !important;
	background: var(--tp-surface) !important;
	width: 100% !important;
	box-sizing: border-box;
}

body.single-product .variations {
	width: 100% !important;
	margin: 0 0 1.15rem !important;
	border: 0 !important;
}

body.single-product .variations tr {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.65rem;
	margin-bottom: 0.85rem;
}

body.single-product .variations th,
body.single-product .variations td {
	display: block;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	text-align: left !important;
	float: none !important;
}

body.single-product .variations label,
body.single-product .variations .label label {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tp-accent);
}

/* Hide native select + Select2 — replaced by chip buttons */
body.single-product .variations select,
body.single-product .variations .select2-container {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	position: absolute !important;
	pointer-events: none !important;
}

body.single-product .taitussi-size-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 0.15rem 0 0.35rem;
}

body.single-product .taitussi-size-chip {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 4.75rem;
	min-height: 2.85rem;
	padding: 0.55rem 1.15rem;
	border: 1.5px solid rgba(201, 150, 61, 0.45);
	border-radius: 999px;
	background: #fff;
	color: var(--tp-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(70, 40, 20, 0.05);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

body.single-product .taitussi-size-chip:hover {
	border-color: var(--tp-gold);
	color: var(--tp-accent);
	transform: translateY(-1px);
}

body.single-product .taitussi-size-chip.is-active {
	background: var(--tp-gold);
	border-color: var(--tp-gold);
	color: #fff;
	box-shadow: 0 8px 18px rgba(170, 120, 40, 0.22);
}

body.single-product .taitussi-size-chip:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(201, 150, 61, 0.28);
}

body.single-product .reset_variations {
	font-size: 0.88rem;
	color: var(--tp-accent) !important;
	margin-top: 0.35rem;
	display: inline-block;
}

body.single-product form.cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem !important;
}

body.single-product form.variations_form.cart {
	display: block !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem !important;
	width: 100%;
	margin-top: 0.35rem;
}

body.single-product .woocommerce-variation.single_variation {
	display: none !important;
	margin: 0 !important;
	min-height: 0 !important;
}

body.single-product .variations tr[data-taitussi-hidden-dup="1"] {
	display: none !important;
}

body.single-product .woocommerce-variation.single_variation .price,
body.single-product .taitussi-pdp-buybox-price .price {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--tp-text) !important;
	margin: 0 !important;
}

body.single-product .taitussi-pdp-buybox-price {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 0.55rem !important;
}

body.single-product .taitussi-pdp-buybox-price .price del {
	opacity: 0.45;
	font-size: 0.72em;
}

/* Elegant pill quantity: −  1  + */
body.single-product .qodef-quantity-buttons.quantity,
body.single-product .quantity.qodef-quantity-buttons {
	display: grid !important;
	grid-template-columns: 2.7rem minmax(2.4rem, 1fr) 2.7rem !important;
	align-items: center !important;
	justify-items: center !important;
	width: 11rem !important;
	min-width: 11rem !important;
	max-width: 11rem !important;
	height: 3.45rem !important;
	margin: 0 !important;
	padding: 0.28rem !important;
	border: 1.5px solid rgba(201, 150, 61, 0.42) !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: 0 4px 14px rgba(70, 40, 20, 0.05) !important;
	box-sizing: border-box !important;
	float: none !important;
	position: relative !important;
}

body.single-product .qodef-quantity-minus,
body.single-product .qodef-quantity-plus {
	display: grid !important;
	place-items: center !important;
	width: 2.55rem !important;
	height: 2.55rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--tp-soft) !important;
	color: var(--tp-accent) !important;
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	position: relative !important;
	float: none !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
	user-select: none;
}

/* Theme draws +/- as absolute bars; our pill layout breaks that — redraw as glyphs */
body.single-product .qodef-quantity-minus::before,
body.single-product .qodef-quantity-minus::after,
body.single-product .qodef-quantity-plus::before,
body.single-product .qodef-quantity-plus::after {
	content: none !important;
	display: none !important;
	background: none !important;
	border: 0 !important;
	width: 0 !important;
	height: 0 !important;
	transform: none !important;
}

body.single-product .qodef-quantity-minus::before {
	content: "\2212" !important; /* minus sign */
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: inherit !important;
	background: none !important;
}

body.single-product .qodef-quantity-plus::before {
	content: "+" !important;
	display: block !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: inherit !important;
	background: none !important;
}

body.single-product .qodef-quantity-minus {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.single-product .qodef-quantity-buttons .qty,
body.single-product .quantity .qty {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 2.4rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	text-align: center !important;
	font-size: 1.1rem !important;
	font-weight: 750 !important;
	color: var(--tp-text) !important;
	background: transparent !important;
	-moz-appearance: textfield;
}

body.single-product .qodef-quantity-plus {
	grid-column: 3 !important;
	grid-row: 1 !important;
}

body.single-product .qodef-quantity-buttons .qty::-webkit-outer-spin-button,
body.single-product .qodef-quantity-buttons .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.single-product .qodef-quantity-minus:hover,
body.single-product .qodef-quantity-plus:hover {
	background: rgba(201, 150, 61, 0.2) !important;
	color: #8f4a34 !important;
}

body.single-product .single_add_to_cart_button.button,
body.single-product button.single_add_to_cart_button {
	flex: 1 1 14rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.45rem !important;
	width: auto !important;
	max-width: 100% !important;
	height: 3.45rem !important;
	min-height: 3.45rem !important;
	max-height: 3.45rem !important;
	aspect-ratio: auto !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 1.35rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--tp-gold) !important;
	color: #fff !important;
	font-weight: 800 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.04em !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	box-shadow: 0 8px 20px rgba(70, 40, 20, 0.1) !important;
	box-sizing: border-box !important;
}

/* Keep theme cart icon inline — never stack into a tall circle */
body.single-product #qodef-woo-page.qodef--single form.cart .button::after,
body.single-product form.cart .single_add_to_cart_button::after {
	display: inline-block !important;
	margin-left: 0.35rem !important;
	margin-top: 0 !important;
	vertical-align: middle !important;
	position: static !important;
	bottom: auto !important;
}

body.single-product .single_add_to_cart_button.button:hover,
body.single-product button.single_add_to_cart_button:hover {
	background: #b8842f !important;
	color: #fff !important;
}

body.single-product .yith-wcwl-add-to-wishlist {
	order: 4;
	margin: 0.15rem 0 0 !important;
}

body.single-product .yith-wcwl-add-to-wishlist a,
body.single-product .yith-wcwl-add-to-wishlist .add_to_wishlist {
	display: inline-flex !important;
	align-items: center;
	gap: 0.45rem;
	color: var(--tp-accent) !important;
	font-weight: 700 !important;
	font-size: 1.15rem !important;
	text-decoration: none !important;
}

body.single-product .product_meta {
	order: 7;
	display: none !important;
}

/* Pay Now + Wishlist side by side */
body.single-product .taitussi-pdp-paywish {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.6rem;
	width: 100%;
	margin: 0.55rem 0 0.35rem;
}

body.single-product .taitussi-pdp-paywish #cpsw-payment-request-wrapper,
body.single-product .taitussi-pdp-paywish .cpsw-payment-request-main-wrapper {
	width: auto !important;
	max-width: none !important;
	flex: 1 1 auto;
	min-width: min(100%, 12rem);
	margin: 0 !important;
}

body.single-product .taitussi-pdp-paywish .cpsw-payment-request-button-wrapper {
	width: 100% !important;
	max-width: none !important;
}

body.single-product .taitussi-pdp-paywish #cpsw-payment-request-title,
body.single-product .taitussi-pdp-paywish #cpsw-payment-request-tagline {
	display: none !important;
}

body.single-product .taitussi-pdp-paywish .yith-wcwl-add-to-wishlist {
	order: unset !important;
	margin: 0 !important;
	flex: 0 0 auto;
	width: auto !important;
}

body.single-product .taitussi-pdp-paywish .yith-wcwl-add-to-wishlist a,
body.single-product .taitussi-pdp-paywish .add_to_wishlist {
	font-size: 1.2rem !important;
	font-weight: 700 !important;
	white-space: nowrap;
}

body.single-product .taitussi-pdp-paywish .yith-wcwl-icon {
	font-size: 1.15rem !important;
}

body.single-product .cpsw-payment-request-wrapper,
body.single-product .cpsw_express_checkout_button,
body.single-product .cpsw-payment-request-custom-button-render {
	order: 3;
	width: auto !important;
	max-width: 100% !important;
}

/* Enlarge Pay Now so it sits closer in scale to Add to cart */
body.single-product .taitussi-pdp-paywish .cpsw-payment-request-custom-button-render,
body.single-product .taitussi-pdp-paywish .cpsw_express_checkout_button,
body.single-product .taitussi-pdp-paywish .cpsw-payment-request-button,
body.single-product .taitussi-pdp-paywish button.cpsw-payment-request-custom-button-render {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 11.5rem !important;
	min-height: 3.15rem !important;
	padding: 0.7rem 1.55rem !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	border-radius: 999px !important;
	box-sizing: border-box !important;
}

body.single-product .taitussi-pdp-paywish iframe,
body.single-product .taitussi-pdp-paywish .StripeElement,
body.single-product .taitussi-pdp-paywish [class*="PaymentRequestButton"] {
	min-height: 3.15rem !important;
	height: 3.15rem !important;
}

/* —— Info banners —— */
body.single-product .taitussi-pdp-banners {
	order: 5;
	display: grid;
	gap: 0.55rem;
	margin-top: 0.25rem;
}

body.single-product .taitussi-pdp-banner {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	padding: 0.75rem 0.9rem;
	border-radius: 12px;
	border: 1px solid var(--tp-line);
	background: var(--tp-soft);
	color: var(--tp-text);
	font-size: 0.88rem;
	line-height: 1.45;
}

body.single-product .taitussi-pdp-banner--warm {
	background: rgba(201, 150, 61, 0.14);
	border-color: rgba(201, 150, 61, 0.28);
}

body.single-product .taitussi-pdp-banner__icon {
	flex: 0 0 auto;
	width: 1.25rem;
	height: 1.25rem;
	margin-top: 0.12rem;
	border-radius: 999px;
	background: rgba(168, 95, 69, 0.15);
}

body.single-product .taitussi-pdp-banner__label {
	display: block;
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tp-accent);
	margin-bottom: 0.12rem;
}

/* —— Accordion —— */
body.single-product .qodef-description--in-grid,
body.single-product .woocommerce-tabs {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
	display: block !important;
}

body.single-product .woocommerce-tabs {
	margin: 0.25rem auto 2rem !important;
	padding: 0.35rem 1.25rem 0.5rem !important;
	background: var(--tp-surface) !important;
	border: 1px solid var(--tp-line) !important;
	border-radius: 18px !important;
	box-sizing: border-box;
}

body.single-product .woocommerce-tabs ul.tabs,
body.single-product .woocommerce-tabs ul.wc-tabs {
	display: none !important;
}

body.single-product .taitussi-pdp-acc__head {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0;
	padding: 1rem 0.25rem;
	border: 0;
	border-top: 1px solid var(--tp-line);
	background: transparent;
	color: var(--tp-text);
	font-size: clamp(1.2rem, 2.1vw, 1.55rem);
	font-weight: 750;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
}

body.single-product .taitussi-pdp-acc__head:first-of-type {
	border-top: 0;
}

body.single-product .taitussi-pdp-acc__icon {
	width: 1.45rem;
	height: 1.45rem;
	display: grid;
	place-items: center;
	border-radius: 999px;
	background: rgba(168, 95, 69, 0.1);
	color: var(--tp-accent);
	font-size: 1rem;
	line-height: 1;
	flex: 0 0 auto;
}

body.single-product .woocommerce-Tabs-panel {
	display: none !important;
	margin: 0 !important;
	padding: 0 0.25rem 1.25rem !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--tp-muted);
	font-size: clamp(0.92rem, 1.1vw, 1.05rem);
	line-height: 1.6;
}

body.single-product .woocommerce-Tabs-panel.is-open {
	display: block !important;
}

body.single-product .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

body.single-product .taitussi-pdp-description {
	color: var(--tp-text);
	font-size: clamp(0.92rem, 1.1vw, 1.05rem);
	line-height: 1.6;
}

body.single-product .taitussi-pdp-description p {
	margin: 0 0 0.65rem;
}

body.single-product .taitussi-pdp-description p:last-child {
	margin-bottom: 0;
}

body.single-product .taitussi-pdp-description strong {
	color: var(--tp-accent);
	font-weight: 750;
}

body.single-product .woocommerce-Tabs-panel h5 {
	margin: 0.65rem 0 0.3rem;
	color: var(--tp-text);
	font-size: 0.95rem;
}

body.single-product .woocommerce-product-attributes {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 0.5rem !important;
	border: 0 !important;
	margin: 0.35rem 0 0 !important;
}

body.single-product .woocommerce-product-attributes tr {
	display: flex !important;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.7rem 0.75rem;
	border: 1px solid var(--tp-line) !important;
	border-radius: 12px;
	background: var(--tp-soft);
}

body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: left !important;
}

body.single-product .woocommerce-product-attributes th {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--tp-accent);
}

body.single-product .woocommerce-product-attributes td {
	font-size: 0.95rem;
	color: var(--tp-text);
	font-weight: 650;
}

/* —— Related: identical to Order page product cards —— */
body.single-product .related.products,
body.single-product .qodef-content-grid .related.products {
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto 3rem !important;
	padding: 1.35rem 0.35rem 0.5rem !important;
	float: none !important;
	display: block !important;
	box-sizing: border-box;
}

body.single-product .related.products > h2 {
	margin: 0 0 1.1rem !important;
	padding: 0 0.35rem !important;
	font-size: clamp(1.35rem, 2.1vw, 1.9rem) !important;
	font-weight: 750 !important;
	letter-spacing: 0.03em;
	color: var(--tp-accent) !important;
	text-align: center !important;
	text-transform: none !important;
}

body.single-product .related .qodef-woo-product-list {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: var(--tp-gap) !important;
	margin: 0 !important;
	padding: 0.35rem 0.1rem 0.55rem !important;
	width: 100% !important;
	clear: both !important;
}

body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after {
	content: none !important;
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

body.single-product .related.products li.product,
body.single-product .related .qodef-e.product {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	background: #f7f1e8 !important;
	border: 1px solid #e6d9c6 !important;
	border-radius: 22px !important;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(70, 40, 20, 0.08);
	transition: transform 0.28s ease, box-shadow 0.28s ease;
	box-sizing: border-box;
	left: auto !important;
	right: auto !important;
}

body.single-product .related.products li.product:hover,
body.single-product .related .qodef-e.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(70, 40, 20, 0.14);
}

body.single-product .related .qodef-woo-product-inner {
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	width: 100% !important;
	position: relative !important;
	background: transparent !important;
	gap: 0 !important;
	align-items: stretch !important;
}

body.single-product .related .qodef-woo-product-image {
	position: relative !important;
	flex: 0 0 auto !important;
	display: block !important;
	width: 100% !important;
	aspect-ratio: 1 / 1.05 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #f7f1e8 !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
	clip-path: none !important;
}

body.single-product .related .qodef-woo-product-image::before,
body.single-product .related .qodef-woo-product-image::after,
body.single-product .related .qodef-woo-product-inner::before,
body.single-product .related .qodef-woo-product-inner::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

body.single-product .related .qodef-woo-product-image img {
	position: static !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center 58% !important;
	margin: 0 auto !important;
	background: #f7f1e8 !important;
	border-radius: 0 !important;
	transform: scale(1.04);
	mix-blend-mode: multiply;
}

/* Buttons move into footer actions via JS */
body.single-product .related .qodef-woo-product-image-inner {
	display: none !important;
}

body.single-product .related .qodef-woo-product-content {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	justify-content: flex-start !important;
	gap: 0.55rem;
	width: 100% !important;
	margin: 0 !important;
	padding: 0.3rem 0.75rem 0.95rem !important;
	text-align: center !important;
	min-height: 0 !important;
}

body.single-product .related .qodef-woo-product-title {
	margin: 0 !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

body.single-product .related .qodef-woo-product-title-link {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 0.2rem !important;
	text-decoration: none !important;
	color: inherit !important;
	position: relative;
	z-index: 3;
}

body.single-product .related .taitussi-order-card__en {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(0.92rem, 0.95vw, 1.12rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--tp-text);
}

body.single-product .related .taitussi-order-card__zh {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(0.72rem, 0.78vw, 0.88rem);
	font-weight: 600;
	line-height: 1.35;
	color: var(--tp-muted);
}

body.single-product .related .qodef-woo-product-categories,
body.single-product .related .price,
body.single-product .related .qodef-woo-product-mark.qodef-woo-onsale {
	display: none !important;
}

body.single-product .related .woocommerce-LoopProduct-link {
	position: absolute !important;
	inset: 0 !important;
	z-index: 1;
	pointer-events: none !important;
}

body.single-product .related .taitussi-order-card__actions {
	display: grid !important;
	grid-template-columns: 2.35rem minmax(0, 1fr) !important;
	gap: 0.4rem !important;
	align-items: center !important;
	justify-items: stretch !important;
	margin-top: auto !important;
	width: 100%;
	position: relative;
	z-index: 5;
	pointer-events: auto;
}

body.single-product .related .yith-wcwl-add-to-wishlist[hidden],
body.single-product .related .taitussi-order-card .yith-wcwl-add-to-wishlist {
	display: none !important;
}

body.single-product .related .taitussi-order-card__fav {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 2.35rem !important;
	height: 2.35rem !important;
	min-width: 2.35rem !important;
	min-height: 2.35rem !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 1px solid #c9a46a !important;
	border-radius: 50% !important;
	background: #fff !important;
	color: #c9a46a !important;
	cursor: pointer;
	box-shadow: none !important;
	line-height: 0 !important;
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
}

body.single-product .related .taitussi-order-card__fav:hover,
body.single-product .related .taitussi-order-card__fav:focus {
	border-color: #b8842f !important;
	color: #b8842f !important;
}

body.single-product .related .taitussi-order-card__fav.is-active {
	border-color: #c45c5c !important;
	background: #fff7f7 !important;
	color: #c45c5c !important;
}

body.single-product .related .taitussi-order-card__heart {
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linejoin: round;
}

body.single-product .related .taitussi-order-card__fav.is-active .taitussi-order-card__heart {
	fill: currentColor;
	stroke: currentColor;
}

body.single-product .related .taitussi-order-card__fav.is-busy {
	opacity: 0.65;
	pointer-events: none;
}

body.single-product .related .taitussi-order-card__cart,
body.single-product .related .taitussi-order-card__cart.button {
	display: inline-flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 0.08rem !important;
	width: 100% !important;
	min-height: 2.8rem !important;
	margin: 0 !important;
	padding: 0.35rem 0.45rem !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--tp-gold) !important;
	color: #fff !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	text-transform: none !important;
	line-height: 1.15 !important;
	box-shadow: none !important;
	white-space: normal;
	overflow: hidden;
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
}

body.single-product .related .taitussi-order-card__cart-en,
body.single-product .related .taitussi-order-card__cart-zh {
	display: block;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 1.05;
}

body.single-product .related .taitussi-order-card__cart-en {
	font-size: 1em;
	font-weight: 750;
	opacity: 1;
}

body.single-product .related .taitussi-order-card__cart-zh {
	font-size: 0.7em;
	font-weight: 600;
	opacity: 0.88;
}

body.single-product .related .taitussi-order-card__cart:hover,
body.single-product .related .taitussi-order-card__cart.button:hover {
	background: #b8842f !important;
	color: #fff !important;
}

body.single-product .related .taitussi-order-card__cart::before,
body.single-product .related .taitussi-order-card__cart::after,
body.single-product .related .added_to_cart.wc-forward {
	display: none !important;
}

@media (max-width: 1200px) {
	body.single-product .related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		gap: 2rem !important;
	}
}

@media (max-width: 980px) {
	body.single-product {
		--tp-header-clear: 1.25rem;
	}

	body.single-product .taitussi-pdp-buyrow {
		grid-template-columns: 1fr !important;
		gap: 1.2rem !important;
	}

	body.single-product .taitussi-pdp-head {
		align-items: flex-start;
	}

	body.single-product .taitussi-pdp-head > .price {
		padding-top: 0.35em;
	}

	body.single-product .woocommerce-product-attributes {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.5rem !important;
	}
}

@media (max-width: 560px) {
	body.single-product .woocommerce-product-attributes {
		grid-template-columns: 1fr !important;
	}

	body.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
		gap: 1.35rem !important;
	}

	body.single-product form.cart,
	body.single-product form.variations_form .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch !important;
	}

	body.single-product .qodef-quantity-buttons.quantity,
	body.single-product .quantity.qodef-quantity-buttons {
		width: 100% !important;
		max-width: 100% !important;
	}

	/* Pill ATC — not a full-width circle */
	body.single-product .single_add_to_cart_button.button,
	body.single-product button.single_add_to_cart_button {
		width: 100% !important;
		flex: 0 0 auto !important;
		height: 3.1rem !important;
		min-height: 3.1rem !important;
		max-height: 3.1rem !important;
		padding: 0 1.1rem !important;
		font-size: 0.88rem !important;
		aspect-ratio: auto !important;
		align-self: stretch !important;
	}
}
