/* ==========================================================================
   Nixo — Global WooCommerce notices (toast-style inline banners)
   Applies site-wide: cart, checkout (including the AJAX validation group
   `.woocommerce-NoticeGroup-checkout`), my-account, shop, etc.
   ========================================================================== */

.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-notices-wrapper,
.woocommerce-NoticeGroup {
	display: block;
	margin: 0 0 16px;
}

/* --- Banner base ---------------------------------------------------------- */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-message,
.woocommerce-NoticeGroup .woocommerce-info {
	position: relative;
	list-style: none !important;
	margin: 0 0 12px !important;
	padding: 14px 16px !important;
	padding-inline-start: 48px !important;
	border-radius: 14px !important;
	border: 1px solid transparent !important;
	font-family: inherit;
	font-size: 13px;
	line-height: 1.85;
	font-weight: 500;
	box-shadow: 0 12px 30px -14px rgba(27, 20, 54, 0.35) !important;
	background: #f7f8fa;
	color: #1b1436;
	overflow: hidden;
}

/* Kill WooCommerce core top-border / left accent markers. */
.woocommerce-message::after,
.woocommerce-error::after,
.woocommerce-info::after {
	display: none !important;
}

/* --- Icon badge ----------------------------------------------------------- */
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before {
	content: '';
	position: absolute;
	top: 14px;
	inset-inline-start: 14px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 16px;
	mask-size: 16px;
}

/* --- List resets inside notices ------------------------------------------ */
.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li,
.woocommerce-NoticeGroup li {
	list-style: none !important;
	margin: 0 !important;
	padding: 2px 0 !important;
}

.woocommerce-error b,
.woocommerce-error strong,
.woocommerce-message b,
.woocommerce-message strong,
.woocommerce-NoticeGroup li b,
.woocommerce-NoticeGroup li strong {
	font-weight: 700;
}

/* --- Error / alert -------------------------------------------------------- */
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error {
	background: #fef3f2;
	color: #b42318;
	border-color: #fee4e2 !important;
}

.woocommerce-error::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='8' x2='12' y2='12'/><line x1='12' y1='16' x2='12.01' y2='16'/></svg>");
}

/* --- Success -------------------------------------------------------------- */
.woocommerce-message {
	background: #ecfdf3;
	color: #027a48;
	border-color: #d1fadf !important;
}

.woocommerce-message::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
}

/* --- Info ----------------------------------------------------------------- */
.woocommerce-info {
	background: #eff8ff;
	color: #175cd3;
	border-color: #d1e9ff !important;
}

.woocommerce-info::before {
	-webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
	mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><line x1='12' y1='16' x2='12' y2='12'/><line x1='12' y1='8' x2='12.01' y2='8'/></svg>");
}

/* --- Buttons inside notices (e.g. "View cart") ---------------------------- */
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
	float: none !important;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin-inline-start: 10px;
	padding: 5px 14px !important;
	min-height: 0 !important;
	border-radius: 9999px !important;
	background: rgba(255, 255, 255, 0.7) !important;
	color: inherit !important;
	border: 1px solid currentColor !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.5 !important;
	box-shadow: none !important;
	transition: background 0.2s ease;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover,
.woocommerce-error a.button:hover {
	background: #fff !important;
}

/* --- Links --------------------------------------------------------------- */
.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button),
.woocommerce-info a:not(.button) {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
}
