.franchise-form {
	.form_wrapper {
		max-width: 640px;
		margin: 0 auto;
		padding: 40px;
		border-radius: 24px;
	}

	.head {
		margin-bottom: 32px;

		h2 {
			margin-bottom: 16px;
		}
	}

	.progress_bar {
		height: 4px;
		margin-bottom: 8px;
		background-color: var(--green-10);
		border-radius: 20px;
		overflow: hidden;
	}

	.progress_fill {
		display: block;
		height: 100%;
		width: 50%;
		background-color: var(--green-700);
		border-radius: 20px;
		transition: .4s;
	}

	.progress_label {
		margin-bottom: 32px;
		font-size: 13px;
		color: var(--brown-400);
		text-align: right;
	}

	.honeypot_field {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	.lead_form {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.step {
		display: none;
		flex-direction: column;
		gap: 16px;

		&.active {
			display: flex;
		}

		.button {
			margin-top: 8px;
		}
	}

	.question_label {
		margin-bottom: 12px;
		font-weight: 500;
	}

	.question:not(:last-of-type) {
		margin-bottom: 8px;
	}

	.tiles {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.tile {
		position: relative;
		padding: 10px 20px;
		background-color: var(--white-50);
		border-radius: 60px;
		cursor: pointer;
		transition: .4s;

		input {
			position: absolute;
			opacity: 0;
			pointer-events: none;
		}

		&.active {
			background-color: var(--green-700);
			color: var(--white-100);
		}
	}

	label.field_box.checkbox {
		grid-template-columns: 24px 1fr;
		align-items: start;
		margin-top: 8px;

		.rodo_text {
			font-size: 13px;

			p {
				margin: 0;
			}
		}
	}

	.buttons_row {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-top: 8px;
	}

	.success_screen {
		max-width: 640px;
		margin: 0 auto;
		padding: 40px;
		text-align: center;
		border-radius: 24px;
		background-color: var(--green-10);

		h3 {
			margin-bottom: 16px;
		}

		&[hidden] {
			display: none;
		}
	}

	.submit_error {
		max-width: 640px;
		margin: 16px auto 0;
		font-size: 14px;
		text-align: center;
		color: var(--brown-400);

		&[hidden] {
			display: none;
		}
	}

	.cf7_carrier {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
	}

	@media (max-width: 767px) {
		.form_wrapper,
		.success_screen {
			padding: 24px;
		}
	}
}
