.nullx-notification-component {
	position: relative;
}

.notification-bell {
	position: relative;
	width: auto;
	height: auto;
	padding: 8px;
	background-color: transparent;
	border: 1px solid transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all .3s ease;
}

.notification-bell:hover {
	background-color: #f1f5f9;
	transform: scale(1.1);
}

.bell-icon svg {
	color: var(--body-color, #64748b);
	width: 22px;
	height: 22px;
}

.notification-badge {
	position: absolute;
	top: 2px;
	right: 2px;
	background-color: var(--accent-color, #ff5671);
	color: #fff;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	animation: notif-pulse 2s infinite;
}

.notification-dropdown {
	position: absolute;
	top: calc(100% + 15px);
	left: 50%;
	width: 380px;
	background-color: var(--card-bg, #fff);
	border: 1px solid #eef0f5;
	border-radius: var(--soft-radius, 12px);
	box-shadow: var(--shadow-soft, 0 4px 25px rgba(37, 37, 46, .12));
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transform: translateX(-50%) translateY(-10px);
	transition: all .3s ease;
	direction: rtl;
}

.notification-dropdown.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.notification-header {
	padding: 16px 20px;
	border-bottom: 1px solid #eef0f5;
}

.notification-header h4 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--headings-color, #2f2e35);
}

.notification-content {
	max-height: 320px;
	overflow-y: auto;
	padding: 8px 0;
}

.notification-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 20px;
	transition: background-color .2s ease;
	text-decoration: none;
}

.notification-item:hover {
	background-color: #f8fafc;
}

.notification-icon {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.notification-icon svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

.notification-icon.info {
	background-color: #eff6ff;
	color: #3b82f6;
}

.notification-icon.success {
	background-color: #f0fdf4;
	color: #22c55e;
}

.notification-icon.warning {
	background-color: #fefce8;
	color: #eab308;
}

.notification-icon.discount {
	background-color: #fdf2f8;
	color: #ec4899;
}

.notification-meta {
	flex-grow: 1;
}

.notification-title {
	font-weight: 600;
	color: var(--headings-color, #2f2e35);
	margin: 0 0 4px;
}

.notification-message {
	font-size: .875rem;
	color: var(--body-color, #64748b);
	margin: 0;
}

.notification-footer {
	padding: 12px 20px;
	text-align: center;
	border-top: 1px solid #eef0f5;
}

.notification-footer a {
	color: var(--accent-color, #7c3aed);
	font-weight: 600;
	font-size: .875rem;
	text-decoration: none;
}

.notification-empty,
.notification-loading {
	text-align: center;
	padding: 40px 20px;
	color: #9ca3af;
}

.spinner {
	width: 24px;
	height: 24px;
	border: 3px solid #e2e8f0;
	border-top-color: var(--accent-color, #7c3aed);
	border-radius: 50%;
	margin: 0 auto 10px;
	animation: notif-spin 1s linear infinite;
}

@keyframes notif-pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes notif-spin {
	to {
		transform: rotate(360deg);
	}
}

html[scheme="dark"] .notification-bell:hover {
	background-color: #334155;
}

html[scheme="dark"] .bell-icon svg {
	color: var(--body-color);
}

html[scheme="dark"] .notification-badge {
	border-color: #1e293b;
}

html[scheme="dark"] .notification-dropdown {
	background-color: var(--card-bg);
	border-color: #374151;
}

html[scheme="dark"] .notification-header,
html[scheme="dark"] .notification-footer {
	border-color: #374151;
}

html[scheme="dark"] .notification-header h4,
html[scheme="dark"] .notification-title {
	color: var(--headings-color);
}

html[scheme="dark"] .notification-item:hover {
	background-color: #374151;
}

html[scheme="dark"] .notification-message {
	color: var(--body-color);
}

html[scheme="dark"] .notification-icon.info {
	background-color: #1e3a8a;
	color: #93c5fd;
}

html[scheme="dark"] .notification-icon.success {
	background-color: #14532d;
	color: #86efac;
}

html[scheme="dark"] .notification-icon.warning {
	background-color: #713f12;
	color: #fcd34d;
}

html[scheme="dark"] .notification-icon.discount {
	background-color: #831843;
	color: #f9a8d4;
}

html[scheme="dark"] .notification-empty {
	color: var(--body-color);
}

html[scheme="dark"] .spinner {
	border-color: #334155;
	border-top-color: var(--accent-color);
}