/* STX Bullseye — shared WooCommerce notices, alerts, and notice actions. */

:root {
	--stx-ui-navy: #0f172a;
	--stx-ui-navy-deep: #070d1b;
	--stx-ui-line: rgba(148, 163, 184, 0.24);
	--stx-ui-copy: #dbe3ed;
	--stx-ui-muted: #aab6c7;
	--stx-ui-orange: #f97316;
	--stx-ui-orange-light: #fb923c;
	--stx-ui-error: #fb7185;
}

/* Classic WooCommerce notices: cart, checkout, coupons, products and account. */
body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
	position: relative;
	min-height: 66px;
	box-sizing: border-box;
	margin: 0 0 1rem !important;
	padding: 1rem 1rem 1rem 3.25rem !important;
	overflow: hidden;
	border: 1px solid rgba(249, 115, 22, 0.34) !important;
	border-top: 3px solid var(--stx-ui-orange) !important;
	border-radius: 11px !important;
	background:
		radial-gradient(circle at right center, rgba(249, 115, 22, 0.1), transparent 38%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(7, 13, 27, 0.98)) !important;
	color: var(--stx-ui-copy) !important;
	font-family: Inter, system-ui, sans-serif;
	font-size: 0.88rem;
	font-weight: 500;
	line-height: 1.55;
	list-style: none !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 26px rgba(0, 0, 0, 0.2);
}

body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before {
	top: 50% !important;
	left: 1.15rem !important;
	color: var(--stx-ui-orange-light) !important;
	font-size: 1.05rem;
	transform: translateY(-50%);
}

body .woocommerce-error {
	border-color: rgba(251, 113, 133, 0.42) !important;
	border-top-color: var(--stx-ui-error) !important;
}

body .woocommerce-error::before {
	color: var(--stx-ui-error) !important;
}

body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li {
	margin: 0.25rem 0;
	color: inherit !important;
}

body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) a:not(.button) {
	color: #fdba74 !important;
	font-weight: 750;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) :is(a.button, button.button, .wc-forward) {
	float: right !important;
	display: inline-flex !important;
	min-height: 40px !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: -0.25rem 0 -0.25rem 1rem !important;
	padding: 0.55rem 1rem !important;
	border: 1px solid var(--stx-ui-orange-light) !important;
	border-radius: 7px !important;
	background: linear-gradient(135deg, #d97706, var(--stx-ui-orange)) !important;
	color: #090d14 !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.02em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	text-transform: uppercase;
	box-shadow: 0 8px 20px rgba(249, 115, 22, 0.2);
}

body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) :is(a.button, button.button, .wc-forward):hover,
body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) :is(a.button, button.button, .wc-forward):focus {
	border-color: #fdba74 !important;
	background: linear-gradient(135deg, #f59e0b, var(--stx-ui-orange-light)) !important;
	box-shadow: 0 10px 24px rgba(249, 115, 22, 0.28);
	transform: translateY(-1px);
}

/* WooCommerce Blocks notices used by Cart and Checkout blocks. */
body .wc-block-components-notice-banner {
	box-sizing: border-box !important;
	margin: 0 0 1rem !important;
	padding: 1rem !important;
	border: 1px solid rgba(249, 115, 22, 0.34) !important;
	border-top: 3px solid var(--stx-ui-orange) !important;
	border-radius: 11px !important;
	background:
		radial-gradient(circle at right center, rgba(249, 115, 22, 0.1), transparent 38%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.98), rgba(7, 13, 27, 0.98)) !important;
	color: var(--stx-ui-copy) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 10px 26px rgba(0, 0, 0, 0.2);
}

body .wc-block-components-notice-banner.is-error {
	border-color: rgba(251, 113, 133, 0.42) !important;
	border-top-color: var(--stx-ui-error) !important;
}

body .wc-block-components-notice-banner > svg {
	fill: var(--stx-ui-orange-light) !important;
	background: rgba(249, 115, 22, 0.12) !important;
}

