/* Tilaukset – layout, värit periytyvät teemasta */
.tl-calendar { margin: 20px 0; }
.tl-slots {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 8px;
	margin-top: 10px;
}
.tl-slot {
	padding: 8px;
	text-align: center;
	border-radius: 4px;
	border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
	color: inherit;
	background: transparent;
	user-select: none;
}
.tl-slot.available { cursor: pointer; }
.tl-slot.available:hover {
	background: color-mix(in srgb, currentColor 10%, transparent);
}
.tl-slot.reserved,
.tl-slot.past {
	opacity: 0.45;
	text-decoration: line-through;
	cursor: not-allowed;
}
.tl-slot.selected {
	outline: 3px solid currentColor;
	outline-offset: 2px;
	font-weight: bold;
	background: color-mix(in srgb, currentColor 12%, transparent);
}
.tl-cal-note { font-size: 0.9em; opacity: 0.8; }
.tl-cal-closed { font-weight: 600; }
