/**
 * CannaGreen Express compatibility styling for WooCommerce Points and Rewards.
 *
 * This file is intentionally the only place where Bravo/Points plugin frontend
 * output is styled. Keep cart/checkout CSS free of these selectors to avoid
 * duplicate overrides.
 */

:root {
	--cgx-pr-green: #163f2e;
	--cgx-pr-green-dark: #102d21;
	--cgx-pr-cream: #f7f3ea;
	--cgx-pr-line: rgba(22, 63, 46, 0.12);
	--cgx-pr-line-soft: rgba(22, 63, 46, 0.08);
	--cgx-pr-gold: #c8a96a;
	--cgx-pr-text: #1d1d1b;
	--cgx-pr-muted: rgba(29, 29, 27, 0.68);
	--cgx-pr-shadow: 0 10px 28px rgba(16, 45, 33, 0.06);
	--cgx-pr-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3.2l1.65 3.35 3.7.54-2.68 2.61.63 3.69L12 11.65 8.7 13.39l.63-3.69-2.68-2.61 3.7-.54L12 3.2Z' fill='%23F7F3EA'/%3E%3Ccircle cx='12' cy='16.8' r='3.1' fill='%23C8A96A'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Plugin reset
-------------------------------------------------------------------------- */
.woocommerce-cart .woo-pr-float-left,
.woocommerce-cart .woo-pr-float-right,
.woocommerce-checkout .woo-pr-float-left,
.woocommerce-checkout .woo-pr-float-right,
.woocommerce div.product .woo-pr-float-left,
.woocommerce div.product .woo-pr-float-right,
.woocommerce-account .woo-pr-float-left,
.woocommerce-account .woo-pr-float-right {
	float: none !important;
}

.woocommerce .woo-pr-earn-points-message p,
.woocommerce .woo-pr-first-purchas-eearn-points-message p,
.woocommerce .woo-pr-signup-message p,
.woocommerce .woo-pr-buy-points-message p,
.woocommerce .woo-pr-redeem-earn-points p,
.woocommerce .woo-points-redeem-message p {
	margin: 0;
}

.woocommerce .woo-pr-earn-points-message a,
.woocommerce .woo-pr-first-purchas-eearn-points-message a,
.woocommerce .woo-pr-signup-message a,
.woocommerce .woo-pr-buy-points-message a,
.woocommerce .woo-pr-redeem-earn-points a,
.woocommerce .woo-points-redeem-message a,
.woocommerce div.product .woopr-product-message a {
	color: var(--cgx-pr-green);
	font-weight: 800;
}

/* --------------------------------------------------------------------------
   Single product points notice
-------------------------------------------------------------------------- */
body.single-product p.woopr-product-message,
body.single-product .woocommerce div.product p.woopr-product-message,
body.single-product .woocommerce div.product .woopr-product-message,
body.single-product .cgx-product-summary .woopr-product-message,
body.single-product .cgx-product-summary__purchase .woopr-product-message,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message,
.woocommerce div.product form.cart .woopr-product-message,
.cgx-product-summary form.cart .woopr-product-message {
	position: relative !important;
	display: block !important;
	width: 100%;
	max-width: 100%;
	flex: 0 0 100%;
	grid-column: 1 / -1;
	order: 1;
	min-height: 52px;
	margin: 14px 0 16px !important;
	padding: 14px 18px 14px 62px !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-radius: 16px !important;
	background: rgba(247, 243, 234, 0.92) !important;
	box-shadow: none;
	color: var(--cgx-pr-text) !important;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
	text-align: left;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
	text-indent: 0;
	box-sizing: border-box;
}

body.single-product p.woopr-product-message::before,
body.single-product .woocommerce div.product p.woopr-product-message::before,
body.single-product .woocommerce div.product .woopr-product-message::before,
body.single-product .cgx-product-summary .woopr-product-message::before,
body.single-product .cgx-product-summary__purchase .woopr-product-message::before,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message::before,
.woocommerce div.product form.cart .woopr-product-message::before,
.cgx-product-summary form.cart .woopr-product-message::before {
	content: "" !important;
	position: absolute;
	left: 18px;
	top: 50%;
	display: block;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border-radius: 999px;
	background-color: var(--cgx-pr-green);
	background-image: var(--cgx-pr-icon);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 21px 21px;
	-webkit-mask: none;
	mask: none;
	transform: translateY(-50%);
	box-sizing: border-box;
}

body.single-product p.woopr-product-message::after,
body.single-product .woocommerce div.product p.woopr-product-message::after,
body.single-product .woocommerce div.product .woopr-product-message::after,
body.single-product .cgx-product-summary .woopr-product-message::after,
body.single-product .cgx-product-summary__purchase .woopr-product-message::after,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message::after,
.woocommerce div.product form.cart .woopr-product-message::after,
.cgx-product-summary form.cart .woopr-product-message::after {
	content: none;
	display: none;
}

body.single-product p.woopr-product-message strong,
body.single-product .woocommerce div.product p.woopr-product-message strong,
body.single-product .woocommerce div.product .woopr-product-message strong,
body.single-product .cgx-product-summary .woopr-product-message strong,
body.single-product .cgx-product-summary__purchase .woopr-product-message strong,
body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message strong,
.woocommerce div.product form.cart .woopr-product-message strong,
.cgx-product-summary form.cart .woopr-product-message strong {
	display: inline;
	float: none;
	margin: 0;
	padding: 0;
	color: var(--cgx-pr-green);
	font: inherit;
	font-weight: 850;
	line-height: inherit;
	white-space: normal;
}

.cgx-product-summary__purchase form.cart,
.woocommerce div.product .cgx-product-summary__purchase form.cart,
.cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart,
.woocommerce div.product .cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}

