/**
 * ShePrive Luxury Wallet — Frontend Styles
 * --------------------------------------------------
 * Premium aesthetic: charcoal, cream and soft gold.
 */

:root {
	--sheprive-gold: #c5a572;
	--sheprive-gold-dark: #a78757;
	--sheprive-gold-soft: #e8dcc3;
	--sheprive-cream: #f9f6f1;
	--sheprive-charcoal: #2a2826;
	--sheprive-charcoal-light: #4a4744;
	--sheprive-success: #2f6a4d;
	--sheprive-danger: #a94442;
	--sheprive-muted: #8a8682;
	--sheprive-border: #e6e0d4;
}

/* ------------------------------------------------------------------
 * Cart / Checkout progress notice
 * ------------------------------------------------------------------ */
.sheprive-wallet-notice {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.75rem 0;
	background: linear-gradient(135deg, var(--sheprive-cream) 0%, #ffffff 100%);
	border: 1px solid var(--sheprive-border);
	border-left: 4px solid var(--sheprive-gold);
	border-radius: 4px;
	font-family: Georgia, 'Times New Roman', serif;
	color: var(--sheprive-charcoal);
	box-shadow: 0 1px 3px rgba(42, 40, 38, 0.04);
}

.sheprive-wallet-notice__icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--sheprive-charcoal);
	color: var(--sheprive-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	letter-spacing: 0.05em;
	font-weight: 600;
}

.sheprive-wallet-notice__body {
	flex: 1;
}

.sheprive-wallet-notice__title {
	margin: 0 0 0.35rem 0;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sheprive-gold-dark);
	font-weight: 600;
}

.sheprive-wallet-notice__message {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.5;
	color: var(--sheprive-charcoal);
}

.sheprive-wallet-notice__message strong {
	color: var(--sheprive-charcoal);
	font-weight: 700;
}

.sheprive-wallet-notice__progress {
	margin-top: 0.9rem;
	height: 6px;
	background: var(--sheprive-border);
	border-radius: 3px;
	overflow: hidden;
}

.sheprive-wallet-notice__progress-bar {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--sheprive-gold) 0%, var(--sheprive-gold-dark) 100%);
	transition: width 0.4s ease;
}

.sheprive-wallet-notice--success {
	border-left-color: var(--sheprive-success);
	background: linear-gradient(135deg, #f3f7f4 0%, #ffffff 100%);
}

.sheprive-wallet-notice--success .sheprive-wallet-notice__icon {
	background: var(--sheprive-success);
	color: #ffffff;
}

.sheprive-wallet-notice--success .sheprive-wallet-notice__title {
	color: var(--sheprive-success);
}

/* ------------------------------------------------------------------
 * Checkout apply box
 * ------------------------------------------------------------------ */
.sheprive-wallet-apply {
	padding: 1.25rem 1.5rem;
	margin: 0 0 1.5rem 0;
	background: var(--sheprive-cream);
	border: 1px solid var(--sheprive-border);
	border-radius: 4px;
	font-family: Georgia, 'Times New Roman', serif;
}

.sheprive-wallet-apply__title {
	margin: 0 0 0.3rem 0;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sheprive-gold-dark);
	font-weight: 600;
}

.sheprive-wallet-apply__balance {
	display: block;
	font-size: 1.5rem;
	color: var(--sheprive-charcoal);
	margin-bottom: 0.75rem;
}

.sheprive-wallet-apply__row {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	flex-wrap: wrap;
}

.sheprive-wallet-apply__input {
	flex: 1;
	min-width: 140px;
	padding: 0.65rem 0.9rem;
	border: 1px solid var(--sheprive-border);
	border-radius: 3px;
	background: #ffffff;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 1rem;
	color: var(--sheprive-charcoal);
}

.sheprive-wallet-apply-btn,
.sheprive-wallet-remove-btn {
	display: inline-block;
	padding: 0.7rem 1.4rem;
	background: var(--sheprive-charcoal);
	color: #ffffff !important;
	border: 1px solid var(--sheprive-charcoal);
	border-radius: 3px;
	font-family: Georgia, 'Times New Roman', serif;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	text-decoration: none;
}

.sheprive-wallet-apply-btn:hover,
.sheprive-wallet-remove-btn:hover {
	background: var(--sheprive-gold-dark);
	border-color: var(--sheprive-gold-dark);
	color: #ffffff !important;
}

.sheprive-wallet-remove-btn {
	background: transparent;
	color: var(--sheprive-charcoal) !important;
	border: 1px solid var(--sheprive-charcoal);
}

.sheprive-wallet-remove-btn:hover {
	background: var(--sheprive-charcoal);
	color: #ffffff !important;
}

.sheprive-wallet-apply__applied {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	flex-wrap: wrap;
}

.sheprive-wallet-apply__applied-text {
	flex: 1;
	color: var(--sheprive-success);
	font-size: 1rem;
}

.sheprive-wallet-apply__hint {
	display: block;
	margin-top: 0.5rem;
	font-size: 0.85rem;
	color: var(--sheprive-muted);
	font-style: italic;
}

/* ------------------------------------------------------------------
 * My Account — Wallet
 * ------------------------------------------------------------------ */
.sheprive-wallet-account {
	font-family: Georgia, 'Times New Roman', serif;
	color: var(--sheprive-charcoal);
}

.sheprive-wallet-account__header {
	margin-bottom: 1.75rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--sheprive-border);
}

.sheprive-wallet-account__title {
	margin: 0 0 0.3rem 0;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	color: var(--sheprive-charcoal);
}

.sheprive-wallet-account__subtitle {
	margin: 0;
	color: var(--sheprive-muted);
	font-style: italic;
}

