/**
 * Pajoux shop UI
 * Product cards (shop, categories, related products), single product
 * page refinements and the dedicated eGift Card page.
 *
 * Every rule is scoped to body.pjx-ui (added only on WooCommerce product,
 * shop and product archive pages), so nothing else on the site changes.
 */

body.pjx-ui {
	--pjx-ink: #121127;
	--pjx-black: #0b0b0b;
	--pjx-text: #2b2a33;
	--pjx-muted: #5f5b57;
	--pjx-line: #e7e2da;
	--pjx-line-strong: #cbc3b6;
	--pjx-cream: #f7f3ed;
	--pjx-cream-2: #efe7dc;
	--pjx-gold: #c9a26a;
	--pjx-gold-dark: #8a6a3c;
	--pjx-green: #2f3a30;
	--pjx-cocoa: #15110d;
	--pjx-radius-sm: 10px;
	--pjx-radius: 16px;
	--pjx-radius-lg: 24px;
	--pjx-shadow: 0 18px 40px -22px rgba(18, 17, 39, .35);
	--pjx-ease: cubic-bezier(.22, .61, .36, 1);
	--pjx-font: "Biennale", sans-serif;
	--pjx-focus: 0 0 0 3px #fff, 0 0 0 5px var(--pjx-gold-dark);
}

body.pjx-ui .pjx-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

/* ==========================================================================
   1. Product cards: shop, product categories and related products
   ========================================================================== */