.cgx-product-summary__purchase form.cart .quantity,
.woocommerce div.product .cgx-product-summary__purchase form.cart .quantity,
.cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart .quantity,
.woocommerce div.product .cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart .quantity {
	order: 2;
}

.cgx-product-summary__purchase form.cart .single_add_to_cart_button,
.woocommerce div.product .cgx-product-summary__purchase form.cart .single_add_to_cart_button,
.cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.woocommerce div.product .cgx-product-summary__purchase--has-variation-cards .woocommerce-variation-add-to-cart .single_add_to_cart_button {
	order: 3;
}

/* --------------------------------------------------------------------------
   Cart / checkout points notices
   These rules do not rely on a .woocommerce ancestor because Cart notices can
   be printed before the custom cart wrapper on Elementor pages.
-------------------------------------------------------------------------- */
body :is(.woocommerce-info.woo-pr-earn-points-message,
.woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.woocommerce-info.woo-pr-signup-message,
.woocommerce-info.woo-pr-buy-points-message,
.woo-pr-earn-points-message,
.woo-pr-first-purchas-eearn-points-message,
.woo-pr-signup-message,
.woo-pr-buy-points-message) {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 18px !important;
	padding: 14px 16px 14px 50px !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-top: 1px solid var(--cgx-pr-line) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.82) !important;
	box-shadow: 0 4px 12px rgba(16, 45, 33, 0.045) !important;
	color: var(--cgx-pr-text) !important;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 14px;
	font-weight: 550;
	line-height: 1.55;
	box-sizing: border-box;
	gap: 0 !important;
	text-align: left !important;
	list-style: none !important;
}

body :is(.woocommerce-info.woo-pr-earn-points-message,
.woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.woocommerce-info.woo-pr-signup-message,
.woocommerce-info.woo-pr-buy-points-message,
.woo-pr-earn-points-message,
.woo-pr-first-purchas-eearn-points-message,
.woo-pr-signup-message,
.woo-pr-buy-points-message)::before {
	content: "" !important;
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	display: block !important;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	background-color: var(--cgx-pr-green) !important;
	background-image: var(--cgx-pr-icon) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 15px 15px !important;
	-webkit-mask: none !important;
	mask: none !important;
	transform: translateY(-50%) !important;
}

