/* Footer FOMO notification — load once on every page that has the footer. */
.footer-fomo {
  --fomo-violet: #7657ff;
  --fomo-pink: #ff4f91;
  position: fixed;
  z-index: 2147483647;
  bottom: 24px;
  left: 24px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 26px;
  gap: 12px;
  align-items: center;
  width: min(390px, calc(100vw - 32px));
  padding: 16px 14px 17px 16px;
  overflow: hidden;
  color: #1c1734;
  background: rgba(255, 255, 255, .98);
  border: 1px solid rgba(118, 87, 255, .20);
  border-radius: 20px;
  /*box-shadow: 0 18px 50px rgba(21, 13, 61, .25), 0 3px 12px rgba(21, 13, 61, .10);*/
  font-family: Inter, Poppins, Arial, sans-serif;
  opacity: 0;
  pointer-events: none;
  transform: translateY(28px) scale(.96);
  transition: opacity .38s ease, transform .38s cubic-bezier(.2, .8, .2, 1);
}
.footer-fomo[hidden] { display: none; }
.footer-fomo::after { content: ""; position: absolute; right: -72px; top: -100px; width: 170px; height: 170px; border-radius: 50%; background: #f1ecff; pointer-events: none; }
.footer-fomo.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.footer-fomo__accent { position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--fomo-violet), var(--fomo-pink)); }
.footer-fomo__avatar { z-index: 1; display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; background: linear-gradient(135deg, #896cff, #ff62a0); box-shadow: 0 7px 15px rgba(118, 87, 255, .30); }
.footer-fomo__avatar img { width: 42px; height: 42px; border: 2px solid #fff; border-radius: 12px; object-fit: cover; }
.footer-fomo__content { z-index: 1; min-width: 0; }
.footer-fomo__label { display: flex; gap: 6px; align-items: center; color: #7157cc; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.footer-fomo__dot { width: 7px; height: 7px; border-radius: 50%; background: #2ecc8c; box-shadow: 0 0 0 4px rgba(46, 204, 140, .17); animation: footer-fomo-pulse 1.6s infinite; }
.footer-fomo__message { margin: 4px 0 3px; font-size: 14px; line-height: 1.38; }
.footer-fomo__message strong { font-weight: 800; }.footer-fomo__message em { color: #e53c7b; font-style: normal; font-weight: 750; }
.footer-fomo__time { color: #817a9d; font-size: 11px; font-weight: 600; }
.footer-fomo__close { z-index: 1; width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; color: #756e8b; background: transparent; cursor: pointer; font: 22px/22px Arial, sans-serif; }.footer-fomo__close:hover,.footer-fomo__close:focus-visible { color: #332b52; background: #f0edf8; outline: none; }
.footer-fomo__progress { position: absolute; bottom: 0; left: 0; width: 100%; height: 3px; transform: scaleX(0); transform-origin: left; background: linear-gradient(90deg, var(--fomo-violet), var(--fomo-pink)); }.footer-fomo.is-visible .footer-fomo__progress { animation: footer-fomo-countdown var(--fomo-display-duration, 7s) linear forwards; }
.footer-fomo.is-summary { --fomo-violet: #ffae20; --fomo-pink: #ff687a; background: linear-gradient(135deg, #fffdf5, #fff7dd); border-color: rgba(255, 174, 32, .30); }.footer-fomo.is-summary .footer-fomo__avatar { background: linear-gradient(135deg, #ffae20, #ff687a); }.footer-fomo.is-summary .footer-fomo__label { color: #a86800; }
@keyframes footer-fomo-countdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }@keyframes footer-fomo-pulse { 50% { box-shadow: 0 0 0 7px rgba(46, 204, 140, 0); } }
@media (max-width: 480px) { .footer-fomo { bottom: 12px; left: 12px; width: calc(100vw - 24px); border-radius: 16px; } }
@media (prefers-reduced-motion: reduce) { .footer-fomo { transition: none; }.footer-fomo__dot,.footer-fomo__progress { animation: none !important; } }
