/* ==========================================================================
   Facebook-Grade Notifications Dropdown System (v9.0)
   Designed strictly according to Facebook Desktop Web Design (notifications.JPG)
   ========================================================================== */

/* 1. Flyout Container */
.dropdown-widget.fb-notifications-dropdown {
  width: 360px !important;
  min-width: 360px !important;
  max-width: 380px !important;
  border-radius: 12px !important;
  padding: 8px 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.2), 0 2px 4px 0 rgba(0, 0, 0, 0.1) !important;
  background: #ffffff !important;
  overflow: visible !important;
}

body.night-mode .dropdown-widget.fb-notifications-dropdown {
  background: #242526 !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow: 0 12px 28px 0 rgba(0, 0, 0, 0.5), 0 2px 4px 0 rgba(0, 0, 0, 0.2) !important;
}

/* 2. Header Area */
.fb-notif-header {
  padding: 8px 16px 4px !important;
  position: relative !important;
}

.fb-notif-title-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 10px !important;
}

.fb-notif-title {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #050505 !important;
  letter-spacing: -0.4px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

body.night-mode .fb-notif-title {
  color: #e4e6eb !important;
}

.fb-notif-opt-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: #65676b !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
  outline: none !important;
}

.fb-notif-opt-btn:hover {
  background: #f0f2f5 !important;
  color: #050505 !important;
}

body.night-mode .fb-notif-opt-btn {
  color: #b0b3b8 !important;
}

body.night-mode .fb-notif-opt-btn:hover {
  background: #3a3b3c !important;
  color: #e4e6eb !important;
}

/* Filter Pills */
.fb-notif-filters {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 6px !important;
}

.fb-notif-pill {
  border: none !important;
  background: transparent !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #65676b !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  outline: none !important;
}

.fb-notif-pill:hover {
  background: #f0f2f5 !important;
}

body.night-mode .fb-notif-pill {
  color: #b0b3b8 !important;
}

body.night-mode .fb-notif-pill:hover {
  background: #3a3b3c !important;
}

.fb-notif-pill.active {
  background: #e7f3ff !important;
  color: #1877f2 !important;
}

body.night-mode .fb-notif-pill.active {
  background: rgba(45, 136, 255, 0.2) !important;
  color: #4599ff !important;
}

/* 3. Section Titles */
.fb-notif-section-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 10px 16px 6px !important;
}

.fb-notif-section-title {
  font-size: 17px !important;
  font-weight: 600 !important;
  color: #050505 !important;
}

body.night-mode .fb-notif-section-title {
  color: #e4e6eb !important;
}

.fb-notif-see-all {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1877f2 !important;
  text-decoration: none !important;
  transition: opacity 0.15s ease !important;
}

.fb-notif-see-all:hover {
  text-decoration: underline !important;
}

body.night-mode .fb-notif-see-all {
  color: #4599ff !important;
}

/* 4. Notification List & Items */
.fb-notif-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 8px !important;
}

.fb-notif-item {
  position: relative !important;
  margin-bottom: 2px !important;
}

.fb-notif-link {
  display: flex !important;
  align-items: center !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: background 0.15s ease !important;
  position: relative !important;
}

.fb-notif-link:hover {
  background: #f2f2f2 !important;
  text-decoration: none !important;
}

body.night-mode .fb-notif-link:hover {
  background: #3a3b3c !important;
}

/* Unread background tint */
.fb-notif-item.unread .fb-notif-link {
  background: rgba(24, 119, 242, 0.04) !important;
}

body.night-mode .fb-notif-item.unread .fb-notif-link {
  background: rgba(69, 153, 255, 0.08) !important;
}

.fb-notif-item.unread .fb-notif-link:hover {
  background: #ebebeb !important;
}

body.night-mode .fb-notif-item.unread .fb-notif-link:hover {
  background: #3e4042 !important;
}

/* Avatar Wrap with Badge */
.fb-notif-avatar-wrap {
  position: relative !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
}

