/* Shared storefront feedback. Keep WooCommerce roles, content and actions intact. */
.hvc-reference-home :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner, .va-auth-banner, .ct-success, .ct-formerror, .vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))),
body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info {
	--hvc-notice-accent: #005cff;
	--hvc-notice-soft: #edf4ff;
	--hvc-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005cff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 11v5m0-9v.01'/%3E%3C/svg%3E");
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 22px;
	border: 1px solid #dce7f5;
	border-left: 3px solid var(--hvc-notice-accent);
	border-radius: 14px;
	background: #fff;
	color: #0b1230;
	box-shadow: 0 4px 16px #0b123005;
	font: 400 14px/1.65 var(--font-body, sans-serif);
	letter-spacing: normal;
	text-align: left;
	text-transform: none;
	overflow-wrap: anywhere;
	list-style: none;
}

/* Blue confirmations belong to the Halo palette; warnings retain distinct cues. */
.hvc-reference-home :is(.woocommerce-message, .ct-success) {
	--hvc-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005cff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E");
}
.hvc-reference-home :is(.woocommerce-error, .wc-block-components-notice-banner.is-error, .ct-formerror, .vz-bulk-msg.is-error, .hvc-cart-status.is-error) {
	--hvc-notice-accent: #b42332;
	--hvc-notice-soft: #fff0f2;
	--hvc-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b42332' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='M12 7v6m0 4v.01'/%3E%3C/svg%3E");
}
.hvc-reference-home :is(.woocommerce-info[data-vz-amber], .woocommerce-info:has([data-vz-amber]), .wc-block-components-notice-banner.is-warning) {
	--hvc-notice-accent: #906000;
	--hvc-notice-soft: #fff6df;
	--hvc-notice-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23906000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 10 18H2L12 3Zm0 6v5m0 3v.01'/%3E%3C/svg%3E");
}

.hvc-reference-home :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ct-success, .ct-formerror, .vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))):not(:has(> .hvc-cart-confirmation)),
body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info {
	display: flow-root;
	padding: 20px 22px 20px 66px;
	min-height: 72px;
}
.hvc-reference-home :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ct-success, .ct-formerror, .vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))):not(:has(> .hvc-cart-confirmation))::before,
body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info::before {
	content: "";
	display: block;
	position: absolute;
	top: 16px;
	left: 18px;
	width: 32px;
	height: 32px;
	margin: 0;
	border-radius: 50%;
	background: var(--hvc-notice-soft) var(--hvc-notice-icon) center / 22px 22px no-repeat;
	transform: none;
}
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li + li { margin-top: 8px; }
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner) p:last-child { margin-bottom: 0; }
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner) a:not(.button):not(.wc-forward) {
	color: #0050d6;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner, .va-auth-banner):focus {
	outline: 2px solid #005cff;
	outline-offset: 3px;
}

