/**
 * PX Core - front-end styles.
 */

:root {
	/* Same red as discounted prices (Additional CSS: .price ins bdi { color: red }). */
	--pxc-discount-red: #ff0000;
	/* Per-item "Save X" chip: green, so the red stays for prices and discount rows. */
	--pxc-save-green: #1e7a46;

	/* Lucide "bookmark", outline and filled, used as masks so they take currentColor. */
	--pxc-icon-bookmark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");
	--pxc-icon-bookmark-filled: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E");
}

/* ---------- Cart drawer: "Back to shop" ---------- */

.pxc-back-to-shop {
	display: none;
}

.cart-widget-side .pxc-back-to-shop {
	display: block;
	padding: 0 var(--wd-side-hidden-pd, 20px) 10px;
}

.pxc-back-to-shop__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	/* --px-font-main is the site's brand font, defined in Additional CSS. */
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wd-title-color, #000);
	text-decoration: none;
	transition: opacity .2s ease;
}

.pxc-back-to-shop__link:hover,
.pxc-back-to-shop__link:focus-visible {
	opacity: .6;
	color: var(--wd-title-color, #000);
}

.pxc-back-to-shop__link .pxc-icon {
	flex-shrink: 0;
	transition: transform .2s ease;
}

.pxc-back-to-shop__link:hover .pxc-icon {
	transform: translateX(-3px);
}

/* ---------- Wishlist: heart -> bookmark ---------- */

.wd-header-wishlist .wd-tools-icon::before,
.wd-wishlist-btn .wd-action-icon::before,
.wd-nav-mobile .menu-item-wishlist > a::before,
.wd-my-acc-wishlist .wd-nav-icon::before {
	content: "" !important;
	font-family: inherit !important;
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: var(--pxc-icon-bookmark) center / contain no-repeat;
	mask: var(--pxc-icon-bookmark) center / contain no-repeat;
}

/* Saved: filled bookmark replaces Woodmart's small check badge. */
.wd-wishlist-btn a.added .wd-action-icon::before {
	-webkit-mask-image: var(--pxc-icon-bookmark-filled);
	mask-image: var(--pxc-icon-bookmark-filled);
}

.wd-wishlist-btn .wd-check-icon {
	display: none !important;
}

/* ---------- Cart items: badges, SKU, discount prices (drawer + cart page) ---------- */

/* Discounted price: regular struck through above the charged price. The red
   on <ins> comes from the site's ".price ins bdi" rule in Additional CSS. */
.pxc-cart-price.is-discounted {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	line-height: 1.25;
}

.pxc-cart-price del,
.pxc-cart-price del .amount,
.pxc-cart-price del bdi {
	color: var(--color-gray-700, #555) !important;
}

.pxc-cart-price ins {
	text-decoration: none;
}

/* Cart page table + checkout summary lines: charged price in the normal text
   colour, not red (red is kept for the discount rows and the total). The
   cart drawer keeps the red. */
.woocommerce-cart-form .pxc-cart-price ins,
.woocommerce-cart-form .pxc-cart-price ins .amount,
.woocommerce-cart-form .pxc-cart-price ins bdi,
.wd-checkout-prod-total .pxc-cart-price ins,
.wd-checkout-prod-total .pxc-cart-price ins .amount,
.wd-checkout-prod-total .pxc-cart-price ins bdi {
	color: inherit !important;
}

.pxc-cart-sku {
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-cart-badges .product-labels {
	margin-bottom: 6px !important;
	flex-wrap: wrap;
	gap: 4px;
}

/* Compact badges: the product page size (22px tall) is too heavy next to a cart thumbnail. */
.pxc-cart-badges .product-label {
	font-size: 8px !important;
	line-height: 10px;
	padding: 3px 6px;
	min-width: 0;
	letter-spacing: .03em;
}

/* Drawer card: badges / title / SKU stacked, then quantity left and line total right. */
.cart-widget-side .woocommerce-mini-cart-item .cart-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 12px;
	min-width: 0;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info > * {
	flex: 0 0 100%;
	order: 3;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info > .pxc-cart-badges { order: 1; }
.cart-widget-side .woocommerce-mini-cart-item .cart-info > .wd-entities-title { order: 2; }
.cart-widget-side .woocommerce-mini-cart-item .cart-info > .pxc-cart-sku { order: 3; margin-top: 4px; }

.cart-widget-side .woocommerce-mini-cart-item .cart-info > div.quantity {
	order: 4;
	flex: 0 0 auto;
	width: auto !important;
	justify-content: flex-start !important;
	margin: 12px 0 0 !important;
}

.cart-widget-side .woocommerce-mini-cart-item .cart-info > .pxc-cart-line-total {
	order: 5;
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
	margin: 12px 0 0 auto;
	text-align: right;
}

/* Cart page: Price / Subtotal columns keep their alignment. */
.woocommerce-cart-form .product-price .pxc-cart-price.is-discounted,
.woocommerce-cart-form .product-subtotal .pxc-cart-price.is-discounted {
	align-items: inherit;
}

.woocommerce-cart-form .product-name .pxc-cart-sku {
	margin-top: 4px;
}

/* Drawer: compact quantity selector (theme default is 80x32). */
.cart-widget-side .cart-info div.quantity {
	--wd-form-height: 26px;
}

.cart-widget-side .cart-info div.quantity :is(.minus, .plus) {
	width: 22px;
	min-width: 22px;
	height: 26px;
	padding: 0;
	font-size: 12px;
}

.cart-widget-side .cart-info div.quantity input.qty {
	width: 26px;
	min-width: 0;
	height: 26px;
	font-size: 12px;
}

/* ---------- Savings: cart totals, checkout summary ---------- */

.pxc-savings-row th,
.pxc-savings-row td,
.pxc-savings-amount {
	color: var(--pxc-discount-red) !important;
}

/* Regular total struck through, inline to the left of the discounted total. */
.pxc-total-regular {
	display: inline;
	margin-inline-end: 10px;
	font-size: 14px;
	font-weight: 400;
	color: var(--color-gray-700, #555);
	vertical-align: baseline;
}

.pxc-total-regular .amount,
.pxc-total-regular bdi {
	color: inherit !important;
}

/* Total in black (user 2026-10-11: only the savings are red). */
.pxc-total-discounted strong .amount,
.pxc-total-discounted strong bdi {
	color: #000 !important;
}

.pxc-saved-chip {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 0;
	background: rgba(30, 122, 70, .1);
	color: var(--pxc-save-green);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.pxc-saved-chip .amount {
	color: inherit;
}

.pxc-saved-chip {
	margin-top: 4px;
	padding: 2px 8px;
	font-size: 11px;
}

/* Checkout summary lines: struck price above, chip under, right aligned. */
.wd-checkout-prod-total.product-total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.wd-checkout-prod-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.wd-checkout-prod-title > .pxc-cart-badges {
	order: -1;
	height: auto !important;
	margin: 0 !important;
}

/* Theme colors amounts explicitly; keep discount amounts fully red. */
.pxc-savings-amount .amount,
.pxc-savings-amount bdi,
.pxc-saved-chip bdi {
	color: inherit !important;
}

.wd-checkout-prod-total > .pxc-cart-price { order: 1; }
.wd-checkout-prod-total > .pxc-saved-chip { order: 2; }

/* Mobile: Woodmart prints the row label from data-title via ::before. */
.pxc-savings-row td::before {
	color: var(--pxc-discount-red) !important;
}

/* Strikethrough must cross the amount itself: the theme renders the amount
   inside <del> as a block, so the del's line ended up under the text. */
.pxc-total-regular .amount,
.pxc-total-regular bdi,
.pxc-cart-price del .amount,
.pxc-cart-price del bdi,
.pxc-order-line__regular .amount,
.pxc-order-line__regular bdi {
	display: inline !important;
}

/* Exactly one line, on <bdi> (it holds the text; Additional CSS shrinks
   ".price del bdi" to 80%, so a line on the outer span sat too low).
   Two lines (span + bdi) stacked and looked bold. */
.pxc-total-regular bdi,
.pxc-cart-price del bdi,
.pxc-order-line__regular bdi {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

.pxc-cart-price del,
.pxc-total-regular,
.pxc-order-line__regular {
	white-space: nowrap;
}

/* One strikethrough only: on the amount itself (see above), none on the <del>. */
.pxc-total-regular,
.pxc-cart-price del,
.pxc-order-line__regular {
	text-decoration: none !important;
}

.pxc-total-regular .amount,
.pxc-cart-price del .amount {
	white-space: nowrap;
}

/* The theme renders the currency symbol as a block, which broke "DH" onto its own line. */
.pxc-total-regular .woocommerce-Price-currencySymbol,
.pxc-cart-price del .woocommerce-Price-currencySymbol,
.pxc-order-line__regular .woocommerce-Price-currencySymbol {
	display: inline !important;
}

/* "Save X" chip: one font for label and amount (the theme sets the price font on .amount). */
.pxc-saved-chip .amount,
.pxc-saved-chip bdi,
.pxc-saved-chip .woocommerce-Price-currencySymbol {
	display: inline !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	letter-spacing: inherit !important;
}

/* The struck total now sits inside the total's <strong>: keep it grey and smaller. */
.pxc-total-discounted .pxc-total-regular .amount,
.pxc-total-discounted .pxc-total-regular bdi,
.pxc-total-discounted .pxc-total-regular .woocommerce-Price-currencySymbol {
	color: var(--color-gray-700, #555) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

/* Total row with a discount: "Total" and the prices on one line, VAT note below.
   Cart: Woodmart hides the <th> and prints the label as td::before in a
   wrapping flex row, so the wider struck + red price pushed it to its own line. */
.cart_totals tr.order-total td:has(.pxc-total-discounted) {
	flex-wrap: nowrap !important;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.cart_totals tr.order-total td:has(.pxc-total-discounted)::before {
	flex: 0 0 auto !important;
	align-self: flex-start;
	line-height: 1.6;
	width: auto !important;
	margin: 0 !important;
}

.cart_totals tr.order-total td > .pxc-total-discounted {
	flex: 1 1 auto;
	min-width: 0;
	text-align: end;
}

/* Checkout: the label was centred between the price and the VAT note. */
.woocommerce-checkout-review-order-table tr.order-total:has(.pxc-total-discounted) {
	align-items: baseline;
}

.woocommerce-checkout-review-order-table tr.order-total:has(.pxc-total-discounted) > * {
	vertical-align: baseline;
}

@media (max-width: 768px) {
	.cart_totals tr.order-total td:has(.pxc-total-discounted)::before {
		line-height: 2.2;
	}
}

/* ---------- Content padding ---------- */

/* Woodmart pads every page (.wd-content-layout { padding-block: 40px }).
   Elementor-built pages (home, about...) handle their own spacing and use a
   full-bleed fixed hero video, which showed through that gap above the footer.
   WooCommerce pages (account / login, cart, shop) are not Elementor pages,
   so they keep the theme padding. */
body.elementor-page:not(.woocommerce-page) .wd-content-layout {
	padding-block: 0;
}

/* ---------- Register form (email-verified sign-up) ---------- */

.pxc-reg-hint {
	margin: -8px 0 12px;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

.pxc-reg-note {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--color-gray-700, #555);
}

.pxc-captcha {
	margin: 0 0 16px;
}

/* ---------- Account card: log in / create account / password screens ---------- */

.pxc-auth {
	display: flex;
	justify-content: center;
	padding: 24px 0 8px;
}

.pxc-auth__card {
	width: 100%;
	max-width: 480px;
	padding: 40px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
}

.pxc-auth__tabs {
	display: flex;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-auth__tab {
	flex: 1 1 0;
	padding: 0 0 14px !important;
	margin-bottom: -1px;
	min-height: 0 !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 14px !important;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676) !important;
	cursor: pointer;
	transition: color .2s ease, border-color .2s ease;
}

.pxc-auth__tab[aria-selected="true"] {
	color: #000 !important;
	border-bottom-color: #000 !important;
}

.pxc-auth__tab:hover,
.pxc-auth__tab:focus-visible {
	color: #000 !important;
}

.pxc-auth__title {
	margin: 0 0 8px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 22px;
	line-height: 1.25;
	text-transform: uppercase;
}

.pxc-auth__intro {
	margin: 0 0 20px;
	font-size: 14px;
	color: var(--color-gray-500, #767676);
}

.pxc-auth__icon {
	display: block;
	margin-bottom: 16px;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-auth .form-row {
	margin-bottom: 16px;
}

.pxc-auth__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 20px;
	font-size: 13px;
}

.pxc-auth__row .woocommerce-form__label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .02em;
}

.pxc-auth__btn {
	display: block !important;
	width: 100% !important;
	margin: 8px 0 0 !important;
	text-align: center;
}

.pxc-auth__link {
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pxc-auth__back {
	display: block;
	margin-top: 20px;
	text-align: center;
}

.pxc-auth__small {
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-gray-500, #767676);
}

.pxc-auth__state {
	text-align: center;
}

.pxc-auth__state .pxc-auth__icon {
	margin: 0 auto 16px;
}

.pxc-auth__state .pxc-auth__link {
	display: inline-block;
	margin-top: 16px;
}

/* WooCommerce privacy sentence: small print, not body copy. */
.pxc-auth .woocommerce-privacy-policy-text,
.pxc-auth .woocommerce-privacy-policy-text p {
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-gray-500, #767676);
}

.pxc-auth .pxc-reg-hint {
	margin-top: -8px;
}

.pxc-auth__trap {
	position: absolute;
	left: -999em;
}

@media (max-width: 600px) {
	.pxc-auth {
		padding-top: 8px;
	}

	.pxc-auth__card {
		padding: 24px 20px;
	}
}

/* The theme sets section { display: block }, which beats the hidden attribute. */
.pxc-auth__panel[hidden] {
	display: none !important;
}

/* Link buttons ("Back to log in", "Create account" on state screens): centre the label. */
a.pxc-auth__btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* Theme button typography overrides the tab font. */
.pxc-auth .pxc-auth__tab {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif) !important;
	font-weight: 400 !important;
}

/* Form labels: the required star is bigger than the label text and made
   labels taller than their "(optional)" neighbours, so inputs side by side
   didn't line up. Same look, no effect on the label's height. */
.form-row label .required,
.form-row label .optional {
	line-height: 0;
}

/* ---------- Moved from WPCode ---------- */

/* Logo in the mobile menu / off-canvas headers (WPCode #1798). */
.mobile-nav .wd-heading,
.wd-col-offcanvas-sm .wd-heading {
	justify-content: space-between !important;
	flex-direction: row-reverse !important;
}

.mobile-nav .wd-heading .px-logo-lm {
	max-width: 220px;
}

/* Sound Experience button (WPCode #469). */
/* The original printed these right next to the button, after the theme's button
   styles; from a stylesheet they need !important to keep winning. */
.px-sound-wrap .px-sound-btn {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	min-height: 30px !important;
	padding: 5px 15px !important;
	border: 1px solid var(--gray-400) !important;
	border-radius: 100em !important;
	background: var(--gray-100) !important;
	color: #000 !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .5px !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
	cursor: pointer;
}

.px-sound-btn .px-label {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 6px;
}

.px-sound-btn .px-icon {
	flex-shrink: 0;
	width: 11px;
	height: 11px;
}

.px-sound-btn .px-icon--pause,
.px-sound-btn.playing .px-icon--play {
	display: none;
}

.px-sound-btn.playing .px-icon--pause {
	display: block;
}

.px-sound-fill {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 0%;
	height: 100%;
	background: linear-gradient(90deg, rgba(128, 128, 128, .05) 0%, rgba(128, 128, 128, .25) 50%, rgba(128, 128, 128, .35) 100%);
	transition: width .1s linear;
}

/* ---------- Order pages: thank-you + My Account > View order (templates/checkout, templates/order) ---------- */

.pxc-order {
	display: grid;
	gap: 24px;
	margin: 8px 0 24px;
}

.pxc-order > * {
	grid-column: 1 / -1;
	min-width: 0;
}

/* Thank-you page: details left, addresses right on wide screens. */
@media (min-width: 1025px) {
	.pxc-order--received {
		grid-template-columns: minmax(0, 1fr) 340px;
		align-items: start;
	}

	.pxc-order--received > .pxc-order-details {
		grid-column: 1;
	}

	.pxc-order--received > .pxc-order-addresses {
		grid-column: 2;
		grid-row: span 1;
	}
}

.pxc-card {
	padding: 32px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
}

.pxc-card__title {
	margin: 0 0 20px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* Header card */
.pxc-order-head__main {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.pxc-order-head__intro {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}

.pxc-order__badge {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-order__badge--alert {
	color: var(--pxc-discount-red);
}

.pxc-order__icon {
	display: block;
	width: 36px;
	height: 36px;
}

.pxc-order__eyebrow {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-order__title {
	margin: 0;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 26px;
	line-height: 1.2;
	text-transform: uppercase;
}

.pxc-order__lead {
	margin: 10px 0 0;
	max-width: 620px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-gray-500, #767676);
}

.pxc-order-head__ref {
	flex: 0 0 auto;
	text-align: right;
}

.pxc-order-head__ref span {
	display: block;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-order-head__ref strong {
	display: block;
	margin-top: 4px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 22px;
	font-weight: 400;
}

/* Summary strip */
.pxc-order-summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 28px 0 0;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-summary__item {
	padding: 18px 20px 18px 0;
}

.pxc-order-summary__item + .pxc-order-summary__item {
	padding-left: 20px;
	border-left: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-summary dt {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-order-summary dd {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #000;
	overflow-wrap: anywhere;
}

.pxc-order-summary__total {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-weight: 400 !important;
}

/* What happens next */
.pxc-order-next {
	display: flex;
	gap: 18px;
	margin-top: 28px;
	padding: 24px;
	background: var(--gray-100, #f4f4f4);
}

.pxc-order-next__icon {
	flex: 0 0 auto;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-order-next__icon .pxc-order__icon {
	width: 26px;
	height: 26px;
}

.pxc-order-next .pxc-card__title {
	margin-bottom: 8px;
}

.pxc-order-next__body p {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-gray-700, #555);
}

.pxc-order-next__body p:last-child {
	margin-bottom: 0;
}

/* Buttons */
.pxc-order-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.pxc-order-buttons .button {
	margin: 0 !important;
}

.pxc-btn-outline {
	background: transparent !important;
	color: #000 !important;
	box-shadow: inset 0 0 0 1px #000 !important;
}

.pxc-btn-outline:hover {
	background: #000 !important;
	color: #fff !important;
}

/* Order lines */
.pxc-order-line {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: 18px 0;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-line:last-child {
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-line__thumb img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-line__brand {
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-order-line__name {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 14px;
	line-height: 1.4;
	text-transform: uppercase;
}

.pxc-order-line__name a {
	color: inherit;
}

.pxc-order-line__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin-top: 6px;
	font-size: 12px;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-order-line .wc-item-meta {
	margin: 6px 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

.pxc-order-line__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	text-align: right;
	white-space: nowrap;
}

.pxc-order-line__regular {
	font-size: 13px;
	color: var(--color-gray-700, #555);
}

.pxc-order-line__regular .amount,
.pxc-order-line__regular bdi {
	color: inherit !important;
}

.pxc-order-line__price {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	color: #000;
}

/* Totals */
.pxc-order-totals {
	margin-top: 8px;
}

.pxc-order-totals__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	font-size: 14px;
}

.pxc-order-totals__label {
	color: var(--color-gray-700, #555);
}

.pxc-order-totals__value {
	text-align: right;
	font-weight: 600;
}

.pxc-order-totals__row.is-saving,
.pxc-order-totals__row.is-saving .pxc-order-totals__label {
	color: var(--pxc-discount-red);
}

.pxc-order-totals__row--order_total {
	margin-top: 6px;
	padding-top: 16px;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-totals__row--order_total .pxc-order-totals__label {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	text-transform: uppercase;
	color: #000;
}

.pxc-order-totals__row--order_total .pxc-order-totals__value {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 22px;
	font-weight: 400;
}

.pxc-order-totals__row--order_total small,
.pxc-order-totals__row--order_total .includes_tax {
	display: block;
	margin-top: 2px;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	color: var(--color-gray-500, #767676);
}

.pxc-order-note {
	margin-top: 20px;
	padding: 16px;
	background: var(--gray-100, #f4f4f4);
	font-size: 14px;
}

.pxc-order-note__label {
	display: block;
	margin-bottom: 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}

/* Addresses */
.pxc-order-addresses {
	display: grid;
	gap: 28px;
}

.pxc-order--view .pxc-order-addresses.has-shipping {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pxc-order-addresses .pxc-card__title {
	margin-bottom: 12px;
}

.pxc-order-addresses address {
	margin: 0;
	font-style: normal;
	font-size: 14px;
	line-height: 1.7;
	color: var(--color-gray-700, #555);
}

.pxc-order-address__line {
	display: block;
	overflow-wrap: anywhere;
}

/* My Account > View order: status badge + updates */
.pxc-order-head--compact .pxc-order-head__main {
	align-items: center;
}

.pxc-order-head--compact .pxc-order__title {
	font-size: 24px;
}

.pxc-order-head--compact .pxc-order__lead {
	margin-top: 6px;
}

.pxc-status {
	display: inline-block;
	padding: 6px 12px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	background: var(--gray-100, #f4f4f4);
	color: #000;
	white-space: nowrap;
}

.pxc-status--processing { background: rgba(192, 154, 94, .16); color: #7a5a23; }
.pxc-status--completed { background: rgba(30, 122, 70, .12); color: var(--pxc-save-green); }
.pxc-status--on-hold { background: rgba(219, 166, 23, .16); color: #7a5b00; }
.pxc-status--cancelled,
.pxc-status--failed,
.pxc-status--refunded { background: rgba(255, 0, 0, .08); color: #b00000; }

.pxc-order-updates__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pxc-order-updates__list li {
	padding: 14px 0;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-order-updates__date {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

.pxc-order-updates__text p {
	margin: 0;
	font-size: 14px;
}

/* Small screens */
@media (max-width: 768px) {
	.pxc-card {
		padding: 22px 18px;
	}

	.pxc-order-head__main {
		flex-direction: column-reverse;
		gap: 16px;
	}

	.pxc-order-head--compact .pxc-order-head__main {
		flex-direction: row;
		align-items: flex-start;
	}

	.pxc-order-head__ref {
		text-align: left;
	}

	.pxc-order__title {
		font-size: 21px;
	}

	.pxc-order-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pxc-order-summary__item,
	.pxc-order-summary__item + .pxc-order-summary__item {
		padding: 14px 12px 14px 0;
		border-left: 0;
	}

	.pxc-order-summary__item:nth-child(even) {
		padding-left: 12px;
		border-left: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	}

	.pxc-order-summary__item:nth-child(n+3) {
		border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	}

	.pxc-order-next {
		padding: 18px;
	}

	.pxc-order-buttons .button {
		flex: 1 1 100%;
		text-align: center;
	}

	.pxc-order-line {
		grid-template-columns: 56px minmax(0, 1fr);
	}

	.pxc-order-line__thumb img {
		width: 56px;
		height: 56px;
	}

	.pxc-order-line__total {
		grid-column: 2;
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
	}

	.pxc-order--view .pxc-order-addresses.has-shipping {
		grid-template-columns: 1fr;
	}
}

/* Order pages, refinements */
.pxc-order.woocommerce-order {
	max-width: 1200px; /* Woodmart caps .woocommerce-order at 800px */
	margin-inline: auto;
}

.pxc-order-summary {
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.2fr);
}

.pxc-order-summary__email {
	overflow-wrap: break-word !important;
	word-break: normal;
}

.pxc-order-totals__row--order_total small,
.pxc-order-totals__row--order_total .includes_tax,
.pxc-order-totals__row--order_total .includes_tax * {
	font-family: var(--wd-text-font, "Instrument Sans", sans-serif) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--color-gray-500, #767676) !important;
}

/* Thank-you: payment is already in the summary strip. */
.pxc-order--received .pxc-order-totals__row--payment_method {
	display: none;
}

.pxc-order-details .pxc-card__title {
	margin-bottom: 8px;
}

.pxc-order-addresses .pxc-order-address + .pxc-order-address {
	padding-top: 24px;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

@media (max-width: 768px) {
	.pxc-order-summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pxc-order.woocommerce-order {
	max-width: 1200px !important;
	width: 100%;
}

@media (max-width: 768px) {
	.pxc-order-head__main {
		flex-direction: column;
	}

	.pxc-order-head__ref {
		display: flex;
		align-items: baseline;
		gap: 8px;
		padding-left: 54px; /* under the title, past the icon */
	}

	.pxc-order-head__ref strong {
		margin: 0;
		font-size: 16px;
	}

	.pxc-order-summary {
		grid-template-columns: 1fr;
	}

	.pxc-order-summary__item,
	.pxc-order-summary__item + .pxc-order-summary__item,
	.pxc-order-summary__item:nth-child(even) {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 16px;
		padding: 12px 0;
		border-left: 0;
	}

	.pxc-order-summary__item + .pxc-order-summary__item {
		border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	}

	.pxc-order-summary dt {
		margin: 0;
		flex: 0 0 auto;
	}

	.pxc-order-summary dd {
		text-align: right;
	}
}

/* Order lines: the template output goes through wp_kses_post, which drops
   <bdi>, so the single strikethrough sits on the amount span instead. */
.pxc-order-line__regular .amount {
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

/* ---------- Empty states (empty list page, no orders, 404) + orders list ---------- */

.pxc-empty-wrap {
	display: flex;
	justify-content: center;
	padding: 40px 0 56px;
}

.pxc-empty {
	width: 100%;
	max-width: 560px;
	padding: 48px 40px;
	text-align: center;
}

.pxc-empty .pxc-order__icon {
	width: 40px;
	height: 40px;
	margin: 0 auto 18px;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-empty__title {
	margin: 0 0 10px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 24px;
	line-height: 1.25;
	text-transform: uppercase;
}

.pxc-empty__text {
	margin: 0 auto 24px;
	max-width: 420px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-gray-500, #767676);
}

.pxc-empty__buttons {
	justify-content: center;
	margin-top: 24px;
}

.pxc-404__code {
	margin: 0 0 4px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 64px;
	line-height: 1;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-404__search {
	text-align: left;
}

/* Orders list */
.pxc-orders {
	display: grid;
	gap: 12px;
}

.pxc-orders__row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto auto;
	gap: 20px;
	align-items: center;
	padding: 18px 20px;
}

.pxc-orders__thumbs {
	display: flex;
}

.pxc-orders__thumbs img {
	display: block;
	width: 48px;
	height: 48px;
	object-fit: cover;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
}

.pxc-orders__thumbs img + img {
	margin-left: -14px;
}

.pxc-orders__number {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	text-transform: uppercase;
	color: #000;
}

.pxc-orders__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin-top: 4px;
	font-size: 13px;
	color: var(--color-gray-500, #767676);
}

.pxc-orders__total {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	white-space: nowrap;
}

.pxc-orders__actions {
	display: flex;
	gap: 8px;
}

.pxc-orders__actions .button {
	margin: 0 !important;
}

.pxc-orders__pages {
	display: flex;
	justify-content: space-between;
	margin-top: 16px;
}

@media (max-width: 768px) {
	.pxc-orders__row {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 12px 14px;
		padding: 16px;
	}

	.pxc-orders__row .pxc-status {
		grid-column: 3;
		grid-row: 1;
	}

	.pxc-orders__total {
		grid-column: 2;
	}

	.pxc-orders__actions {
		grid-column: 1 / -1;
	}

	.pxc-orders__actions .button {
		flex: 1 1 auto;
		text-align: center;
	}

	.pxc-empty {
		padding: 36px 20px;
	}
}

/* Empty drawer: gold outline icon instead of the theme's grey cart, brand title. */
.cart-widget-side .wd-empty-mini-cart {
	padding: 48px 20px;
	text-align: center;
}

.cart-widget-side .wd-empty-mini-cart::before {
	content: "" !important;
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 18px;
	font-size: 0 !important;
	background-color: var(--wd-alternative-color, rgb(192, 154, 94));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cart-widget-side .wd-empty-mini-cart .woocommerce-mini-cart__empty-message {
	margin: 0 0 20px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 16px;
	text-transform: uppercase;
	color: #000;
}

.cart-widget-side .wd-empty-mini-cart .woocommerce-mini-cart__empty-message::before {
	display: none !important;
}

/* Empty wishlist: the header's bookmark icon (same Lucide outline) instead of
   Woodmart's heart, and the same card look as the empty list page. */
.wd-empty-wishlist {
	max-width: 560px;
	margin: 24px auto 40px;
	padding: 48px 40px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
	text-align: center;
}

.wd-empty-wishlist .wd-empty-block-title {
	margin: 0 0 10px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 24px;
	line-height: 1.25;
	text-transform: uppercase;
}

.wd-empty-wishlist .wd-empty-block-title::before {
	content: "" !important;
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto 18px;
	font-size: 0 !important;
	line-height: 0;
	background-color: var(--wd-alternative-color, rgb(192, 154, 94));
	-webkit-mask: var(--pxc-icon-bookmark) center / contain no-repeat;
	mask: var(--pxc-icon-bookmark) center / contain no-repeat;
}

.wd-empty-wishlist .wd-empty-block-text {
	margin: 0 auto 24px;
	max-width: 420px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-gray-500, #767676);
}

@media (max-width: 768px) {
	.wd-empty-wishlist {
		padding: 36px 20px;
	}
}

/* Empty states, simpler (user 2026-10-08): no box, bigger subtle grey icon. */
.pxc-empty,
.wd-empty-wishlist {
	border: 0 !important;
	background: transparent !important;
	padding-top: 24px;
	padding-bottom: 24px;
}

.pxc-empty .pxc-order__icon,
.wd-empty-wishlist .wd-empty-block-title::before,
.cart-widget-side .wd-empty-mini-cart::before {
	width: 64px !important;
	height: 64px !important;
	margin-bottom: 22px !important;
	color: var(--pxc-empty-icon, #c8c8c8);
	background-color: var(--pxc-empty-icon, #c8c8c8) !important;
}

/* The order-page icon is an inline SVG (stroke = currentColor), not a mask. */
.pxc-empty .pxc-order__icon {
	background-color: transparent !important;
	stroke-width: 1.25;
}

.pxc-404__code {
	color: var(--pxc-empty-icon, #c8c8c8);
	font-size: 72px;
}

/* Multiple wishlists popup (Woodmart "choose a wishlist"): black selection
   instead of the browser's blue, readable group names. */
.wd-popup-wishlist input[type="radio"],
.wd-popup-wishlist input[type="checkbox"] {
	accent-color: #000;
	width: 16px;
	height: 16px;
}

.wd-wishlist-group-list li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 12px;
}

.wd-wishlist-group-list label {
	margin: 0;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #000;
	cursor: pointer;
}

.wd-wishlist-group-list label {
	color: #000 !important;
}

/* My Account menu: icons there are 35px, so the 1.5 stroke scaled to ~2.2px,
   heavier than the theme's ~1.4px menu icons. Same bookmark, thinner stroke. */
.wd-my-acc-wishlist .wd-nav-icon::before,
.woocommerce-MyAccount-navigation-link--wishlist .wd-nav-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z'/%3E%3C/svg%3E") !important;
}

/* "Added to wishlist" popup: filled bookmark (saved) instead of the heart,
   smaller title and more space (user 2026-10-08). */
.wd-popup.wd-popup-wishlist {
	width: 420px;
	max-width: calc(100vw - 32px);
	padding: 44px 40px 40px;
}

.wd-wishlist-add-success {
	text-align: center;
}

.wd-wishlist-add-success::before {
	content: "" !important;
	display: block !important;
	width: 56px !important;
	height: 56px !important;
	margin: 0 auto 24px !important;
	font-size: 0 !important;
	line-height: 0 !important;
	background-color: var(--pxc-empty-icon, #c8c8c8);
	-webkit-mask: var(--pxc-icon-bookmark-filled) center / contain no-repeat;
	mask: var(--pxc-icon-bookmark-filled) center / contain no-repeat;
}

.wd-wishlist-add-success .title {
	display: block;
	margin: 0 auto 28px !important;
	max-width: 300px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 16px !important;
	line-height: 1.5 !important;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: #000;
}

.wd-wishlist-add-success .btn,
.wd-wishlist-add-success .button {
	display: block !important;
	width: 100%;
	margin: 0 0 18px !important;
}

.wd-wishlist-add-success > a:not(.btn):not(.button) {
	display: inline-block;
	margin-top: 4px;
}

@media (max-width: 768px) {
	.wd-popup.wd-popup-wishlist {
		padding: 36px 24px 28px;
	}
}

/* Added-to-wishlist popup, refinements: Lucide bookmark-check outline (user's
   pick), theme's own popup width, "Back to shop" stays a short text link. */
.wd-popup.wd-popup-wishlist {
	width: auto;
}

.wd-wishlist-add-success::before {
	background-color: var(--pxc-empty-icon, #c8c8c8);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z'/%3E%3Cpath d='m9 10 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2Z'/%3E%3Cpath d='m9 10 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.wd-wishlist-add-success .wd-wishlist-back-to-shop {
	display: inline-block !important;
	width: auto !important;
	margin: 4px 0 0 !important;
}

.wd-popup.wd-popup-wishlist {
	width: 380px !important;
	max-width: calc(100vw - 32px) !important;
}

.wd-wishlist-add-success .wd-wishlist-back-to-lists {
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* The popup box (.mfp-content) stayed 300px, so the wider popup overflowed to
   the right (off-centre, X misplaced). Widen the box; the X keeps the theme's
   position at its top-right corner. */
.mfp-content:has(.wd-popup-wishlist) {
	width: 380px !important;
	max-width: calc(100vw - 32px) !important;
}

.mfp-content .wd-popup.wd-popup-wishlist {
	width: 100% !important;
	max-width: none !important;
}


/* ---------- 2026-10-11 client feedback: savings in red only, badges, drawer subtotal ---------- */

/* "You save X" under a discounted line (checkout summary, order pages). */
.pxc-line-save {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--pxc-discount-red);
	white-space: nowrap;
}

.pxc-line-save .amount,
.pxc-line-save bdi {
	color: inherit !important;
	font: inherit !important;
}

/* Badges in carts / orders: "Official product" first, discount badge second. */
.pxc-cart-badges .product-labels,
.pxc-order-line__badges .product-labels {
	display: flex !important;
	flex-wrap: wrap;
	gap: 6px;
}

.pxc-cart-badges .product-labels > *,
.pxc-order-line__badges .product-labels > * {
	order: 1;
	margin: 0 !important;
}

.pxc-cart-badges .product-labels .onsale,
.pxc-order-line__badges .product-labels .onsale {
	order: 2;
}

/* Drawer footer: "Subtotal (1 item)" + amount on one row, VAT note below. */
.cart-widget-side .woocommerce-mini-cart__total {
	display: block;
	margin-bottom: 18px;
}

.pxc-mini-total {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	gap: 2px 12px;
}

.pxc-mini-total__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #000;
}

.pxc-mini-total__value {
	text-align: right;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 20px;
	color: #000;
}

.pxc-mini-total__value .amount,
.pxc-mini-total__value bdi {
	color: inherit !important;
}

.pxc-mini-total__vat {
	grid-column: 2;
	text-align: right;
	font-size: 11px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

/* Order pages: badges row, dealer pricing bar, totals colours. */
.pxc-order-line__badges {
	margin-bottom: 8px;
}

.pxc-order-details__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 8px;
}

.pxc-order-details__head .pxc-card__title {
	margin: 0;
}

.pxc-dealer-bar {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	background: rgba(30, 122, 70, .08);
	border: 1px solid rgba(30, 122, 70, .18);
	font-size: 13px;
	color: #1d2327;
}

.pxc-dealer-bar__check {
	display: inline-flex;
	color: var(--pxc-save-green);
}

.pxc-dealer-bar__tag {
	padding-left: 10px;
	border-left: 1px solid rgba(0, 0, 0, .15);
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-order-totals__row--order_total .pxc-order-totals__value,
.pxc-order-totals__row--order_total .pxc-order-totals__value .amount {
	color: #000 !important;
}

.pxc-order-line__price {
	font-size: 17px;
}

/* Checkout terms checkbox (client mock-up: gold tick). */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	line-height: 1.5;
	text-transform: none;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0 !important;
	accent-color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-terms-link {
	color: #000;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Checkout summary lines: struck + paid price first, "You save" underneath. */
.wd-checkout-prod-total > .pxc-cart-price { order: 1; }
.wd-checkout-prod-total > .pxc-line-save { order: 2; }

/* Terms line: the required star right after the text, not pushed to the edge. */
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	flex-wrap: nowrap;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text {
	flex: 0 1 auto;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox .required {
	margin-left: -6px;
	align-self: flex-start;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox abbr.required {
	display: none !important;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text::after {
	content: " *";
	color: var(--pxc-discount-red);
}

/* Dealer bar, smaller (user 2026-10-11). */
.pxc-dealer-bar {
	gap: 8px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.3;
}

.pxc-dealer-bar__check svg {
	width: 14px;
	height: 14px;
}

.pxc-dealer-bar__tag {
	padding-left: 8px;
	font-size: 10px;
}

/* Mobile: line prices stacked like desktop (struck, price, "You save"). */
@media (max-width: 768px) {
	.pxc-order-line__total {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: 2px !important;
	}

	.pxc-order-line__total .pxc-line-save {
		margin-top: 2px;
	}
}

.pxc-dealer-bar {
	gap: 7px;
	padding: 4px 9px;
	font-size: 11px;
}

.pxc-dealer-bar__check svg {
	width: 13px;
	height: 13px;
}

.pxc-dealer-bar__tag {
	padding-left: 7px;
	font-size: 9px;
	letter-spacing: .1em;
}

@media (max-width: 768px) {
	.pxc-dealer-bar__tag {
		display: none;
	}
}

.pxc-order-details__head {
	margin-bottom: 20px;
}

/* Thank-you "What happens next" steps (client mock-up 2026-10-11). */
.pxc-order-next {
	display: block;
}

.pxc-order-next .pxc-card__title {
	margin-bottom: 14px;
}

.pxc-order-steps {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pxc-order-steps__item {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-gray-700, #555);
}

.pxc-order-steps__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #fff;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-order-steps__icon .pxc-order__icon {
	width: 20px;
	height: 20px;
}

.pxc-btn-whatsapp {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
}

.pxc-btn-whatsapp .pxc-order__icon {
	width: 16px;
	height: 16px;
}

/* Register form: Individual / Business switch. */
.pxc-account-type {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin: 0 0 20px;
	padding: 4px;
	border: 0;
	background: #f2f2f2;
}

.pxc-account-type__option {
	position: relative;
	margin: 0 !important;
	cursor: pointer;
}

.pxc-account-type__option input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.pxc-account-type__option span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid transparent;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 11px;
	line-height: 1;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.pxc-account-type__option span svg {
	flex: 0 0 auto;
}

.pxc-account-type__option:hover span {
	color: #000;
}

.pxc-account-type__option input:checked + span {
	border-color: var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
	color: #000;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06);
}

.pxc-account-type__option input:checked + span svg {
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-account-type__option input:focus-visible + span {
	outline: 2px solid #000;
	outline-offset: 1px;
}

.pxc-account-type__hint {
	margin: -6px 0 16px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-gray-500, #767676);
}

.pxc-reg-help {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	color: var(--color-gray-500, #767676);
}

/* Checkout vehicle block. */
.pxc-vehicle {
	margin: 24px 0 8px;
	padding-top: 20px;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-vehicle__title {
	margin: 0 0 14px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.pxc-vehicle__optional {
	font-family: var(--wd-text-font, inherit);
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
	color: var(--color-gray-500, #767676);
}

.pxc-vehicle select:disabled {
	opacity: .55;
}

.pxc-vehicle__other[hidden] {
	display: none !important;
}

/* Vehicle line on the thank-you page / View order. */
.pxc-order-vehicle {
	margin-top: 16px;
	padding: 12px 16px;
	background: var(--gray-100, #f4f4f4);
	font-size: 14px;
}

.pxc-order-vehicle__label {
	display: block;
	margin-bottom: 2px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

/* Register form: every left-hand field starts a new row, so a taller field
   (ICE with its note) can't push the next pair out of line. */
.pxc-auth form.register .form-row-first,
form.woocommerce-form-register .form-row-first {
	clear: left;
}

form.woocommerce-form-register .form-row-wide {
	clear: both;
}

/* ---------- Product enquiry: card on the product page + drawer ---------- */

.pxc-enquiry-card {
	margin: 24px 0;
	padding: 22px 24px;
	border: 1px solid var(--wd-alternative-color, rgb(192, 154, 94));
	background: #f7f7f7;
}

.pxc-enquiry-card__title {
	margin: 0 0 6px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 16px;
	line-height: 1.3;
	text-transform: uppercase;
}

.pxc-enquiry-card__text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--color-gray-500, #767676);
}

.pxc-enquiry-card__btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-start !important; /* The theme centers button text: wrapped on mobile it looked centered. */
	text-align: left !important;
	gap: 8px;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: #000 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
	text-align: left;
	transition: opacity .2s ease;
}

.pxc-enquiry-card__btn:hover,
.pxc-enquiry-card__btn:focus-visible {
	opacity: .65;
}

.pxc-enquiry-card__btn .pxc-order__icon {
	flex: 0 0 auto;
	fill: none !important; /* Outline icon (a theme / editor rule filled it as a solid block). */
	color: var(--wd-alternative-color, rgb(192, 154, 94));
	width: 18px;
	height: 18px;
}

/* Lock the page on <html> only: overflow on <body> breaks sticky elements
   (the product gallery jumps out of view while the enquiry panel is open). */
html.pxc-enquiry-open {
	overflow: hidden;
	scrollbar-gutter: stable;
}

.pxc-enquiry {
	position: fixed;
	inset: 0;
	z-index: 100000;
}

.pxc-enquiry[hidden] {
	display: none;
}

.pxc-enquiry__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	opacity: 0;
	transition: opacity .25s ease;
}

.pxc-enquiry__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 460px;
	max-width: 100%;
	overflow-y: auto;
	background: #fff;
	transform: translateX(100%);
	transition: transform .25s ease;
}

.pxc-enquiry.is-open .pxc-enquiry__overlay { opacity: 1; }
.pxc-enquiry.is-open .pxc-enquiry__panel { transform: none; }

.pxc-enquiry__head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
}

.pxc-enquiry__title {
	margin: 0;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 18px;
	text-transform: uppercase;
}

.pxc-enquiry__close {
	display: inline-flex;
	padding: 4px !important;
	min-height: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #000 !important;
	cursor: pointer;
}

.pxc-enquiry__body {
	padding: 20px 24px 28px;
}

.pxc-enquiry__intro {
	margin: 0 0 16px;
	font-size: 14px;
	color: var(--color-gray-500, #767676);
}

.pxc-enquiry__product {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-bottom: 20px;
	padding: 12px;
	background: var(--gray-100, #f4f4f4);
}

.pxc-enquiry__product img {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	object-fit: cover;
	background: #fff;
}

.pxc-enquiry__product-name {
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 13px;
	line-height: 1.4;
	text-transform: uppercase;
}

.pxc-enquiry__product-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 12px;
	margin-top: 4px;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

.pxc-enquiry__product-meta [hidden] {
	display: none;
}

.pxc-enquiry__form .form-row {
	margin-bottom: 14px;
	padding: 0;
	width: 100%;
	float: none;
}

.pxc-enquiry__form textarea {
	min-height: 120px;
	resize: vertical;
}

.pxc-enquiry__trap {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.pxc-enquiry__error {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-left: 3px solid var(--pxc-discount-red);
	background: rgba(255, 0, 0, .05);
	font-size: 13px;
}

.pxc-enquiry__submit {
	width: 100%;
	margin-top: 4px !important;
}

.pxc-enquiry__privacy {
	margin: 10px 0 0;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
	text-align: center;
}

.pxc-enquiry__done {
	padding-top: 56px;
	text-align: center;
}

.pxc-enquiry__done .pxc-order__icon {
	width: 56px;
	height: 56px;
	margin: 0 auto 18px;
	color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-enquiry__done-title {
	margin: 0 0 8px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 22px;
	text-transform: uppercase;
}

.pxc-enquiry__done-text {
	margin: 0 auto 24px;
	max-width: 320px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--color-gray-500, #767676);
}

.pxc-enquiry__done .button {
	width: 100%;
}

.pxc-enquiry__link {
	display: inline-block;
	margin-top: 16px;
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 768px) {
	.pxc-enquiry__panel {
		width: 100%;
	}

	.pxc-enquiry-card {
		padding: 20px;
	}
}

/* ---------- Dropdowns: grey text while the empty "Select ..." option is chosen (checkout, sign-up, account, vehicle) ---------- */

:root {
	--pxc-placeholder-color: #8c8c8c;
}

select:has(> option[value=""]:checked) {
	color: var(--pxc-placeholder-color);
}

select:has(> option[value=""]:checked) option:not([value=""]) {
	color: var(--wd-form-color, #000);
}

.select2-container .select2-selection__placeholder {
	color: var(--pxc-placeholder-color) !important;
}

/* ---------- Legal links popup (terms checkbox, privacy notices) ---------- */

/* Lock the page on <html> only: overflow on <body> breaks sticky elements
   (the product gallery jumps out of view while the legal panel is open). */
html.pxc-legal-open {
	overflow: hidden;
	scrollbar-gutter: stable;
}

.pxc-legal {
	position: fixed;
	inset: 0;
	z-index: 100001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.pxc-legal[hidden] {
	display: none;
}

.pxc-legal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	opacity: 0;
	transition: opacity .2s ease;
}

.pxc-legal__panel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 760px;
	max-width: 100%;
	max-height: min(80vh, 820px);
	background: #fff;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .2s ease, transform .2s ease;
}

.pxc-legal.is-open .pxc-legal__overlay { opacity: 1; }
.pxc-legal.is-open .pxc-legal__panel { opacity: 1; transform: none; }

.pxc-legal__head {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 24px;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-legal__title {
	margin: 0;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 18px;
	line-height: 1.3;
	text-transform: uppercase;
}

.pxc-legal__close {
	display: inline-flex;
	flex: 0 0 auto;
	padding: 4px !important;
	min-height: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #000 !important;
	cursor: pointer;
}

.pxc-legal__body {
	overflow-y: auto;
	padding: 24px;
	font-size: 14px;
	line-height: 1.7;
	outline: 0;
}

.pxc-legal__body > :first-child,
.pxc-legal__body .elementor-widget-container > :first-child {
	margin-top: 0;
}

.pxc-legal__loading {
	color: var(--color-gray-500, #767676);
}

@media (max-width: 768px) {
	.pxc-legal {
		align-items: stretch;
		padding: 0;
	}

	.pxc-legal__panel {
		max-height: none;
		height: 100%;
	}
}

.pxc-legal__body h1,
.pxc-legal__body h2 {
	margin: 24px 0 8px;
	font-size: 18px;
	line-height: 1.35;
}

.pxc-legal__body h3,
.pxc-legal__body h4 {
	margin: 20px 0 6px;
	font-size: 16px;
	line-height: 1.4;
}

.pxc-legal__body p {
	margin-bottom: 12px;
}

/* Register form terms checkbox (terms-consent.php), same look as the checkout one. */
.pxc-reg-terms {
	margin: 6px 0 24px;
}

.pxc-reg-terms .woocommerce-form__label-for-checkbox {
	display: flex !important;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
}

.pxc-reg-terms input[type="checkbox"] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0 !important;
	accent-color: var(--wd-alternative-color, rgb(192, 154, 94));
}

.pxc-reg-terms__text::after {
	content: " *";
	color: var(--pxc-discount-red);
}

/* Product labels everywhere (product page, cards, carts, orders): "Official
   product" first, the discount badge after it and only as wide as its text
   (the theme fixes it at 50px). */
.product-labels .attribute-label {
	order: -1;
}

.product-labels .onsale {
	width: auto !important;
	min-width: 0 !important;
}

/* Enquiry form: placeholders in light grey (the theme shows them black). */
.pxc-enquiry__form ::placeholder {
	color: var(--pxc-placeholder-color, #8c8c8c);
	opacity: 1;
}

/* ---------- Floating Chat / Contact buttons (floating-cta.php), as on luxurymotors.ma ---------- */

.pxc-floating-cta {
	position: fixed;
	right: 0;
	bottom: 250px;
	z-index: 399; /* Under the theme's drawer overlay (400) and drawers (500): an open cart / menu covers the buttons. */
	display: flex;
	gap: 5px;
	transform: rotate(-90deg);
	transform-origin: right bottom;
}

.pxc-floating-cta__btn {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	background: rgba(0, 0, 0, .78);
	font-family: var(--px-font-main, "LUXURY AV"), "Instrument Sans", Arial, Helvetica, sans-serif;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	color: #fff !important;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .25em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background .3s ease, transform .3s ease;
}

.pxc-floating-cta__btn--chat {
	background: var(--wd-alternative-color, #c09a5e);
}

.pxc-floating-cta__btn:hover,
.pxc-floating-cta__btn:focus-visible {
	background: #000;
	color: #fff;
	transform: translateY(3px);
}

.pxc-floating-cta__btn--chat:hover,
.pxc-floating-cta__btn--chat:focus-visible {
	background: var(--wd-alternative-color, #c09a5e);
}

.pxc-floating-cta__btn .pxc-order__icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

@media (max-width: 1024px) {
	.pxc-floating-cta__btn {
		padding: 9px 12px;
		font-size: 9px;
	}
}

/* See-through with a blur (content behind stays readable on mobile). Contact is
   light with black text, black with white text on hover; Chat stays gold. The
   extra .pxc-floating-cta in the selectors outranks the site's Additional CSS. */
.pxc-floating-cta .pxc-floating-cta__btn {
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
}

.pxc-floating-cta .pxc-floating-cta__btn:not(.pxc-floating-cta__btn--chat) {
	background: rgba(249, 249, 249, .45);
	color: #000 !important;
}

.pxc-floating-cta .pxc-floating-cta__btn:not(.pxc-floating-cta__btn--chat):hover,
.pxc-floating-cta .pxc-floating-cta__btn:not(.pxc-floating-cta__btn--chat):focus-visible {
	background: rgba(0, 0, 0, .85);
	color: #fff !important;
}

.pxc-floating-cta .pxc-floating-cta__btn--chat,
.pxc-floating-cta .pxc-floating-cta__btn--chat:hover,
.pxc-floating-cta .pxc-floating-cta__btn--chat:focus-visible {
	background: rgba(192, 154, 94, .7);
}

@media print {
	.pxc-floating-cta {
		display: none;
	}
}

/* ---------- Price on request (price-on-request.php) ---------- */

.pxc-por {
	color: var(--color-gray-800, #333);
	font-weight: 600;
	letter-spacing: .02em;
	white-space: nowrap;
}

.price .pxc-por,
.wd-product .price .pxc-por {
	font-size: inherit;
}

.pxc-por-note td,
p.pxc-por-note {
	padding-top: 6px !important;
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-gray-500, #767676);
	text-align: start;
}

p.pxc-por-note--drawer {
	margin: 0 0 12px;
}

/* ---------- "Choose your options" sheet (options-sheet.php): pop-up on desktop, bottom sheet on mobile ---------- */

html.pxc-opts-open {
	overflow: hidden;
	scrollbar-gutter: stable;
}

.pxc-opts {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pxc-opts[hidden] {
	display: none;
}

.pxc-opts__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .55);
	opacity: 0;
	transition: opacity .25s ease;
}

.pxc-opts__panel {
	position: relative;
	width: 480px;
	max-width: calc(100% - 32px);
	max-height: min(85vh, 760px);
	overflow-y: auto;
	padding: 0 24px 24px;
	background: #fff;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .25s ease, transform .25s ease;
	outline: 0;
}

.pxc-opts.is-open .pxc-opts__backdrop { opacity: 1; }
.pxc-opts.is-open .pxc-opts__panel { opacity: 1; transform: none; }

.pxc-opts__handle {
	display: none;
}

.pxc-opts__head {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 -24px 20px;
	padding: 18px 24px;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	background: #fff;
}

.pxc-opts__heading {
	margin: 0;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 16px;
	text-transform: uppercase;
}

.pxc-opts__close {
	display: inline-flex;
	padding: 6px !important;
	min-height: 0 !important;
	border: 0 !important;
	background: none !important;
	color: #000 !important;
	cursor: pointer;
}

.pxc-opts__product {
	display: flex;
	gap: 14px;
	align-items: center;
	margin-bottom: 20px;
	padding: 12px;
	background: var(--gray-100, #f4f4f4);
}

.pxc-opts__product img {
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	object-fit: cover;
	background: #fff;
}

.pxc-opts__title {
	margin: 0 0 4px;
	font-family: var(--px-font-main, "LUXURY AV", sans-serif);
	font-size: 13px;
	line-height: 1.4;
	text-transform: uppercase;
}

.pxc-opts__price,
.pxc-opts__price .price {
	margin: 0;
	font-size: 14px;
}

.pxc-opts__price .woocommerce-price-suffix,
.pxc-opts__optprice .woocommerce-price-suffix {
	display: none;
}

.pxc-opts__label {
	margin: 0 0 8px;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--color-gray-500, #767676);
}

.pxc-opts__list {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-opts__list li {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-opts__opt {
	display: flex !important;
	align-items: center;
	gap: 12px;
	width: 100%;
	min-height: 56px !important;
	padding: 10px 4px !important;
	border: 0 !important;
	background: none !important;
	color: #000 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-align: start;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
}

.pxc-opts__opt:hover:not([disabled]),
.pxc-opts__opt:focus-visible {
	background: var(--gray-100, #f4f4f4) !important;
}

.pxc-opts__opt img {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	object-fit: cover;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
}

.pxc-opts__name {
	flex: 1;
	text-align: start;
}

.pxc-opts__opt {
	justify-content: flex-start !important;
}

.pxc-opts__optprice {
	font-size: 13px;
	white-space: nowrap;
}

.pxc-opts__opt[disabled] {
	color: var(--color-gray-400, #aaa) !important;
	cursor: not-allowed;
}

.pxc-opts__na {
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

/* Several option types: compact choices. */
.pxc-opts__list--chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	border: 0;
}

.pxc-opts__list--chips li {
	border: 0;
}

.pxc-opts__list--chips .pxc-opts__opt {
	width: auto;
	min-height: 40px !important;
	padding: 8px 14px !important;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105)) !important;
}

/* Several option types, options with pictures (theme swatches): image cards. */
.pxc-opts__list--swatches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 10px;
	border: 0;
}

.pxc-opts__list--swatches li {
	border: 0;
}

.pxc-opts__list--swatches .pxc-opts__opt {
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
	height: 100%;
	padding: 8px !important;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105)) !important;
	text-align: center;
}

.pxc-opts__list--swatches .pxc-opts__opt img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border: 0;
}

.pxc-opts__list--swatches .pxc-opts__name {
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
}

.pxc-opts__list--swatches .pxc-opts__opt.is-selected,
.pxc-opts__opt.is-selected,
.pxc-opts__list--chips .pxc-opts__opt.is-selected {
	border-color: #000 !important;
	box-shadow: inset 0 0 0 1px #000;
}

.pxc-opts__rowprice {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	color: var(--color-gray-500, #767676);
}

.pxc-opts__rowprice .woocommerce-price-suffix {
	display: none !important;
}

.pxc-opts__rowprice .price,
.pxc-opts__rowprice .amount,
.pxc-opts__rowprice bdi {
	font-size: inherit !important;
	font-weight: 400 !important;
	color: inherit !important;
}

/* Add action (Keeko pattern): "Add to list +", "Adding" + spinner, "Added" + check. */
.pxc-opts__action {
	display: inline-flex;
	align-items: center;
	margin-inline-start: auto;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pxc-opts__act {
	display: none;
	align-items: center;
	gap: 8px;
}

.pxc-opts__act--idle,
.is-loading > .pxc-opts__action > .pxc-opts__act--adding,
.is-added > .pxc-opts__action > .pxc-opts__act--added,
.pxc-opts__confirm.is-loading > .pxc-opts__act--adding,
.pxc-opts__confirm.is-added > .pxc-opts__act--added {
	display: inline-flex;
}

.is-loading > .pxc-opts__action > .pxc-opts__act--idle,
.is-added > .pxc-opts__action > .pxc-opts__act--idle,
.pxc-opts__confirm.is-loading > .pxc-opts__act--idle,
.pxc-opts__confirm.is-added > .pxc-opts__act--idle {
	display: none;
}

.pxc-opts__confirm {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}

.pxc-opts__row.is-loading,
.pxc-opts__row.is-added,
.pxc-opts__confirm.is-loading,
.pxc-opts__confirm.is-added {
	pointer-events: none;
}

.pxc-opts__row.is-loading,
.pxc-opts__row.is-added {
	background: var(--gray-100, #f4f4f4) !important;
}

.pxc-opts__spin {
	animation: pxc-opts-spin .8s linear infinite;
}

.pxc-opts__act--added svg {
	animation: pxc-opts-pop .3s ease-out;
}

@keyframes pxc-opts-spin { to { transform: rotate(360deg); } }
@keyframes pxc-opts-pop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
	.pxc-opts__spin,
	.pxc-opts__act--added svg { animation: none; }
}

.pxc-opts__msg {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--pxc-discount-red, #e00);
}

.pxc-opts__confirm {
	width: 100%;
}

@media (max-width: 767px) {
	.pxc-opts {
		align-items: flex-end;
	}

	.pxc-opts__panel {
		width: 100%;
		max-width: 100%;
		max-height: 85vh;
		padding: 0 20px calc(20px + env(safe-area-inset-bottom));
		opacity: 1;
		transform: translateY(100%);
	}

	.pxc-opts.is-open .pxc-opts__panel {
		transform: none;
	}

	.pxc-opts__handle {
		display: block;
		width: 40px;
		height: 4px;
		margin: 10px auto 0;
		background: var(--brdcolor-gray-300, #ddd);
	}

	.pxc-opts__head {
		margin: 0 -20px 16px;
		padding: 12px 20px 14px;
	}
}

/* Required-fields note (required-note.php). */
.pxc-required-note {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 14px !important;
	font-size: 12px;
	line-height: 1.5;
	color: var(--color-gray-500, #767676);
	text-transform: none;
	letter-spacing: 0;
}

.pxc-required-note .required {
	position: static;
	top: auto;
	vertical-align: baseline;
	font-size: inherit;
	color: var(--pxc-discount-red, #e00);
	text-decoration: none;
	border: 0;
}

/* Customer ID in My Account (customer-ids.php). */
.pxc-customer-id {
	display: inline-block;
	margin: 0 0 20px;
	padding: 8px 14px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, .105));
	font-size: 13px;
	color: var(--color-gray-500, #767676);
}

.pxc-customer-id strong {
	margin-inline-start: 6px;
	color: #000;
	letter-spacing: .04em;
}