body :is(.woocommerce-info.woo-pr-earn-points-message,
.woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.woocommerce-info.woo-pr-signup-message,
.woocommerce-info.woo-pr-buy-points-message,
.woo-pr-earn-points-message,
.woo-pr-first-purchas-eearn-points-message,
.woo-pr-signup-message,
.woo-pr-buy-points-message)::after {
	content: none !important;
	display: none !important;
}

body :is(.woo-pr-earn-points-message,
.woo-pr-first-purchas-eearn-points-message,
.woo-pr-signup-message,
.woo-pr-buy-points-message,
.woo-points-redeem-message) strong,
body .woo-points-redeem-message b {
	color: var(--cgx-pr-green);
	font-weight: 850;
}

/* Cart earn-points notices: same visual system as checkout, but scoped to Points notices only. */
.woocommerce-cart .woocommerce-info.woo-pr-earn-points-message,
.woocommerce-cart .woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.woocommerce-cart .woocommerce-info.woo-pr-signup-message,
.woocommerce-cart .woocommerce-info.woo-pr-buy-points-message,
.woocommerce-cart .woo-pr-earn-points-message,
.woocommerce-cart .woo-pr-first-purchas-eearn-points-message,
.woocommerce-cart .woo-pr-signup-message,
.woocommerce-cart .woo-pr-buy-points-message,
.elementor-widget-cgx-cart .woocommerce-info.woo-pr-earn-points-message,
.elementor-widget-cgx-cart .woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.elementor-widget-cgx-cart .woocommerce-info.woo-pr-signup-message,
.elementor-widget-cgx-cart .woocommerce-info.woo-pr-buy-points-message,
.elementor-widget-cgx-cart .woo-pr-earn-points-message,
.elementor-widget-cgx-cart .woo-pr-first-purchas-eearn-points-message,
.elementor-widget-cgx-cart .woo-pr-signup-message,
.elementor-widget-cgx-cart .woo-pr-buy-points-message,
.cgx-cart-wrapper .woocommerce-info.woo-pr-earn-points-message,
.cgx-cart-wrapper .woocommerce-info.woo-pr-first-purchas-eearn-points-message,
.cgx-cart-wrapper .woocommerce-info.woo-pr-signup-message,
.cgx-cart-wrapper .woocommerce-info.woo-pr-buy-points-message,
.cgx-cart-wrapper .woo-pr-earn-points-message,
.cgx-cart-wrapper .woo-pr-first-purchas-eearn-points-message,
.cgx-cart-wrapper .woo-pr-signup-message,
.cgx-cart-wrapper .woo-pr-buy-points-message {
	display: block !important;
	min-height: 0;
	margin: 0 0 18px !important;
	padding: 14px 16px 14px 50px !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-top: 1px solid var(--cgx-pr-line) !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, 0.82) !important;
	box-shadow: 0 4px 12px rgba(16, 45, 33, 0.045) !important;
	font-size: 14px;
	line-height: 1.55;
}

.woocommerce-cart .woocommerce-info.woo-pr-earn-points-message::before,
.woocommerce-cart .woocommerce-info.woo-pr-first-purchas-eearn-points-message::before,
.woocommerce-cart .woocommerce-info.woo-pr-signup-message::before,
.woocommerce-cart .woocommerce-info.woo-pr-buy-points-message::before,
.woocommerce-cart .woo-pr-earn-points-message::before,
.woocommerce-cart .woo-pr-first-purchas-eearn-points-message::before,
.woocommerce-cart .woo-pr-signup-message::before,
.woocommerce-cart .woo-pr-buy-points-message::before,
.elementor-widget-cgx-cart .woo-pr-earn-points-message::before,
.elementor-widget-cgx-cart .woo-pr-first-purchas-eearn-points-message::before,
.elementor-widget-cgx-cart .woo-pr-signup-message::before,
.elementor-widget-cgx-cart .woo-pr-buy-points-message::before,
.cgx-cart-wrapper .woo-pr-earn-points-message::before,
.cgx-cart-wrapper .woo-pr-first-purchas-eearn-points-message::before,
.cgx-cart-wrapper .woo-pr-signup-message::before,
.cgx-cart-wrapper .woo-pr-buy-points-message::before {
	content: "" !important;
	left: 16px !important;
	top: 50% !important;
	width: 22px !important;
	height: 22px !important;
	background-color: var(--cgx-pr-green) !important;
	background-image: var(--cgx-pr-icon) !important;
	background-size: 15px 15px !important;
	transform: translateY(-50%) !important;
}

