/* HAM Accounts — Google button, finish-account form, free-download gate */

.ham-google {
	--ham-brand: #a62658;
	--ham-line: #e6e1ea;
	margin-top: 18px;
}

.ham-google__divider {
	position: relative;
	margin: 0 0 14px;
	text-align: center;
}

.ham-google__divider::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: var(--ham-line);
}

.ham-google__divider span {
	position: relative;
	padding: 0 12px;
	background: #fff;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #8b8394;
}

.ham-google__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	padding: 12px 18px;
	border: 1px solid #dad4de;
	border-radius: 999px;
	background: #fff;
	font-size: 14.5px;
	font-weight: 600;
	color: #241b2e;
	cursor: pointer;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.ham-google__button:hover {
	border-color: var(--ham-brand);
	box-shadow: 0 6px 18px -12px rgba(166, 38, 88, .8);
	transform: translateY(-1px);
}

.ham-google__button.is-busy {
	opacity: .65;
	cursor: wait;
	transform: none;
}

.ham-google__message:not(:empty) {
	margin-top: 10px;
	padding: 9px 12px;
	border-radius: 10px;
	background: rgba(208, 71, 62, .1);
	font-size: 13px;
	color: #b32d2e;
}

.ham-google__fallback { display: none; margin-top: 4px; }

/* --- Finish-account form ------------------------------------------------ */
.ham-complete {
	max-width: 460px;
	margin: 0 auto;
	padding: 32px 34px 34px;
	border: 1px solid #ece7ef;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 20px 46px -30px rgba(36, 27, 46, .5);
}

.ham-complete__title { margin: 0 0 8px; font-size: 22px; }
.ham-complete__intro { margin: 0 0 22px; font-size: 14px; color: #6f6779; }

.ham-complete__notice {
	margin-bottom: 18px;
	padding: 10px 13px;
	border-radius: 10px;
	background: rgba(166, 38, 88, .08);
	font-size: 13.5px;
	color: #a62658;
}

.ham-complete__notice.is-error {
	background: rgba(208, 71, 62, .1);
	color: #b32d2e;
}

.ham-complete__field { margin: 0 0 16px; }

.ham-complete__field label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: #241b2e;
}

.ham-complete__field input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #ded8e3;
	border-radius: 10px;
	font-size: 14.5px;
	color: #241b2e;
	transition: border-color .16s ease, box-shadow .16s ease;
}

.ham-complete__field input:focus {
	border-color: #a62658;
	box-shadow: 0 0 0 3px rgba(166, 38, 88, .1);
	outline: none;
}

.ham-complete__hint {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #8b8394;
}

.ham-complete__submit {
	width: 100%;
	margin-top: 6px;
	padding: 13px 20px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, #a62658 0%, #7d1a42 100%);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: filter .18s ease, transform .18s ease;
}

.ham-complete__submit:hover { filter: brightness(1.08); transform: translateY(-1px); }

/* --- Free download gate ------------------------------------------------- */
.ham-login-gate {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 18px 0;
	padding: 16px 18px;
	border: 1px dashed rgba(166, 38, 88, .35);
	border-radius: 14px;
	background: rgba(166, 38, 88, .05);
}

.ham-login-gate p {
	flex: 1 1 220px;
	margin: 0;
	font-size: 14px;
	color: #4a4256;
}
