/* Beosztás Foglaló — Sybell arculati színek: #662d8c / #eac533 */
.bf-foglalo {
	max-width: 520px;
	margin: 0 auto;
	font-size: 16px;
}
.bf-loading, .bf-msg, .bf-hint { text-align: center; color: #555; }
.bf-error { text-align: center; color: #b00020; }

.bf-cal-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.bf-cal-title { font-weight: 600; }
.bf-nav, .bf-back {
	background: none;
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 4px 12px;
	cursor: pointer;
}
.bf-back { margin-bottom: 12px; }
.bf-nav:hover, .bf-back:hover { border-color: #662d8c; color: #662d8c; }

.bf-cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.bf-cal-weekday { text-align: center; font-size: 13px; color: #888; padding: 4px 0; }
.bf-cal-day {
	aspect-ratio: 1;
	border: 1px solid #eee;
	border-radius: 8px;
	background: #fafafa;
	color: #bbb;
	cursor: default;
}
.bf-cal-day.bf-has-slots {
	background: #fff;
	border-color: #662d8c;
	color: #662d8c;
	font-weight: 600;
	cursor: pointer;
}
.bf-cal-day.bf-has-slots:hover { background: #662d8c; color: #fff; }

.bf-day-title { margin: 8px 0 12px; }
.bf-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	gap: 8px;
}
.bf-slot {
	padding: 10px 6px;
	border: 1px solid #662d8c;
	border-radius: 8px;
	background: #fff;
	color: #662d8c;
	font-weight: 600;
	cursor: pointer;
}
.bf-slot:hover { background: #eac533; border-color: #eac533; color: #333; }

.bf-form { display: flex; flex-direction: column; gap: 12px; }
.bf-form label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; }
.bf-form input {
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-weight: normal;
}
.bf-hp { position: absolute !important; left: -9999px !important; }
.bf-submit {
	padding: 12px;
	border: none;
	border-radius: 8px;
	background: #662d8c;
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}
.bf-submit:hover { background: #4e2169; }
.bf-submit:disabled { background: #aaa; cursor: default; }
.bf-cancel-btn { background: #b00020; }
.bf-cancel-btn:hover { background: #8c0018; }
.bf-form-msg { min-height: 1.4em; color: #555; }

.bf-success {
	text-align: center;
	border: 2px solid #662d8c;
	border-radius: 12px;
	padding: 24px;
}

@media (max-width: 480px) {
	.bf-foglalo { font-size: 15px; }
	.bf-slots { grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)); }
}