/* Native notice actions stay usable even with long labels or several errors. */
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) .button,
.hvc-reference-home .wc-block-components-notice-banner .wc-block-components-notice-banner__content .wc-forward {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	float: right;
	max-width: 100%;
	min-height: 40px;
	margin: 0 0 6px 18px;
	padding: 9px 16px !important;
	border: 1px solid #c8daf9;
	border-radius: 8px;
	background: #edf4ff !important;
	color: #0050d6 !important;
	box-shadow: none;
	font: 600 13px/1.5 var(--font-body, sans-serif);
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	text-align: center;
	white-space: normal;
}
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) .button:hover,
.hvc-reference-home .wc-block-components-notice-banner .wc-forward:hover { background: #dceaff !important; color: #003da6 !important; }
.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message, .wc-block-components-notice-banner) :is(a, button):focus-visible { outline: 2px solid #005cff !important; outline-offset: 3px; }

/* Preserve the richer cart confirmation and its existing dismissal behavior. */
.hvc-reference-home .woocommerce-message:has(> .hvc-cart-confirmation) { padding: 18px 20px; }
.hvc-reference-home .hvc-cart-confirmation-icon { background: #edf4ff; color: #005cff; }
.hvc-reference-home .woocommerce-message .hvc-cart-confirmation-actions .button { margin: 0; float: none; }
.hvc-reference-home .woocommerce-message .hvc-cart-notice-dismiss { min-width: 40px; min-height: 40px; }

/* Cart/checkout Blocks render SVG icons and their own dismiss controls. */
.hvc-reference-home .wc-block-components-notice-banner { align-items: flex-start; gap: 14px; padding: 18px 20px !important; }
.hvc-reference-home .wc-block-components-notice-banner > svg {
	box-sizing: border-box;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 6px;
	border-radius: 50%;
	background: var(--hvc-notice-soft);
	fill: var(--hvc-notice-accent);
}
.hvc-reference-home .wc-block-components-notice-banner .wc-block-components-notice-banner__content { min-width: 0; padding-right: 0; }
.hvc-reference-home .wc-block-components-notice-banner > .wc-block-components-button {
	flex: 0 0 40px;
	width: 40px !important;
	height: 40px !important;
	min-height: 40px !important;
	margin: -4px -8px -4px 0 !important;
	border-radius: 8px;
	color: #61708a !important;
	opacity: 1;
}
.hvc-reference-home .wc-block-components-notice-banner > .wc-block-components-button:hover { background: #edf4ff !important; color: #0050d6 !important; }
.hvc-reference-home .wc-block-components-notice-banner > .wc-block-components-button:focus-visible { outline: 2px solid #005cff !important; outline-offset: 2px; }

.hvc-reference-home .va-auth-banner { max-width: 600px; margin-inline: auto; padding: 18px 20px; align-items: flex-start; gap: 14px; }
.hvc-reference-home .va-auth-banner svg { flex: 0 0 24px; color: #005cff; }
.hvc-reference-home .ct-success strong { color: #0b1230; font-size: 14px; font-weight: 600; }
.hvc-reference-home .ct-success span { color: #405174; }
.hvc-reference-home .woocommerce:has(.woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner)) .va-auth { margin-top: 18px; }
.hvc-reference-home :is(.vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))) { font-size: 13px; }

@media (max-width: 600px) {
	.hvc-reference-home :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ct-success, .ct-formerror, .vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))):not(:has(> .hvc-cart-confirmation)),
	body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info { padding: 17px 16px 17px 56px; }
	.hvc-reference-home :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ct-success, .ct-formerror, .vz-bulk-msg:where(:not(:empty)), .hvc-cart-status:where(:not(:empty))):not(:has(> .hvc-cart-confirmation))::before,
	body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info::before { left: 13px; top: 15px; width: 28px; height: 28px; background-size: 20px 20px; }
	.hvc-reference-home :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) .button,
	.hvc-reference-home .wc-block-components-notice-banner .wc-block-components-notice-banner__content .wc-forward { float: none; margin: 0 0 10px; }
	.hvc-reference-home :is(.woocommerce-message, .woocommerce-info):has(> .button),
	body.hvc-reference-home.hvc-account-payment-methods .woocommerce .woocommerce-MyAccount-content > .woocommerce-info:has(> .button) { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
	.hvc-reference-home :is(.woocommerce-message, .woocommerce-info) > .button { order: 1; margin: 0; }
	.hvc-reference-home .woocommerce-message:has(> .hvc-cart-confirmation) { padding: 16px 14px; }
	.hvc-reference-home .woocommerce-message .hvc-cart-confirmation-actions .button { margin: 0; }
	.hvc-reference-home .wc-block-components-notice-banner { padding: 16px 14px !important; gap: 10px; }
	.hvc-reference-home .wc-block-components-notice-banner > svg { flex-basis: 28px; width: 28px; height: 28px; padding: 5px; }
}
