/* Shared buttons and footer CTA; loaded without the form/lightbox stylesheet. */
.wcru-wrap,
.wcru-button-wrap,
.wcru-footer-button {
	box-sizing: border-box;
}

/*
 * Accent tokens. These automatically inherit the active theme's palette:
 * WooCommerce block/theme primary, then common theme accent vars, then the
 * Stickerai brand green as a final fallback. The plugin settings (button_bg)
 * override these via the inline <style> printed by print_custom_css().
 */
.wcru-wrap,
.wcru-footer-cta,
.wcru-lightbox {
	--wcru-accent: var(--wcru-accent-override,
		var(--wp--preset--color--primary,
		var(--theme-palette-color-1,
		var(--global-palette1,
		var(--e-global-color-primary, #3CB54A)))));
	--wcru-accent-contrast: var(--wcru-accent-contrast-override, #ffffff);
	--wcru-accent-strong: var(--wcru-accent-strong-override,
		var(--wp--preset--color--secondary,
		var(--theme-palette-color-2, #2f9c3b)));
}

.wcru-button-wrap {
	margin: 18px 0;
}

.wcru-button,
.wcru-wrap .wcru-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 12px 18px;
	border: 0;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition: filter .15s ease, transform .15s ease;
}

.wcru-button:disabled {
	cursor: default;
	opacity: .75;
}

.wcru-button:focus {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.wcru-footer-button {
	position: fixed;
	z-index: 9999;
	max-width: calc(100vw - 36px);
}

.wcru-footer-button--bottom-right {
	right: 18px;
	bottom: 18px;
}

.wcru-footer-button--bottom-left {
	left: 18px;
	bottom: 18px;
}

.wcru-footer-button--top-right {
	top: 18px;
	right: 18px;
}

.wcru-footer-button--top-left {
	top: 18px;
	left: 18px;
}

.wcru-footer-cta {
	margin: var(--wcru-footer-margin-top, 0) 0 0;
	padding: var(--wcru-footer-padding-y, 26px) 18px;
	background: var(--wcru-footer-bg, #0f172a);
	color: #ffffff;
	border-radius: var(--wcru-footer-radius, 0);
}

.wcru-footer-cta::before {
	content: "";
	display: block;
	width: min(1056px, 100%);
	height: var(--wcru-footer-divider-height, 0);
	margin: 0 auto var(--wcru-footer-divider-gap, 0);
	background: var(--wcru-footer-divider-color, transparent);
}

.wcru-footer-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: min(1120px, 100%);
	margin: 0 auto;
}

.wcru-footer-cta-copy {
	min-width: 0;
}

.wcru-footer-cta h2 {
	margin: 0 0 8px;
	color: var(--wcru-footer-title, #ffffff);
	font-size: 22px;
	line-height: 1.2;
}

.wcru-footer-cta-text {
	color: var(--wcru-footer-text, #dbeafe);
	font-size: 15px;
	line-height: 1.5;
}

.wcru-footer-cta-text p {
	margin: 0;
}

.wcru-footer-cta .wcru-button-wrap {
	flex: 0 0 auto;
	margin: 0;
}

@media (max-width: 640px) {
	.wcru-button,
	.wcru-wrap .wcru-button {
		width: 100%;
	}

	.wcru-footer-button {
		left: 12px;
		right: 12px;
		max-width: none;
	}

	.wcru-footer-button--bottom-right,
	.wcru-footer-button--bottom-left {
		top: auto;
		bottom: 12px;
	}

	.wcru-footer-button--top-right,
	.wcru-footer-button--top-left {
		top: 12px;
		bottom: auto;
	}

	.wcru-footer-cta-inner {
		align-items: stretch;
		flex-direction: column;
	}

	.wcru-footer-cta .wcru-button-wrap {
		width: 100%;
	}
}
