/* ============================================
   COMPONENT: Snackbar Notification
   ============================================ */

.snackbar {
	position: fixed;
	bottom: 2.4rem;
	left: 50%;
	transform: translateX(-50%) translateY(10rem);
	display: flex;
	align-items: center;
	gap: 1.2rem;
	padding: 1.6rem 2.4rem;
	background-color: #323232;
	color: #ffffff;
	border-radius: var(--radius-md, 0.8rem);
	box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.25);
	font-family: var(--font-primary);
	font-size: var(--fs-300, 1.4rem);
	font-weight: 500;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease,
		visibility 0.4s ease;
	max-width: calc(100vw - 4.8rem);
}

.snackbar--show {
	transform: translateX(-50%) translateY(0);
	opacity: 1;
	visibility: visible;
}

.snackbar__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	font-size: 1.4rem;
	font-weight: 700;
	flex-shrink: 0;
}

/* Success variant */
.snackbar--success {
	background-color: #1e7e34;
}

.snackbar--success .snackbar__icon {
	background-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

/* Error variant */
.snackbar--error {
	background-color: #c82333;
}

.snackbar--error .snackbar__icon {
	background-color: rgba(255, 255, 255, 0.2);
	color: #ffffff;
}

.snackbar__message {
	line-height: 1.4;
}

/* Mobile responsive */
@media (max-width: 575.98px) {
	.snackbar {
		bottom: 1.6rem;
		left: 1.6rem;
		right: 1.6rem;
		transform: translateX(0) translateY(10rem);
		max-width: none;
		padding: 1.4rem 2rem;
		font-size: var(--fs-200, 1.3rem);
	}

	.snackbar--show {
		transform: translateX(0) translateY(0);
	}

	.snackbar__icon {
		width: 2rem;
		height: 2rem;
		font-size: 1.2rem;
	}
}
