:host {
  visibility: hidden !important;
  /* position: absolute; */
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--color-toast-bg);
  color: var(--color-toast-text);
  padding: 10px 14px 10px 14px;
  border-radius: 5px;
  box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
  pointer-events: all;
}

:host(.open) {
  visibility: visible !important;
}

:host(.--c-toast-animation-slideup) {
  animation-duration: 0.3s;
  animation-name: slideup;
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

:host(.--c-toast-animation-slidedown) {
  animation-duration: 0.3s;
  animation-name: slidedown;
  animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

:host .--c-toast-body {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 14px;
}

:host .--c-toast-context {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 5px;
}

:host .--c-toast-title {
  font-size: 14px;
  font-weight: 500;
}

:host .--c-toast-caption {
  font-size: 12px;
  font-weight: 500;
  color: var(--color-toast-caption);
}

:host .--c-toast-type-svg {
  width: 18px;
  height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  fill: var(--color-toast-svg);
}

:host .--c-toast-dismiss {
  width: 24px;
  height: 24px;
  cursor: pointer;
  fill: var(--color-toast-dismiss);
  z-index: 9999;
}

:host .--c-toast-dismiss:hover {
  background-color: var(--color-toast-dismiss-hover);
  border-radius: 3px;
}

@keyframes slideup {
  from {
    margin-bottom: -1%;
  }
  to {
    margin-bottom: 0%;
  }
}
@keyframes slidedown {
  from {
    margin-top: -1%;
  }
  to {
    margin-top: 0%;
  }
}
/* size */
:host(.small) {
  padding: 7px 10px 7px 10px;
}
:host(.small) .--c-toast-title {
  font-size: 13px;
  font-weight: 500;
}
:host(.small) .--c-toast-caption {
  font-size: 11px;
  font-weight: 500;
}
:host(.small) .--c-toast-type-svg {
  width: 14px;
  height: 14px;
}
:host(.small) .--c-toast-body {
  gap: 10px;
}
:host(.small) .--c-toast-context {
  gap: 3px;
}
:host(.small) .--c-toast-dismiss {
  width: 18px;
  height: 18px;
}

:host(.large) {
  padding: 12px 16px 12px 16px;
}
:host(.large) .--c-toast-title {
  font-size: 15px;
  font-weight: 500;
}
:host(.large) .--c-toast-caption {
  font-size: 13px;
  font-weight: 500;
}
:host(.large) .--c-toast-type-svg {
  width: 24px;
  height: 24px;
}
:host(.large) .--c-toast-body {
  gap: 16px;
}
:host(.large) .--c-toast-context {
  gap: 7px;
}
:host(.large) .--c-toast-dismiss {
  width: 24px;
  height: 24px;
}

/* size */
:host(.success) {
  background-color: var(--color-toast-success-bg);
}

:host(.error) {
  background-color: var(--color-toast-error-bg);
}

:host(.warning) {
  background-color: var(--color-toast-warning-bg);
}

:host(.info) {
  background-color: var(--color-toast-info-bg);
}