/* ============================================
   NOTIFICATIONS MOBILE OPTIMIZATION
   Notification center, toast messages
   ============================================ */

@media (max-width: 768px) {

/* Notifications Page */
.notifications-page {
  padding-bottom: 80px !important;
}

/* Notifications Header */
.notifications-header {
  padding: 20px 16px !important;
  background: linear-gradient(135deg, #19861C 0%, #5cb85c 100%) !important;
  color: white !important;
}

.notifications-header h1 {
  font-size: 24px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}

.notifications-header p {
  font-size: 14px !important;
  opacity: 0.9 !important;
  margin-bottom: 0 !important;
}

/* Notifications Toolbar */
.notifications-toolbar {
  padding: 12px 16px !important;
  background: white !important;
  border-bottom: 1px solid #e9ecef !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.notifications-filter {
  display: flex !important;
  gap: 8px !important;
}

.filter-chip {
  padding: 8px 16px !important;
  background: #f8f9fa !important;
  border: 2px solid #e9ecef !important;
  border-radius: 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #495057 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.filter-chip.active {
  background: #19861C !important;
  border-color: #19861C !important;
  color: white !important;
}

.mark-all-read-btn {
  padding: 8px 16px !important;
  background: transparent !important;
  border: none !important;
  color: #19861C !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Notifications List */
.notifications-list {
  padding: 0 !important;
}

/* Notification Item */
.notification-item {
  display: flex !important;
  gap: 12px !important;
  padding: 16px !important;
  border-bottom: 1px solid #f1f3f5 !important;
  background: white !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
}

.notification-item.unread {
  background: rgba(25, 134, 28, 0.02) !important;
  border-left: 3px solid #19861C !important;
}

.notification-item:active {
  background: #f8f9fa !important;
}

/* Notification Avatar */
.notification-avatar {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: #e9ecef !important;
  flex-shrink: 0 !important;
  position: relative !important;
  overflow: hidden !important;
}

.notification-avatar img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.notification-type-icon {
  position: absolute !important;
  bottom: -2px !important;
  right: -2px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: white !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 11px !important;
  border: 2px solid white !important;
}

.notification-type-icon.like {
  background: #dc3545 !important;
  color: white !important;
}

.notification-type-icon.comment {
  background: #17a2b8 !important;
  color: white !important;
}

.notification-type-icon.follow {
  background: #28a745 !important;
  color: white !important;
}

.notification-type-icon.vote {
  background: #ffc107 !important;
  color: white !important;
}

.notification-type-icon.mention {
  background: #6f42c1 !important;
  color: white !important;
}

/* Notification Content */
.notification-content {
  flex: 1 !important;
  min-width: 0 !important;
}

.notification-text {
  font-size: 15px !important;
  color: #212529 !important;
  line-height: 1.5 !important;
  margin-bottom: 6px !important;
}

.notification-text strong {
  font-weight: 700 !important;
}

.notification-time {
  font-size: 13px !important;
  color: #6c757d !important;
}

.notification-unread-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #19861C !important;
  flex-shrink: 0 !important;
  margin-top: 8px !important;
}

/* Notification Mark Read Button (Eye Icon) */
.notification-mark-read {
  opacity: 0.7 !important;
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  padding: 8px !important;
  color: #6c757d !important;
  transition: all 0.2s ease !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
}

.notification-item:hover .notification-mark-read,
.notification-item:active .notification-mark-read {
  opacity: 1 !important;
}

.notification-mark-read:hover,
.notification-mark-read:active {
  color: #19861C !important;
  background: rgba(25, 134, 28, 0.1) !important;
  transform: scale(1.1) !important;
}

.notification-mark-read i {
  font-size: 18px !important;
}

/* Notification Actions (Swipe) */
.notification-actions {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s ease !important;
}

.notification-item.swiped .notification-actions {
  transform: translateX(0) !important;
}

.notification-action-btn {
  width: 80px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  border: none !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

.notification-action-btn i {
  font-size: 20px !important;
}

.notification-action-btn.mark-read {
  background: #17a2b8 !important;
  color: white !important;
}

.notification-action-btn.delete {
  background: #dc3545 !important;
  color: white !important;
}

/* Notification Preview (Image/Link) */
.notification-preview {
  margin-top: 8px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #e9ecef !important;
}

.notification-preview-image {
  width: 100% !important;
  height: 120px !important;
  object-fit: cover !important;
}

.notification-preview-content {
  padding: 8px !important;
  background: #f8f9fa !important;
  font-size: 13px !important;
  color: #495057 !important;
}

/* Empty State */
.notifications-empty {
  text-align: center !important;
  padding: 80px 20px !important;
}

.notifications-empty-icon {
  font-size: 80px !important;
  color: #dee2e6 !important;
  margin-bottom: 20px !important;
}

.notifications-empty-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #495057 !important;
  margin-bottom: 8px !important;
}

.notifications-empty-text {
  font-size: 15px !important;
  color: #6c757d !important;
  line-height: 1.5 !important;
}

/* Loading State */
.notifications-loading {
  padding: 40px 20px !important;
  text-align: center !important;
}

/* Notification Badge (in navbar) */
.notification-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  background: #dc3545 !important;
  color: white !important;
  border-radius: 9px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 18px !important;
  text-align: center !important;
  border: 2px solid white !important;
}

/* Toast Notifications */
.toast-container {
  position: fixed !important;
  top: calc(var(--mobile-header-height) + 16px) !important;
  left: 16px !important;
  right: 16px !important;
  z-index: 9999 !important;
  pointer-events: none !important;
}

.toast-notification {
  background: white !important;
  border-radius: 12px !important;
  padding: 16px !important;
  margin-bottom: 12px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  pointer-events: all !important;
  transform: translateY(-100px) !important;
  opacity: 0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.toast-notification.show {
  transform: translateY(0) !important;
  opacity: 1 !important;
}

.toast-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  flex-shrink: 0 !important;
}

.toast-notification.success .toast-icon {
  background: rgba(40, 167, 69, 0.1) !important;
  color: #28a745 !important;
}

.toast-notification.error .toast-icon {
  background: rgba(220, 53, 69, 0.1) !important;
  color: #dc3545 !important;
}

.toast-notification.info .toast-icon {
  background: rgba(25, 134, 28, 0.1) !important;
  color: #19861C !important;
}

.toast-content {
  flex: 1 !important;
  min-width: 0 !important;
}

.toast-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #212529 !important;
  margin-bottom: 2px !important;
}

