	.captcha_wrap {
		display: flex;
		align-items: center;
		gap: 10px;
		max-width: 480px;
	}

	.captcha-refresh {
		display: flex;
		align-items: center;
		gap: 8px;
		flex-shrink: 0;
	}

	#create_captcha {
		display: block;
		line-height: 0;
		border-radius: 8px;
		overflow: hidden;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
		border: 1px solid #e2e5ea;
		width: 140px;
		/* fixed, controlled size */
		height: 48px;
	}

	#captch-img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.refreshbtn {
		width: 34px;
		height: 34px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #ffffff;
		border: 1px solid #e2e5ea;
		border-radius: 50%;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.10);
		cursor: pointer;
		transition: transform 0.25s ease, background 0.2s ease;
		flex-shrink: 0;
	}

	.refreshbtn:hover {
		background: #f2f6ff;
		transform: rotate(90deg);
	}

	.refresh {
		font-size: 16px;
		color: #1247a0;
		line-height: 1;
	}

	.form_input,
	.captcha_wrap .form-control {
		flex: 1;
		min-width: 0;
		padding: 10px 14px;
		border: 1px solid #e2e5ea;
		border-radius: 8px;
		font-size: 14px;
		outline: none;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
	}

	.form_input:focus,
	.captcha_wrap .form-control:focus {
		border-color: #1247a0;
		box-shadow: 0 0 0 3px rgba(18, 71, 160, 0.12);
	}

	.error-msg1,
	.enq_error-msg1 {
		color: #e02424;
		font-size: 12px;
		margin-top: 4px;
		display: block;
	}

	#toast-stack {
		position: fixed;
		top: 24px;
		right: 24px;
		z-index: 9999;
		display: flex;
		flex-direction: column;
		gap: 12px;
		pointer-events: none;
	}

	.toast {
		pointer-events: auto;
		position: relative;
		min-width: 300px;
		max-width: 380px;
		padding: 14px 18px 16px 16px;
		border-radius: 12px;
		background: #1b1b1f;
		color: #f5f3ee;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(255, 255, 255, 0.06);
		display: flex;
		align-items: flex-start;
		gap: 12px;
		overflow: hidden;
		transform: translateX(120%);
		opacity: 0;
		transition: transform 0.35s cubic-bezier(.2, .8, .2, 1), opacity 0.35s ease;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	}

	.toast.show {
		transform: translateX(0);
		opacity: 1;
	}

	.toast.hide {
		transform: translateX(120%);
		opacity: 0;
	}

	.toast::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		width: 4px;
	}

	.toast.success::before {
		background: #c9a35e;
	}

	/* warm gold accent */
	.toast.error::before {
		background: #c1543f;
	}

	.toast-icon {
		flex: 0 0 auto;
		width: 22px;
		height: 22px;
		margin-top: 1px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 13px;
		font-weight: 700;
	}

	.toast.success .toast-icon {
		background: rgba(201, 163, 94, 0.18);
		color: #d9b876;
	}

	.toast.error .toast-icon {
		background: rgba(193, 84, 63, 0.18);
		color: #e08272;
	}

	.toast-body {
		flex: 1 1 auto;
	}

	.toast-title {
		font-size: 13.5px;
		font-weight: 600;
		letter-spacing: 0.01em;
		margin: 0 0 2px;
	}

	.toast-msg {
		font-size: 13px;
		line-height: 1.4;
		color: #cfcdc6;
		margin: 0;
	}

	.toast-close {
		flex: 0 0 auto;
		background: none;
		border: none;
		color: #9a988f;
		cursor: pointer;
		font-size: 16px;
		line-height: 1;
		padding: 2px;
	}

	.toast-close:hover {
		color: #f5f3ee;
	}

	.toast-progress {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 2px;
		background: rgba(255, 255, 255, 0.18);
		width: 100%;
		transform-origin: left;
		animation: toast-shrink linear forwards;
	}

	@keyframes toast-shrink {
		from {
			transform: scaleX(1);
		}

		to {
			transform: scaleX(0);
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.toast {
			transition: opacity 0.2s ease;
		}

		.toast-progress {
			animation: none;
		}
	}