.vsek-toast-stack {
  position: fixed;
  z-index: 100050;
  top: var(--vsek-toast-top, 20px);
  right: max(18px, calc((100vw - 1320px) / 2));
  display: grid;
  width: min(420px, calc(100vw - 36px));
  gap: 12px;
  pointer-events: none;
}

body.admin-bar .vsek-toast-stack { top: var(--vsek-toast-top, 52px); }

.vsek-toast {
  --toast-accent: var(--teal, #50b4be);
  --toast-soft: #ecf9fa;
  position: relative;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 28px;
  align-items: start;
  gap: 13px;
  min-height: 76px;
  padding: 16px 14px 16px 16px;
  overflow: hidden;
  color: var(--ink, #20263a);
  background: rgb(255 255 255 / 97%);
  border: 1px solid rgb(16 19 104 / 11%);
  border-radius: 18px;
  box-shadow: 0 18px 55px rgb(16 19 104 / 18%), 0 4px 16px rgb(16 19 104 / 8%);
  opacity: 0;
  pointer-events: auto;
  transform: translate3d(26px, 0, 0) scale(.98);
  transition: opacity .24s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}

.vsek-toast.is-visible { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
.vsek-toast.is-leaving { opacity: 0; transform: translate3d(18px, -4px, 0) scale(.98); }
.vsek-toast--error { --toast-accent: #d94848; --toast-soft: #fff0f0; }
.vsek-toast--info { --toast-accent: var(--brand, #101368); --toast-soft: #f0f1ff; }

.vsek-toast__icon {
  display: grid;
  width: 44px;
  height: 44px;
  color: var(--toast-accent);
  background: var(--toast-soft);
  border-radius: 13px;
  place-items: center;
}

.vsek-toast__icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

body.vsek-v2 .vsek-toast .woocommerce-message,
body.vsek-v2 .vsek-toast .woocommerce-info,
body.vsek-v2 .vsek-toast .woocommerce-error,
.vsek-toast__message {
  align-self: center;
  min-width: 0;
  padding: 1px 0 !important;
  margin: 0 !important;
  color: var(--ink, #20263a) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  list-style: none;
}

.vsek-toast .woocommerce-message::before,
.vsek-toast .woocommerce-info::before,
.vsek-toast .woocommerce-error::before { display: none !important; }

.vsek-toast .woocommerce-error li + li { margin-top: 5px; }

body.vsek-v2 .vsek-toast a.button,
.vsek-toast__action {
  display: inline-flex !important;
  min-height: 30px !important;
  align-items: center;
  justify-content: center;
  padding: 5px 10px !important;
  margin: 9px 0 0 !important;
  color: var(--brand, #101368) !important;
  background: #fff !important;
  border: 1px solid rgb(16 19 104 / 16%) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  float: none !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

body.vsek-v2 .vsek-toast a.button:hover,
.vsek-toast__action:hover { color: #fff !important; background: var(--brand, #101368) !important; }

.vsek-toast__close {
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  color: #7d8495;
  background: transparent;
  border: 0;
  border-radius: 9px;
  cursor: pointer;
  place-items: center;
}

.vsek-toast__close:hover,
.vsek-toast__close:focus-visible { color: var(--brand, #101368); background: #f1f2f8; outline: 0; }

.vsek-toast__close svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentcolor;
  stroke-linecap: round;
  stroke-width: 2;
}

.vsek-toast__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: var(--toast-accent);
  transform-origin: left center;
  animation: vsek-toast-progress var(--toast-duration, 6000ms) linear forwards;
}

.vsek-toast.is-paused .vsek-toast__progress { animation-play-state: paused; }
.is-vsek-adding { cursor: progress !important; opacity: .68; pointer-events: none !important; }

.product-card .added_to_cart,
.product-accessories .added_to_cart,
.vsek-cart-cross-sell .added_to_cart { display: none !important; }

@keyframes vsek-toast-progress { to { transform: scaleX(0); } }

@media (max-width: 782px) {
  body.admin-bar .vsek-toast-stack { top: var(--vsek-toast-top, 60px); }
}

@media (max-width: 620px) {
  .vsek-toast-stack { top: var(--vsek-toast-top, 12px); right: 12px; width: calc(100vw - 24px); }
  body.admin-bar .vsek-toast-stack { top: var(--vsek-toast-top, 58px); }
  .vsek-toast {
    grid-template-columns: 40px minmax(0, 1fr) 26px;
    gap: 11px;
    min-height: 70px;
    padding: 14px 12px 14px 14px;
    border-radius: 16px;
  }
  .vsek-toast__icon { width: 40px; height: 40px; border-radius: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .vsek-toast { transition-duration: .01ms; }
  .vsek-toast__progress { animation: none; }
}
