/* ==========================================================================
   Single Product Description (Clean direct output without tabs)
   ========================================================================== */
.ps-product-description-section {
	position: relative !important;
	width: 100% !important;
	clear: both !important;
	display: block !important;
	margin: 40px 0 25px;
	padding-top: 0;
	border-top: none !important;
	text-align: right;
	direction: rtl;
}
.ps-product-description-title {
	font-size: 1.35em;
	font-weight: 800;
	color: #222222;
	margin: 0 0 16px;
	letter-spacing: -0.3px;
}
.ps-product-description-content {
	font-size: 1em;
	line-height: 1.75;
	color: #444444;
}
.ps-product-description-content p {
	margin-bottom: 1.2em;
}

/* ==========================================================================
   Single Product Add to Cart Form, Quantity & Wishlist Button
   ========================================================================== */
.single-product div.product form.cart {
	display: flex !important;
	flex-flow: row wrap !important;
	align-items: center !important;
	gap: 12px !important;
	margin: 20px 0 25px !important;
	direction: rtl !important;
}
.single-product div.product form.cart::before,
.single-product div.product form.cart::after {
	display: none !important;
	content: none !important;
}

/* Giftwrap & Personalization options take full width on their own line */
.single-product div.product form.cart .ps-giftwrap,
.single-product div.product form.cart .ps-personalization,
.single-product div.product form.cart .ps-giftwrap-product-option {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-bottom: 12px !important;
	order: 1 !important;
}
.single-product div.product form.cart .ps-giftwrap-grid,
.ps-giftwrap-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 12px !important;
}
.single-product div.product form.cart .ps-giftwrap-design,
.ps-giftwrap-design {
	width: auto !important;
	/* Grid items don't shrink below their content's natural size by default —
	   a card-design image wider than its column would otherwise force that
	   column wider than its fair share (same class of bug the product grid
	   had, see shop.css). Needed here specifically, not just in the plugin's
	   own gift-options.css: this !important rule loads after and otherwise
	   wins over the plugin's plain declaration regardless of what it sets. */
	min-width: 0 !important;
	box-sizing: border-box !important;
}
/* This theme stylesheet enqueues after (and its selector, at equal
   specificity, wins over) the plugin's own gift-options.css — its plain,
   non-!important 768px media query there never had a chance to apply. The
   responsive override has to live here to actually take effect. At 4 fixed
   columns on a phone-width product page, each card got ~70-80px — barely
   wider than the design image itself — so titles like "Time to Work Time to
   Play" wrapped to 3+ lines and looked broken. */
@media (max-width: 768px) {
	.single-product div.product form.cart .ps-giftwrap-grid,
	.ps-giftwrap-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 10px !important;
	}
}

/* Quantity Control matching reference design (neutral, seamless extension) */
.woocommerce div.product form.cart .quantity,
.single-product div.product form.cart .quantity,
.single-product div.product form.cart .quantity.ps-qty-control {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 4px !important;
	background: #fbfbfb !important;
	height: 44px !important;
	width: 122px !important;
	min-width: 122px !important;
	padding: 0 4px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	flex: 0 0 auto !important;
	order: 2 !important;
}
.ps-qty-control .ps-qty-btn {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	width: 30px !important;
	height: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	color: #2e3a59 !important;
	cursor: pointer !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
	user-select: none !important;
	border-radius: 0 !important;
	transition: color 0.15s ease, transform 0.15s ease !important;
}
.ps-qty-control .ps-qty-btn:hover,
.ps-qty-control .ps-qty-btn:focus {
	color: #000000 !important;
	transform: scale(1.15) !important;
	background: transparent !important;
	background-color: transparent !important;
	outline: none !important;
}
.woocommerce div.product form.cart .quantity input.qty,
.single-product div.product form.cart .quantity.ps-qty-control input.qty {
	width: 44px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	line-height: 34px !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	border: 1px solid #dcdcdc !important;
	border-radius: 4px !important;
	text-align: center !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1e293b !important;
	margin: 0 !important;
	padding: 0 !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
	outline: none !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
	box-sizing: border-box !important;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button,
.single-product div.product form.cart .quantity.ps-qty-control input.qty::-webkit-outer-spin-button,
.single-product div.product form.cart .quantity.ps-qty-control input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: none !important;
	margin: 0 !important;
}

