/* FitMoney header badge + checkout redeem */

.fitmoney-reg-banner {
	background: linear-gradient(90deg, #0b6b5f 0%, #00b29c 55%, #0b6b5f 100%);
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	position: relative;
	z-index: 30;
}

.fitmoney-reg-banner .container {
	padding-bottom: 8px;
	padding-top: 8px;
}

.fitmoney-reg-banner-link {
	align-items: center;
	color: #fff !important;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	justify-content: flex-start;
	text-align: left;
	text-decoration: none !important;
}

.fitmoney-reg-banner-link:hover,
.fitmoney-reg-banner-link:focus {
	color: #fff !important;
	opacity: 0.95;
	text-decoration: none !important;
}

.fitmoney-reg-banner-coin {
	align-items: center;
	background: rgba(255, 255, 255, 0.2);
	border-radius: 50%;
	display: inline-flex;
	flex-shrink: 0;
	font-size: 11px;
	font-weight: 800;
	height: 20px;
	justify-content: center;
	width: 20px;
}

.fitmoney-reg-banner-copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	text-align: left;
}

.fitmoney-reg-banner-text {
	font-weight: 700;
	letter-spacing: 0.01em;
}

.fitmoney-reg-banner-meta {
	font-size: 12px;
	font-weight: 600;
	opacity: 0.92;
}

.fitmoney-reg-banner-cta {
	background: #fff;
	border-radius: 999px;
	color: #0b6b5f;
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 800;
	padding: 3px 10px;
	text-transform: uppercase;
}

@media (max-width: 480px) {
	.fitmoney-reg-banner {
		font-size: 12px;
	}

	.fitmoney-reg-banner .container {
		padding-bottom: 7px;
		padding-top: 7px;
	}

	.fitmoney-reg-banner-meta {
		font-size: 11px;
	}
}

.top-cart-row .fitmoney-header-item {
	display: block;
	flex: 0 0 auto;
	line-height: 1;
	margin: 0;
	padding: 0;
}

