/* ThriveX Member Hub — save buttons + shared frontend styles
 * Loaded on directory archives, single tool pages, and the member dashboard.
 * Variables defined here so the file works even where the page-scoped :root
 * vars from the dashboard template aren't present. */

:root {
	--txm-cyan: #1ecbe1;
	--txm-cyan-light: #5dd4e8;
	--txm-gold: #f5b942;
	--txm-bg-deep: #071013;
	--txm-border: rgba(128, 176, 184, 0.18);
	--txm-text-soft: #a8bec2;
}

.tx-save-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(7, 16, 19, 0.7);
	border: 1px solid var(--txm-border);
	color: var(--txm-text-soft);
	cursor: pointer;
	font-size: 1.15rem;
	line-height: 1;
	padding: 0;
	transition: transform .15s ease, color .15s ease, border-color .15s ease, background .15s ease;
	text-decoration: none;
}
.tx-save-btn:hover {
	border-color: var(--txm-cyan);
	color: var(--txm-cyan-light);
	transform: scale(1.08);
}
.tx-save-btn.is-saved,
.tx-save-btn.is-saved:hover {
	color: var(--txm-gold);
	border-color: var(--txm-gold);
}
.tx-save-btn.is-loading {
	opacity: .55;
	pointer-events: none;
}
.tx-save-btn .tx-save-icon {
	display: inline-block;
	transform: translateY(-1px);
}

/* Toast feedback */
.tx-toast {
	position: fixed;
	bottom: 24px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: rgba(7, 16, 19, 0.95);
	border: 1px solid var(--txm-cyan);
	color: #eef7f8;
	padding: 12px 20px;
	border-radius: 12px;
	font-family: 'Manrope', -apple-system, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	z-index: 99998;
	opacity: 0;
	transition: transform .25s ease, opacity .25s ease;
	pointer-events: none;
	box-shadow: 0 12px 32px rgba(0, 0, 0, .5);
}
.tx-toast.show {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}
.tx-toast.err {
	border-color: #e1341e;
}