/* Add to Cart Button */
.single-product div.product form.cart button.single_add_to_cart_button {
	height: 44px !important;
	padding: 0 32px !important;
	font-size: 1.05em !important;
	font-weight: 700 !important;
	border-radius: 4px !important;
	background-color: var(--ps-color-primary) !important;
	color: #ffffff !important;
	border: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
	cursor: pointer !important;
	margin: 0 !important;
	float: none !important;
	flex: 0 0 auto !important;
	order: 3 !important;
	line-height: 1 !important;
}
.single-product div.product form.cart button.single_add_to_cart_button:hover {
	background-color: var(--ps-color-primary-dark) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12) !important;
}

/* Wishlist Button on Single Product (Inline next to Add to Cart) */
.single-product div.product form.cart .tinv-wraper,
.single-product div.product form.cart .tinv-wraper.tinv-wishlist,
.single-product div.product form.cart .tinv-wishlist {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	max-width: none !important;
	flex: 0 0 auto !important;
	order: 4 !important;
}
.single-product div.product form.cart .tinvwl_add_to_wishlist_button,
.single-product div.product form.cart a.tinvwl_add_to_wishlist_button,
.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 44px !important;
	width: 44px !important;
	min-width: 44px !important;
	max-width: 44px !important;
	border-radius: 4px !important;
	border: 1px solid #dcdcdc !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #64748b !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	box-sizing: border-box !important;
	float: none !important;
	clear: none !important;
	position: relative !important;
	top: 0 !important;
	right: 0 !important;
}
.single-product div.product form.cart .tinvwl_add_to_wishlist_button:hover,
.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button:hover {
	border-color: var(--ps-color-primary) !important;
	color: var(--ps-color-primary) !important;
	background: #fff8f5 !important;
	background-color: #fff8f5 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08) !important;
}
.single-product div.product form.cart .tinvwl_add_to_wishlist_button:before,
.single-product div.product form.cart .tinvwl-button.tinvwl_add_to_wishlist_button:before {
	font-size: 24px !important;
	margin: 0 !important;
	line-height: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: inherit !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	position: static !important;
}

/* Single Product Title - Remove Underline / Border / Pseudo-elements */
.single-product div.product .product_title,
.single-product div.product .entry-title,
.single-product .summary .product_title,
.single-product .summary .entry-title,
.single-product .entry-header,
.hentry.type-product .entry-header {
	border: none !important;
	border-bottom: none !important;
	border-top: none !important;
	box-shadow: none !important;
	text-decoration: none !important;
}

.single-product div.product .product_title::before,
.single-product div.product .product_title::after,
.single-product div.product .entry-title::before,
.single-product div.product .entry-title::after,
.single-product .entry-header::before,
.single-product .entry-header::after {
	content: none !important;
	display: none !important;
	border: none !important;
}

/* ==========================================================================
   Single Product Price Formatting
   ========================================================================== */
.single-product div.product p.price,
.single-product div.product .summary .price,
.single-product div.product .price {
	font-size: 1.6em !important;
	font-weight: 700 !important;
	color: var(--ps-color-primary) !important;
	margin: 0 0 20px !important;
	display: block !important;
	direction: ltr !important;
	text-align: right !important;
}
.single-product div.product .price del,
.single-product div.product .summary .price del,
.single-product div.product p.price del {
	color: #94a3b8 !important;
	font-weight: 400 !important;
	font-size: 0.8em !important;
	text-decoration: line-through !important;
	opacity: 0.85 !important;
	display: inline-block !important;
}
.single-product div.product .price ins,
.single-product div.product .summary .price ins,
.single-product div.product p.price ins {
	color: var(--ps-color-primary) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	display: inline-block !important;
}


.single-product div.product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	color: #ffffff !important;
}