.shop-header-actions > .top-cart-row {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fitmoney-header-link {
	align-items: center;
	background: #e8f8f4;
	border-radius: 999px;
	color: #0b6b5f !important;
	display: inline-flex !important;
	font-weight: 700 !important;
	gap: 6px;
	line-height: 1;
	padding: 5px 10px;
	white-space: nowrap;
}

.fitmoney-header-link:hover,
.fitmoney-header-link:focus {
	background: #d4f3ec;
	color: #086057 !important;
	text-decoration: none;
}

.fitmoney-header-coin {
	align-items: center;
	background: #00b29c;
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex-shrink: 0;
	font-size: 11px;
	font-style: normal;
	font-weight: 800;
	height: 18px;
	justify-content: center;
	line-height: 1;
	width: 18px;
}

.fitmoney-header-label {
	font-size: 13px;
	font-weight: 700;
}

.fitmoney-header-balance {
	background: #fff;
	border-radius: 999px;
	color: #00b29c;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	min-width: 1.5em;
	padding: 2px 7px;
	text-align: center;
}

.fitmoney-box {
	margin-bottom: 12px;
}

.fitmoney-box-title {
	font-weight: 600;
	margin-bottom: 6px;
}

.fitmoney-box-help {
	color: #667085;
	font-size: 12px;
	line-height: 1.45;
	margin: 0 0 8px;
}

.fitmoney-box-row {
	align-items: center;
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.fitmoney-box-row .form-control {
	flex: 1 1 auto;
}

.fitmoney-guest-note {
	color: #667085;
	font-size: 13px;
	margin: 0;
}

.cart-panel-fitmoney {
	border-top: 1px solid #eee;
	margin-top: 10px;
	padding-top: 10px;
}

.cart-panel-fitmoney-label {
	color: #333;
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
}

.cart-panel-fitmoney-help {
	color: #667085;
	font-size: 11px;
	margin: 0 0 8px;
}

.cart-panel-fitmoney-row {
	display: flex;
	gap: 6px;
}

.cart-panel-fitmoney-input {
	border: 1px solid #d0d5dd;
	border-radius: 4px;
	flex: 1 1 auto;
	font-size: 13px;
	min-width: 0;
	padding: 6px 8px;
}

.cart-panel-fitmoney-btn {
	background: #00b29c;
	border: 0;
	border-radius: 4px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	padding: 6px 10px;
	white-space: nowrap;
}

.cart-panel-fitmoney-btn:hover {
	background: #009a87;
	color: #fff;
}

.cart-panel-fitmoney-message {
	font-size: 12px;
	margin-top: 6px;
	min-height: 1em;
}

.cart-panel-fitmoney-message.success {
	color: #1a7f4c;
}

.cart-panel-fitmoney-message.error {
	color: #c0392b;
}

.cart-panel-fitmoney-discount {
	align-items: center;
	display: flex;
	font-size: 13px;
	gap: 8px;
	justify-content: space-between;
	margin-top: 8px;
}

.cart-panel-fitmoney-discount-value {
	color: #1a7f4c;
	font-weight: 700;
	white-space: nowrap;
}

.fitmoney-reg-rules {
	background: #f3fbf9;
	border: 1px solid #cfebe5;
	border-radius: 10px;
	margin-top: 16px;
	padding: 12px 14px;
}

.fitmoney-reg-rules-title {
	color: #0b6b5f;
	font-size: 14px;
	font-weight: 800;
	margin: 0 0 8px;
}

.fitmoney-reg-rules-bonus {
	color: #086057;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	margin: 0 0 8px;
}

.fitmoney-reg-rules-list {
	color: #334155;
	font-size: 13px;
	line-height: 1.45;
	margin: 0;
	padding-left: 18px;
}

.fitmoney-reg-rules-list li {
	margin-bottom: 4px;
}

.fitmoney-account-card {
	background: #fff;
	border: 1px solid #e6e8eb;
	border-radius: 10px;
	margin-top: 20px;
	padding: 18px 20px 8px;
}

.fitmoney-account-card h3 {
	color: #0b6b5f;
	font-size: 18px;
	font-weight: 700;
	margin: 0 0 8px;
}

.fitmoney-account-balance {
	font-size: 28px;
	font-weight: 800;
	color: #00b29c;
	margin: 0 0 6px;
}

.fitmoney-account-meta {
	color: #667085;
	font-size: 13px;
	margin: 0 0 14px;
}

.fitmoney-invite-box {
	background: #f4faf8;
	border: 1px solid #cfe8e2;
	border-radius: 8px;
	margin: 0 0 16px;
	padding: 14px 14px 6px;
}

.fitmoney-invite-box h4 {
	color: #0b6b5f;
	font-size: 15px;
	font-weight: 700;
	margin: 0 0 6px;
}

.fitmoney-invite-label {
	color: #344054;
	display: block;
	font-size: 12px;
	font-weight: 600;
	margin: 0 0 6px;
}

.fitmoney-invite-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 8px;
}

.fitmoney-invite-input {
	background: #fff;
	border: 1px solid #d0d5dd;
	border-radius: 6px;
	flex: 1 1 220px;
	font-size: 13px;
	min-width: 0;
	padding: 8px 10px;
}

.fitmoney-invite-copy {
	flex: 0 0 auto;
	padding: 8px 14px;
}

.fitmoney-ledger {
	font-size: 13px;
	margin-bottom: 12px;
	width: 100%;
}

.fitmoney-ledger th,
.fitmoney-ledger td {
	border-bottom: 1px solid #eee;
	padding: 8px 6px;
	text-align: left;
}

.fitmoney-ledger th {
	color: #667085;
	font-weight: 600;
}

.fitmoney-ledger .pts-pos {
	color: #1a7f4c;
	font-weight: 700;
}

.fitmoney-ledger .pts-neg {
	color: #c0392b;
	font-weight: 700;
}

@media (max-width: 991px) {
	.fitmoney-header-link {
		padding: 4px 8px;
	}

	.fitmoney-header-label {
		font-size: 12px;
	}

	.fitmoney-header-balance {
		font-size: 12px;
		padding: 1px 6px;
	}

	.fitmoney-header-coin {
		font-size: 10px;
		height: 16px;
		width: 16px;
	}
}
