/*
 * One button style site-wide. Loaded last (see ar_enqueue_button_styles()) so it wins over the
 * ~200 page sheets that each restyle .btn. Visuals only: sizes, widths and layout stay with the
 * page. Deliberately NOT covered: product-card buttons (.btn-card-*), icon/round buttons
 * (wishlist, zoom, gallery arrows, qty +/-), filter chips, tabs and text links.
 *
 * Primary   = the blue pill used on the policy / corporate pages (.btn.primary.conversion-cta).
 * Secondary = the ghost pill with a cyan outline.
 * html:root raises specificity above the page sheets' `.page .btn.primary { ... !important }`.
 */
:root {
	--ar-site-btn-primary-bg: linear-gradient(180deg, #449cf5, #1765c5);
	--ar-site-btn-primary-border: #2aafff;
	--ar-site-btn-primary-shadow: 0 10px 25px rgba(24, 142, 240, 0.25);
	--ar-site-btn-secondary-bg: rgba(255, 255, 255, 0.04);
	--ar-site-btn-secondary-border: rgba(83, 198, 255, 0.3);
	--ar-site-btn-radius: 999px;
}

/* ---- Primary ---- */
html:root body :is(
	.btn.primary,
	.account-btn:not(.secondary):not(.danger),
	.help-btn:not(.secondary):not(.ghost),
	.button.alt,
	.checkout-button,
	.place-order-btn,
	.single_add_to_cart_button,
	.pdp-bulk-primary,
	#mobilePlaceOrder,
	.ar-start-design-btn,
	.ar-editor-save-btn,
	.mobile-cart-sticky .checkout-button,
	.checkout-mobile-bar button,
	.ar-consent-btn:not([data-ar-consent="none"]):not(.ar-consent-link),
	.ar-track-order button.button
) {
	background: var(--ar-site-btn-primary-bg) !important;
	border: 1px solid var(--ar-site-btn-primary-border) !important;
	border-radius: var(--ar-site-btn-radius) !important;
	color: #fff !important;
	box-shadow: var(--ar-site-btn-primary-shadow) !important;
	font-weight: 700 !important;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.25s, filter 0.25s, box-shadow 0.25s;
}

html:root body :is(
	.btn.primary,
	.account-btn:not(.secondary):not(.danger),
	.help-btn:not(.secondary):not(.ghost),
	.button.alt,
	.checkout-button,
	.place-order-btn,
	.single_add_to_cart_button,
	.pdp-bulk-primary,
	#mobilePlaceOrder,
	.ar-start-design-btn,
	.ar-editor-save-btn,
	.checkout-mobile-bar button,
	.ar-consent-btn:not([data-ar-consent="none"]):not(.ar-consent-link),
	.ar-track-order button.button
):is(:hover, :focus-visible):not(:disabled) {
	filter: brightness(1.08);
	transform: translateY(-2px);
}

/* ---- Secondary ---- */
html:root body :is(
	.btn:not(.primary),
	.account-btn.secondary,
	.help-btn.secondary,
	.pdp-bulk-secondary,
	.pdp-buy-now,
	.cart-secondary-action,
	.cart-support-btn,
	.coupon-button,
	.update-cart-button,
	.ar-consent-btn[data-ar-consent="none"]
) {
	background: var(--ar-site-btn-secondary-bg) !important;
	border: 1px solid var(--ar-site-btn-secondary-border) !important;
	border-radius: var(--ar-site-btn-radius) !important;
	color: #f1f5f9 !important;
	box-shadow: none !important;
	font-weight: 700 !important;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.25s, border-color 0.25s, background 0.25s;
}

html:root body :is(
	.btn:not(.primary),
	.account-btn.secondary,
	.help-btn.secondary,
	.pdp-bulk-secondary,
	.pdp-buy-now,
	.cart-secondary-action,
	.cart-support-btn,
	.coupon-button,
	.update-cart-button,
	.ar-consent-btn[data-ar-consent="none"]
):is(:hover, :focus-visible):not(:disabled) {
	border-color: rgba(85, 221, 255, 0.55) !important;
	background: rgba(85, 221, 255, 0.08) !important;
	transform: translateY(-2px);
}

/* Disabled / busy state, shared */
html:root body :is(.btn, .account-btn, .help-btn, .button, .place-order-btn):disabled {
	opacity: 0.55;
	cursor: not-allowed;
	filter: none;
	transform: none;
}
