/**
 * Legacy toast API — .toast-container / .toast (Vision, Forge bridge, etc.)
 * Visuals match .at-toast and .at-alert (elevated surface + left accent).
 * Requires tokens.css (load via ds_assets_enqueue).
 */

.toast-container {
	position: fixed;
	bottom: max(var(--space-5, 1.25rem), env(safe-area-inset-bottom, 0px));
	right: max(var(--space-5, 1.25rem), env(safe-area-inset-right, 0px));
	z-index: var(--z-toast, 600);
	display: flex;
	flex-direction: column;
	gap: var(--space-3, 0.75rem);
	max-width: min(380px, calc(100vw - 2 * var(--space-5, 1.25rem)));
	pointer-events: none;
}

.toast-container--top {
	top: max(var(--space-5, 1.25rem), env(safe-area-inset-top, 0px));
	bottom: auto;
}

.toast {
	pointer-events: auto;
	display: flex;
	align-items: flex-start;
	margin: 0;
	padding: var(--space-4, 1rem);
	background: var(--surface-elevated, var(--color-card-bg, #fff));
	border: 1px solid var(--border-default, var(--color-border, rgba(0, 36, 77, 0.1)));
	border-radius: 0;
	box-shadow: var(--shadow-lg, 0 12px 32px rgba(0, 36, 77, 0.1));
	font-family: var(--font-sans, inherit);
	font-size: var(--text-md, 0.875rem);
	font-weight: var(--weight-medium, 500);
	line-height: var(--leading-normal, 1.55);
	color: var(--text-primary, var(--color-text, #00244d));
	white-space: pre-wrap;
	word-break: break-word;
	overflow: hidden;
	animation: at-slide-up var(--duration-base, 180ms) var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1));
}

.toast.toast-success,
.toast.success {
	border-left: 3px solid var(--brand-success, #3d8b6a);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

.toast.toast-error,
.toast.error,
.toast.toast-danger,
.toast.danger {
	border-left: 3px solid var(--brand-danger, #d44c62);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

.toast.toast-info,
.toast.info {
	border-left: 3px solid var(--brand-accent, #379bd7);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

.toast.toast-warning,
.toast.warn,
.toast.warning {
	border-left: 3px solid var(--brand-warning, #b45309);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

/* Forge standalone toasts (fg-ds-bridge) */
.forge-toast {
	position: fixed;
	bottom: max(var(--space-5, 1.25rem), env(safe-area-inset-bottom, 0px));
	right: max(var(--space-5, 1.25rem), env(safe-area-inset-right, 0px));
	z-index: var(--z-toast, 600);
	max-width: min(380px, calc(100vw - 2 * var(--space-5, 1.25rem)));
	padding: var(--space-4, 1rem);
	background: var(--surface-elevated, var(--color-card-bg, #fff));
	border: 1px solid var(--border-default, var(--color-border, rgba(0, 36, 77, 0.1)));
	border-radius: 0;
	box-shadow: var(--shadow-lg);
	font-family: var(--font-sans, inherit);
	font-size: var(--text-md, 0.875rem);
	font-weight: var(--weight-medium, 500);
	line-height: var(--leading-normal, 1.55);
	color: var(--text-primary, var(--color-text, #00244d));
	pointer-events: none;
	overflow: hidden;
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity var(--duration-base, 180ms) var(--ease-out, ease),
		transform var(--duration-base, 180ms) var(--ease-out, ease);
}

.forge-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.forge-toast--success {
	border-left: 3px solid var(--brand-success, #3d8b6a);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

.forge-toast--error {
	border-left: 3px solid var(--brand-danger, #d44c62);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

.forge-toast--info {
	border-left: 3px solid var(--brand-accent, #379bd7);
	padding-left: calc(var(--space-4, 1rem) - 2px);
}

@media (prefers-reduced-motion: reduce) {
	.toast {
		animation: at-fade-in var(--duration-fast, 120ms) var(--ease-out, ease);
	}

	.forge-toast {
		transition: opacity var(--duration-fast, 120ms) ease;
		transform: none;
	}

	.forge-toast.is-visible {
		transform: none;
	}
}

[data-theme="dark"] .toast,
html:not([data-theme="light"]) .toast {
	background: var(--surface-elevated, #14171d);
	border-color: var(--border-default, rgba(255, 255, 255, 0.08));
	color: var(--text-primary, #e8edf5);
	box-shadow: var(--shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.55));
}

[data-theme="dark"] .forge-toast,
html:not([data-theme="light"]) .forge-toast {
	background: var(--surface-elevated, #14171d);
	border-color: var(--border-default, rgba(255, 255, 255, 0.08));
	color: var(--text-primary, #e8edf5);
	box-shadow: var(--shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.55));
}
