/* styles/default/components/c-notification.css — #45 notifikace: položka c-notification (avatar, text, meta, výňatek, tečka nepřečtení), seznam c-notification-list
   (--scroll v dropdownu zvonku, max. 60vh), zvonek c-notification-bell s pulzem is-pulsing
   Created :: 2026-10-23
   Updated :: 2026-10-28
   2026-10-28 :: M9 – úklid a revize (viz 04 kap. 3) */

.c-notification { display: flex; gap: var(--sp-3); padding: var(--sp-2) var(--sp-3); border-radius: var(--r-md); color: var(--color-text); text-decoration: none; transition: background-color var(--dur-1) var(--ease-out); }
.c-notification:hover, .c-notification:focus-visible { background: var(--color-surface-hover); color: var(--color-text); text-decoration: none; }
.c-notification__avatar { flex-shrink: 0; margin-top: .1rem; }
.c-notification__main { flex: 1 1 auto; min-width: 0; }
.c-notification__text { font-size: var(--fs-sm); line-height: var(--lh-tight); }
.c-notification__text strong { font-weight: var(--fw-medium); }
.c-notification__meta { margin-top: .15rem; color: var(--color-text-muted); font-size: var(--fs-xs); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c-notification__excerpt { margin-top: var(--sp-half); color: var(--color-text-subtle); font-size: var(--fs-xs); font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.c-notification__more { margin-top: var(--sp-half); color: var(--color-link); font-size: var(--fs-xs); }
.c-notification__dot { flex-shrink: 0; width: .8rem; height: .8rem; margin-top: .6rem; border-radius: var(--r-full); background: var(--color-primary); visibility: hidden; }
.c-notification.is-unread .c-notification__dot { visibility: visible; }
.c-notification.is-unread .c-notification__text { font-weight: var(--fw-medium); }
.c-notification.is-unread .c-notification__text strong { font-weight: var(--fw-semibold); }

.c-notification-list { display: flex; flex-direction: column; gap: var(--sp-half); }
.c-notification-list--scroll { max-height: 60vh; overflow: auto; padding: var(--sp-1); }
.c-notification-list .c-notification + .c-notification { border-top: 1px solid var(--color-border); border-radius: 0; }
.c-notification-list--scroll .c-notification + .c-notification { border-top: 0; border-radius: var(--r-md); }

/* Zvonek: krátký pulz při nové notifikaci */
.c-notification-bell { position: relative; }
.c-notification-bell.is-pulsing .c-icon { animation: c-bell-ring .9s var(--ease-in-out); transform-origin: 50% 0; }
@keyframes c-bell-ring { 0%, 100% { transform: rotate(0); } 20% { transform: rotate(14deg); } 40% { transform: rotate(-12deg); } 60% { transform: rotate(8deg); } 80% { transform: rotate(-4deg); } }
@media (prefers-reduced-motion: reduce) { .c-notification-bell.is-pulsing .c-icon { animation: none; } }
