/* Prefixed theme buttons only */
.propcycle-button,
.propcycle-button-primary,
.propcycle-button-secondary,
.propcycle-button-text {
	--propcycle-button-icon-stroke-width: 2.5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	padding: 0.875rem 1.75rem;
	border-radius: var(--radius-pill);
	border: 2px solid transparent;
	font-family: var(--font-family-heading);
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease,
	            box-shadow 0.2s ease, transform 0.2s ease;
	text-align: center;
	min-height: 56px
}

.propcycle-button,
.propcycle-button-primary {
	background: var(--color-primary);
	border-color: var(--color-primary);
	color: #ffffff;
}
.propcycle-button-primary svg {
	color: white;
}

.propcycle-button:hover,
.propcycle-button-primary:hover,
.site-header.is-sticky .propcycle-button-primary:hover{
	background: var(--color-primary-hover);
	border-color: var(--color-primary-hover);
	color: #ffffff;
	transform: translateY(-2px);
	/* box-shadow: 0 12px 3px -4px rgba(0, 0, 0, 0.1); */
}

.propcycle-button-primary.propcycle-button-white {
	background: white;
	border-color: white;
	color: var(--color-heading);
	/* box-shadow: 0 2px 4px rgba(0,0,0,0.2); */
}

.propcycle-button-primary.propcycle-button-white svg {
	color: var(--color-primary);
}

.propcycle-button-primary.propcycle-button-white:hover {
	color: var(--color-heading);
	border-color: white;
	/* box-shadow: 0 12px 3px -4px rgba(0,0,0,0.1); */
	background: white;
}

.propcycle-button-secondary {
	background: transparent;
	border-color: var(--color-border);
	border-color: var(--color-border-transparent);
	color: var(--color-heading);
}

.propcycle-button-secondary:hover {
	color: var(--color-heading);
	box-shadow: unset;
}

.propcycle-button-secondary.propcycle-button-white {
	background: transparent;
	border-color: white;
	color: white;
	/* box-shadow: 0 2px 4px rgba(0,0,0,0.2); */
}

.propcycle-button-secondary.propcycle-button-white:hover {
	color: white;
	border-color: white;
	box-shadow: unset;
	background: transparent;
}

.propcycle-button-secondary svg {
	color: var(--color-primary);
}

.propcycle-button-secondary.propcycle-button-white svg {
	color: white;
}

.propcycle-button-secondary:hover,
.propcycle-button-secondary:focus-visible,
.site-header.is-sticky .propcycle-button-secondary:hover,
.site-header.is-sticky .propcycle-button-secondary:focus-visible {
	border-color: var(--color-primary-hover);
	transform: translateY(-2px);
	background: unset;
}

.propcycle-button-text {
	background: transparent;
	border-color: transparent;
	color: var(--color-link);
	padding-left: 0;
	padding-right: 0;
}

.propcycle-button-text:hover,
.propcycle-button-text:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--color-link-hover);
	text-decoration: underline;
}

.propcycle-button__icon,
.propcycle-button__chevron {
	width: 1.25em;
	height: 1.25em;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: var(--color-primary);
}

.propcycle-button__icon svg,
.propcycle-button__chevron svg {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	display: block;
	object-fit: contain;
}

.propcycle-button__icon {
	object-fit: contain;
}

.propcycle-button__icon svg [stroke],
.propcycle-button__chevron path {
	stroke-width: var(--propcycle-button-icon-stroke-width);
}

.propcycle-button__chevron {
	stroke: currentColor;
	fill: none;
}

.propcycle-button__label {
	line-height: 1;
}
