/* Opt-in button system. The block wrapper selects appearance, size and hover accent.
   Layout belongs to the surrounding block. Only the homepage hero opts in initially. */
.wp-block-button.gp-button > .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--gp-button-height, 48px);
	padding: var(--gp-button-padding-block, 10px) var(--gp-button-padding-inline, 24px);
	border: 2px solid transparent;
	border-radius: 999px;
	background: var(--gp-button-background);
	color: var(--gp-button-text, #121212);
	font-family: Onest, sans-serif;
	font-size: var(--gp-button-font-size, 16px);
	font-weight: 500;
	font-style: normal;
	line-height: var(--gp-button-line-height, 24px);
	letter-spacing: normal;
	text-transform: none;
	text-decoration: none;
	text-align: center;
	white-space: normal;
	opacity: 1;
	box-shadow: none;
	transition: border-color var(--gp-hover-out, .3s) ease, box-shadow var(--gp-hover-out, .3s) ease;
}
.gp-button--accent { --gp-button-background: var(--wp--preset--color--accent, #c5ff00); }
.gp-button--light { --gp-button-background: var(--wp--preset--color--secbackground, #f6f6f6); }
.gp-button--large { --gp-button-font-size: 18px; --gp-button-height: 50px; }
.gp-button--glow-green {
	--gp-button-hover-shadow: 0 0 10px rgb(197 255 0 / .8), 0 0 24px rgb(197 255 0 / .4);
}
@media (hover: hover) {
	.wp-block-button.gp-button > .wp-block-button__link:hover {
		border-color: var(--gp-button-hover-border, transparent);
		box-shadow: var(--gp-button-hover-shadow, none);
		transition-duration: var(--gp-hover-in, .12s);
	}
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-button.gp-button > .wp-block-button__link { transition: none; }
}

/* Size variants adapt to the available screen, independently of button content or placement. */
@media (max-width: 781px) {
	.gp-button--large {
		--gp-button-font-size: 16px;
		--gp-button-height: 44px;
		--gp-button-line-height: 22px;
		--gp-button-padding-block: 8px;
		--gp-button-padding-inline: 12px;
	}
}
@media (max-width: 360px) {
	.gp-button--large { --gp-button-font-size: 14px; }
}
