/* Product UI — Off-Canvas Cart, Cart & Checkout */

body.pui-active {
	--pui-gold: var(--pui-accent, #C0C0C0);
	--pui-gold-hover: var(--pui-accent, #C0C0C0);
	--pui-cart-bg: #0a0a0a;
	--pui-cart-panel: #111111;
	--pui-cart-border: rgba(255, 255, 255, 0.1);
}

/* Hide "View cart" on product cards */
body.pui-active .pui-product-card a.added_to_cart,
body.pui-active .pui-product-card a.wc-forward:not(.pui-add-to-cart),
body.pui-active .pui-product-card__footer a.added_to_cart,
body.pui-active .pui-product-card__actions a.added_to_cart,
body.pui-active .pui-widget a.added_to_cart,
body.pui-active .pui-shop-widget a.added_to_cart,
body.pui-active .pui-product-grid-wrap a.added_to_cart {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	pointer-events: none !important;
	opacity: 0 !important;
}

/* Hide Continue Shopping / Return to Shop buttons */
body.pui-active .return-to-shop,
body.pui-active a.wc-backward,
body.pui-active .continue-shopping,
body.pui-active .woocommerce-cart .return-to-shop,
body.pui-active .woocommerce-checkout .return-to-shop,
body.pui-active .pui-offcanvas .return-to-shop,
body.pui-active .pui-offcanvas a.wc-backward,
body.pui-active .widget_shopping_cart_content a.wc-backward,
body.pui-active .woocommerce-message a.wc-forward:not(.added_to_cart),
body.pui-active .woocommerce-info a.wc-backward {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* Remove WooCommerce / theme blue accents site-wide */
body.pui-active .woocommerce a.button,
body.pui-active .woocommerce button.button,
body.pui-active .woocommerce input.button,
body.pui-active .woocommerce #respond input#submit,
body.pui-active .woocommerce a.button.alt,
body.pui-active .widget_shopping_cart_content a.button,
body.pui-active .pui-offcanvas a.button,
body.pui-active .pui-offcanvas .button,
body.pui-active.pui-cart-page .woocommerce a.button,
body.pui-active.pui-checkout-page .woocommerce a.button,
body.pui-active.pui-checkout-page #place_order {
	background-color: var(--pui-gold, #C0C0C0) !important;
	border-color: var(--pui-gold, #C0C0C0) !important;
	color: #fff !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

body.pui-active .woocommerce a.button:hover,
body.pui-active .woocommerce button.button:hover,
body.pui-active .woocommerce input.button:hover,
body.pui-active.pui-checkout-page #place_order:hover {
	background-color: var(--pui-gold-hover, #C0C0C0) !important;
	border-color: var(--pui-gold-hover, #C0C0C0) !important;
	color: #fff !important;
}

body.pui-active .woocommerce-info,
body.pui-active .woocommerce-message {
	border-top-color: var(--pui-gold, #C0C0C0) !important;
	background-color: rgba(192,192,192, 0.08) !important;
	color: #fff !important;
}

body.pui-active .woocommerce-info::before,
body.pui-active .woocommerce-message::before {
	color: var(--pui-gold, #C0C0C0) !important;
}

body.pui-active .woocommerce-error {
	border-top-color: #c0392b !important;
}

body.pui-active.pui-single-enabled .woocommerce a:not(.button):not(.pui-add-to-cart) {
	color: var(--pui-accent, #C0C0C0);
}

body.pui-active.pui-single-enabled .woocommerce a:not(.button):not(.pui-add-to-cart):hover {
	opacity: .85;
}

body.pui-active .pui-offcanvas a:not(.button):not(.remove),
body.pui-active.pui-cart-page .woocommerce a:not(.button):not(.remove),
body.pui-active.pui-checkout-page .woocommerce a:not(.button):not(.remove) {
	color: #fff;
}

body.pui-active .pui-offcanvas a:not(.button):not(.remove):hover,
body.pui-active.pui-cart-page .woocommerce a:not(.button):not(.remove):hover {
	color: var(--pui-gold, #C0C0C0);
}

/* Off-Canvas Panel */
body.pui-active .pui-offcanvas__panel {
	background: var(--pui-cart-panel, #111);
	color: #fff;
	border-left: 1px solid var(--pui-cart-border);
	overflow-x: hidden;
}

body.pui-active .pui-offcanvas__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 24px;
	border-bottom: 1px solid var(--pui-cart-border);
	background: #0a0a0a;
}

body.pui-active .pui-offcanvas__title {
	margin: 0;
	font-family: var(--pui-font-title, "Montserrat", system-ui, sans-serif);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #ffffff !important;
	text-shadow: none !important;
	filter: none !important;
	-webkit-text-stroke: 0 !important;
	background: none !important;
	-webkit-background-clip: unset !important;
	background-clip: unset !important;
}

body.pui-active .pui-offcanvas__title,
body.pui-active .pui-offcanvas__title * {
	color: #ffffff !important;
}

body.pui-active .pui-offcanvas__header h2,
body.pui-active .pui-offcanvas__header .pui-offcanvas__title {
	color: #ffffff !important;
	text-shadow: none !important;
}

body.pui-active .pui-offcanvas__close {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	background: transparent;
	color: #fff !important;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

body.pui-active .pui-offcanvas__close:hover {
	border-color: var(--pui-gold, #C0C0C0);
	color: var(--pui-gold, #C0C0C0) !important;
	background: rgba(192,192,192, 0.08);
}

body.pui-active .pui-offcanvas__body {
	padding: 0;
	display: flex;
	flex-direction: column;
	overflow-x: hidden;
	min-height: 0;
}

body.pui-active .pui-offcanvas__body .widget_shopping_cart_content {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow-x: hidden;
	max-width: 100%;
}

/* Mini Cart Items */
body.pui-active .pui-offcanvas .woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 8px 20px 16px;
	flex: 1;
	overflow-x: hidden;
	max-width: 100%;
	box-sizing: border-box;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item {
	padding: 0;
	border: none !important;
	border-bottom: 1px solid var(--pui-cart-border);
	margin: 0;
	list-style: none;
	background: transparent !important;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:last-child {
	border-bottom: 0;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item {
	position: relative;
	overflow: visible;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr) 32px;
	gap: 12px;
	align-items: start;
	padding: 18px 0;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	background: transparent !important;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__media {
	flex-shrink: 0;
	position: relative;
	z-index: 2;
	width: 72px;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__media a {
	display: block;
	line-height: 0;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__media img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	display: block;
	border: none !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__body {
	min-width: 0;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	position: relative;
	z-index: 3;
	overflow: hidden;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__title {
	display: block;
	color: #fff !important;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none !important;
	word-break: break-word;
	overflow-wrap: anywhere;
	max-width: 100%;
	padding-right: 4px;
}

body.pui-active .pui-offcanvas a.pui-mini-cart-row__title:hover {
	color: var(--pui-gold, #C0C0C0) !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__body .quantity {
	display: none !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__price {
	font-size: 0.875rem;
	color: var(--pui-gold, #C0C0C0);
	margin-top: 4px;
}

body.pui-active .pui-offcanvas .pui-mini-cart-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid rgba(255, 255, 255, 0.2);
	margin-top: 8px;
	max-width: 120px;
	position: relative;
	z-index: 5;
	isolation: isolate;
	overflow: hidden;
}

body.pui-active .pui-offcanvas .pui-mini-cart-qty__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	color: #fff !important;
	cursor: pointer;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	width: 34px !important;
	min-width: 34px !important;
	height: 34px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
	transition: color 0.2s ease, background-color 0.2s ease;
}

body.pui-active .pui-offcanvas .pui-mini-cart-qty__btn:hover {
	color: var(--pui-gold, #C0C0C0) !important;
	background: rgba(192,192,192, 0.1) !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-qty__input {
	-moz-appearance: textfield;
	-webkit-appearance: none !important;
	appearance: textfield !important;
	box-sizing: border-box !important;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	line-height: 34px !important;
	height: 34px !important;
	min-height: 0 !important;
	text-align: center !important;
	width: 40px !important;
	min-width: 40px !important;
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-qty__input::-webkit-outer-spin-button,
body.pui-active .pui-offcanvas .pui-mini-cart-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__body dl.variation {
	margin: 0;
	font-size: 0.75rem;
	color: rgba(255, 255, 255, 0.5);
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__remove {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	position: relative;
	z-index: 4;
	width: 32px;
	flex-shrink: 0;
	pointer-events: auto;
}

/* Kill theme absolute remove overlays that cover the whole cart row */
body.pui-active .pui-offcanvas .woocommerce-mini-cart-item > a.remove:not(.pui-mini-cart-remove),
body.pui-active .pui-offcanvas .woocommerce-mini-cart-item > .remove:not(.pui-mini-cart-remove) {
	display: none !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__remove .remove,
body.pui-active .pui-offcanvas .pui-mini-cart-row__remove .pui-mini-cart-remove,
body.pui-active .pui-offcanvas .woocommerce-mini-cart-item .pui-mini-cart-remove {
	position: static !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	float: none !important;
	inset: auto !important;
	width: 28px !important;
	height: 28px !important;
	max-width: 28px !important;
	max-height: 28px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.75) !important;
	font-size: 1.125rem;
	line-height: 1;
	text-decoration: none !important;
	background: transparent !important;
	opacity: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	pointer-events: auto !important;
}

body.pui-active .pui-offcanvas .pui-mini-cart-row__remove .remove:hover,
body.pui-active .pui-offcanvas .pui-mini-cart-row__remove .pui-mini-cart-remove:hover {
	color: var(--pui-gold, #C0C0C0) !important;
	border-color: var(--pui-gold, #C0C0C0) !important;
	background: transparent !important;
}

/* Legacy WC markup fallback */
body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:not(:has(.pui-mini-cart-row)) {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) 32px;
	gap: 16px;
	align-items: center;
	padding: 18px 0;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:not(:has(.pui-mini-cart-row)) > a:not(.remove) {
	grid-column: 2;
	display: block;
	color: #fff !important;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:not(:has(.pui-mini-cart-row)) img {
	grid-column: 1;
	grid-row: 1 / 3;
	width: 80px;
	height: 80px;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:not(:has(.pui-mini-cart-row)) .quantity {
	grid-column: 2;
	margin: 0;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart-item:not(:has(.pui-mini-cart-row)) .remove {
	grid-column: 3;
	grid-row: 1;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__total {
	padding: 18px 24px;
	margin: 0;
	border-top: 1px solid var(--pui-cart-border);
	font-size: 0.9375rem;
	color: rgba(255, 255, 255, 0.75);
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__total strong {
	color: #fff;
	font-weight: 600;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__total .amount {
	color: var(--pui-gold, #C0C0C0);
	font-weight: 600;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__empty-message {
	padding: 48px 24px;
	text-align: center;
	color: rgba(255, 255, 255, 0.5);
	margin: 0;
}

/* Mini Cart Buttons */
body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	padding: 16px 24px 24px;
	margin: 0;
	border-top: 1px solid var(--pui-cart-border);
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons .button,
body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 16px !important;
	margin: 0 !important;
	border: 1px solid var(--pui-gold, #C0C0C0) !important;
	background: var(--pui-gold, #C0C0C0) !important;
	color: #0a0a0a !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	line-height: 1.2 !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons .button:hover,
body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons a.button:hover {
	background: var(--pui-gold-hover, #C0C0C0) !important;
	border-color: var(--pui-gold-hover, #C0C0C0) !important;
	color: #0a0a0a !important;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons .checkout {
	background: var(--pui-gold, #C0C0C0) !important;
	color: #0a0a0a !important;
	border-color: var(--pui-gold, #C0C0C0) !important;
}

body.pui-active .pui-offcanvas .woocommerce-mini-cart__buttons .checkout:hover {
	background: var(--pui-gold-hover, #C0C0C0) !important;
	border-color: var(--pui-gold-hover, #C0C0C0) !important;
	color: #0a0a0a !important;
}

/* Cart & Checkout — full width, centered (hide empty theme sidebar) */
body.pui-active.pui-no-sidebar #secondary,
body.pui-active.pui-no-sidebar .sidebar,
body.pui-active.pui-no-sidebar aside.widget-area,
body.pui-active.pui-no-sidebar .site-sidebar,
body.pui-active.pui-no-sidebar .content-sidebar {
	display: none !important;
	width: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.pui-active.pui-no-sidebar #primary,
body.pui-active.pui-no-sidebar .site-main,
body.pui-active.pui-no-sidebar .content-area {
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.pui-active.pui-no-sidebar #content > .ast-container,
body.pui-active.pui-no-sidebar .ast-container,
body.pui-active.pui-no-sidebar .site-content .ast-container {
	display: block !important;
	max-width: 1140px !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 20px;
	padding-right: 20px;
}

body.pui-active.pui-no-sidebar.ast-left-sidebar #primary,
body.pui-active.pui-no-sidebar.ast-right-sidebar #primary,
body.pui-active.pui-no-sidebar.ast-left-sidebar #content,
body.pui-active.pui-no-sidebar.ast-right-sidebar #content {
	margin: 0 auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (min-width: 922px) {
	body.pui-active.pui-no-sidebar.ast-left-sidebar #secondary,
	body.pui-active.pui-no-sidebar.ast-right-sidebar #secondary {
		display: none !important;
	}

	body.pui-active.pui-no-sidebar.ast-left-sidebar #primary,
	body.pui-active.pui-no-sidebar.ast-right-sidebar #primary {
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Cart Page */
body.pui-active.pui-cart-page,
body.pui-active.pui-checkout-page {
	background: var(--pui-cart-bg, #0a0a0a);
}

body.pui-active.pui-cart-page .woocommerce,
body.pui-active.pui-checkout-page .woocommerce {
	color: #fff;
}

body.pui-active.pui-cart-page .woocommerce-cart .woocommerce {
	max-width: 1100px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 32px 20px 60px;
}

body.pui-active.pui-cart-page .woocommerce-cart-form,
body.pui-active.pui-cart-page .cart-collaterals {
	max-width: 1100px;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table {
	background: var(--pui-cart-panel, #111);
	border: 1px solid var(--pui-cart-border);
	border-collapse: collapse;
	color: #fff;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table th,
body.pui-active.pui-cart-page .woocommerce table.shop_table td {
	border-color: var(--pui-cart-border) !important;
	padding: 16px 18px;
	color: #fff !important;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table thead,
body.pui-active.pui-cart-page .woocommerce table.shop_table thead tr,
body.pui-active.pui-cart-page .woocommerce table.shop_table th {
	background-color: #0a0a0a !important;
	background-image: none !important;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table th {
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #C0C0C0 !important;
	border-bottom: 1px solid var(--pui-cart-border) !important;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table .product-name,
body.pui-active.pui-cart-page .woocommerce table.shop_table .product-name a {
	color: #fff !important;
}

body.pui-active.pui-cart-page .woocommerce table.shop_table .product-name a:hover {
	color: var(--pui-gold, #C0C0C0);
}

body.pui-active.pui-cart-page .woocommerce table.shop_table .product-thumbnail img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border: 1px solid var(--pui-cart-border);
}

body.pui-active.pui-cart-page .woocommerce table.shop_table .amount {
	color: var(--pui-gold, #C0C0C0);
}

body.pui-active.pui-cart-page .woocommerce .quantity .qty {
	background: #0a0a0a;
	border: 1px solid var(--pui-cart-border);
	color: #fff;
	padding: 8px 10px;
	min-width: 60px;
}

body.pui-active.pui-cart-page .woocommerce .cart_totals {
	background: var(--pui-cart-panel, #111);
	border: 1px solid var(--pui-cart-border);
	padding: 0;
	overflow: hidden;
}

body.pui-active.pui-cart-page .woocommerce .cart_totals h2 {
	font-family: var(--pui-font-title, "Montserrat", system-ui, sans-serif);
	font-size: 1.125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff !important;
	background: #0a0a0a !important;
	margin: 0;
	padding: 18px 24px;
	border-bottom: 1px solid var(--pui-cart-border);
}

body.pui-active.pui-cart-page .woocommerce .cart_totals .shop_table,
body.pui-active.pui-cart-page .woocommerce .cart_totals table {
	margin: 0;
	padding: 16px 24px 8px;
	border-color: var(--pui-cart-border);
	background: transparent !important;
}

body.pui-active.pui-cart-page .woocommerce .cart_totals th,
body.pui-active.pui-cart-page .woocommerce .cart_totals td {
	border-color: var(--pui-cart-border) !important;
	color: #fff !important;
	background: transparent !important;
	padding: 12px 0;
}

body.pui-active.pui-cart-page .woocommerce .cart_totals .order-total .amount {
	color: var(--pui-gold, #C0C0C0);
	font-weight: 700;
}

body.pui-active.pui-cart-page .woocommerce .coupon input.input-text {
	background: #0a0a0a;
	border: 1px solid var(--pui-cart-border);
	color: #fff;
	padding: 10px 14px;
}

body.pui-active.pui-cart-page .woocommerce .actions .button,
body.pui-active.pui-cart-page .woocommerce button[name="update_cart"],
body.pui-active.pui-cart-page .woocommerce .coupon .button {
	background-color: var(--pui-gold, #C0C0C0) !important;
	border-color: var(--pui-gold, #C0C0C0) !important;
	color: #fff !important;
	opacity: 1 !important;
}

body.pui-active.pui-cart-page .woocommerce .actions .button:hover,
body.pui-active.pui-cart-page .woocommerce button[name="update_cart"]:hover,
body.pui-active.pui-cart-page .woocommerce .coupon .button:hover {
	background-color: var(--pui-gold-hover, #C0C0C0) !important;
	border-color: var(--pui-gold-hover, #C0C0C0) !important;
}

/* Shared WooCommerce Buttons */
body.pui-active.pui-cart-page .woocommerce a.button,
body.pui-active.pui-cart-page .woocommerce button.button,
body.pui-active.pui-cart-page .woocommerce input.button,
body.pui-active.pui-checkout-page .woocommerce a.button,
body.pui-active.pui-checkout-page .woocommerce button.button,
body.pui-active.pui-checkout-page .woocommerce input.button,
body.pui-active.pui-checkout-page #place_order {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 24px !important;
	border: 1px solid var(--pui-gold, #C0C0C0) !important;
	background: var(--pui-gold, #C0C0C0) !important;
	color: #fff !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

body.pui-active.pui-cart-page .woocommerce a.button:hover,
body.pui-active.pui-cart-page .woocommerce button.button:hover,
body.pui-active.pui-cart-page .woocommerce input.button:hover,
body.pui-active.pui-checkout-page .woocommerce a.button:hover,
body.pui-active.pui-checkout-page .woocommerce button.button:hover,
body.pui-active.pui-checkout-page .woocommerce input.button:hover,
body.pui-active.pui-checkout-page #place_order:hover {
	background: var(--pui-gold-hover, #C0C0C0) !important;
	border-color: var(--pui-gold-hover, #C0C0C0) !important;
	color: #fff !important;
}

body.pui-active.pui-cart-page .woocommerce .wc-proceed-to-checkout {
	padding: 16px 24px 24px;
}

body.pui-active.pui-cart-page .woocommerce .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	text-align: center;
}

/* Checkout Page */
body.pui-active.pui-checkout-page .woocommerce-checkout {
	max-width: 1100px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 32px 20px 60px;
}

body.pui-active.pui-checkout-page .woocommerce form.checkout {
	color: #fff;
}

body.pui-active.pui-checkout-page .woocommerce-checkout h3,
body.pui-active.pui-checkout-page .woocommerce-checkout .woocommerce-billing-fields h3,
body.pui-active.pui-checkout-page .woocommerce-checkout .woocommerce-additional-fields h3,
body.pui-active.pui-checkout-page #order_review_heading {
	font-family: var(--pui-font-title, "Montserrat", system-ui, sans-serif);
	color: #fff;
	font-size: 1.25rem;
	margin-bottom: 16px;
}

body.pui-active.pui-checkout-page .woocommerce form .form-row label {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
}

body.pui-active.pui-checkout-page .woocommerce form .form-row input.input-text,
body.pui-active.pui-checkout-page .woocommerce form .form-row textarea,
body.pui-active.pui-checkout-page .woocommerce form .form-row select,
body.pui-active.pui-checkout-page .woocommerce form .form-row .select2-container .select2-selection {
	background: #0a0a0a !important;
	border: 1px solid var(--pui-cart-border) !important;
	color: #fff !important;
	border-radius: 0 !important;
	min-height: 46px;
	padding: 10px 14px;
}

body.pui-active.pui-checkout-page .woocommerce form .form-row input.input-text:focus,
body.pui-active.pui-checkout-page .woocommerce form .form-row textarea:focus,
body.pui-active.pui-checkout-page .woocommerce form .form-row select:focus {
	border-color: var(--pui-gold, #C0C0C0) !important;
	outline: none;
	box-shadow: none;
}

body.pui-active.pui-checkout-page #order_review {
	background: var(--pui-cart-panel, #111);
	border: 1px solid var(--pui-cart-border);
	padding: 24px;
}

body.pui-active.pui-checkout-page .woocommerce table.shop_table.woocommerce-checkout-review-order-table {
	background: transparent;
	border: 0;
}

body.pui-active.pui-checkout-page .woocommerce table.shop_table.woocommerce-checkout-review-order-table th,
body.pui-active.pui-checkout-page .woocommerce table.shop_table.woocommerce-checkout-review-order-table td {
	border-color: var(--pui-cart-border);
	color: #fff;
	padding: 12px 0;
}

body.pui-active.pui-checkout-page .woocommerce table.shop_table .order-total .amount {
	color: var(--pui-gold, #C0C0C0);
	font-weight: 700;
}

body.pui-active.pui-checkout-page .woocommerce-checkout #payment {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--pui-cart-border);
	border-radius: 0;
}

body.pui-active.pui-checkout-page .woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--pui-cart-border);
	padding: 16px 20px;
}

body.pui-active.pui-checkout-page .woocommerce-checkout #payment ul.payment_methods li {
	color: #fff;
}

body.pui-active.pui-checkout-page .woocommerce-checkout #payment .payment_box {
	background: #0a0a0a;
	color: rgba(255, 255, 255, 0.75);
}

body.pui-active.pui-checkout-page .woocommerce-checkout #payment div.form-row {
	padding: 16px 20px 20px;
}

body.pui-active.pui-checkout-page #place_order {
	width: 100%;
}

/* Order received / thank you page */
body.pui-active.pui-order-received .woocommerce-order,
body.pui-active.woocommerce-order-received .woocommerce-order {
	color: #fff;
	max-width: 900px;
	margin: 0 auto;
	padding: 24px 16px 48px;
}

body.pui-active.pui-order-received .woocommerce-order-details > h2,
body.pui-active.pui-order-received .woocommerce-customer-details > h2,
body.pui-active.pui-order-received .woocommerce-column__title,
body.pui-active.pui-order-received .woocommerce-order h2,
body.pui-active.woocommerce-order-received .woocommerce-order-details > h2,
body.pui-active.woocommerce-order-received .woocommerce-customer-details > h2,
body.pui-active.woocommerce-order-received .woocommerce-column__title,
body.pui-active.woocommerce-order-received .woocommerce-order h2 {
	background: #ffffff !important;
	color: #0a0a0a !important;
	font-family: var(--pui-font-title, "Montserrat", system-ui, sans-serif);
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em;
	margin: 0 0 0 !important;
	padding: 12px 16px !important;
}

body.pui-active.pui-order-received .woocommerce-order-details,
body.pui-active.pui-order-received .woocommerce-customer-details,
body.pui-active.woocommerce-order-received .woocommerce-order-details,
body.pui-active.woocommerce-order-received .woocommerce-customer-details {
	margin-bottom: 28px;
}

body.pui-active.pui-order-received .woocommerce-table--order-details,
body.pui-active.woocommerce-order-received .woocommerce-table--order-details,
body.pui-active.pui-order-received .woocommerce-customer-details address,
body.pui-active.woocommerce-order-received .woocommerce-customer-details address {
	background: #0a0a0a !important;
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
	color: #fff !important;
	padding: 16px !important;
}

body.pui-active.pui-order-received .woocommerce-table--order-details th,
body.pui-active.pui-order-received .woocommerce-table--order-details td,
body.pui-active.woocommerce-order-received .woocommerce-table--order-details th,
body.pui-active.woocommerce-order-received .woocommerce-table--order-details td {
	color: #fff !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
	background: transparent !important;
}

body.pui-active.pui-order-received .woocommerce-customer-details address,
body.pui-active.woocommerce-order-received .woocommerce-customer-details address {
	font-style: normal;
	line-height: 1.6;
}

@media (max-width: 768px) {
	body.pui-active.pui-offcanvas .woocommerce-mini-cart__buttons {
		grid-template-columns: 1fr;
	}

	body.pui-active.pui-cart-page .woocommerce table.shop_table .product-thumbnail {
		display: block;
	}
}
