/* Booking Styles */

.escorts-booking-calendar {
	max-width: 1000px;
	margin: 20px auto;
}

.escorts-calendar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
}

.escorts-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
}

.escorts-calendar-day {
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 10px;
	min-height: 100px;
	background: #fff;
}

.escorts-calendar-day.available {
	background: #e8f5e9;
	cursor: pointer;
}

.escorts-calendar-day.booked {
	background: #ffebee;
}

.escorts-calendar-day.unavailable {
	background: #f5f5f5;
	opacity: 0.5;
}

.escorts-calendar-day .date {
	font-weight: bold;
	margin-bottom: 5px;
}

.escorts-calendar-day .slots {
	font-size: 12px;
}

.escorts-booking-form {
	max-width: 600px;
	margin: 20px auto;
	padding: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
}

.escorts-booking-form label {
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
}

.escorts-booking-form input,
.escorts-booking-form select {
	width: 100%;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 4px;
	margin-bottom: 15px;
}

.escorts-booking-list {
	margin: 20px 0;
}

.escorts-booking-item {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 15px;
	margin-bottom: 15px;
}

.escorts-booking-item .status {
	display: inline-block;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: bold;
}

.escorts-booking-item .status.request {
	background: #fff3cd;
	color: #856404;
}

.escorts-booking-item .status.confirmed {
	background: #d4edda;
	color: #155724;
}

.escorts-booking-item .status.cancelled {
	background: #f8d7da;
	color: #721c24;
}

.escorts-booking-item .status.noshow {
	background: #d1ecf1;
	color: #0c5460;
}
