.mb-booking-widget {
	max-width: 480px;
	margin: 0 auto;
	font-family: inherit;
}

.mb-booking-form .mb-field {
	margin-bottom: 16px;
}

.mb-booking-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.mb-booking-form input[type="text"],
.mb-booking-form input[type="email"],
.mb-booking-form input[type="tel"],
.mb-booking-form input[type="date"],
.mb-booking-form select,
.mb-booking-form textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
	box-sizing: border-box;
}

.mb-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 6px;
}

.mb-slot-btn {
	padding: 8px 14px;
	border: 1px solid #999;
	border-radius: 20px;
	background: #fff;
	cursor: pointer;
	font-size: 14px;
}

.mb-slot-btn:hover {
	border-color: #333;
}

.mb-slot-btn.mb-slot-selected {
	background: #2c3e50;
	color: #fff;
	border-color: #2c3e50;
}

.mb-hint {
	color: #777;
	font-size: 14px;
	margin: 0;
}

.mb-summary {
	background: #f6f6f6;
	border-radius: 6px;
	padding: 12px 14px;
	margin-bottom: 16px;
	font-size: 14px;
}

.mb-error {
	background: #fdecea;
	color: #a94442;
	border: 1px solid #f5c2c0;
	border-radius: 6px;
	padding: 10px 14px;
	margin-bottom: 16px;
	font-size: 14px;
}

.mb-submit-btn {
	width: 100%;
	padding: 12px 16px;
	background: #2c3e50;
	color: #fff;
	border: none;
	border-radius: 6px;
	font-size: 16px;
	cursor: pointer;
}

.mb-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.mb-notice {
	padding: 12px 16px;
	border-radius: 6px;
	margin-bottom: 20px;
}

.mb-notice-success {
	background: #eafaf1;
	border: 1px solid #b7ebc6;
	color: #1e7e34;
}

.mb-notice-error {
	background: #fdecea;
	border: 1px solid #f5c2c0;
	color: #a94442;
}

.mb-notice-info {
	background: #eaf3fb;
	border: 1px solid #bcdff5;
	color: #21618c;
}

/* Admin */
.mb-admin-wrap .mb-admin-form {
	background: #fff;
	padding: 15px 20px;
	border: 1px solid #ccd0d4;
	margin-bottom: 25px;
}