/* Redeem discount card: unified Cart + Checkout layout.
   Mobile: text above button. Desktop: text beside button. */
:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-pr-redeem-earn-points {
	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 18px !important;
	padding: 18px 22px !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-top: 1px solid var(--cgx-pr-line) !important;
	border-radius: 16px !important;
	background: rgba(247, 243, 234, 0.88) !important;
	box-shadow: 0 4px 12px rgba(16, 45, 33, 0.045) !important;
	color: var(--cgx-pr-text) !important;
	box-sizing: border-box;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-pr-redeem-earn-points::before,
:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-pr-redeem-earn-points::after {
	content: none !important;
	display: none !important;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-redeem-points-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	float: none !important;
	box-sizing: border-box;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-redeem-points-wrap form {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	float: none !important;
	box-sizing: border-box;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-redeem-message {
	order: 1;
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	color: var(--cgx-pr-text);
	box-sizing: border-box;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-redeem-message p {
	margin: 0;
	color: var(--cgx-pr-green) !important;
	font-size: 14px;
	font-weight: 750;
	line-height: 1.4;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) #woo_pr_apply_discount,
:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-apply-discount-button {
	order: 2;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	height: 38px !important;
	min-height: 38px !important;
	max-height: 38px !important;
	margin: 0 !important;
	padding: 0 20px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--cgx-pr-green) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
}

:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) #woo_pr_apply_discount:hover,
:is(body.woocommerce-cart,
body.woocommerce-checkout,
.woocommerce-cart,
.woocommerce-checkout,
.elementor-widget-cgx-cart,
.elementor-widget-cgx-checkout,
.cgx-cart-wrapper,
.cgx-checkout-wrapper) .woo-points-apply-discount-button:hover {
	background: var(--cgx-pr-green-dark) !important;
	color: #fff !important;
}

@media (min-width: 768px) {
	:is(body.woocommerce-cart,
	body.woocommerce-checkout,
	.woocommerce-cart,
	.woocommerce-checkout,
	.elementor-widget-cgx-cart,
	.elementor-widget-cgx-checkout,
	.cgx-cart-wrapper,
	.cgx-checkout-wrapper) .woo-points-redeem-points-wrap form {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}

	:is(body.woocommerce-cart,
	body.woocommerce-checkout,
	.woocommerce-cart,
	.woocommerce-checkout,
	.elementor-widget-cgx-cart,
	.elementor-widget-cgx-checkout,
	.cgx-cart-wrapper,
	.cgx-checkout-wrapper) .woo-points-redeem-message {
		width: auto;
	}

	:is(body.woocommerce-cart,
	body.woocommerce-checkout,
	.woocommerce-cart,
	.woocommerce-checkout,
	.elementor-widget-cgx-cart,
	.elementor-widget-cgx-checkout,
	.cgx-cart-wrapper,
	.cgx-checkout-wrapper) #woo_pr_apply_discount,
	:is(body.woocommerce-cart,
	body.woocommerce-checkout,
	.woocommerce-cart,
	.woocommerce-checkout,
	.elementor-widget-cgx-cart,
	.elementor-widget-cgx-checkout,
	.cgx-cart-wrapper,
	.cgx-checkout-wrapper) .woo-points-apply-discount-button {
		width: auto;
		min-width: 190px;
	}
}

.woocommerce .woo-pr-points-checkout-message {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 0;
	border: 0;
}

.woocommerce .woo-pr-points-remove-disocunt-message {
	color: var(--cgx-pr-text);
	font-size: 15px;
	font-weight: 700;
}

/* --------------------------------------------------------------------------
   My Account - points endpoint
-------------------------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation-link--woo-pr-point-history a::before,
.cgx-myaccount-nav .woocommerce-MyAccount-navigation-link--woo-pr-point-history a::before {
	content: "★";
}

.cgx-points-history-page {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.cgx-points-history-summary,
.cgx-points-history-card,
.woo-pr-user-log {
	border: 1px solid var(--cgx-pr-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.74);
	box-shadow: var(--cgx-pr-shadow);
}

.cgx-points-history-summary {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 8px;
	padding: 20px;
}

.cgx-points-history-summary__icon,
.cgx-points-dashboard-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: var(--cgx-pr-green);
	color: #fff;
}

.cgx-points-history-summary__icon svg,
.cgx-points-dashboard-card__icon svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.cgx-points-history-summary__content,
.cgx-points-dashboard-card__content {
	display: flex;
	min-width: 0;
	flex: 1;
	flex-direction: column;
	gap: 4px;
}

.cgx-points-history-summary__content span,
.cgx-points-dashboard-card__content span {
	color: var(--cgx-pr-gold);
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.cgx-points-history-summary__content strong,
.cgx-points-dashboard-card__content strong {
	color: var(--cgx-pr-text);
	font-size: 24px;
	font-weight: 850;
	letter-spacing: -0.04em;
	line-height: 1.05;
}

.cgx-points-history-summary__content small,
.cgx-points-dashboard-card__content small {
	color: var(--cgx-pr-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.cgx-points-history-card {
	padding: 0;
	overflow: hidden;
}

.woo-pr-user-log {
	padding: 24px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.cgx-points-history-card .woo-pr-user-log {
	padding-top: 0;
}

.woo-pr-user-log h4,
.cgx-points-history-card .woo-pr-user-log h4 {
	display: none;
}

.woo-pr-user-points {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.woo-pr-user-points table.woo-pr-details,
.woopr-expiry-points-table {
	width: 100% !important;
	min-width: 760px;
	margin: 0 !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
}

.woo-pr-user-points table.woo-pr-details th,
.woo-pr-user-points table.woo-pr-details td,
.woopr-expiry-points-table th,
.woopr-expiry-points-table td {
	padding: 15px 16px !important;
	border-width: 0 0 1px 0 !important;
	border-style: solid !important;
	border-color: rgba(22, 63, 46, 0.09) !important;
	color: var(--cgx-pr-text);
	font-size: 14px;
	line-height: 1.45;
	text-align: left !important;
	vertical-align: middle;
}

.woo-pr-user-points table.woo-pr-details th,
.woopr-expiry-points-table tr.woopr-head th {
	background: var(--cgx-pr-green) !important;
	color: #fff !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.woo-pr-user-points table.woo-pr-details tr:last-child td,
.woopr-expiry-points-table tr:last-child td {
	border-bottom: 0 !important;
}

.woo-pr-user-points table.woo-pr-details td:nth-child(3),
.woo-pr-user-points table.woo-pr-details td:nth-child(4) {
	color: var(--cgx-pr-green);
	font-weight: 800;
}

.woo-pr-user-points table.woo-pr-details p.tooltip {
	margin: 0;
}

.woo-pr-paging {
	margin-top: 18px !important;
	text-align: left !important;
}

.woo-pr-paging .woo-pr-tablenav-pages {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	line-height: 1 !important;
}

.woo-pr-paging .woo-pr-tablenav-pages a,
.woo-pr-paging .woo-pr-tablenav-pages span.current,
.woo-pr-tablenav-pages span.disabled {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px !important;
	border: 1px solid var(--cgx-pr-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--cgx-pr-green) !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
}

.woo-pr-paging .woo-pr-tablenav-pages span.current {
	background: var(--cgx-pr-green) !important;
	color: #fff !important;
}

.woo-pr-sales-loader {
	margin-top: 14px !important;
}

.woo-pr-sales-loader img {
	width: 26px;
	height: 26px;
}

.cgx-points-dashboard-card {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
	padding: 16px;
	border: 1px solid var(--cgx-pr-line);
	border-radius: 16px;
	background: rgba(247, 243, 234, 0.84);
	box-shadow: 0 8px 24px rgba(16, 45, 33, 0.06);
}

.cgx-points-dashboard-card__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	background: #fff;
	color: var(--cgx-pr-green) !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.06em;
	text-decoration: none !important;
	text-transform: uppercase;
	white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Responsive
-------------------------------------------------------------------------- */
@media (max-width: 991px) {
	.woocommerce .woo-pr-points-checkout-message,
	.cgx-points-dashboard-card,
	.cgx-points-history-summary {
		align-items: stretch;
		flex-direction: column;
	}

	.woocommerce .woo-point-remove-discount-link,
	.cgx-points-dashboard-card__link {
		width: 100%;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	body.single-product p.woopr-product-message,
body.single-product .woocommerce div.product p.woopr-product-message,
body.single-product .woocommerce div.product .woopr-product-message,
	body.single-product .cgx-product-summary .woopr-product-message,
	body.single-product .cgx-product-summary__purchase .woopr-product-message,
	body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message,
	.woocommerce div.product form.cart .woopr-product-message,
	.cgx-product-summary form.cart .woopr-product-message {
		min-height: 44px;
		margin: 8px 0 12px !important;
		padding: 10px 12px 10px 48px !important;
		border-radius: 13px !important;
		font-size: 12px;
		font-weight: 650;
		line-height: 1.35;
	}

	body.single-product p.woopr-product-message::before,
body.single-product .woocommerce div.product p.woopr-product-message::before,
body.single-product .woocommerce div.product .woopr-product-message::before,
	body.single-product .cgx-product-summary .woopr-product-message::before,
	body.single-product .cgx-product-summary__purchase .woopr-product-message::before,
	body.single-product .elementor-widget-woocommerce-product-add-to-cart .woopr-product-message::before,
	.woocommerce div.product form.cart .woopr-product-message::before,
	.cgx-product-summary form.cart .woopr-product-message::before {
		left: 12px;
		width: 24px;
		height: 24px;
		background-size: 16px 16px;
	}

	body :is(.woocommerce-info.woo-pr-earn-points-message,
	.woocommerce-info.woo-pr-first-purchas-eearn-points-message,
	.woocommerce-info.woo-pr-signup-message,
	.woocommerce-info.woo-pr-buy-points-message,
	.woo-pr-earn-points-message,
	.woo-pr-first-purchas-eearn-points-message,
	.woo-pr-signup-message,
	.woo-pr-buy-points-message) {
		margin: 0 0 18px !important;
		padding: 12px 13px 12px 46px !important;
		border: 1px solid var(--cgx-pr-line) !important;
		border-top: 1px solid var(--cgx-pr-line) !important;
		border-radius: 13px !important;
		background: rgba(255, 255, 255, 0.82) !important;
		box-shadow: 0 4px 12px rgba(16, 45, 33, 0.045) !important;
		font-size: 13px;
		line-height: 1.45;
	}

	body :is(.woocommerce-info.woo-pr-earn-points-message,
	.woocommerce-info.woo-pr-first-purchas-eearn-points-message,
	.woocommerce-info.woo-pr-signup-message,
	.woocommerce-info.woo-pr-buy-points-message,
	.woo-pr-earn-points-message,
	.woo-pr-first-purchas-eearn-points-message,
	.woo-pr-signup-message,
	.woo-pr-buy-points-message)::before {
		content: "" !important;
		left: 13px !important;
		top: 50% !important;
		width: 22px !important;
		height: 22px !important;
		background-color: var(--cgx-pr-green) !important;
		background-image: var(--cgx-pr-icon) !important;
		background-size: 15px 15px !important;
		transform: translateY(-50%) !important;
	}


	.woo-pr-user-log {
		padding: 16px;
	}

	.woo-pr-user-points table.woo-pr-details,
	.woopr-expiry-points-table {
		min-width: 620px;
	}

	.cgx-points-history-summary,
	.cgx-points-dashboard-card {
		padding: 16px;
		border-radius: 14px;
	}

	.cgx-points-history-summary__content strong,
	.cgx-points-dashboard-card__content strong {
		font-size: 20px;
	}
}
