/* Уведомления магазина (вместо jGrowl) */
#jGrowl { display: none !important; }
.tst-stack {
  position: fixed; top: 96px; right: 20px; z-index: 1080;
  display: flex; flex-direction: column; gap: 12px; width: min(380px, calc(100vw - 32px));
  pointer-events: none;
}
.tst {
  pointer-events: auto; background: #fff; color: #1d1d1f; border-radius: 18px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .18), 0 2px 6px rgba(0, 0, 0, .06);
  opacity: 0; transform: translateX(24px); transition: opacity .25s ease, transform .25s ease;
  font-size: 14px;
}
.tst.is-in { opacity: 1; transform: none; }
.tst.is-out { opacity: 0; transform: translateX(24px); }
.tst__badge {
  flex: 0 0 26px; width: 26px; height: 26px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #1f7a3a; color: #fff; font-weight: 800; font-size: 14px; line-height: 1;
}
.tst__x {
  margin-left: auto; width: 30px; height: 30px; border: 0; border-radius: 50%; background: transparent;
  color: #8a8580; font-size: 22px; line-height: 1; display: inline-flex; align-items: center; justify-content: center;
}
.tst__x:hover { background: #f4f1ed; color: #1d1d1f; }

/* простые сообщения */
.tst--simple { display: flex; align-items: center; gap: 12px; padding: 14px 12px 14px 16px; }
.tst__msg { line-height: 1.4; }
.tst--error .tst__badge { background: #b42318; }
.tst--info .tst__badge { background: #6e6e73; }

/* карточка «Добавлено в корзину» */
.tst--cart { padding: 14px 16px 16px; }
.tst__head { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 15px; color: #1f7a3a; margin-bottom: 12px; }
.tst__item { display: flex; gap: 12px; align-items: flex-start; padding: 12px; background: #f7f5f2; border-radius: 14px; }
.tst__img { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 10px; object-fit: cover; background: #fff; }
.tst__info { min-width: 0; flex: 1 1 auto; }
.tst__name { font-weight: 700; line-height: 1.3; margin-bottom: 2px; }
.tst__opts { color: #6e6e73; font-size: 13px; margin-bottom: 6px; }
.tst__line { display: flex; justify-content: space-between; gap: 8px; color: #3a3a3c; font-size: 13px; }
.tst__line b { color: #1d1d1f; font-size: 15px; white-space: nowrap; }
.tst__cart { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 2px 0; color: #3a3a3c; }
.tst__cart b { font-size: 17px; color: #1d1d1f; }
.tst__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.tst__btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 12px;
  border-radius: 12px; border: 1.5px solid #e8e6e3; background: #fff; color: #1d1d1f;
  font-weight: 600; font-size: 14px; text-decoration: none; text-align: center; line-height: 1.2;
}
.tst__btn:hover { border-color: #c9c4bd; color: #1d1d1f; }
.tst__btn--primary { background: #7c0a02; border-color: #7c0a02; color: #fff; }
.tst__btn--primary:hover { background: #95130a; border-color: #95130a; color: #fff; }

@media (max-width: 767.98px) {
  .tst-stack { top: auto; bottom: 76px; right: 16px; left: 16px; width: auto; }
  .tst { transform: translateY(16px); }
  .tst.is-out { transform: translateY(16px); }
}
@media (prefers-reduced-motion: reduce) { .tst { transition: opacity .15s; transform: none !important; } }
