/* =========================================================================
   PeptiNova — plugin skins (CSS ONLY).

   The store plugins keep 100% of their functionality; this stylesheet only
   restyles the markup they output into the storefront design. Enqueued
   after the plugins' own stylesheets (functions.php).

   1. Coupon Affiliates (woo-coupon-usage) — floating "Refer & Earn" widget
      → refer-earn-widget.tsx; My Account "Refer & Earn" tab → affiliate-tab.tsx
   2. TeraWallet (woo-wallet) — cashback notice (cart/checkout) →
      cashback-banner.tsx; "Pay by wallet" checkout row → payment-method.tsx;
      My Account "Wallet" tab → wallet-tab.tsx
   ========================================================================= */

/* =========================================================================
   1. COUPON AFFILIATES — floating widget (.wcusage-floating-widget)
   ========================================================================= */

/* Wrapper: bottom-left, above the sticky mobile cart bar (<1024), z-40 */
body.pn .wcusage-floating-widget,
body.pn .wcusage-floating-widget.wcusage-position-bottom-left {
	position: fixed;
	bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
	left: 1rem;
	right: auto;
	top: auto;
	margin: 0;
	transform: none;
	z-index: 40;
	font-family: var(--font-display);
}

/* Pages with the sticky mobile cart bar: sit just above it */
body.pn:has(.pn-mobile-cart-bar) .wcusage-floating-widget,
body.pn:has(.pn-mobile-cart-bar) .wcusage-floating-widget.wcusage-position-bottom-left {
	bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
}

/* Never over the Age Gate (the plugin removes .age-gate__wrapper once accepted) */
body.pn:has(.age-gate__wrapper) .wcusage-floating-widget {
	display: none;
}

@media (min-width: 1024px) {
	body.pn .wcusage-floating-widget,
	body.pn .wcusage-floating-widget.wcusage-position-bottom-left,
	body.pn:has(.pn-mobile-cart-bar) .wcusage-floating-widget,
	body.pn:has(.pn-mobile-cart-bar) .wcusage-floating-widget.wcusage-position-bottom-left {
		bottom: 1.5rem;
	}
}

/* Floating pill button */
body.pn .wcusage-floating-widget .wcusage-floating-button {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	border: 0;
	border-radius: 9999px;
	background: var(--color-primary);
	color: #fff;
	padding: 0.75rem 1.25rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
	transition: background-color 0.15s ease;
}

body.pn .wcusage-floating-widget .wcusage-floating-button:hover,
body.pn .wcusage-floating-widget .wcusage-floating-button:active,
body.pn .wcusage-floating-widget .wcusage-floating-button:focus {
	background: var(--color-primary-dark);
	color: #fff;
	border: 0;
	transform: none;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

/* The plugin's emoji icon → the storefront's "two researchers" line icon */
body.pn .wcusage-floating-widget .wcusage-floating-icon {
	display: inline-block;
	width: 18px;
	height: 18px;
	font-size: 0;
	line-height: 0;
	color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Ccircle cx='18' cy='7.5' r='2.3'/%3E%3Cpath d='M15.5 13.6c.6-.2 1.3-.4 2-.4 2.8 0 5.5 2.2 5.5 5.3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

/* Popup panel */
body.pn .wcusage-floating-widget .wcusage-floating-popup {
	position: absolute;
	bottom: calc(100% + 0.75rem);
	left: 0;
	right: auto;
	width: 22rem;
	max-width: calc(100vw - 2rem);
	overflow: hidden;
	border-radius: 1rem;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
	z-index: 50;
	font-family: var(--font-display);
	color: var(--color-text);
}

body.pn .wcusage-popup-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--color-border);
	background: var(--color-navy);
	padding: 1rem 1.25rem;
}

body.pn .wcusage-popup-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 700;
	color: #fff;
}

body.pn .wcusage-popup-close {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	width: auto;
	height: auto;
	font-size: 1.5rem;
	line-height: 1;
	color: rgba(255, 255, 255, 0.7);
	cursor: pointer;
	box-shadow: none;
}

body.pn .wcusage-popup-close:hover {
	color: #fff;
	background: transparent;
}

body.pn .wcusage-popup-content {
	max-height: 70vh;
	overflow-y: auto;
	padding: 1.25rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: var(--color-text);
}

body.pn .wcusage-popup-loading {
	padding: 1.25rem 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
	text-align: center;
}