.toast-message {
  font-size: 14px !important;
  color: #6c757d !important;
  line-height: 1.4 !important;
}

.toast-close {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #f8f9fa !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  color: #6c757d !important;
  flex-shrink: 0 !important;
}

/* Progress Bar for Toast */
.toast-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 3px !important;
  background: #19861C !important;
  transition: width 0.1s linear !important;
  border-radius: 0 0 12px 12px !important;
}

/* Notification Settings */
.notification-settings {
  padding: 20px 16px !important;
}

.notification-setting-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 16px !important;
  background: white !important;
  border-radius: 12px !important;
  margin-bottom: 12px !important;
  border: 1px solid #e9ecef !important;
}

.setting-info {
  flex: 1 !important;
}

.setting-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #212529 !important;
  margin-bottom: 4px !important;
}

.setting-description {
  font-size: 13px !important;
  color: #6c757d !important;
}

/* Toggle Switch */
.toggle-switch {
  position: relative !important;
  width: 48px !important;
  height: 28px !important;
  flex-shrink: 0 !important;
}

.toggle-switch input {
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.toggle-slider {
  position: absolute !important;
  cursor: pointer !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: #dee2e6 !important;
  border-radius: 28px !important;
  transition: all 0.3s ease !important;
}

.toggle-slider:before {
  position: absolute !important;
  content: "" !important;
  height: 22px !important;
  width: 22px !important;
  left: 3px !important;
  bottom: 3px !important;
  background: white !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}

.toggle-switch input:checked + .toggle-slider {
  background: #19861C !important;
}

.toggle-switch input:checked + .toggle-slider:before {
  transform: translateX(20px) !important;
}

/* Group Notifications by Date */
.notification-date-group {
  padding: 12px 16px !important;
  background: #f8f9fa !important;
  border-bottom: 1px solid #e9ecef !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #6c757d !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 10 !important;
}


} /* End of @media (max-width: 768px) */