/* ============================================================
   LA FORGE COSPLAY — notifications.css
   Dropdown + Page dédiée
   ============================================================ */

/* ── BADGE CLOCHE ── */
.notif-bell-btn { position: relative; }

.notif-badge {
  position: absolute;
  top: -4px; right: -4px;
  min-width: 18px; height: 18px;
  background: var(--forge-ember);
  color: white;
  font-family: var(--font-mono);
  font-size: 10px;
  border-radius: 10px;
  padding: 0 4px;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--forge-black);
  animation: pulse-badge 2s infinite;
}

@keyframes pulse-badge {
  0%, 100% { box-shadow: 0 0 0 0 rgba(232,84,26,.4); }
  50%       { box-shadow: 0 0 0 5px rgba(232,84,26,0); }
}

/* ── DROPDOWN ── */
.notif-dropdown {
  position: fixed;
  width: 360px;
  max-height: 480px;
  background: var(--forge-dark);
  border: 1px solid var(--forge-brown);
  border-radius: var(--radius-lg);
  box-shadow: 0 20px 60px rgba(0,0,0,.6), 0 0 0 1px rgba(184,115,51,.1);
  z-index: 500;
  overflow: hidden;
  animation: slideDown .2s ease;
  display: flex; flex-direction: column;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.notif-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid var(--forge-brown);
  flex-shrink: 0;
}

.notif-title {
  font-family: var(--font-display);
  font-size: 12px; color: var(--forge-gold); letter-spacing: .1em;
}

.notif-read-all {
  background: none; border: none;
  font-family: var(--font-mono); font-size: 10px;
  color: var(--forge-copper); cursor: pointer;
  transition: color var(--transition); padding: 0;
  letter-spacing: .06em;
}
.notif-read-all:hover { color: var(--forge-amber); }

.notif-list {
  overflow-y: auto;
  flex: 1;
}

.notif-item {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(42,31,20,.5);
  cursor: pointer;
  transition: background var(--transition);
  position: relative;
}
.notif-item:last-child { border-bottom: none; }
.notif-item:hover { background: rgba(42,31,20,.5); }
.notif-item.unread { background: rgba(184,115,51,.06); }

.notif-avatar {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 600; color: white;
  flex-shrink: 0;
  border: 2px solid rgba(184,115,51,.2);
  overflow: hidden;
}

.notif-body { flex: 1; min-width: 0; }
.notif-msg  { font-size: 13px; color: var(--forge-parchment); line-height: 1.4; }
.notif-time { font-family: var(--font-mono); font-size: 10px; color: var(--forge-stone); margin-top: 3px; }

.notif-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--forge-copper);
  box-shadow: 0 0 6px var(--forge-copper);
  flex-shrink: 0;
}

.notif-empty {
  padding: 32px 16px; text-align: center;
  font-size: 14px; color: var(--forge-stone); font-style: italic;
}

.notif-footer {
  padding: 10px 16px; border-top: 1px solid var(--forge-brown);
  text-align: center; flex-shrink: 0;
}
.notif-see-all {
  font-family: var(--font-mono); font-size: 11px;
  color: var(--forge-copper); text-decoration: none;
  letter-spacing: .08em; transition: color var(--transition);
}
.notif-see-all:hover { color: var(--forge-amber); }

/* ── PAGE NOTIFICATIONS ── */
.notifs-page-wrap { max-width: 680px; }

.notifs-filters {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px;
}
.notifs-filters .filter-pill {
  padding: 6px 14px; border-radius: 20px; font-size: 13px;
  cursor: pointer; border: 1px solid var(--forge-brown);
  background: transparent; color: var(--forge-stone);
  transition: var(--transition); font-family: var(--font-body);
}
.notifs-filters .filter-pill.active,
.notifs-filters .filter-pill:hover {
  background: var(--forge-brown); color: var(--forge-amber);
  border-color: var(--forge-copper);
}

.notif-group { margin-bottom: 24px; }
.notif-group-date {
  font-family: var(--font-mono); font-size: 10px;
  color: var(--forge-stone); letter-spacing: .15em;
  text-transform: uppercase; margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--forge-brown);
}

.notif-row {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px;
  background: var(--forge-dark);
  border: 1px solid var(--forge-brown);
  border-radius: var(--radius-md);
  margin-bottom: 8px;
  cursor: pointer;
  transition: all var(--transition);
  position: relative;
}
/* transform uniquement sur appareils avec vrai hover (pas tactile) pour éviter les problèmes de click sur mobile */
@media (hover: hover) {
  .notif-row:hover { border-color: rgba(184,115,51,.4); transform: translateX(3px); }
}
.notif-row.unread {
  background: rgba(184,115,51,.06);
  border-color: rgba(184,115,51,.25);
}
.notif-row.unread::before {
  content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: var(--forge-copper);
  border-radius: 4px 0 0 4px;
  box-shadow: 0 0 8px var(--forge-copper);
}

.notif-icon-wrap .notif-avatar { width: 42px; height: 42px; font-size: 16px; }

.notif-row-body  { flex: 1; min-width: 0; }
.notif-row-msg   { font-size: 14px; color: var(--forge-parchment); line-height: 1.45; }
.notif-row-time  { font-family: var(--font-mono); font-size: 11px; color: var(--forge-stone); margin-top: 4px; }
