.single-product form.cart {
	--hf-swa-border: var(--hf-border-color, rgba(255, 255, 255, 0.12));
	--hf-swa-ink: var(--hf-text-color, #fff);
	--hf-swa-muted: var(--hf-text-muted, rgba(255, 255, 255, 0.72));
	--hf-swa-soft: var(--hf-card-background, #1a1a1a);
}

.single-product form.cart .hf-swa-athlete-fields {
	color: var(--hf-swa-ink);
	margin: 0 0 14px;
}

.hf-swa-athlete-fields__title,
.hf-swa-athlete-fields__hint,
.hf-swa-login-required__message {
	margin: 0 0 8px;
}

.hf-swa-athlete-fields__hint,
.hf-swa-login-required__message {
	color: var(--hf-swa-muted);
	font-size: 0.95rem;
}

.hf-swa-athlete-fields__known {
	background: var(--hf-swa-soft);
	border: 1px solid var(--hf-swa-border);
	padding: 10px;
}

.hf-swa-login-required {
	align-items: center;
	border-left: 4px solid var(--hf-accent-color, #32cd32);
	box-sizing: border-box;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	margin: 20px 0 16px;
	padding: 2px 0 2px 16px;
	width: 100%;
}

.hf-swa-login-required__message {
	flex: 1 1 auto;
	line-height: 1.55;
	margin: 0;
}

.hf-swa-login-required__actions {
	flex: 0 0 auto;
	margin: 0;
}

.hf-swa-login-required__button,
.single-product form.cart .hf-swa-login-required__button.button {
	background: var(--hf-accent-color, #32cd32);
	border: 1px solid var(--hf-accent-color, #32cd32);
	border-radius: 4px !important;
	color: #fff !important;
	display: inline-flex;
	font-size: 13px;
	font-weight: 600;
	justify-content: center;
	letter-spacing: 0.5px;
	line-height: 1.2;
	padding: 10px 20px;
	text-decoration: none !important;
	text-transform: uppercase;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.hf-swa-login-required__button::before,
.hf-swa-login-required__button::after,
.single-product form.cart .hf-swa-login-required__button.button::before,
.single-product form.cart .hf-swa-login-required__button.button::after {
	content: none !important;
	display: none !important;
}

.hf-swa-login-required__button:hover,
.hf-swa-login-required__button:focus,
.single-product form.cart .hf-swa-login-required__button.button:hover,
.single-product form.cart .hf-swa-login-required__button.button:focus {
	background: var(--hf-accent-color-hover, var(--hf-accent-color, #32cd32));
	border-color: var(--hf-accent-color-hover, var(--hf-accent-color, #32cd32));
	color: #fff !important;
	opacity: 0.9;
	text-decoration: none !important;
}

.hf-swa-athlete-fields__known {
	align-items: center;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.hf-swa-athlete-fields__known strong {
	color: var(--hf-text-color, #fff);
	font-size: 15px;
}

.hf-swa-athlete-fields__known span {
	color: var(--hf-swa-muted);
	font-size: 13px;
	font-weight: 700;
	text-align: right;
}

.hf-swa-allowance-notice {
	color: var(--hf-text-muted, rgba(255, 255, 255, 0.72));
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 16px 0;
}

.hf-swa-athlete-fields label,
.hf-swa-athlete-fields .hftm-athlete-selector label {
	color: var(--hf-swa-ink);
	display: block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 5px;
}

.hf-swa-athlete-fields .form-row {
	margin: 0;
	padding: 0;
	width: auto;
}

.hf-swa-athlete-fields select,
.hf-swa-athlete-fields input,
.hf-swa-athlete-fields .hftm-athlete-selector select,
.hf-swa-athlete-fields .hftm-athlete-selector input {
	appearance: auto;
	-webkit-appearance: menulist;
	background-color: #fff;
	background-image: none !important;
	border: 1px solid var(--hf-swa-border);
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	color: #111820;
	min-height: 38px;
	padding: 8px 10px;
	width: 100%;
}

.hf-swa-athlete-fields select option,
.hf-swa-athlete-fields .hftm-athlete-selector select option {
	background: #fff;
	color: #111820;
}

.hf-swa-athlete-fields input::placeholder,
.hf-swa-athlete-fields .hftm-athlete-selector input::placeholder {
	color: #5b6670;
}

.hf-swa-athlete-fields input {
	-webkit-appearance: none;
	appearance: none;
}

.hf-swa-athlete-fields select:focus,
.hf-swa-athlete-fields input:focus,
.hf-swa-athlete-fields .hftm-athlete-selector select:focus,
.hf-swa-athlete-fields .hftm-athlete-selector input:focus {
	background: #fff;
	border-color: var(--hf-accent-color, #44b8e8);
	color: #111820;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--hf-accent-color, #44b8e8) 18%, transparent);
	outline: none;
}

@media (max-width: 640px) {
	.hf-swa-login-required {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}
}