body .wc-block-components-notice-banner.is-error > svg {
	fill: var(--stx-ui-error) !important;
	background: rgba(251, 113, 133, 0.12) !important;
}

body .wc-block-components-notice-banner__content {
	color: var(--stx-ui-copy) !important;
	font-size: 0.88rem;
	line-height: 1.55;
}

body .wc-block-components-notice-banner__content a:not(.wc-forward) {
	color: #fdba74 !important;
}

body .wc-block-components-notice-banner__content .wc-forward {
	display: inline-flex !important;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	padding: 0.55rem 1rem !important;
	border: 1px solid var(--stx-ui-orange-light) !important;
	border-radius: 7px !important;
	background: linear-gradient(135deg, #d97706, var(--stx-ui-orange)) !important;
	color: #090d14 !important;
	font-size: 0.76rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.02em;
	text-decoration: none !important;
	text-transform: uppercase;
}

/* Store-wide announcement and block snackbar feedback. */
body .woocommerce-store-notice,
body .demo_store {
	box-sizing: border-box;
	padding: 0.8rem clamp(1rem, 4vw, 2rem) !important;
	border-bottom: 2px solid var(--stx-ui-orange) !important;
	background: linear-gradient(90deg, #070d1b, #111827, #070d1b) !important;
	color: var(--stx-ui-copy) !important;
	font-weight: 700;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

body .woocommerce-store-notice__dismiss-link {
	margin-left: 0.75rem;
	color: #fdba74 !important;
	font-weight: 900;
}

body .wc-block-components-snackbar {
	border: 1px solid rgba(249, 115, 22, 0.34) !important;
	border-radius: 9px !important;
	background: var(--stx-ui-navy) !important;
	color: var(--stx-ui-copy) !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38) !important;
}

/* Block Checkout fallback: keep the alternate Woo checkout renderer aligned
 * with the classic STX checkout if the page is converted to blocks later. */
body.woocommerce-checkout :is(.wp-block-woocommerce-checkout, .wc-block-checkout) {
	box-sizing: border-box;
	padding: clamp(1rem, 4vw, 2rem);
	background:
		radial-gradient(circle at 84% 8%, rgba(249, 115, 22, 0.08), transparent 25rem),
		#070d1b;
	color: var(--stx-ui-copy);
}

body.woocommerce-checkout :is(.wc-block-components-main, .wc-block-components-sidebar, .wc-block-components-checkout-step, .wc-block-components-totals-wrapper, .wc-block-checkout__shipping-option) {
	border-color: var(--stx-ui-line) !important;
	background: rgba(15, 23, 42, 0.94) !important;
	color: var(--stx-ui-copy) !important;
}

body.woocommerce-checkout :is(.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-product-name) {
	color: #fff !important;
}

body.woocommerce-checkout :is(.wc-block-components-checkout-step__description, .wc-block-components-address-card__address-section, .wc-block-components-product-metadata, .wc-block-components-totals-item__description) {
	color: var(--stx-ui-muted) !important;
}

body.woocommerce-checkout :is(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-address-form input, .wc-block-components-address-form select) {
	border-color: #64748b !important;
	background: #f8fafc !important;
	color: #0f172a !important;
}

body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
	border: 1px solid var(--stx-ui-orange-light) !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #d97706, var(--stx-ui-orange)) !important;
	color: #090d14 !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

@media (max-width: 640px) {
	body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
		padding: 1rem 1rem 1rem 2.75rem !important;
	}

	body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before {
		top: 1.35rem !important;
		left: 1rem !important;
		transform: none;
	}

	body :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) :is(a.button, button.button, .wc-forward),
	body .wc-block-components-notice-banner__content .wc-forward {
		float: none !important;
		width: 100%;
		margin: 0.85rem 0 0 !important;
	}

	body .wc-block-components-notice-banner {
		align-items: flex-start !important;
	}
}
