/* Cinevo toast — react-hot-toast style, top-right */
#cinevo-toast-root {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 10950;
  display: flex;
  flex-direction: column;
  gap: .6rem;
  width: min(360px, calc(100vw - 2rem));
  pointer-events: none;
}

.cinevo-toast {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .85rem 1rem;
  border-radius: .75rem;
  background: #fff;
  color: #212B36;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .12), 0 2px 8px rgba(15, 23, 42, .06);
  border: 1px solid #E6EAED;
  animation: cinevo-toast-in .28s ease;
  font-size: .9rem;
  line-height: 1.4;
}

.cinevo-toast.is-leaving {
  animation: cinevo-toast-out .22s ease forwards;
}

.cinevo-toast__icon {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: .75rem;
  font-weight: 700;
  color: #fff;
  margin-top: .1rem;
}

.cinevo-toast__body {
  flex: 1;
  min-width: 0;
}

.cinevo-toast__title {
  font-weight: 700;
  margin-bottom: .15rem;
}

.cinevo-toast__message {
  color: #646B72;
  word-break: break-word;
}

.cinevo-toast__close {
  border: 0;
  background: transparent;
  color: #A6AAAF;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  font-size: 1rem;
}

.cinevo-toast--success .cinevo-toast__icon { background: var(--brand-success, #00B894); }
.cinevo-toast--error .cinevo-toast__icon { background: var(--brand-error, #D63031); }
.cinevo-toast--info .cinevo-toast__icon { background: var(--brand-info, #0984E3); }
.cinevo-toast--loading .cinevo-toast__icon {
  background: var(--brand-primary, #FE9F43);
}

.cinevo-toast__spinner {
  width: .85rem;
  height: .85rem;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: cinevo-spin .7s linear infinite;
}

/* Button loading state — spinner left of label, vertically centered */
.btn.is-loading,
button.is-loading {
  position: relative;
  pointer-events: none;
  opacity: .85;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  line-height: 1.2;
  vertical-align: middle;
}

.btn.is-loading .cinevo-btn-spinner,
button.is-loading .cinevo-btn-spinner {
  display: inline-block;
  width: .9rem;
  height: .9rem;
  flex-shrink: 0;
  margin: 0;
  vertical-align: middle;
  border: 2px solid rgba(255, 255, 255, .35);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: cinevo-spin .7s linear infinite;
}

.btn.btn-outline-primary.is-loading .cinevo-btn-spinner,
button.btn-outline-primary.is-loading .cinevo-btn-spinner {
  border-color: rgba(254, 159, 67, .3);
  border-top-color: var(--brand-primary, #FE9F43);
}

@keyframes cinevo-toast-in {
  from { opacity: 0; transform: translateX(12px) translateY(-4px); }
  to { opacity: 1; transform: translateX(0) translateY(0); }
}

@keyframes cinevo-toast-out {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(16px); }
}

@keyframes cinevo-spin {
  to { transform: rotate(360deg); }
}