body.pjx-ui.woocommerce-page ul.products li.product.entry {
	display: flex;
	flex-direction: column;
	padding: 12px 12px 18px;
	background: #fff;
	border: 1px solid var(--pjx-line);
	border-radius: var(--pjx-radius);
	transition: border-color .3s var(--pjx-ease), box-shadow .3s var(--pjx-ease), transform .3s var(--pjx-ease);
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .product-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-align: center;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	margin: 0;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li {
	margin-bottom: 0;
}

/* Image */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.image-wrap {
	margin-bottom: 16px;
	background: var(--pjx-cream);
	border-radius: 12px;
	overflow: hidden;
}

/* Blend the whole swap wrapper (not each image) so the hover image
   underneath doesn't show through the main one. */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-image {
	border-radius: 12px;
	overflow: hidden;
	mix-blend-mode: multiply;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-image img {
	transition: opacity .35s ease-in-out, transform .6s var(--pjx-ease);
}

/* Title */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title {
	margin-bottom: 8px;
	padding: 0 4px;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title h2,
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title h2 a {
	margin: 0;
	padding: 0;
	font-family: var(--pjx-font);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -.005em;
	color: var(--pjx-ink);
	text-align: center;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title h2 a:hover {
	color: var(--pjx-gold-dark);
}

/* Size badge */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.pjx-prftpg-product-info {
	margin-bottom: 10px;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .pjx-prftpg-product-size {
	margin: 0;
	line-height: 1;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .pjx-prftpg-product-size span:empty {
	display: none;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .pjx-prftpg-product-size span {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--pjx-cream);
	color: #5b4a36;
	font-family: var(--pjx-font);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Price */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.price-wrap {
	margin-bottom: 16px;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price {
	float: none;
	display: block;
	width: 100%;
	font-family: var(--pjx-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	color: #000;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price .amount {
	color: #000;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price del,
body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price del .amount {
	color: var(--pjx-muted);
	font-weight: 400;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price ins {
	text-decoration: none;
}

/* Button */
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	margin-top: auto;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	margin: 0;
	padding: 12px 16px;
	background-color: #fff;
	border: 1px solid #000;
	border-radius: 12px;
	box-shadow: none;
	color: #000;
	font-family: var(--pjx-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: .02em;
	text-transform: none;
	transition: background-color .25s var(--pjx-ease), color .25s var(--pjx-ease), border-color .25s var(--pjx-ease);
	touch-action: manipulation;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button:hover,
body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button:focus-visible {
	background-color: #000;
	border-color: #000;
	color: #fff;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button.loading {
	opacity: .7;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.added_to_cart {
	display: inline-block;
	margin-top: 10px;
	padding: 0;
	background: none;
	border: 0;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 14px;
	font-weight: 400;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.pjx-ui.woocommerce-page ul.products li.product.entry .onsale {
	border-radius: 999px;
	background: var(--pjx-ink);
	color: #fff;
	font-family: var(--pjx-font);
	letter-spacing: .06em;
}

@media (hover: hover) {
	body.pjx-ui.woocommerce-page ul.products li.product.entry:hover {
		border-color: var(--pjx-line-strong);
		box-shadow: var(--pjx-shadow);
		transform: translateY(-3px);
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry:hover .woo-entry-image img {
		transform: scale(1.04);
	}
}

/* ==========================================================================
   2. Shop / category toolbar (filter + sort)
   ========================================================================== */

body.pjx-ui .filter-row {
	align-items: flex-start;
	gap: 16px;
	padding: 32px 8px 8px;
}

body.pjx-ui .filter-row .toggle-div {
	position: relative;
}

body.pjx-ui .filter-row .toggle-div button.toggle-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 10px 22px;
	background: #fff;
	border: 1px solid var(--pjx-ink);
	border-radius: 999px;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .02em;
	text-transform: none;
	cursor: pointer;
	transition: background-color .25s var(--pjx-ease), color .25s var(--pjx-ease);
}

body.pjx-ui .filter-row .toggle-div button.toggle-button:hover,
body.pjx-ui .filter-row .toggle-div button.toggle-button[aria-expanded="true"] {
	background: var(--pjx-ink);
	color: #fff;
}

body.pjx-ui .filter-row .toggle-div button.toggle-button:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

/* Dropdown panel: overlays the grid instead of pushing the sort control off screen */
body.pjx-ui .filter-row .filter_content {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 99;
	flex-wrap: wrap;
	gap: 4px 40px;
	width: max-content;
	max-width: min(1080px, calc(100vw - 48px));
	margin-top: 12px;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid var(--pjx-line);
	border-radius: var(--pjx-radius);
	box-shadow: 0 24px 48px -20px rgba(18, 17, 39, .35);
}

body.pjx-ui .filter-row .filter_content ul.ul_lists {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pjx-ui .filter-row .filter_content ul.ul_lists li {
	margin: 0;
	padding: 4px 0;
	color: var(--pjx-text);
	font-family: var(--pjx-font);
	font-size: 15px;
	line-height: 1.4;
	white-space: nowrap;
}

body.pjx-ui .filter-row .filter_content label.pjx-check {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	margin: 0;
	cursor: pointer;
}

body.pjx-ui .filter-row .filter_content input[type="checkbox"] {
	width: 18px;
	min-width: 18px;
	height: 18px;
	margin: 0;
	border: 1.5px solid var(--pjx-line-strong);
	border-radius: 5px;
	box-shadow: none;
}

body.pjx-ui .filter-row .filter_content input[type="checkbox"]:checked {
	background: var(--pjx-ink);
	border-color: var(--pjx-ink);
}

body.pjx-ui .filter-row .filter_content input[type="checkbox"]:checked:before {
	width: 15px;
	line-height: 15px;
	color: #fff;
	font-size: 10px;
}

body.pjx-ui .filter-row .filter_content input[type="checkbox"]:focus-visible {
	box-shadow: var(--pjx-focus);
}

body.pjx-ui .filter-row .filter_content .pjx-filter-done {
	align-self: flex-end;
	margin-left: auto;
	min-height: 40px;
	padding: 8px 20px;
	background: var(--pjx-ink);
	border: 1px solid var(--pjx-ink);
	border-radius: 999px;
	color: #fff;
	font-family: var(--pjx-font);
	font-size: 14px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: .02em;
	cursor: pointer;
}

body.pjx-ui .filter-row .sortby-col {
	gap: 10px;
}

body.pjx-ui .filter-row .sortby-title {
	margin: 0;
	color: var(--pjx-text);
	font-family: var(--pjx-font);
	font-size: 15px;
	font-weight: 400;
	white-space: nowrap;
}

body.pjx-ui .filter-row .sortby-list select.sortlist {
	height: 46px;
	min-height: 46px;
	padding: 0 44px 0 18px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23121127' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
	border: 1px solid var(--pjx-line-strong);
	border-radius: 999px;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 15px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .25s var(--pjx-ease);
}

body.pjx-ui .filter-row .sortby-list select.sortlist:hover,
body.pjx-ui .filter-row .sortby-list select.sortlist:focus {
	border-color: var(--pjx-ink);
}

body.pjx-ui .filter-row .sortby-list select.sortlist:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

/* ==========================================================================
   3. Single product page (Elementor product template)
   ========================================================================== */

/* Gallery */
body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery .flex-viewport,
body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery--columns-4:not(:has(.flex-viewport)) .woocommerce-product-gallery__wrapper {
	background: var(--pjx-cream);
	border-radius: var(--pjx-radius-lg);
	overflow: hidden;
}

/* Each slide gets the cream background: flexslider transforms the slide
   track, so the image can only blend with its own slide. */
body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery .woocommerce-product-gallery__image {
	background: var(--pjx-cream);
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs li {
	float: none;
	width: auto;
	margin: 0;
	background: var(--pjx-cream);
	border-radius: 12px;
	overflow: hidden;
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs li img {
	display: block;
	width: 100%;
	height: auto;
	border: 1.5px solid transparent;
	border-radius: 12px;
	mix-blend-mode: multiply;
	opacity: .6;
	cursor: pointer;
	transition: opacity .25s var(--pjx-ease), border-color .25s var(--pjx-ease);
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs li img:hover,
body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active {
	opacity: 1;
}

body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active {
	border-color: var(--pjx-ink);
}

/* Title, price, short description */
body.pjx-ui.single-product .elementor-location-single .elementor-widget-woocommerce-product-title .product_title {
	line-height: 1.12;
	letter-spacing: -.01em;
}

body.pjx-ui.single-product .elementor-location-single .elementor-widget-woocommerce-product-price p.price {
	margin: 0;
	color: #000;
	font-family: var(--pjx-font);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
	font-variant-numeric: tabular-nums;
}

body.pjx-ui.single-product .elementor-location-single .elementor-widget-woocommerce-product-price p.price .amount {
	color: #000;
}

body.pjx-ui.single-product .elementor-location-single .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description ul li:before {
	color: var(--pjx-green);
}

/* Size / weight as pills */
body.pjx-ui.single-product .elementor-location-single .e-con:has(> .elementor-widget-jet-listing-dynamic-field) {
	--flex-direction: row;
	--flex-wrap: wrap;
	--container-widget-width: auto;
	--gap: 8px;
	--row-gap: 8px;
	--column-gap: 8px;
}

body.pjx-ui.single-product .elementor-location-single .elementor-widget-jet-listing-dynamic-field {
	width: auto;
	margin-block-end: 0;
}

body.pjx-ui.single-product .elementor-location-single .elementor-widget-jet-listing-dynamic-field .jet-listing-dynamic-field__content {
	display: inline-block;
	padding: 7px 14px;
	background: var(--pjx-cream);
	border-radius: 999px;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
}

/* Subscribe & save / one-time purchase as selectable cards */
body.pjx-ui.single-product .elementor-location-single .wcsatt-options-wrapper {
	padding-bottom: 20px;
	border-bottom: 1px solid var(--pjx-line);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product {
	display: grid;
	gap: 12px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li label {
	display: block;
	margin: 0;
	padding: 16px 18px;
	background: #fff;
	border: 1.5px solid var(--pjx-line-strong);
	border-radius: 14px;
	cursor: pointer;
	transition: border-color .25s var(--pjx-ease), background-color .25s var(--pjx-ease), box-shadow .25s var(--pjx-ease);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li label:hover {
	border-color: var(--pjx-ink);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li label:has(input:checked) {
	background: var(--pjx-cream);
	border-color: var(--pjx-ink);
	box-shadow: inset 0 0 0 .5px var(--pjx-ink);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li label:has(input:focus-visible) {
	box-shadow: var(--pjx-focus);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li span.most_pop {
	position: absolute;
	top: -10px;
	right: 16px;
	display: inline-block;
	margin: 0;
	padding: 4px 10px;
	background: var(--pjx-gold);
	border-radius: 999px;
	color: #1b1408;
	font-family: var(--pjx-font);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .12em;
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li .pop_div {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: 12px;
	row-gap: 2px;
	font-family: var(--pjx-font);
	font-size: 16px;
	font-weight: 400;
	color: var(--pjx-ink);
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li .pop_div input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--pjx-ink);
	cursor: pointer;
}

body.pjx-ui.single-product .elementor-location-single ul.wcsatt-options-product li .pop_div .del_30 {
	grid-column: 2;
	float: none;
	width: auto;
	margin: 0;
	color: var(--pjx-muted);
	font-size: 13px;
	font-weight: 400;
}

/* Quantity + add to basket */
body.pjx-ui.single-product .elementor-location-single form.cart .quantity .minus,
body.pjx-ui.single-product .elementor-location-single form.cart .quantity .qty,
body.pjx-ui.single-product .elementor-location-single form.cart .quantity .plus {
	height: 52px;
	min-height: 52px;
	border-color: var(--pjx-line-strong);
	color: var(--pjx-ink);
	font-size: 16px;
	transition: background-color .2s var(--pjx-ease);
}

body.pjx-ui.single-product .elementor-location-single form.cart .quantity .minus {
	border-radius: 12px 0 0 12px;
}

body.pjx-ui.single-product .elementor-location-single form.cart .quantity .plus {
	border-radius: 0 12px 12px 0;
}

body.pjx-ui.single-product .elementor-location-single form.cart .quantity .minus:hover,
body.pjx-ui.single-product .elementor-location-single form.cart .quantity .plus:hover {
	background: var(--pjx-cream);
}

body.pjx-ui.single-product .elementor-location-single form.cart button.single_add_to_cart_button,
body.pjx-ui.single-product .elementor-location-single form.cart a.special_add {
	min-height: 56px;
	background: #000;
	border-color: #000;
	border-radius: 12px;
	color: #fff;
	font-family: var(--pjx-font);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	transition: background-color .25s var(--pjx-ease), border-color .25s var(--pjx-ease);
}

body.pjx-ui.single-product .elementor-location-single form.cart button.single_add_to_cart_button:hover,
body.pjx-ui.single-product .elementor-location-single form.cart a.special_add:hover {
	background: var(--pjx-green);
	border-color: var(--pjx-green);
	color: #fff;
}

body.pjx-ui.single-product .elementor-location-single form.cart button.single_add_to_cart_button:focus-visible,
body.pjx-ui.single-product .elementor-location-single form.cart a.special_add:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

/* Reassurance list (added under the buy button) */
body.pjx-ui .pjx-reassurance {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 16px 18px;
	background: var(--pjx-cream);
	border-radius: 14px;
	list-style: none;
}

body.pjx-ui .pjx-reassurance li {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	color: var(--pjx-text);
	font-family: var(--pjx-font);
	font-size: 15px;
	line-height: 1.4;
}

body.pjx-ui .pjx-reassurance li:before {
	content: none;
}

body.pjx-ui .pjx-reassurance .pjx-icon {
	color: var(--pjx-gold-dark);
}

/* Product information accordion */
body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item {
	margin-bottom: 12px;
	background: #fff;
	border: 1px solid var(--pjx-line);
	border-radius: var(--pjx-radius);
	overflow: hidden;
	transition: border-color .25s var(--pjx-ease), box-shadow .25s var(--pjx-ease);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item:hover {
	border-color: var(--pjx-line-strong);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active) {
	border-color: var(--pjx-line-strong);
	box-shadow: var(--pjx-shadow);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	cursor: pointer;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title.elementor-active {
	background: var(--pjx-cream);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-accordion-title {
	font-family: var(--pjx-font);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pjx-ink);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-accordion-icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	float: none;
	background: var(--pjx-cream);
	border-radius: 50%;
	transition: background-color .25s var(--pjx-ease);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title.elementor-active .elementor-accordion-icon {
	background: var(--pjx-ink);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
	fill: #fff;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-accordion-icon svg {
	width: 14px;
	height: 14px;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title:focus-visible,
body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-accordion-title:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px var(--pjx-gold-dark);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-content {
	padding: 20px 24px 24px;
	border-top: 1px solid var(--pjx-line);
	color: var(--pjx-text);
	font-size: 16px;
	line-height: 1.7;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--pjx-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 12px;
	overflow: hidden;
	font-size: 15px;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table td,
body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table th {
	padding: 11px 14px;
	border: 0;
	border-bottom: 1px solid var(--pjx-line);
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table tr:last-child td {
	border-bottom: 0;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table tr:first-child td {
	background: var(--pjx-cream);
	font-weight: 700;
}

body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table tr:nth-child(n+3):nth-child(odd) td {
	background: #fcfaf7;
}

/* Reviews inside the accordion */
body.pjx-ui .productAcrdn #reviews .woocommerce-Reviews-title {
	margin-top: 0;
	font-family: var(--pjx-font);
	font-size: 20px;
	color: var(--pjx-ink);
}

body.pjx-ui .productAcrdn #review_form input[type="text"],
body.pjx-ui .productAcrdn #review_form input[type="email"],
body.pjx-ui .productAcrdn #review_form select,
body.pjx-ui .productAcrdn #review_form textarea {
	border: 1.5px solid var(--pjx-line-strong);
	border-radius: 12px;
	font-size: 16px;
}

body.pjx-ui .productAcrdn #review_form input[type="text"]:focus,
body.pjx-ui .productAcrdn #review_form input[type="email"]:focus,
body.pjx-ui .productAcrdn #review_form select:focus,
body.pjx-ui .productAcrdn #review_form textarea:focus {
	border-color: var(--pjx-ink);
}

body.pjx-ui.woocommerce .productAcrdn #respond input#submit {
	border-radius: 12px;
	transition: background-color .25s var(--pjx-ease);
}

body.pjx-ui.woocommerce .productAcrdn #respond input#submit:hover {
	background: var(--pjx-green);
}

/* Related products */
body.pjx-ui.single-product .elementor-widget-woocommerce-product-related section.related {
	padding-bottom: 64px;
}

body.pjx-ui.single-product .elementor-widget-woocommerce-product-related section.related > h2 {
	margin: 0 0 28px;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.01em;
}

/* ==========================================================================
   4. eGift Card product page
   ========================================================================== */

body.pjx-egift-page .pjx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 14px;
	color: var(--pjx-gold-dark);
	font-family: var(--pjx-font);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .18em;
	text-transform: uppercase;
}

body.pjx-egift-page .pjx-eyebrow:before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
}

body.pjx-egift-page.single-product div.product.pjx-egift {
	max-width: 1240px;
	margin: 0 auto;
	padding: 16px 0 88px;
	font-family: var(--pjx-font);
}

/* Hero */
body.pjx-egift-page .pjx-egift .pjx-egift-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 72px);
	align-items: start;
}

body.pjx-egift-page.woocommerce .pjx-egift .pjx-egift-hero > div.summary.entry-summary {
	float: none;
	width: auto;
	margin: 0;
	padding: 12px 0 0;
}

body.pjx-egift-page .pjx-egift .pjx-egift-hero__visual {
	position: sticky;
	top: 110px;
}

body.pjx-egift-page .pjx-egift-stage {
	position: relative;
	display: grid;
	justify-items: center;
	padding: clamp(40px, 7vw, 88px) clamp(24px, 5vw, 64px);
	background:
		radial-gradient(60% 60% at 80% 15%, rgba(201, 162, 106, .28) 0%, rgba(201, 162, 106, 0) 70%),
		radial-gradient(55% 55% at 10% 95%, rgba(138, 106, 60, .18) 0%, rgba(138, 106, 60, 0) 70%),
		var(--pjx-cream);
	border-radius: 28px;
	overflow: hidden;
}

/* The card itself */
body.pjx-egift-page .pjx-egift-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 460px;
	aspect-ratio: 1.586 / 1;
	padding: clamp(20px, 2.6vw, 30px) clamp(22px, 2.8vw, 32px);
	background:
		radial-gradient(110% 90% at 100% 0%, rgba(201, 162, 106, .38) 0%, rgba(201, 162, 106, 0) 55%),
		radial-gradient(90% 80% at 0% 100%, rgba(122, 74, 38, .5) 0%, rgba(122, 74, 38, 0) 60%),
		linear-gradient(145deg, #1d1813 0%, #0b0a09 100%);
	border-radius: 20px;
	box-shadow: 0 44px 70px -32px rgba(23, 16, 9, .7), inset 0 1px 0 rgba(255, 255, 255, .06);
	color: #fff;
	overflow: hidden;
	isolation: isolate;
	transform: rotate(-3deg);
	animation: pjx-card-float 7s ease-in-out infinite;
}

body.pjx-egift-page .pjx-egift-card:before {
	content: "";
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(201, 162, 106, .45);
	border-radius: 12px;
	pointer-events: none;
}

body.pjx-egift-page .pjx-egift-card:after {
	content: "";
	position: absolute;
	inset: -60%;
	z-index: -1;
	background: linear-gradient(115deg, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, .09) 50%, rgba(255, 255, 255, 0) 56%);
	animation: pjx-card-sheen 7s ease-in-out infinite;
	pointer-events: none;
}

body.pjx-egift-page .pjx-egift-card__medallion {
	position: absolute;
	top: clamp(20px, 2.6vw, 30px);
	right: clamp(22px, 2.8vw, 32px);
	display: grid;
	place-items: center;
	width: clamp(48px, 5vw, 64px);
	height: clamp(48px, 5vw, 64px);
	background: radial-gradient(circle at 35% 30%, #a77a45 0%, #5a3a1c 72%);
	border: 2px solid var(--pjx-gold);
	border-radius: 50%;
	box-shadow: inset 0 0 0 4px #1d1813, 0 0 0 1px rgba(201, 162, 106, .3);
}

body.pjx-egift-page .pjx-egift-card__medallion:after {
	content: "P";
	color: #f3dfbd;
	font-family: "Trajan Pro", "Cinzel", "Didot", "Bodoni 72", Georgia, serif;
	font-size: clamp(18px, 2vw, 24px);
	line-height: 1;
}

body.pjx-egift-page .pjx-egift-card__brand {
	margin-top: 4px;
	font-family: "Trajan Pro", "Cinzel", "Didot", "Bodoni 72", Georgia, serif;
	font-size: clamp(24px, 3vw, 36px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
}

body.pjx-egift-page .pjx-egift-card__type {
	margin-top: 10px;
	color: var(--pjx-gold);
	font-family: var(--pjx-font);
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: .28em;
	text-transform: uppercase;
}

body.pjx-egift-page .pjx-egift-card__amount {
	margin-top: auto;
	font-family: var(--pjx-font);
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.01em;
	font-variant-numeric: tabular-nums;
	transition: opacity .2s ease;
}

body.pjx-egift-page .pjx-egift-card__amount.is-updating {
	opacity: 0;
}

/* Message preview */
body.pjx-egift-page .pjx-egift-note {
	position: relative;
	width: min(100%, 380px);
	margin-top: 28px;
	padding: 20px 22px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 20px 40px -24px rgba(23, 16, 9, .45);
	transform: rotate(1.5deg);
}

body.pjx-egift-page .pjx-egift-note[hidden] {
	display: none;
}

body.pjx-egift-page .pjx-egift-note p {
	margin: 0;
	overflow-wrap: anywhere;
}

body.pjx-egift-page .pjx-egift-note__message {
	color: var(--pjx-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 17px;
	font-style: italic;
	line-height: 1.55;
	white-space: pre-line;
}

body.pjx-egift-page .pjx-egift-note__from {
	margin-top: 10px !important;
	color: var(--pjx-gold-dark);
	font-size: 14px;
	font-weight: 700;
}

body.pjx-egift-page .pjx-egift-note__message:empty,
body.pjx-egift-page .pjx-egift-note__from:empty {
	display: none;
}

/* Perks under the card */
body.pjx-egift-page .pjx-egift-perks {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

body.pjx-egift-page .pjx-egift-perks li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 18px 10px;
	background: #fff;
	border: 1px solid var(--pjx-line);
	border-radius: var(--pjx-radius);
	color: var(--pjx-ink);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
}

body.pjx-egift-page .pjx-egift-perks li:before {
	content: none;
}

body.pjx-egift-page .pjx-egift-perks .pjx-icon {
	width: 22px;
	height: 22px;
	color: var(--pjx-gold-dark);
}

/* Summary column */
body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .product_title {
	margin: 0 0 18px;
	padding: 0;
	border: 0;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: clamp(34px, 4vw, 48px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.015em;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .woocommerce-product-details__short-description {
	margin: 0 0 28px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--pjx-line);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .woocommerce-product-details__short-description ul {
	display: grid;
	gap: 10px;
	margin: 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .woocommerce-product-details__short-description ul li {
	padding-left: 32px;
	color: var(--pjx-text);
	font-size: 17px;
	line-height: 1.5;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .woocommerce-product-details__short-description ul li:before {
	top: 2px;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	background: var(--pjx-cream-2);
	border-radius: 50%;
	color: var(--pjx-green);
	font-size: 10px;
	line-height: 20px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary > br {
	display: none;
}

/* Variation (amount) picker */
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart {
	margin: 0;
	padding: 0;
	border: 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations tbody,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations tr,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations th,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations td {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations {
	margin-bottom: 8px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations th.label label,
body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container .pwgc-label {
	display: block;
	margin: 0 0 10px;
	padding: 0;
	border: 0;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations tr {
	position: relative;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart table.variations td.value {
	position: static;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.pjx-amounts-ready table.variations td.value select,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.pjx-amounts-ready table.variations td.value .theme-select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: 0;
	padding: 0;
	opacity: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	pointer-events: none;
}

body.pjx-egift-page .pjx-amounts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
	gap: 10px;
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60px;
	margin: 0;
	padding: 0 10px;
	background: #fff;
	border: 1.5px solid var(--pjx-line-strong);
	border-radius: 14px;
	box-shadow: none;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	font-variant-numeric: tabular-nums;
	cursor: pointer;
	transition: background-color .2s var(--pjx-ease), border-color .2s var(--pjx-ease), color .2s var(--pjx-ease), transform .15s var(--pjx-ease), box-shadow .2s var(--pjx-ease);
	touch-action: manipulation;
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount:hover {
	background: #fff;
	border-color: var(--pjx-ink);
	color: var(--pjx-ink);
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount:active {
	transform: scale(.97);
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount[aria-pressed="true"] {
	background: var(--pjx-ink);
	border-color: var(--pjx-ink);
	box-shadow: 0 12px 24px -14px rgba(18, 17, 39, .7);
	color: #fff;
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

body.pjx-egift-page.woocommerce .pjx-amounts button.pjx-amount:disabled {
	opacity: .4;
	cursor: not-allowed;
}

/* "Clear" sits on the label row so it doesn't add height under the buttons */
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .reset_variations {
	position: absolute;
	top: -2px;
	right: 0;
	margin: 0;
	color: var(--pjx-muted);
	font-size: 14px;
	line-height: 1.3;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Gift card details (To / From / Message) */
body.pjx-egift-page.woocommerce div.product.pjx-egift .single_variation_wrap,
body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart {
	width: 100%;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .single_variation_wrap {
	margin-top: 20px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	column-gap: 12px;
	row-gap: 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > * {
	flex: 0 0 100%;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > .wc-ppcp-product-payments__container {
	margin-top: 12px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container {
	margin: 0 0 16px;
	padding: 24px;
	background: var(--pjx-cream);
	border-radius: var(--pjx-radius-lg);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container .pwgc-field-container {
	margin: 0 0 18px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container .pwgc-field-container:last-child {
	margin-bottom: 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container input.pwgc-input-text,
body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container textarea {
	display: block;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 13px 16px;
	background: #fff;
	border: 1.5px solid var(--pjx-line-strong);
	border-radius: 12px;
	box-shadow: none;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 16px;
	line-height: 1.4;
	transition: border-color .2s var(--pjx-ease), box-shadow .2s var(--pjx-ease);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container textarea {
	height: 120px;
	resize: vertical;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container input.pwgc-input-text:focus,
body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container textarea:focus {
	outline: none;
	border-color: var(--pjx-ink);
	box-shadow: 0 0 0 4px rgba(201, 162, 106, .3);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container ::placeholder {
	color: #8b857d;
	opacity: 1;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container .pwgc-subtitle {
	margin-top: 6px;
	color: var(--pjx-muted);
	font-size: 13px;
	line-height: 1.5;
}

/* Quantity + button row */
body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > .quantity {
	flex: 0 0 auto;
	margin: 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > button.single_add_to_cart_button {
	flex: 1 1 200px;
	width: auto;
	min-height: 56px;
	margin: 0;
	background: #000;
	border-color: #000;
	border-radius: 12px;
	color: #fff;
	font-family: var(--pjx-font);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: none;
	transition: background-color .25s var(--pjx-ease), opacity .25s var(--pjx-ease);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > button.single_add_to_cart_button:hover {
	background: var(--pjx-green);
	border-color: var(--pjx-green);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > button.single_add_to_cart_button.disabled {
	opacity: .35;
	cursor: not-allowed;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift .woocommerce-variation-add-to-cart > button.single_add_to_cart_button:focus-visible {
	outline: none;
	box-shadow: var(--pjx-focus);
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .quantity .minus,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .quantity .qty,
body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .quantity .plus {
	height: 56px;
	min-height: 56px;
	border-color: var(--pjx-line-strong);
	color: var(--pjx-ink);
	font-size: 16px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .quantity .minus {
	border-radius: 12px 0 0 12px;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift form.cart .quantity .plus {
	border-radius: 0 12px 12px 0;
}

body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-quantity-one-per-recipient {
	color: var(--pjx-text);
	font-size: 15px;
}

/* Section heading */
body.pjx-egift-page .pjx-section-head {
	margin: 0 0 40px;
	text-align: center;
}

body.pjx-egift-page .pjx-section-head h2,
body.pjx-egift-page .pjx-egift-story h2 {
	margin: 0;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: clamp(28px, 3.4vw, 40px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.015em;
}

/* How it works */
body.pjx-egift-page .pjx-egift-steps {
	margin-top: clamp(64px, 9vw, 112px);
}

body.pjx-egift-page .pjx-egift .pjx-egift-steps__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: pjx-step;
}

body.pjx-egift-page .pjx-egift .pjx-egift-step {
	position: relative;
	margin: 0;
	padding: 32px 28px 30px;
	background: #fff;
	border: 1px solid var(--pjx-line);
	border-radius: 20px;
	counter-increment: pjx-step;
	transition: border-color .3s var(--pjx-ease), box-shadow .3s var(--pjx-ease);
}

body.pjx-egift-page .pjx-egift .pjx-egift-step:before {
	content: counter(pjx-step, decimal-leading-zero);
	position: absolute;
	top: 32px;
	right: 28px;
	color: var(--pjx-gold-dark);
	font-family: var(--pjx-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .1em;
}

body.pjx-egift-page .pjx-egift-step__icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 22px;
	background: var(--pjx-cream);
	border-radius: 14px;
	color: var(--pjx-ink);
}

body.pjx-egift-page .pjx-egift-step__icon .pjx-icon {
	width: 26px;
	height: 26px;
}

body.pjx-egift-page .pjx-egift .pjx-egift-step h3 {
	margin: 0 0 8px;
	color: var(--pjx-ink);
	font-family: var(--pjx-font);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

body.pjx-egift-page .pjx-egift .pjx-egift-step p {
	margin: 0;
	color: var(--pjx-muted);
	font-family: var(--pjx-font);
	font-size: 16px;
	line-height: 1.6;
}

@media (hover: hover) {
	body.pjx-egift-page .pjx-egift .pjx-egift-step:hover {
		border-color: var(--pjx-line-strong);
		box-shadow: var(--pjx-shadow);
	}
}

/* Story / CTA band */
body.pjx-egift-page .pjx-egift .pjx-egift-story {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 32px 56px;
	align-items: center;
	margin-top: clamp(48px, 6vw, 72px);
	padding: clamp(32px, 5vw, 64px);
	background:
		radial-gradient(70% 120% at 100% 0%, rgba(201, 162, 106, .28) 0%, rgba(201, 162, 106, 0) 60%),
		var(--pjx-cocoa);
	border-radius: 28px;
	color: #fff;
}

body.pjx-egift-page .pjx-egift-story .pjx-eyebrow {
	color: var(--pjx-gold);
}

body.pjx-egift-page .pjx-egift .pjx-egift-story h2 {
	color: #fff;
}

body.pjx-egift-page .pjx-egift-story__content {
	margin-top: 16px;
	color: rgba(255, 255, 255, .8);
	font-size: 18px;
	line-height: 1.6;
}

body.pjx-egift-page .pjx-egift-story__content p {
	margin: 0;
}

body.pjx-egift-page .pjx-egift-story__cta {
	display: grid;
	justify-items: start;
	gap: 16px;
	padding-left: 40px;
	border-left: 1px solid rgba(255, 255, 255, .14);
}

body.pjx-egift-page .pjx-egift .pjx-egift-story__cta p {
	margin: 0;
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.4;
}

body.pjx-egift-page .pjx-egift a.pjx-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	padding: 0 26px;
	border-radius: 12px;
	font-family: var(--pjx-font);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .02em;
	text-decoration: none;
	transition: background-color .25s var(--pjx-ease), color .25s var(--pjx-ease);
}

body.pjx-egift-page .pjx-egift a.pjx-btn--light {
	background: #fff;
	color: #000;
}

body.pjx-egift-page .pjx-egift a.pjx-btn--light:hover {
	background: var(--pjx-gold);
	color: #000;
}

body.pjx-egift-page .pjx-egift a.pjx-btn:focus-visible {
	outline: 3px solid var(--pjx-gold);
	outline-offset: 3px;
}

body.pjx-egift-page .pjx-egift a.pjx-btn .pjx-icon {
	width: 18px;
	height: 18px;
	transition: transform .25s var(--pjx-ease);
}

body.pjx-egift-page .pjx-egift a.pjx-btn:hover .pjx-icon {
	transform: translateX(3px);
}

/* Animations */
@keyframes pjx-card-float {
	0%, 100% { transform: rotate(-3deg) translateY(0); }
	50% { transform: rotate(-2deg) translateY(-8px); }
}

@keyframes pjx-card-sheen {
	0%, 55% { transform: translateX(-35%); }
	100% { transform: translateX(35%); }
}

/* ==========================================================================
   5. Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	body.pjx-egift-page .pjx-egift .pjx-egift-hero {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pjx-egift-page .pjx-egift .pjx-egift-hero__visual {
		position: static;
	}

	body.pjx-egift-page .pjx-egift .pjx-egift-story {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pjx-egift-page .pjx-egift-story__cta {
		padding: 24px 0 0;
		border-top: 1px solid rgba(255, 255, 255, .14);
		border-left: 0;
	}
}

@media (max-width: 900px) {
	body.pjx-egift-page .pjx-egift .pjx-egift-steps__list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	body.pjx-ui.woocommerce-page ul.products li.product.entry {
		padding: 8px 8px 12px;
		border-radius: 12px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.image-wrap {
		margin-bottom: 12px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.image-wrap,
	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-image {
		border-radius: 8px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title h2,
	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.title h2 a {
		font-size: 15px;
		line-height: 1.3;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .pjx-prftpg-product-size span {
		padding: 4px 9px;
		font-size: 11px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry li.price-wrap .price {
		font-size: 17px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.price-wrap {
		margin-bottom: 12px;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry .woo-entry-inner li.btn-wrap a.button {
		min-height: 44px;
		padding: 10px 8px;
		border-radius: 10px;
		font-size: 14px;
	}

	body.pjx-ui .filter-row {
		align-items: center;
		padding-top: 16px;
	}

	body.pjx-ui .filter-row .toggle-div button.toggle-button,
	body.pjx-ui .filter-row .sortby-list select.sortlist {
		min-height: 44px;
		height: 44px;
	}

	body.pjx-ui .filter-row .filter_content {
		left: 0;
		width: min(320px, calc(100vw - 32px));
		padding: 16px 18px;
	}

	body.pjx-ui .filter-row .filter_content ul.ul_lists li {
		padding: 2px 0;
	}

	body.pjx-ui.single-product .elementor-location-single .woocommerce-product-gallery ol.flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}

	body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-title {
		padding: 18px;
	}

	body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-accordion-title {
		font-size: 18px;
	}

	body.pjx-ui .productAcrdn .elementor-accordion .elementor-accordion-item .elementor-tab-content {
		padding: 16px 18px 20px;
		font-size: 15px;
	}

	body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table {
		font-size: 13px;
	}

	body.pjx-ui .productAcrdn .elementor-accordion .elementor-tab-content table td {
		padding: 9px 10px;
	}

	body.pjx-ui.single-product .elementor-widget-woocommerce-product-related section.related > h2 {
		font-size: 26px;
	}

	body.pjx-egift-page.single-product div.product.pjx-egift {
		padding: 4px 0 56px;
	}

	body.pjx-egift-page .pjx-egift-stage {
		border-radius: 20px;
	}

	body.pjx-egift-page .pjx-egift-perks {
		gap: 8px;
	}

	body.pjx-egift-page .pjx-egift-perks li {
		padding: 14px 6px;
		font-size: 13px;
	}

	body.pjx-egift-page.woocommerce div.product.pjx-egift .pjx-egift-hero__summary .product_title {
		font-size: 32px;
	}

	body.pjx-egift-page .pjx-amounts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.pjx-egift-page.woocommerce div.product.pjx-egift #pwgc-purchase-container {
		padding: 18px;
		border-radius: var(--pjx-radius);
	}

	body.pjx-egift-page .pjx-egift .pjx-egift-step {
		padding: 24px 22px;
	}

	body.pjx-egift-page .pjx-egift .pjx-egift-story {
		border-radius: 20px;
	}

	body.pjx-egift-page .pjx-egift a.pjx-btn {
		width: 100%;
		justify-content: center;
	}

	body.pjx-egift-page .pjx-egift-story__cta {
		justify-items: stretch;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.pjx-egift-page .pjx-egift *,
	body.pjx-egift-page .pjx-egift *:before,
	body.pjx-egift-page .pjx-egift *:after,
	body.pjx-ui ul.products li.product,
	body.pjx-ui ul.products li.product *,
	body.pjx-ui .filter-row *,
	body.pjx-ui .productAcrdn * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	body.pjx-ui.woocommerce-page ul.products li.product.entry:hover,
	body.pjx-ui.woocommerce-page ul.products li.product.entry:hover .woo-entry-image img {
		transform: none;
	}
}
