/**
 * EventBooker Pro – Booking form styles.
 */
.ebp-booking-form {
	--ebp-accent: #28a745;
	max-width: 1100px;
	margin: 1rem auto;
}
.ebp-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.ebp-col label {
	display: block;
	margin-bottom: 12px;
	font-weight: 600;
}
.ebp-col input[type=text],
.ebp-col input[type=tel],
.ebp-col input[type=email],
.ebp-col input[type=number],
.ebp-col select,
.ebp-col textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-weight: 500;
	box-sizing: border-box;
}
.ebp-time-big {
	font-size: 1.2rem;
	font-weight: 700;
	padding: 14px;
}
.ebp-box {
	background: #fff;
	padding: 16px;
	border-radius: 12px;
	box-shadow: 0 2px 14px rgba(0,0,0,0.06);
}
.ebp-box h3 { margin-top: 0; }
.ebp-actions {
	margin-top: 12px;
	display: flex;
	gap: 10px;
}
.ebp-btn {
	background: var(--ebp-accent);
	color: #fff;
	border: 0;
	padding: 12px 18px;
	border-radius: 10px;
	cursor: pointer;
	font-weight: 700;
}
.ebp-btn-secondary { background: #6c757d; }
.ebp-terms {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 400;
}
.ebp-extras {
	border: 1px solid #eee;
	padding: 10px;
	border-radius: 8px;
}
.ebp-extra {
	display: block;
	font-weight: 500;
	margin: 6px 0;
}
.ebp-total {
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: 800;
	text-align: right;
}
.ebp-child-fields.hidden { display: none; }
.ebp-error {
	background: #ffe8e8;
	border: 1px solid #f5b5b5;
	padding: 10px;
	border-radius: 8px;
	margin-bottom: 10px;
}
.ebp-thankyou {
	max-width: 800px;
	margin: 2rem auto;
	padding: 18px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fafafa;
	text-align: center;
	font-size: 1.1rem;
}
@media (max-width: 800px) {
	.ebp-grid { grid-template-columns: 1fr; }
	.ebp-time-big { font-size: 1.35rem; }
}
