@layer wsb-v4-components {
	.wsb-booking-app {
		--wsb-snackbar-width: 380px;
		--wsb-snackbar-gap: 10px;
		--wsb-snackbar-radius: 13px;
		--wsb-snackbar-shadow: 0 12px 34px rgb(28 20 42 / 14%), 0 3px 10px rgb(28 20 42 / 8%);
		--wsb-snackbar-border: color-mix(in srgb, var(--wsb-color-border) 78%, transparent);
		--wsb-snackbar-duration-short: 4500ms;
		--wsb-snackbar-duration-medium: 5500ms;
		--wsb-snackbar-duration-long: 8000ms;
		--wsb-snackbar-bottom-offset: 100px;
	}
	.wsb-snackbar-host { position: fixed; z-index: 99000; right: clamp(20px, 2vw, 28px); bottom: var(--wsb-snackbar-bottom-offset); width: min(var(--wsb-snackbar-width), calc(100vw - 40px)); pointer-events: none; }
	.wsb-snackbar-stack { display: flex; flex-direction: column; gap: var(--wsb-snackbar-gap); }
	.wsb-snackbar { display: grid; min-height: 56px; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--wsb-snackbar-border); border-radius: var(--wsb-snackbar-radius); padding: 8px 8px 8px 16px; background: #fff; color: var(--wsb-color-ink-strong); box-shadow: var(--wsb-snackbar-shadow); opacity: 0; transform: translate3d(8px, 7px, 0); transition: opacity 200ms ease, transform 200ms cubic-bezier(.2, .75, .25, 1); pointer-events: auto; }
	.wsb-snackbar[data-state="visible"] { opacity: 1; transform: translate3d(0, 0, 0); }
	.wsb-snackbar[data-state="exiting"] { opacity: 0; transform: translate3d(6px, 5px, 0); transition-duration: 180ms; }
	.wsb-snackbar__icon { width: 22px; height: 22px; color: var(--wsb-color-interaction); }
	.wsb-snackbar[data-variant="success"] .wsb-snackbar__icon { color: #159447; }
	.wsb-snackbar[data-variant="update"] .wsb-snackbar__icon,
	.wsb-snackbar[data-variant="progress"] .wsb-snackbar__icon { color: var(--wsb-color-interaction); }
	.wsb-snackbar[data-variant="info"] .wsb-snackbar__icon { color: #2176c7; }
	.wsb-snackbar[data-variant="warning"] .wsb-snackbar__icon { color: #df7414; }
	.wsb-snackbar[data-variant="error"] .wsb-snackbar__icon { color: #d84242; }
	.wsb-snackbar[data-variant="undo"] .wsb-snackbar__icon,
	.wsb-snackbar[data-variant="neutral"] .wsb-snackbar__icon { color: #747785; }
	.wsb-snackbar[data-variant="progress"] .wsb-snackbar__icon { animation: wsb-snackbar-spin 1.2s linear infinite; }
	.wsb-snackbar__message { min-width: 0; font-size: 14px; font-weight: 400; line-height: 1.4; overflow-wrap: anywhere; }
	.wsb-snackbar__controls { display: inline-flex; align-items: center; gap: 2px; }
	.wsb-snackbar__action, .wsb-snackbar__close { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; font: inherit; cursor: pointer; }
	.wsb-snackbar__action { padding: 5px 7px; color: var(--wsb-color-interaction); font-size: 13px; font-weight: 500; white-space: nowrap; }
	.wsb-snackbar__close { width: 44px; padding: 0; color: var(--wsb-color-muted); }
	.wsb-snackbar__close .wsb-icon { width: 15px; height: 15px; }
	.wsb-snackbar__action:hover, .wsb-snackbar__action:focus-visible, .wsb-snackbar__close:hover, .wsb-snackbar__close:focus-visible { background: color-mix(in srgb, var(--wsb-color-interaction) 7%, transparent); color: var(--wsb-color-interaction); }
	.wsb-snackbar__action:disabled { opacity: .45; cursor: wait; }
	@keyframes wsb-snackbar-spin { to { transform: rotate(360deg); } }
	@media (max-width: 600px) {
		.wsb-snackbar-host { right: 14px; left: 14px; width: auto; bottom: calc(var(--wsb-snackbar-bottom-offset) + env(safe-area-inset-bottom)); }
		.wsb-snackbar { width: 100%; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 9px; padding-left: 14px; }
		.wsb-snackbar__message { font-size: 14px; }
	}
	@media (prefers-reduced-motion: reduce) {
		.wsb-snackbar, .wsb-snackbar[data-state] { transition: none; transform: none; }
		.wsb-snackbar[data-variant="progress"] .wsb-snackbar__icon { animation: none; }
	}
}