/* ---- Logged-out: benefits pitch + registration form ---------------------- */
body.pn .wcusage-widget-registration-form {
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.pn .wcusage-widget-benefits-message {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	text-align: left;
}

/* Local shows one bold pitch line; the plugin's benefits heading above it
   ("Join Our Affiliate Program") is hidden to match. */
body.pn .wcusage-widget-benefits-header h3 {
	display: none;
}

body.pn .wcusage-widget-benefits-header p {
	margin: 0;
	font-family: var(--font-display);
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	color: var(--color-navy);
	text-align: left;
}

body.pn .wcusage-widget-benefits-list {
	margin: 1rem 0 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

body.pn .wcusage-widget-benefit-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0;
	padding: 0.75rem;
	border-radius: 0.75rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	font-family: var(--font-display);
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	color: var(--color-navy);
	text-align: left;
	transform: none;
	box-shadow: none;
}

body.pn .wcusage-widget-benefit-item:hover {
	transform: none;
	box-shadow: none;
	background: var(--color-bg);
}

body.pn .wcusage-widget-benefit-icon {
	display: flex;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	margin: 0;
	font-size: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
}

/* The plugin's Font Awesome <i> (not loaded on the storefront) is replaced
   by the storefront's line icons via background images */
body.pn .wcusage-widget-benefit-icon i {
	display: none;
}

body.pn .wcusage-widget-benefit-item:nth-child(1) .wcusage-widget-benefit-icon {
	background-color: color-mix(in srgb, var(--color-primary) 10%, transparent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232571a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5Z'/%3E%3Cpath d='M2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E");
}

body.pn .wcusage-widget-benefit-item:nth-child(2) .wcusage-widget-benefit-icon {
	background-color: var(--pn-green-bg, #f0fdf4);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a63e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7' cy='7' r='3'/%3E%3Ccircle cx='17' cy='17' r='3'/%3E%3Cpath d='M18 6 6 18'/%3E%3C/svg%3E");
}

body.pn .wcusage-widget-benefit-item:nth-child(3) .wcusage-widget-benefit-icon {
	background-color: color-mix(in srgb, var(--color-accent) 10%, transparent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23248ece' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='12' rx='2'/%3E%3Cpath d='M3 10h18M14 14h3'/%3E%3C/svg%3E");
}

body.pn .wcusage-widget-benefit-item:nth-child(4) .wcusage-widget-benefit-icon {
	background-color: color-mix(in srgb, var(--color-navy) 10%, transparent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120d3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='m7 15 3.5-4 3 3L19 7'/%3E%3C/svg%3E");
}

/* Registration form (the plugin shows it inline where the storefront has a
   single "Log In or Register" button) */
body.pn .wcusage-widget-registration-form .wcu-form-section,
body.pn .wcusage-widget-registration-form .wcu_form_style_columns {
	margin-top: 1.25rem;
	padding: 0;
	background: transparent;
	border: 0;
}

body.pn .wcusage-widget-registration-form .wcusage-register-form-title {
	margin: 0 0 0.75rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .wcusage-widget-registration-form label {
	display: block;
	margin: 0 0 0.375rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-navy);
}

body.pn .wcusage-widget-registration-form input[type='text'],
body.pn .wcusage-widget-registration-form input[type='email'],
body.pn .wcusage-widget-registration-form input[type='password'],
body.pn .wcusage-widget-registration-form input[type='url'],
body.pn .wcusage-widget-registration-form textarea,
body.pn .wcusage-widget-registration-form select {
	width: 100%;
	margin: 0 0 1rem;
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	padding: 0.625rem 0.75rem;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--color-text);
	box-shadow: none;
}

body.pn .wcusage-widget-registration-form input:focus,
body.pn .wcusage-widget-registration-form textarea:focus,
body.pn .wcusage-widget-registration-form select:focus {
	border-color: var(--color-primary);
	outline: none;
	box-shadow: none;
}

body.pn .wcusage-widget-registration-form .wcu-reg-terms {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	margin: 0 0 1rem;
	font-size: 0.75rem;
	line-height: 1.625;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-registration-form .wcu-reg-terms a {
	color: var(--color-primary);
}

body.pn .wcusage-widget-registration-form .woocommerce-button,
body.pn .wcusage-widget-registration-form button,
body.pn .wcusage-widget-registration-form input[type='submit'],
body.pn .wcusage-widget-registration-form .wcu-register-form-button {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 9999px;
	background: var(--color-primary);
	padding: 0.75rem 1.5rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff;
	text-align: center;
	box-shadow: none;
	transition: background-color 0.15s ease;
}

body.pn .wcusage-widget-registration-form .woocommerce-button:hover,
body.pn .wcusage-widget-registration-form button:hover,
body.pn .wcusage-widget-registration-form input[type='submit']:hover {
	background: var(--color-primary-dark);
	color: #fff;
	transform: none;
	box-shadow: none;
}

body.pn .wcusage-widget-registration-form .wcusage-register-success,
body.pn .wcusage-widget-success {
	border-radius: 0.5rem;
	background: var(--pn-green-bg, #f0fdf4);
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	color: var(--pn-green-dark, #008236);
}

body.pn .wcusage-widget-registration-form .wcusage-register-error,
body.pn .wcusage-widget-error {
	border-radius: 0.5rem;
	background: var(--pn-red-bg, #fef2f2);
	padding: 0.5rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--pn-red-dark, #c10007);
}

/* ---- Logged-in affiliate dashboard ---------------------------------------- */
body.pn .wcusage-widget-coupon-select-global {
	margin: 0 0 1rem;
}

body.pn .wcusage-widget-coupon-select-global label {
	display: block;
	margin-bottom: 0.375rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.025em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-coupon-select-global select {
	width: 100%;
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	padding: 0.5rem 0.75rem;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--color-navy);
}

/* Tabs → storefront pill tabs */
body.pn .wcusage-widget-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
	background: transparent;
}

body.pn .wcusage-widget-tab {
	appearance: none;
	flex: 0 0 auto;
	margin: 0;
	border: 1px solid var(--color-border);
	border-radius: 9999px;
	background: var(--color-surface);
	padding: 0.375rem 0.75rem;
	font-family: var(--font-display);
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 600;
	color: var(--color-navy);
	box-shadow: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

body.pn .wcusage-widget-tab:hover {
	background: #f4f4f5;
	color: var(--color-navy);
}

body.pn .wcusage-widget-tab.active {
	border-color: var(--color-primary);
	background: var(--color-primary);
	color: #fff;
}

body.pn .wcusage-widget-tab i {
	display: none;
}

body.pn .wcusage-widget-tab-container,
body.pn .wcusage-widget-tab-content {
	padding: 0;
	border: 0;
	background: transparent;
}

body.pn .wcusage-widget-tab-custom-text p {
	margin: 0 0 0.75rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-section {
	margin: 0 0 1.25rem;
	padding: 0;
	border: 0;
	background: transparent;
}

body.pn .wcusage-widget-section:last-child {
	margin-bottom: 0;
}

body.pn .wcusage-widget-section-title {
	margin: 0 0 0.5rem;
	font-family: var(--font-display);
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 600;
	letter-spacing: 0.025em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-section-sub-title {
	margin: 0 0 0.5rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

/* Coupon code box (dashed primary border) */
body.pn .wcusage-widget-coupon-display {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

body.pn .wcusage-widget-coupon-code-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin: 0;
	border-radius: 0.75rem;
	border: 1px dashed color-mix(in srgb, var(--color-primary) 40%, transparent);
	background: color-mix(in srgb, var(--color-primary) 5%, transparent);
	padding: 0.75rem 1rem;
}

body.pn .wcusage-widget-coupon-code {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--font-display);
	font-size: 1.125rem;
	line-height: 1.75rem;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--color-navy);
	cursor: pointer;
}

body.pn .wcusage-widget-coupon-code:hover {
	background: transparent;
	color: var(--color-navy);
}

body.pn .wcusage-widget-coupon-copy-btn {
	appearance: none;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.125rem;
	height: 2.125rem;
	margin: 0;
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: 0;
	color: var(--color-navy);
	font-size: 0;
	box-shadow: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23120d3b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
}

body.pn .wcusage-widget-coupon-copy-btn:hover,
body.pn .wcusage-widget-coupon-copy-btn:active,
body.pn .wcusage-widget-coupon-copy-btn:focus {
	background-color: #f4f4f5;
	color: var(--color-navy);
	transform: none;
	box-shadow: none;
}

body.pn .wcusage-widget-coupon-copy-btn i {
	display: none;
}

body.pn .wcusage-widget-coupon-description {
	margin: 0.5rem 0 0;
	font-size: 0.75rem;
	line-height: 1rem;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-coupon-description strong {
	font-weight: 600;
	color: var(--color-navy);
}

/* Referral link form */
body.pn .wcusage-widget-url-form {
	margin: 0 0 0.5rem;
}

body.pn .wcusage-widget-url-form label {
	display: block;
	margin: 0 0 0.375rem;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--color-navy);
}

body.pn .wcusage-widget-url-form input,
body.pn .wcusage-widget-url-input input {
	width: 100%;
	margin: 0;
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	padding: 0.5rem 0.75rem;
	font-family: inherit;
	font-size: 0.8125rem;
	color: var(--color-text);
	box-shadow: none;
}

body.pn .wcusage-widget-url-form input:focus {
	border-color: var(--color-primary);
	outline: none;
	box-shadow: none;
}

body.pn .wcusage-widget-url-display {
	margin: 0 0 0.75rem;
	padding: 0.5rem 0.75rem;
	border-radius: 0.5rem;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	font-size: 0.75rem;
	line-height: 1.25;
	word-break: break-all;
	color: var(--color-navy);
}

body.pn .wcusage-widget-url-display:empty,
body.pn .wcusage-widget-url-display:has(> span:empty) {
	display: none;
}

/* Buttons */
body.pn .wcusage-widget-actions,
body.pn .wcusage-widget-copy-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

body.pn .wcusage-widget-btn {
	appearance: none;
	flex: 1 1 auto;
	margin: 0;
	border-radius: 9999px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: 0.5rem 1rem;
	font-family: var(--font-display);
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 600;
	color: var(--color-navy);
	text-align: center;
	box-shadow: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.pn .wcusage-widget-btn:hover {
	border-color: var(--color-text-muted);
	background: var(--color-surface);
	color: var(--color-navy);
	transform: none;
	box-shadow: none;
}

body.pn .wcusage-widget-btn-primary {
	border-color: var(--color-navy);
	background: var(--color-navy);
	color: #fff;
}

body.pn .wcusage-widget-btn-primary:hover,
body.pn .wcusage-widget-btn-primary:active,
body.pn .wcusage-widget-btn-primary:focus {
	background: color-mix(in srgb, var(--color-navy) 90%, #fff);
	border-color: color-mix(in srgb, var(--color-navy) 90%, #fff);
	color: #fff;
}

body.pn .wcusage-widget-btn i {
	display: none;
}

body.pn .wcusage-widget-btn-success {
	border-color: var(--pn-green, #00a63e);
	background: var(--pn-green-bg, #f0fdf4);
	color: var(--pn-green-dark, #008236);
}

body.pn .wcusage-widget-btn-error {
	border-color: var(--pn-red, #e7000b);
	background: var(--pn-red-bg, #fef2f2);
	color: var(--pn-red-dark, #c10007);
}

body.pn .wcusage-widget-dashboard-button {
	display: block;
	width: 100%;
	margin: 1rem 0 0;
	border-radius: 9999px;
	background: var(--color-navy);
	padding: 0.625rem 0;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff !important;
	text-align: center;
	text-decoration: none;
}

body.pn .wcusage-widget-dashboard-button:hover {
	background: color-mix(in srgb, var(--color-navy) 90%, #fff);
}

body.pn .wcusage-widget-dashboard-button i {
	display: none;
}

/* Stats grid → bordered stat cells */
body.pn .wcusage-widget-stats-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0;
}

body.pn .wcusage-widget-link-stats-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.pn .wcusage-widget-stat-box {
	margin: 0;
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: 0.625rem;
	text-align: center;
	box-shadow: none;
	transform: none;
}

body.pn .wcusage-widget-stat-box:hover {
	transform: none;
	box-shadow: none;
}

body.pn .wcusage-widget-stat-value {
	display: block;
	font-family: var(--font-display);
	font-size: 1rem;
	line-height: 1.5rem;
	font-weight: 700;
	color: var(--color-navy);
}

body.pn .wcusage-widget-stat-label {
	display: block;
	margin-top: 0.125rem;
	font-size: 11px;
	line-height: 1rem;
	color: var(--color-text-muted);
}

/* Referral orders list */
body.pn .wcusage-widget-referrals-list {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 0;
}

body.pn .wcusage-widget-referral-item {
	margin: 0;
	border-radius: 0.75rem;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	padding: 0.75rem 1rem;
	box-shadow: none;
}

body.pn .wcusage-widget-referral-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}

body.pn .wcusage-widget-order-id {
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .wcusage-widget-order-date {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-referral-details {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-top: 0.5rem;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-order-status {
	display: inline-block;
	border-radius: 9999px;
	padding: 0.25rem 0.625rem;
	font-size: 0.75rem;
	font-weight: 500;
	background: var(--color-bg);
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-order-status.status-completed {
	background: var(--pn-green-bg, #f0fdf4);
	color: var(--pn-green-dark, #008236);
}

body.pn .wcusage-widget-order-status.status-processing {
	background: var(--pn-blue-bg, #eff6ff);
	color: var(--pn-blue-dark, #1447e6);
}

body.pn .wcusage-widget-order-status.status-pending {
	background: var(--pn-amber-bg, #fffbeb);
	color: var(--pn-amber-dark, #bb4d00);
}

body.pn .wcusage-widget-order-status.status-cancelled {
	background: var(--pn-red-bg, #fef2f2);
	color: var(--pn-red-dark, #c10007);
}

body.pn .wcusage-widget-no-referrals,
body.pn .wcusage-widget-no-creatives {
	padding: 1rem;
	border-radius: 0.75rem;
	border: 1px solid var(--color-border);
	text-align: center;
}

body.pn .wcusage-widget-no-referrals p,
body.pn .wcusage-widget-no-creatives p {
	margin: 0;
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* Payouts table */
body.pn .wcusage-widget-simple-table {
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	overflow: hidden;
}

body.pn .wcusage-widget-table-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.625rem 0.75rem;
	border-bottom: 1px solid var(--color-border);
	font-size: 0.8125rem;
	background: var(--color-surface);
}

body.pn .wcusage-widget-table-row:last-child {
	border-bottom: 0;
}

body.pn .wcusage-widget-table-row:nth-child(even) {
	background: var(--color-surface);
}

body.pn .wcusage-widget-table-amount {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--color-navy);
}

body.pn .wcusage-widget-table-date {
	color: var(--color-text-muted);
}

body.pn .wcusage-widget-table-status {
	border-radius: 9999px;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 600;
}

body.pn .wcusage-widget-table-status.pending {
	background: var(--pn-amber-bg, #fffbeb);
	color: var(--pn-amber-dark, #bb4d00);
}

body.pn .wcusage-widget-table-status.paid {
	background: var(--pn-green-bg, #f0fdf4);
	color: var(--pn-green-dark, #008236);
}

/* Refresh notice */
body.pn .wcusage-widget-refresh-notice {
	display: block;
	border-radius: 0.75rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	padding: 1rem;
	text-align: center;
}

body.pn .wcusage-widget-notice-icon {
	display: none;
}

body.pn .wcusage-widget-notice-content h3 {
	margin: 0 0 0.25rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .wcusage-widget-notice-content p {
	margin: 0;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

/* Social share row + QR + creatives: keep neutral/on-brand */
body.pn .wcusage-widget-social-container {
	margin-top: 0.75rem;
}

body.pn .wcusage-widget-social-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

body.pn .wcusage-widget-social-link {
	color: var(--color-navy);
}

body.pn .wcusage-widget-creative-btn {
	border-radius: 9999px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	color: var(--color-navy);
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 600;
}

/* =========================================================================
   1b. COUPON AFFILIATES — My Account "Refer & Earn" tab (coupon-affiliate
   endpoint renders the plugin's affiliate dashboard; headings, buttons and
   tables restyled to the account card design)
   ========================================================================= */
body.pn .woocommerce-MyAccount-content .wcusage-dashboard,
body.pn .woocommerce-MyAccount-content #wcusage-dashboard,
body.pn .woocommerce-MyAccount-content .wcu-dashboard-container {
	font-family: var(--font-display);
	color: var(--color-text);
}

body.pn .woocommerce-MyAccount-content [class*='wcusage'] h2,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] h2 {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .woocommerce-MyAccount-content [class*='wcusage'] h3,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] h3,
body.pn .woocommerce-MyAccount-content [class*='wcusage'] h4,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] h4 {
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .woocommerce-MyAccount-content [class*='wcusage'] .button,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] .button,
body.pn .woocommerce-MyAccount-content [class*='wcusage'] button,
body.pn .woocommerce-MyAccount-content [class*='wcusage'] input[type='submit'] {
	border-radius: 9999px;
	border: 0;
	background: var(--color-navy);
	padding: 0.5rem 1rem;
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 600;
	color: #fff;
	box-shadow: none;
}

body.pn .woocommerce-MyAccount-content [class*='wcusage'] table,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] table {
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 0.875rem;
}

body.pn .woocommerce-MyAccount-content [class*='wcusage'] th,
body.pn .woocommerce-MyAccount-content [class*='wcu-'] th {
	background: var(--color-bg);
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.025em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

/* =========================================================================
   1c. UPSELLWP (checkout-upsell-and-order-bumps) — the cart add-on campaign
   rendered at woocommerce_after_cart_table inside the items card. Its
   markup/logic are the plugin's; this only skins it into cart-upsell.tsx:
   gradient card, "ADD-ON" pill + "Don't Forget!", thumb + name + price,
   white pill stepper, white "Add To Cart" pill. The plugin inlines its
   styles, hence the !important.
   ========================================================================= */
body.pn .cuw-offers:empty {
	display: none;
}

body.pn .pn-cart__items .cuw-offers {
	margin: 0;
	padding: 1rem 0;
	border-top: 1px solid var(--color-border);
}

body.pn .pn-cart__items .cuw-offer .cuw-container {
	margin: 0 !important;
	padding: 0.75rem !important;
	border: 0 !important;
	border-radius: 0.75rem !important;
	background: var(--pn-gradient) !important;
	color: #fff;
	font-family: var(--font-display);
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1), 0 0 0 1px color-mix(in srgb, var(--color-accent) 40%, transparent);
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-container {
		padding: 1rem !important;
	}
}

/* Grid: head row, then thumb | name/price | stepper | button */
body.pn .pn-cart__items .cuw-offer .cuw-product-section {
	display: grid !important;
	/* col 1 = thumb, col 2 = auto (shares the stepper), col 3 = button, col 4 = rest */
	grid-template-columns: 3.5rem auto auto minmax(0, 1fr);
	grid-template-areas:
		'head head head head'
		'img  name name name'
		'img  price price price'
		'qty  qty  cta  .';
	column-gap: 0.5rem;
	row-gap: 0 !important;
	align-items: center;
	min-width: 0;
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-product-section {
		grid-template-columns: 3.5rem minmax(0, 1fr) auto auto;
		grid-template-areas:
			'head head head head'
			'img  name qty  cta'
			'img  price qty cta';
		column-gap: 1rem;
	}
}

/* The two unclassed wrapper divs vanish so title/offer/price sit on the grid */
body.pn .pn-cart__items .cuw-offer .cuw-product-section > div:not([class]),
body.pn .pn-cart__items .cuw-offer .cuw-product-variants + div {
	display: contents !important;
}

body.pn .pn-cart__items .cuw-offer .cuw-product-variants {
	display: none !important;
}

body.pn .pn-cart__items .cuw-offer .cuw-product-image {
	grid-area: img;
	position: relative;
	flex: none !important;
	width: 3.5rem !important;
	height: 3.5rem !important;
	min-width: 0 !important;
	overflow: hidden;
	border-radius: 0.5rem;
	background: #fff;
	align-self: center;
}

body.pn .pn-cart__items .cuw-offer .cuw-product-image img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain;
	padding: 0.25rem;
	transform: scale(1.25);
}

/* "ADD-ON" pill + "Don't Forget!" (the plugin's offer title) */
body.pn .pn-cart__items .cuw-offer .cuw-offer-title {
	grid-area: head;
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: var(--font-display);
	font-size: 1rem !important;
	line-height: 1.5rem;
	font-weight: 800;
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-offer-title {
		font-size: 1.125rem !important;
		line-height: 1.75rem;
	}
}

body.pn .pn-cart__items .cuw-offer .cuw-offer-title::before {
	content: 'Add-on';
	display: inline-block;
	border-radius: 9999px;
	background: #fff;
	padding: 0.125rem 0.625rem;
	font-size: 10px;
	line-height: 1rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-navy);
}

body.pn .pn-cart__items .cuw-offer .cuw-product-title {
	grid-area: name;
	margin: 0 !important;
	padding: 0 !important;
	align-self: end;
	font-family: var(--font-display);
	font-size: 0.875rem !important;
	line-height: 1.25rem;
	font-weight: 700;
	color: #fff !important;
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-product-title {
		font-size: 1rem !important;
		line-height: 1.5rem;
	}
}

body.pn .pn-cart__items .cuw-offer .cuw-product-price {
	grid-area: price;
	flex: none !important;
	margin: 0 !important;
	text-align: left !important;
	align-self: start;
	font-family: var(--font-display);
	font-size: 1.25rem;
	line-height: 1.75rem;
	font-weight: 800;
	color: #fff;
}

body.pn .pn-cart__items .cuw-offer .cuw-product-price .amount,
body.pn .pn-cart__items .cuw-offer .cuw-product-price del,
body.pn .pn-cart__items .cuw-offer .cuw-product-price ins {
	color: inherit;
	text-decoration: none;
	font-weight: inherit;
}

body.pn .pn-cart__items .cuw-offer .cuw-product-price del {
	opacity: 0.7;
	font-size: 0.875rem;
	font-weight: 400;
	text-decoration: line-through;
	margin-right: 0.375rem;
}

/* Stepper (plugin markup: plus, input, minus → shown as − n +) */
body.pn .pn-cart__items .cuw-offer .cuw-product-quantity {
	grid-area: qty;
	display: flex !important;
	align-items: center;
	align-self: center;
	flex: none !important;
	height: 2.25rem;
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
	line-height: 1;
	text-align: left !important;
	color: #fff !important;
	justify-self: start;
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-product-quantity {
		margin: 0 !important;
		justify-self: end;
	}
}

body.pn .pn-cart__items .cuw-offer .quantity-input {
	display: inline-flex !important;
	align-items: center;
	vertical-align: middle;
	box-sizing: border-box;
	height: 2.25rem;
	margin: 0 !important;
	min-width: 0 !important;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-radius: 9999px;
	color: #fff;
}

body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-plus,
body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-minus {
	float: none !important;
	width: 2rem !important;
	height: 2rem !important;
	border-radius: 9999px !important;
	opacity: 1 !important;
}

body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-plus:hover,
body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-minus:hover {
	background: rgba(255, 255, 255, 0.15) !important;
}

body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-plus::before,
body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-plus::after,
body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-minus::before {
	background-color: #fff !important;
}

body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-minus {
	order: 1;
}

body.pn .pn-cart__items .cuw-offer .quantity-input input.cuw-qty {
	order: 2;
	float: none !important;
	width: 1.5rem !important;
	max-width: none !important;
	height: 2rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	font-weight: 700;
	text-align: center;
	box-shadow: none !important;
}

body.pn .pn-cart__items .cuw-offer .quantity-input .cuw-plus {
	order: 3;
}

/* Add To Cart: white pill, navy text */
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section {
	grid-area: cta;
	display: flex;
	align-items: center;
	align-self: center;
	height: 2.25rem;
	box-sizing: border-box;
	margin: 0.75rem 0 0 0 !important;
	border-radius: 9999px !important;
	background: #fff !important;
	color: var(--color-navy) !important;
	justify-self: start;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}

body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:active {
	background: rgba(255, 255, 255, 0.85) !important;
}

/* adding: the plugin disables the button / adds a loading class -> local's disabled:opacity-60 */
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:has(.cuw-button[disabled]),
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:has(.cuw-button.disabled),
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:has(.cuw-button.loading),
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:has(.cuw-button.cuw-loading),
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section.loading,
body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section.cuw-loading {
	opacity: 0.6;
	pointer-events: none;
}

@media (min-width: 640px) {
	body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section {
		margin: 0 !important;
		justify-self: end;
	}
}

body.pn .pn-cart__items .cuw-offer .cuw-offer-cta-section:hover {
	background: rgba(255, 255, 255, 0.9) !important;
}

body.pn .pn-cart__items .cuw-offer .cuw-button {
	width: auto !important;
	height: 2.25rem;
	margin: 0 !important;
	padding: 0 1rem !important;
	display: inline-flex;
	align-items: center;
	border: 0 !important;
	border-radius: 9999px !important;
	background: transparent !important;
	color: var(--color-navy) !important;
	font-family: var(--font-display);
	font-size: 0.875rem;
	line-height: 1.25rem;
	white-space: nowrap;
	box-shadow: none !important;
}

body.pn .pn-cart__items .cuw-offer .cuw-button .cuw-offer-cta-text {
	font-weight: 700 !important;
	color: inherit;
}

/* =========================================================================
   2. TERAWALLET
   ========================================================================= */

/* ---- Cashback notice (cart + checkout) → cashback-banner.tsx ------------ */
body.pn .woocommerce-info:has(.pn-cashback) {
	position: relative;
	overflow: hidden;
	margin: 1rem 0 0;
	border: 0;
	border-radius: 0.75rem;
	background: var(--pn-gradient);
	padding: 1rem 1rem 1rem 3.25rem;
	color: #fff;
	font-family: var(--font-display);
}

body.pn .woocommerce-info:has(.pn-cashback)::before {
	content: '';
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: 28px;
	height: 28px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9 12.5c0 1.1 1.2 2 2.5 2s2.5-.6 2.5-1.5-1-1.4-2.5-1.7-2.5-.8-2.5-1.8S10.2 8 11.5 8s2.5.6 2.5 1.5'/%3E%3Cpath d='M11.5 6.5v1M11.5 15.5v1'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	color: #fff;
	font-family: inherit;
}

body.pn .pn-cashback__headline {
	display: block;
	font-size: 0.875rem;
	line-height: 1.375;
	font-weight: 700;
	color: #fff;
}

body.pn .pn-cashback__details {
	margin-top: 0.125rem;
}

body.pn .pn-cashback__details summary {
	display: inline;
	cursor: pointer;
	list-style: none;
	font-size: 0.75rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.8);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-underline-offset: 2px;
}

body.pn .pn-cashback__details summary::-webkit-details-marker {
	display: none;
}

body.pn .pn-cashback__details summary:hover {
	color: #fff;
}

body.pn .pn-cashback__body {
	display: block;
	margin: 0.75rem -1rem 0 -3.25rem;
	padding: 0.75rem 1rem 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.75rem;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.85);
}

/* ---- "Pay by wallet" row at checkout → payment-method.tsx wallet card ----- */
body.pn tr.wallet-pay-partial {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 0.75rem;
	margin: 0.75rem 0;
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	padding: 0.875rem;
	background: var(--color-surface);
}

body.pn tr.wallet-pay-partial:has(input:checked) {
	border-color: var(--color-primary);
	background: color-mix(in srgb, var(--color-primary) 5%, transparent);
}

body.pn tr.wallet-pay-partial th,
body.pn tr.wallet-pay-partial td {
	display: block;
	border: 0 !important;
	padding: 0 !important;
	background: transparent;
	width: auto;
}

body.pn tr.wallet-pay-partial th {
	flex: 1 1 auto;
	font-family: var(--font-display);
	font-size: 0.875rem !important;
	line-height: 1.25rem;
	font-weight: 600 !important;
	color: var(--color-navy);
	text-align: left !important;
	vertical-align: top !important;
}

body.pn tr.wallet-pay-partial th label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn tr.wallet-pay-partial td {
	flex: 0 0 auto;
	padding-top: 0.125rem !important;
	text-align: left !important;
}

body.pn tr.wallet-pay-partial td input.partial_pay_through_wallet {
	width: 1rem;
	height: 1rem;
	margin: 0 !important;
	accent-color: var(--color-primary);
	vertical-align: top !important;
}

body.pn tr.wallet-pay-partial .woo-wallet-tooltip-wrapper .dashicons-info {
	color: var(--color-text-muted);
}

/* Row relocated into the Payment card slot (main.js): same card as a gateway */
body.pn .pn-checkout__wallet-slot tr.wallet-pay-partial {
	display: flex;
	flex-direction: row-reverse;
	justify-content: flex-end;
	margin: 0;
	padding: 0.875rem;
	border-radius: 0.75rem;
}

body.pn .pn-checkout__wallet-slot tr.wallet-pay-partial th label {
	display: block;
}

body.pn .pn-checkout__wallet-slot tr.wallet-pay-partial th::after {
	content: 'Applies any available store credit to this order. If it doesn\2019t cover the full total, the remaining balance is charged to the payment method you select below.';
	display: block;
	margin-top: 0.125rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 400;
	color: var(--color-text-muted);
}

/* ---- Checkout plugin's purchase-policy block (.wcb-cb-agree) → the
   storefront's chargeback notice box + policy checkbox (checkout-view.tsx).
   The plugin inlines its styles, hence the !important. ---------------- */
body.pn .woocommerce-checkout .wcb-cb-agree {
	margin: 1rem 0 0 !important;
	padding: 1rem !important;
	border: 0 !important;
	border-radius: 0.5rem !important;
	background: var(--color-bg) !important;
	font-family: var(--font-display);
	font-size: 0.75rem !important;
	line-height: 1.625 !important;
	color: var(--color-text-muted) !important;
}

body.pn .woocommerce-checkout .wcb-cb-agree label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.75rem !important;
	margin: 1rem -1rem -1rem !important;
	padding: 0.75rem 1rem 0 !important;
	background: var(--color-surface);
	font-family: var(--font-display);
	font-size: 0.875rem !important;
	line-height: 1.25rem;
	font-weight: 400;
	color: var(--color-navy);
}

body.pn .woocommerce-checkout .wcb-cb-agree label input[type='checkbox'] {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	margin: 0.125rem 0 0 !important;
	accent-color: var(--color-primary);
}

/* The "via wallet" fee line in the review table */
body.pn .woocommerce-checkout-review-order-table tr.fee th {
	font-weight: 400;
	color: var(--color-text-muted);
}

/* ---- My Account "Wallet" tab (woo-wallet endpoint) → wallet-tab.tsx ------- */
body.pn .woo-wallet-my-wallet-container {
	font-family: var(--font-display);
	color: var(--color-text);
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-header h2 {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-header p {
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* Balance card → gradient card */
body.pn .woo-wallet-my-wallet-container .woo-wallet-balance-card {
	border: 0;
	border-radius: 0.75rem;
	background: var(--pn-gradient);
	padding: 1.5rem;
	box-shadow: none;
	color: #fff;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-balance-card h3 {
	margin: 0;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.7);
	text-transform: none;
	letter-spacing: 0;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price,
body.pn .woo-wallet-my-wallet-container .woo-wallet-balance-card .woo-wallet-price .amount {
	margin-top: 0.25rem;
	font-family: var(--font-display);
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	color: #fff;
}

/* Nav tabs (Dashboard / Topup / Transfer…) → pill tabs */
body.pn .woo-wallet-my-wallet-container .woo-wallet-nav-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 1rem 0;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-nav-tab {
	border: 1px solid var(--color-border);
	border-radius: 9999px;
	background: var(--color-surface);
	padding: 0.375rem 0.875rem;
	font-family: var(--font-display);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-navy);
	text-decoration: none;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-nav-tab.active {
	border-color: var(--color-primary);
	background: var(--color-primary);
	color: #fff;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-nav-tab .dashicons {
	display: none;
}

/* Stat cards */
body.pn .woo-wallet-my-wallet-container .woo-wallet-stats-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

@media (min-width: 640px) {
	body.pn .woo-wallet-my-wallet-container .woo-wallet-stats-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-stat-card {
	border: 1px solid var(--color-border);
	border-radius: 0.75rem;
	background: var(--color-surface);
	padding: 1rem;
	box-shadow: none;
	text-align: center;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-stat-card__icon {
	display: none;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-stat-card__value {
	font-family: var(--font-display);
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-navy);
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-stat-card__label {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

/* Transaction history */
body.pn .woo-wallet-my-wallet-container .woo-wallet-transactions-list {
	margin-top: 1.5rem;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-head .ww-txn-title {
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-navy);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-head .ww-txn-meta {
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	border: 0;
	background: transparent;
	margin-top: 0.5rem;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-row--head {
	display: none;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		'desc amount'
		'date type';
	gap: 0.125rem 0.75rem;
	align-items: center;
	border: 1px solid var(--color-border);
	border-radius: 0.5rem;
	background: var(--color-surface);
	padding: 0.625rem 0.75rem;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-row:not(.ww-txn-row--head):hover {
	background: var(--color-surface);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell {
	padding: 0;
	border: 0;
	font-size: 0.875rem;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell:before {
	display: none;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell--desc {
	grid-area: desc;
	color: var(--color-navy);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell--date {
	grid-area: date;
	font-size: 0.75rem;
	color: var(--color-text-muted);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell--type {
	grid-area: type;
	justify-self: end;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell--amount {
	grid-area: amount;
	justify-self: end;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-navy);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-table .ww-txn-cell--amount.credit {
	color: var(--pn-green, #00a63e);
}

body.pn .woo-wallet-my-wallet-container .ww-txn-badge {
	border-radius: 9999px;
	padding: 0.125rem 0.5rem;
	font-size: 0.6875rem;
	font-weight: 500;
}

body.pn .woo-wallet-my-wallet-container .ww-txn-empty {
	font-size: 0.875rem;
	color: var(--color-text-muted);
}

/* Forms (topup / transfer, when enabled) */
body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper input[type='number'],
body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper input[type='text'],
body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper select,
body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper textarea {
	border-radius: 0.5rem;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	padding: 0.625rem 0.75rem;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--color-text);
	box-shadow: none;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper input[type='submit'] {
	border: 0;
	border-radius: 9999px;
	background: var(--color-primary);
	padding: 0.75rem 1.5rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff;
}

body.pn .woo-wallet-my-wallet-container .woo-wallet-form-wrapper input[type='submit']:hover {
	background: var(--color-primary-dark);
}

/* Mini wallet balance injected into the primary menu (TeraWallet "Mini
   wallet display" setting) — the storefront nav has five links only */
body.pn .pn-header__menu li.woo-wallet-menu-contents,
body.pn .pn-header__menu li.mini-wallet-menu,
body.pn .pn-mobile-nav__list li.woo-wallet-menu-contents,
body.pn .pn-mobile-nav__list li.mini-wallet-menu {
	display: none;
}

/* =========================================================================
   1c. COUPON AFFILIATES — "Refer & Earn" page ([couponaffiliates] on the
   Affiliate Dashboard page): wider column + on-brand buttons/cards
   ========================================================================= */
body.pn-page-affiliates .pn-prose-wrap {
	max-width: 64rem;
}

body.pn-page-affiliates .pn-prose {
	font-family: var(--font-display);
	color: var(--color-text);
}

body.pn-page-affiliates .pn-prose a.button,
body.pn-page-affiliates .pn-prose .wcu-button,
body.pn-page-affiliates .pn-prose input[type='submit'],
body.pn-page-affiliates .pn-prose button:not(.pn-select):not(.pn-card__add) {
	border-radius: 9999px !important;
	border: 0 !important;
	background: var(--color-primary) !important;
	color: #fff !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	text-decoration: none;
}

body.pn-page-affiliates .pn-prose a.button:hover,
body.pn-page-affiliates .pn-prose button:not(.pn-select):not(.pn-card__add):hover {
	background: var(--color-primary-dark) !important;
}

body.pn-page-affiliates .pn-prose h2,
body.pn-page-affiliates .pn-prose h3,
body.pn-page-affiliates .pn-prose h4 {
	font-family: var(--font-display);
	color: var(--color-navy);
	font-weight: 600;
}

body.pn-page-affiliates .pn-prose .wcu-dash-coupon-area,
body.pn-page-affiliates .pn-prose .wcuTable,
body.pn-page-affiliates .pn-prose table {
	border: 1px solid var(--color-border) !important;
	border-radius: 0.75rem;
	overflow: hidden;
}
/* ---- v1.1.1 computed-style parity: earn box text inset (16 + 28 icon + 12 gap), widget header height, pitch line ---- */
body.pn .woocommerce-info:has(.pn-cashback) {
	padding-left: 3.5rem;
}

body.pn .pn-cashback__body {
	margin-left: -3.5rem;
}

body.pn .wcusage-popup-close {
	height: 1.25rem;
	width: 1.25rem;
	font-size: 1.25rem;
	line-height: 1.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

body.pn .wcusage-widget-benefits-message .wcusage-widget-benefits-header p,
body.pn .wcusage-widget-benefits-header p {
	margin: 0 !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
}

/* =========================================================================
   v1.1.3 - Coupon Affiliates: registration form (floating widget + the
   /affiliates/ page) and the affiliate dashboard, in the storefront's form
   and card design (CSS only; plugin markup/logic untouched).
   ========================================================================= */

/* Intro line + headings */
body.pn .wcusage-widget-benefits-message .wcusage-widget-benefits-header p,
body.pn .wcusage-widget-benefits-header p {
	margin: 0 0 0.25rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
	text-align: left !important;
	background: transparent !important;
}

body.pn .wcusage-register-form-title,
body.pn .wcusage-register-form-title strong,
body.pn .wcu-user-coupon-title {
	margin: 1.25rem 0 0.75rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
	text-align: left !important;
}

body.pn .wcusage-register-form-title strong {
	margin: 0 !important;
}

/* Form: 2-col First/Last with equal tops, full-width e-mail / password */
body.pn .wcu_form_style_columns,
body.pn .wcu-form-section {
	display: block;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.pn .wcu_form_affiliate_register {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 1rem;
	row-gap: 0;
	align-items: start;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.pn .wcu_form_affiliate_register > * {
	grid-column: 1 / -1;
	min-width: 0;
}

body.pn .wcu_form_affiliate_register > .wcu-register-field-col-1,
body.pn .wcu_form_affiliate_register > .wcu-register-field-col-2 {
	grid-column: span 1;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
}

@media (max-width: 639px) {
	body.pn .wcu_form_affiliate_register {
		grid-template-columns: minmax(0, 1fr);
	}

	body.pn .wcu_form_affiliate_register > .wcu-register-field-col-1,
	body.pn .wcu_form_affiliate_register > .wcu-register-field-col-2 {
		grid-column: 1 / -1;
	}
}

body.pn .wcu_form_affiliate_register > p,
body.pn .wcu_form_affiliate_register > div {
	margin: 0 0 1rem !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

body.pn .wcu_form_affiliate_register > div[style*='clear'] {
	display: none !important;
}

body.pn .wcu_form_affiliate_register label {
	display: block !important;
	margin: 0 0 0.25rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.75rem !important;
	line-height: 1rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
}

body.pn .wcu_form_affiliate_register input[type='text'],
body.pn .wcu_form_affiliate_register input[type='email'],
body.pn .wcu_form_affiliate_register input[type='password'],
body.pn .wcu_form_affiliate_register input[type='url'],
body.pn .wcu_form_affiliate_register input[type='tel'],
body.pn .wcu_form_affiliate_register select,
body.pn .wcu_form_affiliate_register textarea {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border-radius: 0.5rem !important;
	border: 1px solid var(--color-border) !important;
	background: var(--color-bg) !important;
	padding: 0.625rem 0.75rem !important;
	font-family: inherit !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	color: var(--color-text) !important;
	box-shadow: none !important;
}

body.pn .wcu_form_affiliate_register input:focus,
body.pn .wcu_form_affiliate_register select:focus,
body.pn .wcu_form_affiliate_register textarea:focus {
	border-color: var(--color-primary) !important;
	outline: none !important;
}

/* Terms checkbox row: plain row, no teal border/background */
body.pn .wcu_form_affiliate_register .wcu-reg-terms {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.5rem !important;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
	font-size: 0.75rem !important;
	line-height: 1.25rem !important;
	color: var(--color-text-muted) !important;
}

body.pn .wcu_form_affiliate_register .wcu-reg-terms span {
	margin: 0 !important;
	line-height: 1.25rem !important;
}

body.pn .wcu_form_affiliate_register .wcu-reg-terms input[type='checkbox'] {
	width: 1rem !important;
	height: 1rem !important;
	margin: 0.125rem 0 0 !important;
	accent-color: var(--color-primary);
}

body.pn .wcu_form_affiliate_register .wcu-reg-terms a {
	color: var(--color-primary) !important;
}

/* Submit: ONE brand pill - the wrapper <p> is neutralised, the button styled */
body.pn .wcu_form_affiliate_register .wcu-register-form-button,
body.pn p.wcu-register-form-button {
	display: block !important;
	margin: 0.25rem 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left !important;
	width: 100% !important;
}

body.pn .wcu_form_affiliate_register .wcu-register-form-button input[type='submit'],
body.pn .wcu_form_affiliate_register #wcu-register-button,
body.pn .wcu_form_affiliate_register .woocommerce-button {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 9999px !important;
	background: var(--color-primary) !important;
	padding: 0.75rem 1.5rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-align: center !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

body.pn .wcu_form_affiliate_register .wcu-register-form-button input[type='submit']:hover,
body.pn .wcu_form_affiliate_register #wcu-register-button:hover {
	background: var(--color-primary-dark) !important;
	color: #fff !important;
}

body.pn .wcusage-widget-registration-form .register-spinner {
	display: none !important;
}

/* Panel scrollbar + header/close as the storefront */
body.pn .wcusage-popup-content {
	scrollbar-width: thin;
	scrollbar-color: var(--color-border) transparent;
}

body.pn .wcusage-popup-content::-webkit-scrollbar {
	width: 8px;
}

body.pn .wcusage-popup-content::-webkit-scrollbar-thumb {
	background: var(--color-border);
	border-radius: 9999px;
}

body.pn .wcusage-popup-content::-webkit-scrollbar-track {
	background: transparent;
}

/* ---- /affiliates/ page (Coupon Affiliates dashboard) -> affiliate-tab.tsx --- */
body.pn .wcu-dash-coupon-area,
body.pn .pn-prose .wcu-dash-coupon-area {
	margin: 0 0 1rem !important;
	padding: 1.25rem !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.75rem !important;
	background: var(--color-surface) !important;
	box-shadow: none !important;
}

body.pn .wcu-dash-coupon-area h2.coupon-title {
	display: inline-flex !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.5rem !important;
	padding: 0.5rem 1rem !important;
	border-radius: 0.5rem !important;
	background: var(--color-bg) !important;
	font-family: var(--font-display) !important;
	font-size: 1.125rem !important;
	line-height: 1.75rem !important;
	font-weight: 700 !important;
	color: var(--color-navy) !important;
}

body.pn .wcu-dash-coupon-area .wcu-coupon-title-prefix {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.025em;
	text-transform: uppercase;
	color: var(--color-text-muted);
}

body.pn .wcusage-dash-top-links,
body.pn .wcusage-dash-logout {
	font-size: 0.75rem !important;
	color: var(--color-text-muted) !important;
}

body.pn .wcusage-dash-top-links a,
body.pn .wcusage-refresh-data {
	color: var(--color-primary) !important;
	text-decoration: none !important;
}

/* Tabs -> pills */
body.pn .wcutab {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.pn .wcutab .wcutablinks {
	appearance: none;
	flex: 0 0 auto;
	margin: 0 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 9999px !important;
	background: var(--color-surface) !important;
	padding: 0.5rem 1rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	line-height: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
	box-shadow: none !important;
	cursor: pointer;
}

body.pn .wcutab .wcutablinks.wcutab-active,
body.pn .wcutab .wcutablinks:hover {
	border-color: var(--color-primary) !important;
	background: var(--color-primary) !important;
	color: #fff !important;
}

body.pn .wcutab .wcutablinks i {
	display: none !important;
}

body.pn .wcutabcontent {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.pn .wcusage-tab-section {
	margin: 0 0 1.5rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.pn .wcusage-stats-title,
body.pn .wcu-tab-title {
	margin: 0 0 0.75rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
}

/* Stat boxes -> bordered stat cards (the plugin's absolutely positioned
   Font Awesome icon stays, vertically centred in a fixed left gutter; the
   plugin's 32.3% width + float are dropped inside our grid) */
body.pn .wcusage-info-box {
	box-sizing: border-box !important;
	position: relative !important;
	margin: 0 !important;
	border: 1px solid var(--color-border) !important;
	border-radius: 0.75rem !important;
	background: var(--color-surface) !important;
	padding: 1rem 1rem 1rem 4.25rem !important;
	text-align: center !important;
	box-shadow: none !important;
	color: var(--color-navy) !important;
	font-family: var(--font-display) !important;
	font-size: 1.5rem !important;
	line-height: 2rem !important;
	font-weight: 700 !important;
}

/* inside the sales-stats grid the plugin's 32.3% + float must go */
body.pn .wcusage-sales-stats .wcusage-info-box {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
}

body.pn .wcusage-info-box::before {
	left: 1rem !important;
	top: 50% !important;
	transform: translateY(-50%);
	width: 2.5rem !important;
	height: 2.5rem !important;
	font-size: 1.75rem !important;
	color: var(--color-text-muted) !important;
	opacity: 0.55;
}

body.pn .wcusage-info-box p {
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

body.pn .wcusage-info-box .wcusage-info-box-title {
	display: block !important;
	margin: 0.25rem 0 0 !important;
	font-size: 0.75rem !important;
	line-height: 1rem !important;
	font-weight: 400 !important;
	color: var(--color-text-muted) !important;
	text-transform: none !important;
}

body.pn .wcusage-info-box .woocommerce-Price-amount,
body.pn .wcusage-info-box .woocommerce-Price-currencySymbol {
	color: inherit !important;
	font-weight: inherit !important;
}

/* .wcusage-show-last-all / -30 / -7: the plugin toggles them with inline
   display:none, which wins over this (non-!important) grid */
body.pn .wcusage-sales-stats > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

@media (min-width: 640px) {
	body.pn .wcusage-sales-stats > div {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

body.pn .wcusage-sales-stats > div::before,
body.pn .wcusage-sales-stats > div::after {
	content: none;
	display: none;
}

/* Filters/buttons on the dashboard */
body.pn .wcusage_settings_form input[type='date'],
body.pn .wcusage_settings_form select {
	border-radius: 0.5rem !important;
	border: 1px solid var(--color-border) !important;
	background: var(--color-bg) !important;
	padding: 0.5rem 0.75rem !important;
	font-size: 0.875rem !important;
}

body.pn .ordersfilterbutton,
body.pn .wcu-button-export,
body.pn .wcusage-orders-link {
	border-radius: 9999px !important;
	border: 1px solid var(--color-border) !important;
	background: var(--color-surface) !important;
	padding: 0.5rem 1rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	color: var(--color-navy) !important;
	box-shadow: none !important;
}

/* =========================================================================
   v1.1.5 - Coupon Affiliates dashboard on mobile: the coupon-code heading
   wraps instead of floating the user/logout out of the card; the plugin's
   duplicate mobile tab <select> is hidden (the pill tabs stay); no min-width.
   ========================================================================= */
body.pn .wcu-dash-coupon-area,
body.pn .woocommerce-MyAccount-content .wcu-dash-coupon-area {
	min-width: 0 !important;
	max-width: 100%;
}

body.pn .wcu-dash-coupon-area h2.coupon-title {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	width: auto !important;
	max-width: 100% !important;
	padding: 0 !important;
	text-align: left !important;
	margin: 0 0 1rem !important;
	font-family: var(--font-display);
	font-size: 1.125rem;
	line-height: 1.5rem;
	font-weight: 700;
	color: var(--color-navy);
	min-width: 0;
}

body.pn .wcu-dash-coupon-area h2.coupon-title .wcu-coupon-title {
	overflow-wrap: anywhere;
}

body.pn .wcu-dash-coupon-area .wcusage-dash-top-links {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 1rem;
	float: none !important;
	width: 100%;
	margin: 0 !important;
	text-align: left !important;
}

body.pn .wcu-dash-coupon-area .wcusage-dash-logout,
body.pn .wcu-dash-coupon-area .wcusage-dash-username {
	float: none !important;
	margin: 0 !important;
	text-align: left !important;
	font-size: 0.75rem !important;
	line-height: 1rem;
	white-space: nowrap;
}

@media (min-width: 640px) {
	body.pn .wcu-dash-coupon-area .wcusage-dash-top-links {
		width: auto;
		margin-left: auto !important;
	}
}

body.pn .wcu-dash-coupon-area #wcu-select-tab,
body.pn .wcu-dash-coupon-area form:has(> #wcu-select-tab) {
	display: none !important;
}

body.pn .wcu-dash-coupon-area .wcutab .wcutablinks {
	flex: 1 1 auto;
}

@media (min-width: 640px) {
	body.pn .wcu-dash-coupon-area .wcutab .wcutablinks {
		flex: 0 0 auto;
	}
}

body.pn .wcu-dash-coupon-area input[type="text"],
body.pn .wcu-dash-coupon-area input[type="email"],
body.pn .wcu-dash-coupon-area input[type="url"],
body.pn .wcu-dash-coupon-area select,
body.pn .wcu-dash-coupon-area textarea,
body.pn .wcu-dash-coupon-area .wcusagechart,
body.pn .wcu-dash-coupon-area canvas,
body.pn .wcu-dash-coupon-area table {
	max-width: 100%;
}

body.pn .wcu-dash-coupon-area .wcu-referral-link,
body.pn .wcu-dash-coupon-area pre,
body.pn .wcu-dash-coupon-area code {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* =========================================================================
   v1.1.6 - store-credit earn bubble (cashback-banner.tsx), rendered by the
   theme inside .cart_totals / the checkout summary (not a Woo notice), so it
   survives and updates on every AJAX cart/checkout refresh.
   ========================================================================= */
body.pn .pn-cashback-bubble {
	position: relative;
	display: block;
	margin: 1rem 0 0;
	overflow: hidden;
	border-radius: 0.75rem;
	background-color: transparent;
	background-image: var(--pn-gradient);
	padding: 1rem;
	color: #fff;
	font-family: var(--font-display);
}

/* v1.1.8 (cashback-banner.tsx): "flex items-center gap-3" row — icon centred on
   the headline + link only; the explanation sits below the row, full width */
body.pn .pn-cashback-bubble__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

body.pn .pn-cashback-bubble__icon {
	flex-shrink: 0;
	color: #fff;
}

/* the link is an inline-block on the row's 16px/24px line, as the storefront's <button> */
body.pn .pn-cashback-bubble__body {
	flex: 1 1 0%;
	min-width: 0;
	font-size: 1rem;
	line-height: 1.5rem;
}

body.pn .pn-cashback-bubble__headline {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.375;
	font-weight: 700;
	color: #fff;
}

body.pn .pn-cashback-bubble .pn-cashback-bubble__how {
	display: inline-block;
	margin: 0.125rem 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: none;
	color: rgba(255, 255, 255, 0.8);
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.5);
	text-underline-offset: 2px;
}

body.pn .pn-cashback-bubble .pn-cashback-bubble__how:hover,
body.pn .pn-cashback-bubble .pn-cashback-bubble__how:focus {
	background: none;
	color: #fff;
}

body.pn .pn-cashback-bubble__info {
	margin: 0.75rem 0 0;
	padding: 0.75rem 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.75rem;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.85);
}

body.pn .pn-cashback-bubble__info[hidden] {
	display: none;
}

body.pn .woocommerce table.pn-summary--checkout tr.pn-summary__earn .pn-cashback-bubble {
	margin: 0;
}

/* =========================================================================
   v1.1.8 — store credit when the balance covers the whole order: the card
   (theme, in the Payment slot) drives TeraWallet's "wallet" gateway, so the
   gateway's own radio row is not listed again under "Pay with".
   ========================================================================= */
body.pn.woocommerce-checkout #payment ul.payment_methods li.payment_method_wallet {
	display: none !important;
}

body.pn .woocommerce table.pn-summary--checkout tr.pn-wallet-row {
	display: none;
}

/* v1.1.8: for non-affiliates the Coupon Affiliates dashboard markup closes one
   <div> too many, so its trailing empty "clear" spacers (one with
   margin-bottom: 50px) land beside the account sidebar as full-width flex
   rows — the ~180px gap above the sidebar at 1024px and up. They are empty
   spacers (no class, no child elements): hidden. */
body.pn .pn-account--affiliate .woocommerce > div:not([class]):not(:has(*)) {
	display: none;
}

/* v1.1.8: the card option while store credit covers the whole order ($0.00 due) */
body.pn.woocommerce-checkout #payment ul.payment_methods li.pn-gateway--locked {
	opacity: 0.5;
	cursor: not-allowed;
}

body.pn.woocommerce-checkout #payment ul.payment_methods li.pn-gateway--locked label {
	cursor: not-allowed;
}

/* v1.1.8: the partial-payment card's explanation is real text (payment-method.tsx), not ::after */
body.pn .pn-checkout__wallet-slot tr.wallet-pay-partial th::after {
	content: none;
	display: none;
}

body.pn .pn-checkout__wallet-slot tr.wallet-pay-partial th .pn-wallet-card__text {
	grid-column: 2;
	display: block;
	margin-top: 0.125rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 400;
	color: var(--color-text-muted);
}

/* =========================================================================
   v1.1.9 — bundle offer line in the cart + checkout summary (same text and
   style as the product cards' .pn-card__bundle), and the original price
   crossed out next to each discounted bundle in the checkout summary
   (same numbers + style as the cart's .pn-cart__line-regular).
   ========================================================================= */
body.pn .woocommerce table.pn-cart__table .pn-cart__offer,
body.pn .woocommerce table.pn-summary--checkout tbody td.product-name .pn-summary__offer {
	display: block;
	margin: 0.125rem 0 0;
	font-family: var(--font-display);
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 800;
	color: var(--color-primary);
	overflow-wrap: anywhere;
}

body.pn .woocommerce table.pn-summary--checkout tbody td.product-total .pn-summary__regular {
	margin-right: 0.375rem;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--color-text-muted);
	text-decoration: line-through;
	text-decoration-color: var(--pn-red-500, #fb2c36);
}

body.pn .woocommerce table.pn-summary--checkout tbody td.product-total .pn-summary__regular .amount {
	color: inherit;
	font-weight: inherit;
}

/* v1.1.9: cart-line-item.tsx at phone widths — a discounted line's price block
   ("$174.95 $139.96" + "You save") does not fit beside the stepper, so it wraps
   under it (local's flex-wrap), and the name/meta/offer keep the full width. */
@media (max-width: 459px) {
	body.pn .woocommerce table.pn-cart__table tr.woocommerce-cart-form__cart-item:has(.pn-cart__line-regular) {
		grid-template-rows: auto auto auto 1fr;
		grid-template-areas:
			'thumb name remove'
			'thumb qty qty'
			'thumb total total'
			'thumb . .';
	}

	body.pn .woocommerce table.pn-cart__table tr.woocommerce-cart-form__cart-item:has(.pn-cart__line-regular) td.product-subtotal {
		justify-self: start;
		margin-top: 0.75rem;
	}
}
