/* Codervia Modern Toast Notifications - OpenCart 4.0.2.3 */
#cv-toast-center,
#cv-toast-center *{
  box-sizing:border-box;
}

#cv-toast-center{
  position:fixed;
  top:18px;
  right:18px;
  z-index:2147483000;
  width:min(420px, calc(100vw - 28px));
  display:flex;
  flex-direction:column;
  gap:12px;
  pointer-events:none;
}

.cv-toast-item{
  --cv-toast-main:#0ea5e9;
  --cv-toast-soft:#f0f9ff;
  --cv-toast-border:#bae6fd;
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 38px;
  gap:12px;
  align-items:flex-start;
  width:100%;
  min-height:76px;
  padding:14px 12px 17px 14px;
  border:1px solid rgba(186,230,253,.92);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%, rgba(14,165,233,.12), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#f8fcff 100%);
  color:#0f172a;
  box-shadow:0 20px 48px rgba(15,23,42,.16),0 10px 26px rgba(14,165,233,.14);
  pointer-events:auto;
  opacity:0;
  transform:translateX(34px) translateY(-8px) scale(.985);
  transition:opacity .24s ease, transform .24s ease;
}

.cv-toast-item.is-show{
  opacity:1;
  transform:translateX(0) translateY(0) scale(1);
}

.cv-toast-item.is-hide{
  opacity:0;
  transform:translateX(34px) translateY(-8px) scale(.985);
}

.cv-toast-item[data-type="success"]{
  --cv-toast-main:#16a34a;
  --cv-toast-soft:#f0fdf4;
  --cv-toast-border:#bbf7d0;
  border-color:rgba(187,247,208,.95);
  background:
    radial-gradient(circle at 100% 0%, rgba(22,163,74,.12), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#f0fdf4 100%);
}

.cv-toast-item[data-type="danger"],
.cv-toast-item[data-type="error"]{
  --cv-toast-main:#ef4444;
  --cv-toast-soft:#fef2f2;
  --cv-toast-border:#fecaca;
  border-color:rgba(254,202,202,.95);
  background:
    radial-gradient(circle at 100% 0%, rgba(239,68,68,.12), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#fef2f2 100%);
}

.cv-toast-item[data-type="warning"]{
  --cv-toast-main:#f59e0b;
  --cv-toast-soft:#fffbeb;
  --cv-toast-border:#fde68a;
  border-color:rgba(253,230,138,.95);
  background:
    radial-gradient(circle at 100% 0%, rgba(245,158,11,.13), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#fffbeb 100%);
}

.cv-toast-item[data-type="info"],
.cv-toast-item[data-type="primary"]{
  --cv-toast-main:#0ea5e9;
  --cv-toast-soft:#f0f9ff;
  --cv-toast-border:#bae6fd;
}

.cv-toast-icon{
  width:46px;
  height:46px;
  min-width:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:linear-gradient(135deg,var(--cv-toast-main), color-mix(in srgb, var(--cv-toast-main) 70%, #ffffff 30%));
  color:#ffffff;
  box-shadow:0 12px 24px color-mix(in srgb, var(--cv-toast-main) 24%, transparent);
  font-size:18px;
  line-height:1;
}

.cv-toast-content{
  min-width:0;
  padding-top:2px;
  color:#334155;
  font-size:14px;
  line-height:1.55;
  font-weight:750;
  word-break:break-word;
}

.cv-toast-content strong,
.cv-toast-content b{
  color:#0f172a;
  font-weight:950;
}

.cv-toast-content a{
  color:#0369a1;
  font-weight:900;
  text-decoration:none;
}

.cv-toast-content a:hover{
  color:#0ea5e9;
  text-decoration:underline;
}

.cv-toast-content p{
  margin:0 0 8px;
}

.cv-toast-content p:last-child{
  margin-bottom:0;
}

.cv-toast-close{
  width:36px;
  height:36px;
  min-width:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(186,230,253,.92);
  border-radius:14px;
  background:#ffffff;
  color:#64748b;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(14,165,233,.08);
  transition:all .18s ease;
}

.cv-toast-close:hover,
.cv-toast-close:focus{
  color:#0f172a;
  background:var(--cv-toast-soft);
  border-color:var(--cv-toast-border);
  transform:translateY(-1px);
  outline:none;
}

.cv-toast-progress{
  position:absolute;
  left:0;
  bottom:0;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,var(--cv-toast-main), color-mix(in srgb, var(--cv-toast-main) 55%, #ffffff 45%));
  transform-origin:left center;
  animation:cvToastProgress linear forwards;
  animation-duration:var(--cv-toast-duration,5200ms);
}

.cv-toast-item:hover .cv-toast-progress{
  animation-play-state:paused;
}

@keyframes cvToastProgress{
  from{transform:scaleX(1);}
  to{transform:scaleX(0);}
}

@media(max-width:767px){
  #cv-toast-center{
    top:12px;
    right:12px;
    left:12px;
    width:auto;
    gap:10px;
  }

  .cv-toast-item{
    min-height:70px;
    grid-template-columns:42px minmax(0,1fr) 34px;
    gap:10px;
    padding:12px 10px 16px 12px;
    border-radius:18px;
  }

  .cv-toast-icon{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:15px;
    font-size:16px;
  }

  .cv-toast-close{
    width:34px;
    height:34px;
    min-width:34px;
    border-radius:13px;
  }

  .cv-toast-content{
    font-size:13px;
    line-height:1.5;
  }
}