.sheprive-wallet-account__cards {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

@media ( max-width: 600px ) {
	.sheprive-wallet-account__cards {
		grid-template-columns: 1fr;
	}
}

.sheprive-wallet-card {
	padding: 1.75rem 1.5rem;
	border-radius: 4px;
	color: #ffffff;
	position: relative;
	overflow: hidden;
}

.sheprive-wallet-card--active {
	background: linear-gradient(135deg, var(--sheprive-charcoal) 0%, var(--sheprive-charcoal-light) 100%);
	border: 1px solid var(--sheprive-charcoal);
}

.sheprive-wallet-card--pending {
	background: linear-gradient(135deg, var(--sheprive-gold-dark) 0%, var(--sheprive-gold) 100%);
	border: 1px solid var(--sheprive-gold-dark);
}

.sheprive-wallet-card__label {
	display: block;
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.85;
	margin-bottom: 0.75rem;
	font-weight: 600;
}

.sheprive-wallet-card__amount {
	display: block;
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	margin-bottom: 0.5rem;
}

.sheprive-wallet-card__amount .woocommerce-Price-amount {
	color: inherit;
}

.sheprive-wallet-card__hint {
	display: block;
	font-size: 0.85rem;
	opacity: 0.8;
	font-style: italic;
}

/* Tooltip */
.sheprive-wallet-tooltip {
	display: inline-block;
	position: relative;
	margin-left: 0.35rem;
	cursor: help;
	vertical-align: middle;
}

.sheprive-wallet-tooltip__icon {
	display: inline-flex;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	color: #ffffff;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-style: italic;
	font-family: Georgia, serif;
	line-height: 1;
}

.sheprive-wallet-tooltip__content {
	visibility: hidden;
	opacity: 0;
	position: absolute;
	bottom: calc( 100% + 8px );
	left: 50%;
	transform: translateX( -50% );
	width: 240px;
	padding: 0.75rem 0.9rem;
	background: var(--sheprive-charcoal);
	color: #ffffff;
	font-size: 0.8rem;
	line-height: 1.45;
	font-style: normal;
	letter-spacing: normal;
	text-transform: none;
	border-radius: 3px;
	box-shadow: 0 6px 18px rgba(42, 40, 38, 0.18);
	z-index: 10;
	transition: opacity 0.18s ease;
	pointer-events: none;
}

.sheprive-wallet-tooltip:hover .sheprive-wallet-tooltip__content,
.sheprive-wallet-tooltip:focus .sheprive-wallet-tooltip__content {
	visibility: visible;
	opacity: 1;
}

/* History */
.sheprive-wallet-account__section-title {
	margin: 0 0 1rem 0;
	font-size: 0.85rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--sheprive-gold-dark);
	font-weight: 600;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--sheprive-gold);
}

.sheprive-wallet-account__empty {
	padding: 1.5rem;
	background: var(--sheprive-cream);
	border-radius: 4px;
	color: var(--sheprive-muted);
	font-style: italic;
	text-align: center;
}

.sheprive-wallet-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95rem;
}

.sheprive-wallet-table thead th {
	text-align: left;
	padding: 0.85rem 0.75rem;
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--sheprive-gold-dark);
	font-weight: 600;
	border-bottom: 2px solid var(--sheprive-gold);
	background: transparent;
}

.sheprive-wallet-table tbody td {
	padding: 0.9rem 0.75rem;
	border-bottom: 1px solid var(--sheprive-border);
	color: var(--sheprive-charcoal);
	vertical-align: middle;
}

.sheprive-wallet-table tbody tr:hover td {
	background: rgba(249, 246, 241, 0.5);
}

.sheprive-wallet-table__amount-col,
.sheprive-wallet-table__amount {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.sheprive-wallet-table__amount--credit {
	color: var(--sheprive-success);
}

.sheprive-wallet-table__amount--debit {
	color: var(--sheprive-danger);
}

/* Status badges */
.sheprive-wallet-status {
	display: inline-block;
	padding: 0.25rem 0.7rem;
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 999px;
	font-weight: 600;
	background: var(--sheprive-border);
	color: var(--sheprive-charcoal);
}

.sheprive-wallet-status--active {
	background: #e3efe7;
	color: var(--sheprive-success);
}

.sheprive-wallet-status--pending {
	background: var(--sheprive-gold-soft);
	color: var(--sheprive-gold-dark);
}

.sheprive-wallet-status--cancelled {
	background: #f2dede;
	color: var(--sheprive-danger);
}

.sheprive-wallet-status--expired {
	background: #ece9e3;
	color: var(--sheprive-muted);
}

.sheprive-wallet-status--used {
	background: var(--sheprive-charcoal);
	color: var(--sheprive-cream);
}

/* Mobile table */
@media ( max-width: 600px ) {
	.sheprive-wallet-table thead {
		display: none;
	}

	.sheprive-wallet-table,
	.sheprive-wallet-table tbody,
	.sheprive-wallet-table tr,
	.sheprive-wallet-table td {
		display: block;
		width: 100%;
	}

	.sheprive-wallet-table tr {
		margin-bottom: 1rem;
		border: 1px solid var(--sheprive-border);
		border-radius: 4px;
		padding: 0.5rem;
	}

	.sheprive-wallet-table tbody td {
		border-bottom: 1px dashed var(--sheprive-border);
		padding: 0.6rem 0.5rem;
		text-align: right;
	}

	.sheprive-wallet-table tbody td:last-child {
		border-bottom: none;
	}

	.sheprive-wallet-table tbody td::before {
		content: attr( data-label );
		float: left;
		font-size: 0.72rem;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: var(--sheprive-muted);
		font-weight: 600;
	}
}
