@font-face {
	font-family: 'Yekan';
	src: url( 'fonts/Yekan.eot' );
	src: url( 'fonts/Yekan.eot?#iefix' ) format( 'embedded-opentype' ),
		url( 'fonts/Yekan.woff2' ) format( 'woff2' ),
		url( 'fonts/Yekan.woff' ) format( 'woff' ),
		url( 'fonts/Yekan.ttf' ) format( 'truetype' ),
		url( 'fonts/Yekan.svg#Yekan' ) format( 'svg' );
	font-weight: normal;
	font-style: normal;
}
body {
	background-color: #f8f9fa;
	font-family: 'Yekan', Tahoma, Geneva, Verdana, sans-serif;
}
.appointment-container {
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	padding: 30px;
	margin-top: 30px;
	margin-bottom: 30px;
}
.form-label {
	font-weight: 600;
	margin-bottom: 8px;
}
.time-slot {
	border: 1px solid #dee2e6;
	border-radius: 5px;
	padding: 10px 15px;
	margin-bottom: 10px;
	cursor: pointer;
	transition: all 0.3s;
}
.time-slot:hover:not(.disabled) {
	background-color: #f1f8ff;
	border-color: #86b7fe;
}
.time-slot.selected {
	background-color: #0d6efd;
	color: white;
	border-color: #0d6efd;
}
.time-slot.disabled {
	background-color: #f8f9fa;
	color: #6c757d;
	cursor: not-allowed;
	opacity: 0.7;
}
.invalid-feedback {
	display: none;
	margin-top: 5px;
	font-size: 0.875em;
}
.was-validated .form-control:invalid ~ .invalid-feedback,
.was-validated .form-control:invalid ~ .invalid-tooltip {
	display: block;
}
.loading-spinner {
	display: none;
	text-align: center;
	padding: 20px;
}
.price-display {
	font-size: 1.2rem;
	font-weight: bold;
	padding: 15px;
	border-radius: 5px;
}
.alert-message {
	animation: fadeIn 0.5s;
}
@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}