.reap-booking-form-wrap {
	max-width: 960px;
	margin: 0 auto;
	padding: 24px;
	background: #f5f1ea;
	border: 1px solid #d8ccbd;
}

.reap-booking-notice {
	margin-bottom: 20px;
	padding: 14px 16px;
	border-radius: 6px;
}

.reap-booking-notice.success {
	background: #ebf6ee;
	color: #155724;
	border: 1px solid #b9dfc2;
}

.reap-booking-form {
	display: grid;
	gap: 24px;
}

.reap-booking-group {
	padding: 20px;
	background: #fffdfa;
	border: 1px solid #d5c7b6;
}

.reap-booking-group legend {
	padding: 0 8px;
	font-size: 1.15rem;
	font-weight: 700;
	color: #4b2d1f;
}

.reap-booking-field {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.reap-booking-field label {
	font-weight: 600;
	color: #3b312a;
}

.reap-booking-field input[type="text"],
.reap-booking-field input[type="email"],
.reap-booking-field input[type="date"],
.reap-booking-field input[type="time"],
.reap-booking-field input[type="number"],
.reap-booking-field select,
.reap-booking-field textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #bfae9a;
	border-radius: 4px;
	background: #fff;
}

.reap-booking-field-checkbox {
	grid-template-columns: 24px 1fr;
	align-items: center;
}

.reap-booking-field-checkbox label {
	order: 2;
}

.reap-booking-actions button {
	padding: 12px 18px;
	border: 0;
	background: #7a3f1d;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.required {
	color: #b42318;
}

@media (min-width: 720px) {
	.reap-booking-group {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 20px;
	}

	.reap-booking-group legend {
		grid-column: 1 / -1;
	}

	.reap-booking-field-textarea,
	.reap-booking-field-checkbox,
	.reap-booking-field:nth-last-child(1) {
		grid-column: 1 / -1;
	}
}
