/* 成功フィードバック: 画面上部から出現 → 上部へ消える */

@keyframes ses-feedback-toast-in-out {
  0% {
    opacity: 0;
    transform: translate(-50%, -110%);
    filter: blur(2px);
  }
  10% {
    opacity: 1;
    transform: translate(-50%, 0);
    filter: blur(0);
  }
  84% {
    opacity: 1;
    transform: translate(-50%, 0);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -110%);
    filter: blur(2px);
  }
}

.ses-feedback-toast {
  position: fixed !important;
  top: 0;
  left: 50%;
  z-index: 1080;
  min-width: min(30rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  min-height: 4.25rem;
  margin: 0 !important;
  padding: 1.1rem 1.25rem 1.1rem 1.35rem !important;
  font-size: 1.05rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
  border: 1px solid rgba(106, 111, 235, 0.35) !important;
  border-top: none !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow:
    inset 3px 0 0 0 #6a6feb,
    0 10px 40px rgba(67, 56, 202, 0.12),
    0 2px 8px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  animation: ses-feedback-toast-in-out 4s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  pointer-events: auto;
}

.ses-feedback-toast.alert-success,
.ses-feedback-toast.alert-info {
  color: #3730a3 !important;
  background:
    linear-gradient(
      165deg,
      rgba(255, 255, 255, 0.92) 0%,
      rgba(236, 238, 255, 0.94) 45%,
      rgba(220, 224, 255, 0.96) 100%
    ) !important;
}

/* 文言は左、× は同じ行の右端（Bootstrap の右上絶対配置を解除） */
.ses-feedback-toast.alert-dismissible,
.ses-feedback-alert.alert-dismissible {
  padding-right: 1.25rem !important;
}

.ses-feedback-alert {
  display: flex !important;
  align-items: center;
  gap: 0.75rem;
}

.ses-feedback-msg {
  order: 1;
  flex: 1 1 auto;
  text-align: left;
  min-width: 0;
}

.ses-feedback-toast .btn-close,
.ses-feedback-alert .btn-close {
  order: 2;
  position: static !important;
  top: auto !important;
  right: auto !important;
  float: none !important;
  flex: 0 0 auto;
  align-self: center;
  margin: 0 !important;
  padding: 0.35rem !important;
  opacity: 0.4;
  transition: opacity 0.15s ease;
}

.ses-feedback-toast .btn-close:hover,
.ses-feedback-alert .btn-close:hover {
  opacity: 0.75;
}

.ses-feedback-toast a.alert-link {
  color: #4338ca;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
