/* React Toastify Base Styles */
:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: #e74c3c;
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);
  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);
  --toastify-toast-width: 320px;
  --toastify-toast-background: #fff;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;
  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(
    to right,
    #4cd964,
    #5ac8fa,
    #007aff,
    #34aadc,
    #5856d6,
    #ff2d55
  );
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
}

/* Custom Toast Styles for Dark Theme */
.Toastify__toast-container {
  z-index: 99999 !important;
  position: fixed;
  padding: 4px;
  width: var(--toastify-toast-width);
  box-sizing: border-box;
  color: #fff;
}

.Toastify__toast {
  background-color: #1b1b1b !important;
  color: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
  padding: 16px !important;
  margin-bottom: 1rem;
  font-family: inherit;
  font-size: 16px;
  min-height: 64px;
  position: relative;
  cursor: pointer;
}

.Toastify__toast--error {
  background-color: #1b1b1b !important;
  border-left: 4px solid #e74c3c !important;
}

.Toastify__toast--success {
  background-color: #1b1b1b !important;
  border-left: 4px solid #07bc0c !important;
}

.Toastify__toast--warning {
  background-color: #1b1b1b !important;
  border-left: 4px solid #f1c40f !important;
}

.Toastify__toast--info {
  background-color: #1b1b1b !important;
  border-left: 4px solid #3498db !important;
}

.Toastify__toast-body {
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  color: #fff !important;
}

.Toastify__close-button {
  color: #fff !important;
  opacity: 0.7;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  align-self: flex-start;
}

.Toastify__close-button:hover {
  opacity: 1;
}

.Toastify__progress-bar {
  background-color: #746bb6 !important;
  height: 4px;
}

.Toastify__progress-bar--error {
  background-color: #e74c3c !important;
}

.Toastify__progress-bar--success {
  background-color: #07bc0c !important;
}

.Toastify__progress-bar--warning {
  background-color: #f1c40f !important;
}

.Toastify__progress-bar--info {
  background-color: #3498db !important;
}

/* Custom Toast Class */
.custom-toast {
  background-color: #1b1b1b !important;
  color: #fff !important;
  border-radius: 8px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

.custom-toast .Toastify__close-button {
  color: #fff !important;
}

.custom-toast .Toastify__progress-bar {
  background-color: #746bb6 !important;
}

/* Position Variants */
.Toastify__toast-container--top-left {
  top: 1em;
  left: 1em;
}

.Toastify__toast-container--top-center {
  top: 1em;
  left: 50%;
  transform: translateX(-50%);
}

.Toastify__toast-container--top-right {
  top: 1em;
  right: 1em;
}

.Toastify__toast-container--bottom-left {
  bottom: 1em;
  left: 1em;
}

.Toastify__toast-container--bottom-center {
  bottom: 1em;
  left: 50%;
  transform: translateX(-50%);
}

.Toastify__toast-container--bottom-right {
  bottom: 1em;
  right: 1em;
}

/* Animations */
@keyframes toastify-bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes toastify-bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: toastify-bounceInRight;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: toastify-bounceOutRight;
}

/* Responsive */
@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    padding: 0;
    left: 0;
    margin: 0;
    border-radius: 0;
  }

  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: 0;
    transform: translateX(0);
  }

  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: 0;
    transform: translateX(0);
  }

  .Toastify__toast {
    margin-bottom: 0;
    border-radius: 0;
  }
}
