.drivergest-booking-form {
	max-width: 32rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	font-size: 1rem;
}

.drivergest-booking-row {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.drivergest-booking-row label {
	font-weight: 600;
	font-size: 0.9rem;
}

.drivergest-booking-row input,
.drivergest-booking-row select {
	padding: 0.55rem 0.7rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	width: 100%;
	box-sizing: border-box;
}

.drivergest-booking-row.has-error input,
.drivergest-booking-row.has-error select {
	border-color: #d9483a;
}

.drivergest-booking-row-group {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

@media (max-width: 30rem) {
	.drivergest-booking-row-group {
		grid-template-columns: 1fr;
	}
}

.drivergest-booking-checkbox label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: normal;
}

.drivergest-booking-checkbox input {
	width: auto;
}

/* Off-screen honeypot - hidden from real visitors, still present in the
   DOM for simple bots that fill every field blindly. */
.drivergest-booking-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.drivergest-booking-submit {
	align-self: flex-start;
	padding: 0.65rem 1.4rem;
	border: none;
	border-radius: 4px;
	background: #1a3b5d;
	color: #fff;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
}

.drivergest-booking-submit:disabled {
	opacity: 0.6;
	cursor: default;
}

.drivergest-booking-feedback {
	padding: 0.7rem 1rem;
	border-radius: 4px;
	font-size: 0.9rem;
}

.drivergest-booking-feedback.is-success {
	background: #e6f4ea;
	color: #1e4620;
}

.drivergest-booking-feedback.is-error {
	background: #fdecea;
	color: #611a15;
}
