/**
 * フォーム共通の入力・確認・送信アクション領域を管理する。
 *
 * お問い合わせ、オンライン説明会、説明会申込み、オンライン願書で同じボタン寸法・並び・状態表現を使用する。
 * 個別フォームの入力欄や検証メッセージは各ページCSSへ分離し、このファイルでは操作ボタン周辺だけを扱う。
 */

.form-actions {
	--form-action-pink: #ef78bc;
	--form-action-pale: #fff3f9;
	--form-action-wine: #9e5369;

	width: 100%;
	margin-top: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 18px;
}

.form-actions--single {
	justify-content: center;
}

.form-action-button {
	width: min(100%, 250px);
	min-height: 56px;
	padding: 0 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid var(--form-action-wine);
	border-radius: 999px;
	box-shadow: 0 10px 28px rgba(158, 83, 105, 0.1);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	cursor: pointer;
	transition:
		color var(--shs-hover-lift-duration) var(--shs-hover-lift-ease),
		background-color var(--shs-hover-lift-duration) var(--shs-hover-lift-ease),
		border-color var(--shs-hover-lift-duration) var(--shs-hover-lift-ease),
		box-shadow var(--shs-hover-lift-duration) var(--shs-hover-lift-ease),
		transform var(--shs-hover-lift-duration) var(--shs-hover-lift-ease);
}

.form-action-button--secondary {
	color: var(--form-action-wine);
	background: #fff;
}

.form-action-button--primary {
	color: #fff;
	background: var(--form-action-wine);
}

.form-action-button__icon {
	flex: 0 0 auto;
	transition: transform var(--shs-hover-lift-duration) var(--shs-hover-lift-ease);
}

.form-action-button:hover,
.form-action-button:focus-visible {
	box-shadow: 0 14px 32px rgba(239, 120, 188, 0.2);
	transform: translateY(-2px);
}

.form-action-button--secondary:hover,
.form-action-button--secondary:focus-visible {
	color: var(--form-action-wine);
	background: var(--form-action-pale);
	border-color: var(--form-action-pink);
}

.form-action-button--primary:hover,
.form-action-button--primary:focus-visible {
	color: #fff;
	background: var(--form-action-pink);
	border-color: var(--form-action-pink);
}

.form-action-button:focus-visible {
	outline: 3px solid rgba(239, 120, 188, 0.2);
	outline-offset: 3px;
}

.form-action-button--forward:hover .form-action-button__icon,
.form-action-button--forward:focus-visible .form-action-button__icon {
	transform: translateX(4px);
}

.form-action-button--back:hover .form-action-button__icon,
.form-action-button--back:focus-visible .form-action-button__icon {
	transform: translateX(-4px);
}

@media (max-width: 680px) {
	.form-actions {
		margin-top: 34px;
		flex-direction: column-reverse;
		gap: 12px;
	}

	.form-action-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.form-action-button,
	.form-action-button__icon {
		transition: none;
	}

	.form-action-button:hover,
	.form-action-button:focus-visible {
		transform: none;
	}
}
