/* BP Home Section CTA
 *
 * Single primary CTA mirroring the dark green primary
 * CTA in the Product page hero
 * (`.bp-product-hero__cta--primary`). All visual rules
 * are copied 1:1 so the design stays consistent across
 * the site — no new button language is introduced.
 *
 * Major-section spacing for the homepage is owned by
 * the MICRO PATCH 0.1.295 in style.css (targeted rules
 * scoped to `.elementor-16`). This file no longer
 * declares a generic "+ .e-parent" rule so the Hero
 * and the benefits strip stay attached as designed.
 */

/* ---------------- CTA: wrapper ---------------- */
.bp-home-section-cta {
	display: flex;
	flex-wrap: wrap;
	margin-block-start: 36px;
	margin-block-end: 0;
	margin-inline: 0;
	padding: 0;
	inline-size: 100%;
	max-inline-size: 100%;
	min-inline-size: 0;
}

/* ---------------- CTA: button (1:1 reuse of bp-product-hero__cta--primary) ---------------- */
.bp-home-section-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 48px;
	padding: 13px 28px;
	border-radius: 999px;
	background: #374F37;
	color: #FFFFFF;
	border: 1.5px solid #374F37;
	font-family: var(--bp-font-body, 'Manrope', system-ui, sans-serif);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: transform 200ms ease, background-color 200ms ease, color 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

.bp-home-section-cta__btn:hover,
.bp-home-section-cta__btn:focus-visible {
	transform: translateY(-2px);
	background: #374F37;
	box-shadow: 0 8px 20px rgba(55, 79, 55, 0.22);
	outline: none;
}

/* Disabled state: same visual, no navigation.
   Rendered as <span> so it is genuinely non-clickable. */
.bp-home-section-cta__btn--disabled {
	cursor: default;
	pointer-events: none;
	opacity: 0.95;
}
.bp-home-section-cta__btn--disabled:hover,
.bp-home-section-cta__btn--disabled:focus-visible {
	transform: none;
	box-shadow: none;
}

/* ---------------- Mobile ---------------- */
@media ( max-width: 768px ) {
	.bp-home-section-cta {
		margin-block-start: 28px;
		justify-content: center;
	}
	.bp-home-section-cta__btn {
		min-block-size: 48px;
		padding: 13px 24px;
		inline-size: 100%;
		max-inline-size: 360px;
	}
}
@media ( max-width: 420px ) {
	.bp-home-section-cta__btn {
		font-size: 12.5px;
		padding: 12px 20px;
		letter-spacing: 0.03em;
	}
}

/* ---------------- Reduced motion ---------------- */
@media ( prefers-reduced-motion: reduce ) {
	.bp-home-section-cta__btn {
		transition: none !important;
	}
	.bp-home-section-cta__btn:hover,
	.bp-home-section-cta__btn:focus-visible {
		transform: none !important;
	}
}