[dir="rtl"] .fb-notif-avatar-wrap {
  margin-right: 0 !important;
  margin-left: 12px !important;
}

.fb-notif-avatar-img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Overlapping Badge Icon */
.fb-notif-badge {
  position: absolute !important;
  bottom: -2px !important;
  right: -2px !important;
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 2px solid #ffffff !important;
  color: #ffffff !important;
  font-size: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  z-index: 2 !important;
}

[dir="rtl"] .fb-notif-badge {
  right: auto !important;
  left: -2px !important;
}

body.night-mode .fb-notif-badge {
  border-color: #242526 !important;
}

/* Content Details */
.fb-notif-content {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding-right: 6px !important;
  line-height: 1.35 !important;
}

[dir="rtl"] .fb-notif-content {
  padding-right: 0 !important;
  padding-left: 6px !important;
}

.fb-notif-text-row {
  font-size: 14px !important;
  color: #050505 !important;
  word-break: break-word !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.night-mode .fb-notif-text-row {
  color: #e4e6eb !important;
}

.fb-notif-actor {
  font-weight: 600 !important;
  color: #050505 !important;
  margin-right: 4px !important;
}

[dir="rtl"] .fb-notif-actor {
  margin-right: 0 !important;
  margin-left: 4px !important;
}

body.night-mode .fb-notif-actor {
  color: #ffffff !important;
}

.fb-notif-time {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #65676b !important;
  margin-top: 2px !important;
}

.fb-notif-item.unread .fb-notif-time {
  color: #1877f2 !important;
  font-weight: 600 !important;
}

body.night-mode .fb-notif-time {
  color: #b0b3b8 !important;
}

body.night-mode .fb-notif-item.unread .fb-notif-time {
  color: #4599ff !important;
}

/* Blue Unread Dot */
.fb-notif-unread-dot {
  width: 12px !important;
  height: 12px !important;
  min-width: 12px !important;
  min-height: 12px !important;
  border-radius: 50% !important;
  background: #1877f2 !important;
  margin-left: 8px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}

[dir="rtl"] .fb-notif-unread-dot {
  margin-left: 0 !important;
  margin-right: 8px !important;
}

/* Empty States */
.fb-notif-empty {
  text-align: center !important;
  padding: 32px 20px !important;
  color: #65676b !important;
}

body.night-mode .fb-notif-empty {
  color: #b0b3b8 !important;
}

.fb-notif-empty-icon {
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #f0f2f5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important;
  color: #65676b !important;
  margin-bottom: 12px !important;
}

body.night-mode .fb-notif-empty-icon {
  background: #3a3b3c !important;
  color: #e4e6eb !important;
}

/* Scroller adjustments */
.fb-notif-scroller {
  max-height: 480px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

.fb-notif-scroller::-webkit-scrollbar {
  width: 8px;
}

.fb-notif-scroller::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}

body.night-mode .fb-notif-scroller::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
}

/* Options dropdown menu */
.fb-notif-options-menu {
  position: absolute !important;
  top: 48px !important;
  right: 16px !important;
  background: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18) !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
  padding: 6px !important;
  z-index: 1050 !important;
  min-width: 220px !important;
  display: none;
}

[dir="rtl"] .fb-notif-options-menu {
  right: auto !important;
  left: 16px !important;
}

body.night-mode .fb-notif-options-menu {
  background: #242526 !important;
  border-color: rgba(255,255,255,0.1) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
}

.fb-notif-opt-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #050505 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
  border: none !important;
  background: transparent !important;
  width: 100% !important;
  text-align: inherit !important;
}

.fb-notif-opt-item:hover {
  background: #f0f2f5 !important;
  color: #050505 !important;
}

body.night-mode .fb-notif-opt-item {
  color: #e4e6eb !important;
}

body.night-mode .fb-notif-opt-item:hover {
  background: #3a3b3c !important;
  color: #e4e6eb !important;
}
