.wootilities-notices {
	--wootilities-notice-gap: clamp(14px, 2vw, 20px);
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-width: calc(100vw - clamp(28px, 4vw, 40px));
	position: fixed;
	width: var(--wootilities-notice-width, 420px);
	z-index: 100000;
}

.wootilities-notices--top-left { left: var(--wootilities-notice-gap); top: var(--wootilities-notice-gap); }
.wootilities-notices--top-center { left: 50%; top: var(--wootilities-notice-gap); transform: translateX(-50%); }
.wootilities-notices--top-right { right: var(--wootilities-notice-gap); top: var(--wootilities-notice-gap); }
.wootilities-notices--bottom-left { bottom: var(--wootilities-notice-gap); left: var(--wootilities-notice-gap); }
.wootilities-notices--bottom-center { bottom: var(--wootilities-notice-gap); left: 50%; transform: translateX(-50%); }
.wootilities-notices--bottom-right { bottom: var(--wootilities-notice-gap); right: var(--wootilities-notice-gap); }

.wootilities-notice.woocommerce-message,
.wootilities-notice.woocommerce-error,
.wootilities-notice.woocommerce-info,
.wootilities-notice.wc-block-components-notice-banner {
	background: var(--wootilities-notice-background, #fff);
	border: 1px solid var(--wootilities-border, #e5e5e5);
	border-radius: var(--wootilities-notice-radius, var(--wootilities-card-radius, 8px));
	box-shadow: 0 1px 2px rgb(0 0 0 / 8%);
	box-sizing: border-box;
	color: var(--wootilities-notice-text, #202124);
	margin: 0;
	opacity: 0;
	padding: 14px 44px 14px 46px;
	position: relative;
	transform: translateY(-10px);
	transition: opacity 250ms ease, transform 250ms ease;
	width: 100%;
}

.wootilities-notices--style-sonner .wootilities-notice {
	box-shadow: 0 8px 24px rgb(0 0 0 / 14%);
	font-size: 13px;
	padding-block: 12px;
}
.wootilities-notices--style-accent .wootilities-notice {
	border: 0;
	border-left: 4px solid var(--wootilities-notice-success, #218838);
	box-shadow: 0 8px 30px rgb(0 0 0 / 18%);
	padding: 16px 46px 16px 50px;
}
.wootilities-notices--style-accent .wootilities-notice.woocommerce-error,
.wootilities-notices--style-accent .wootilities-notice--type-error { border-left-color: var(--wootilities-notice-error, #b32d2e); }
.wootilities-notices--style-accent .wootilities-notice.woocommerce-info,
.wootilities-notices--style-accent .wootilities-notice--type-info { border-left-color: var(--wootilities-notice-info, #2271b1); }
.wootilities-notices--style-minimal .wootilities-notice {
	border-color: transparent;
	box-shadow: none;
}
.wootilities-notice.is-visible { opacity: 1; transform: translateY(0); }
.wootilities-notice.is-leaving { opacity: 0; transform: translateY(-10px); }

.wootilities-notice-source,
.wootilities-notice::before,
.wootilities-notice li::before,
.wootilities-notice > svg {
	content: none !important;
	display: none !important;
}
.wootilities-notice__icon {
	font: 600 20px/1 system-ui, sans-serif;
	left: 18px;
	position: absolute;
	top: 16px;
}
.wootilities-notice__icon--success { color: var(--wootilities-notice-success, #218838); }
.wootilities-notice__icon--error { color: var(--wootilities-notice-error, #b32d2e); }
.wootilities-notice__icon--info { color: var(--wootilities-notice-info, #2271b1); }
/* Cart/Checkout Block snackbars ship their own flex layout and padding; neutralize it so the absolute icon and close button line up. */
.wootilities-notice.wc-block-components-notice-snackbar,
.wootilities-notice.wc-block-components-notice-banner {
	align-items: initial;
	box-sizing: border-box !important;
	display: block !important;
	gap: 0 !important;
	max-width: 100% !important;
	min-width: 0 !important;
	padding: 14px 44px 14px 46px !important;
	width: 100% !important;
}
.wootilities-notices--style-accent .wootilities-notice.wc-block-components-notice-snackbar,
.wootilities-notices--style-accent .wootilities-notice.wc-block-components-notice-banner { padding: 16px 46px 16px 50px !important; }
.wootilities-notice__content {
	line-height: 1.45;
	min-width: 0;
	overflow-wrap: anywhere;
}
.wootilities-notice__content > ul { list-style: none; margin: 0; padding: 0; }
.wootilities-notice .wc-block-components-notice-banner__content { margin: 0; padding: 0; }
.wootilities-notice a { color: var(--wootilities-woocommerce-accent, #e2001a); }
.wootilities-notice .button {
	align-items: center;
	background: var(--wootilities-primary, #e2001a) !important;
	border: 1px solid var(--wootilities-primary, #e2001a) !important;
	border-radius: var(--wootilities-button-radius, 4px) !important;
	box-shadow: none !important;
	color: var(--wootilities-primary-text, #fff) !important;
	display: inline-flex !important;
	float: none !important;
	font-size: 0.9em !important;
	font-weight: 600 !important;
	justify-content: center;
	line-height: 1.2 !important;
	margin: 10px 0 0 !important;
	min-height: 32px;
	padding: 6px 12px !important;
	text-decoration: none !important;
}
.wootilities-notices--style-sonner .wootilities-notice .button { min-height: 28px; padding: 5px 10px !important; }
.wootilities-notices--style-minimal .wootilities-notice .button {
	background: transparent !important;
	color: var(--wootilities-primary, #e2001a) !important;
}

.wootilities-notice__close {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #646970 !important;
	cursor: pointer;
	font-size: 24px;
	line-height: 1;
	padding: 8px;
	position: absolute;
	right: 6px;
	top: 6px;
}

@media (max-width: 1024px) {
	.wootilities-notices { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.wootilities-notice { transition: none !important; }
}
