/**
 * Pill button: template-parts/ui/button.php (Style Guide 2299:1263).
 *
 * Variants follow the Design v1.0 frames (open-decisions "Handoff vs Figma"
 * row 12): primary = white + arrow, dark = black + arrow, light = white, no
 * arrow. There is no outline variant. Hover is not designed: see
 * docs/launch-checklist.md.
 */

.btn {
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--button-height);
	margin: 0;
	padding: 0 28px;
	border: 0;
	border-radius: var(--radius-pill);
	background: var(--btn-bg);
	color: var(--btn-fg);
	font-family: var(--font-body);
	font-size: var(--text-label-m);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-label-m);
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: all 0.2s ease;
}

.btn--has-icon {
	padding-right: 24px;
}

.btn__icon {
	flex: none;
	transition: transform 0.2s ease;
}

.btn--primary,
.btn--light {
	--btn-bg: var(--color-white);
	--btn-fg: var(--color-ink);
	--btn-bg-hover: var(--color-cream);
}

.btn--dark {
	--btn-bg: var(--color-black);
	--btn-fg: var(--color-white);
	--btn-bg-hover: var(--color-green);
}

.btn:hover,
.btn.is-hover {
	background: var(--btn-bg-hover);
	color: var(--btn-fg);
}

.btn:hover .btn__icon,
.btn.is-hover .btn__icon {
	transform: translateX(4px);
}

.btn.is-focus {
	outline: 2px solid var(--color-orange);
	outline-offset: 3px;
}

.btn:disabled,
.btn[aria-disabled="true"] {
	opacity: 0.4;
	cursor: not-allowed;
}

.btn--full {
	width: 100%;
}

@media (max-width: 767.98px) {
	.btn--full-mobile {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.btn,
	.btn__icon {
		transition: none;
	}
}
