.pabv3-wrap {
	max-width: 800px;
	margin: 0 auto;
	font-family: 'Bricolage Grotesque', Roboto, sans-serif;
	--pabv3-primary: #5c6851;
	--pabv3-primary-hover: #4a5441;
	--pabv3-error: #dc3232;
	--pabv3-border: #ccc;
	--pabv3-bg-light: #f9f9f9;
}

.pabv3-form-title {
	text-align: center;
	margin-bottom: 20px;
}

.pabv3-notice {
	background: var(--pabv3-bg-light);
	border-left: 4px solid var(--pabv3-primary);
	padding: 12px;
	margin-bottom: 20px;
}

/* Form Message */
.pabv3-form-message {
	padding: 15px;
	margin-bottom: 20px;
	border-radius: 4px;
	text-align: center;
	font-weight: bold;
}
.pabv3-form-message.success {
	background: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}
.pabv3-form-message.error {
	background: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

/* Form Structure */
.wpbc_booking_form_structure {
	display: block;
}
.wpbc_structure_calendar {
	margin-bottom: 30px;
}

.form-group {
	margin-bottom: 20px;
}
.control-label {
	display: block;
	font-weight: bold;
	margin-bottom: 8px;
}

/* Inputs */
.input-xlarge {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid var(--pabv3-border);
	border-radius: 4px;
	box-sizing: border-box;
	font-size: 16px;
}
.input-xlarge:focus {
	border-color: var(--pabv3-primary);
	outline: none;
	box-shadow: 0 0 5px rgba(92, 104, 81, 0.3);
}

/* Time Slots (Radio Buttons) */
.pabv3-time-slots {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.pabv3-time-slot-btn {
	display: inline-block;
	margin: 0;
	cursor: pointer;
}
.pabv3-time-slot-btn input[type="radio"] {
	display: none;
}
.pabv3-time-slot-btn span {
	display: inline-block;
	padding: 10px 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #fff;
	color: #666;
	font-size: 14px;
	transition: all 0.2s ease;
}
.pabv3-time-slot-btn:hover span {
	border-color: #bbb;
}
.pabv3-time-slot-btn input[type="radio"]:checked + span {
	background-color: #666;
	color: #fff;
	border-color: #666;
}

/* Flatpickr Customization */
.flatpickr-calendar {
	margin: 0 auto;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
	border: 1px solid #eee !important;
}
.flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.selected.inRange, .flatpickr-day.startRange.inRange, .flatpickr-day.endRange.inRange, .flatpickr-day.selected:focus, .flatpickr-day.startRange:focus, .flatpickr-day.endRange:focus, .flatpickr-day.selected:hover, .flatpickr-day.startRange:hover, .flatpickr-day.endRange:hover, .flatpickr-day.selected.prevMonthDay, .flatpickr-day.startRange.prevMonthDay, .flatpickr-day.endRange.prevMonthDay, .flatpickr-day.selected.nextMonthDay, .flatpickr-day.startRange.nextMonthDay, .flatpickr-day.endRange.nextMonthDay {
	background: var(--pabv3-primary) !important;
	border-color: var(--pabv3-primary) !important;
}
.flatpickr-day:hover {
	background: var(--pabv3-bg-light) !important;
}

/* Submit Button */
.pabv3-submit-btn {
	display: inline-block;
	background-color: var(--pabv3-primary);
	color: #fff;
	border: none;
	padding: 12px 25px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 25px; /* Pill shape */
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.pabv3-submit-btn:hover, .pabv3-submit-btn:focus {
	background-color: var(--pabv3-primary-hover);
	color: #fff;
}
.pabv3-submit-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Required & Honeypot */
.pabv3-required {
	color: var(--pabv3-error);
}
.pabv3-honeypot {
	display: none !important;
}

/* Responsive removed so it always stacks vertically */
